VoIP Megoldások Készítette: Lipcsei János
VoIP fogalma [1] VoIP = voice over IP rövidítése Kommunikációs protokollok, eljárások, technológiák, átviteli technikák összessége, amelyek lehetővé teszik emberi hang és multimédia folyamok továbbítását IP hálózatok felett
VoIP telefon megoldások Dedikált VoIP telefon, amely közvetlenül csatlakozik a hálózathoz Ez lehet Ethernet csatlakozó, vagy újabban már Wifi segítségével is tud a hálózathoz csatlakozni
VoIP telefon megoldások Analóg telefon adapter, amely lehetővé teszi, hogy a régi analóg telefon használható legyen VoIP telefonként Némely kábel modemben, vagy homegetway-ben megtalálható a funkció, így ezekhez az eszközökhöz közvetlenül csatlakoztatható a régi analóg telefon
VoIP telefon megoldások Szoftveres telefon Alkalmazás, ami egy hálózathoz csatlakozó számítógépen fut és lehetővé teszi VoIP hívások kezdeményezését A használatához természetesen szükség van vagy egy headsetre, vagy pedig mikrofonra és hangszóróra.
Néhány szoftveres telefon [2]
SIP telefonok: SJPhone, Xten, 3CX Skype ooVoo (nem titkosított, mint a Skype) Camfrog Video Chat Windows Live Messenger Ventrilo TeamSpeak
VoIP előnyök Alacsony üzemeltetési költség, mivel nem szükséges külön adat és hang hálózatot fenntartani Olcsó nemzetközi hívások VoIP felhasználók között ingyenes hívás lehetőség Egy időben több VoIP hívás is lehetséges egyetlen szélessávú kapcsolaton Lehetőség van a hívások titkosítására különböző szabványos protokollok segítségével pl: Secure Realtime Transport Protocol Akár jobb hangminőség elérése, mint a hagyományos vezetékes telefonon Több fajta hangkódoló használatának lehetősége
VoIP hátrányok Internet best-effort hálózat, amely nem garantál semmilyen QoS-t (quality of service), mivel csomagkapcsolt esetben nincs fix erőforrás lefoglalás, mint áramkörkapcsolás esetén Jitter és késleltetés érzékenység nem mindig lehet ezeket megfelelően biztosítani bár vannak próbálkozások (DiffServ, IntServ) Segély hívások kezelése, helyzet meghatározási problémák Nincs működési feszültség biztosítása a vonalon keresztül, mint a hagyományos analóg telefon esetén Nem biztos, hogy van redundancia a hálózatban
PSTN-el való integrálás Media VoIP Gateway hozza létre a kapcsolatot az IP hálózat és a PSTN hálózat között E.164 globális számkiosztási standard vezetékes és mobil telefon hálózatokban A VoIP általában támogatja az E.164-et, azért hogy hívásokat lehessen kezdeményezni a két féle hálózat között A VoIP implementációk gyakran különböző megoldásokat alkalmaznak, hogy az E.164 és nem E.164 azonosítókat átfordítsák pl: SkypeIn, ENUM
VoIP protokollok A VoIP-ot többféle protokollal lehet megvalósítani, ezek lehetnek zárt vagy nyílt protokollok Néhány protokoll felsorolása
H.323 Media Gateway Control Protocol (MGCP) Session Initiation Protocol (SIP) Real-time Transport Protocol (RTP) Session Description Protocol (SDP) Inter-Asterisk eXchange (IAX) Jingle XMPP VoIP extensions Skype
H.323 A H.323 volt az első széleskörben elterjedt VoIP megoldás, amit mind a nagykiterjedésű mind a lokális hálózatokban használtak. Az új és kevésbé komplex protokollok mint a SIP vagy az MGCP kiszorították
SIP [3] A SIP (Session Initiation Protocol) egy IETF által definiált jelzés protokoll, amelyet széleskörben használnak kommunikációs viszonylatok (hang és videó hívások IP hálózaton keresztül) vezérlésére A SIP használható két résztvevős (unicast) vagy többrésztvevős (multicast) hívások létrehozására, módosítására, vagy lebontására Egy hívás (session) több média folyamból (stream) is állhat Független az alatta elhelyezkedő szállítási rétegbeli protokolltól, működhet TCP, SCTP, UDP felett is Szöveg alapú protokoll, sok megoldást át vett a HTTP és SMTP protokollokból
SIP hálózati komponensek
User Agent Proxy server Registar Redirect server Session border controller Gateway
User Agent Logikai hálózati végpont, amely SIP üzeneteket hoz létre, vagy fogad, és ezáltal egy SIP viszonyt vezérel. UAC (Client): SIP kéréseket küld. UAS (Server): SIP kéréseket fogad, és erre SIP válaszokat küld vissza
Proxy Server Közbülső entitás, ami UAS és UAC szerepkört is ellátja, célja SIP üzenetek továbbítása más kliensek nevében Forgalom irányítási szerepet is ellát, ami azt jelenti, hogy egy olyan entitásnak továbbítja a SIP üzeneteket, amely „közel” van a célhoz Szabályozó szerepet is ellát (például egy adott usernek van-e joga hívást kezdeményezni) Értelemezi és szükséges esetén átírja az üzenet egyes részeit továbbítás előtt
Registar Egy szerver, amely regisztrációs kéréseket (REGISTER) fogad, és a benne található (tartózkodási hely: IP cím) információkat egy Location Service nevű adatbázisba helyezi el. (Ez az adatbázis egy adott SIP domain-re vonatkozik.) Később egy proxy szerver lekérdezheti ezt az információt a Location Servertől A SIP registarok logikai komponensek és gyakran a SIP Proxykkal együtt helyezik el őket, szintén jó megoldás a redirect szerverrel együtt elhelyezni mivel ez növeli a skálázhatóságot
Registar User agent server, ami 3xx (redirection) válaszokat generál az általa fogadott kérésekre A klienseket alternatív SIP URI-hoz irányítja Lehetővé teszi, hogy SIP proxyk külső domain-ba továbbítsák a hívásokat
Session border controller UA és a SIP server között játszik közvetítő szerepet különböző típusú funkciókat megvalósítva Hálózati topológia elrejtés NAT traversal támogatása
Gateway Lehetővé teszi a SIP hálózat más hálózatokkal történő összekötését pl PSTN
SIP kérés üznetek REGISTER: Az UA által használt üzenet, ebben jelzi a hívások fogadásához használt IP címét, és URL-jeit. INVITE: Az UA-ek közötti média viszony létrehozására szolgál. ACK: Nyugta, üzenettovábbítás megbízhatóságát teszi lehetővé. CANCEL: Megszakít egy folyamatban lévő kérést, de egy már felépült hívást nem bont el. BYE: Az UA-ek közötti viszonylatot megszakítására szolgál. OPTIONS: Lehetővé teszi, hogy egy UA egy másik UA, vagy proxy server képességeiről informálódjon. (pl. kodekek, támogatott metódusok), anélkül hogy hívást kezdeményezne PRACK (Provisional Response Acknowledgement): A PRACK növeli a hálózat megbízhatóságát azáltal, hogy egy nyugtázási rendszert vezet be az ideiglenes válaszokra (1xx). PRACK küldése az 1xx kódú ideiglenes válaszokra (provisinal response) válaszul történik meg.
SIP válasz üzenetek Provisional/Informational (1xx): A kérész fogadta a rendszer, és feldolgozás alatt áll. Success (2xx): Egy műveletet sikeresen fogadott, megértett és elfogadott a rendszer Redirection (3xx): További műveletekre (tipikusan a küldő által) van szükség a kérés végrehajtásához. Client Error (4xx): A kérés rossz szintaxist tartalmaz, vagy nem teljesíthető a szerver által. Server Error (5xx): A szerver nem tud végrehajtani egy érvényes kérést. Global Failure (6xx): A kérést egyetlen szerveren sem lehet teljesíteni.
Basic SIP hívás [4]
SIP hívás proxyn keresztül [5]
A Skype [6] [7] A Skype egy peer-to-peer VoIP hálózat Készítők: Niklas Zennström és Janus Friis a KaZaa megalkotói A készítői a hangátvitelre helyezték a hangsúlyt, de a program mint videotelefon és azonnali üzenetküldő is megállja a helyét Célja: egyszerű, könnyen kezelhető, barátságos, megbízható kommunikációs rendszer létrehozása A Skype sok platformon érhető el pl: Windows, Mac OS X, Linux, Android, iOS
Skype szolgáltatások felhasználók közötti hangbeszélgetés (VoIP telefon) azonnali üzenetek váltása (IM) azonnali üzenet multi-chat, akár 100 felhasználó között egyszerre konferencia beszélgetés legfeljebb 5 felhasználó között fájlküldési lehetőség videokonferencia (csak a Skype 2.0 és ennél feljebbi változatokban) Kredit vásárlás után vezetékes és mobiltelefon hívása (SkypeOut)
SkypeOut Fizetős szolgáltatás, amely lehetővé teszi, hogy bárhová a világba vezetékes vagy mobil hívásokat kezdeményezzünk, miután feltöltöttük egyenlegünket A hívások díja előre meghatározott percdíjon alapul A tarifa nem függ attól, hogy hol vagyunk éppen
Néhány ár példa Magyarország vezetékes telefon hívása: 60 perc havonta 1.7 Eurocent/perc áfával
Magyarország vezetékes és mobil telefon hívása: 60 perc havonta 19.2 Eurocent/perc áfával
USA vezetékes és mobil telefon hívása: 60 perc havonta 1.7 Eurocent/perc áfával
Lehetőség van korlátlan csomagokra is fix havi díjért
SkypeIn Fizetős szolgáltatás Lehetőség van 3 vagy 12 hónapra bérelni egy adott telefonszámot, amely a Skype elérhetőségünkhöz van kötve Adott országban élő emberek alacsony díjszabás mellett tudják hívni, akkor is ha egy másik országban tartózkodunk
Skype protokoll Zárt forráskódú, szabadalom által védett Peer-to-peer alapú, elosztott rendszer Csak a megfelelő Skype licenszelés után lehetséges, hogy együtt működjön más VoIP hálózatokkal A hálózat három féle csomópontot használ: Supernodes Átlagos node Login szerver
Skype protokoll [8] Minden jó sávszélességgel, és megfelelő számítási teljesítménnyel rendelkező node szupernode-dá válhat, függetlenül attól, hogy NAT vagy tűzfal mögött van A szuper node-okat más userek hívásának továbbításaira, vagy pedig UDP hole punching-ra [9] (két NAT mögött lévő kliens közvetlen összekötése) használják A Skype szerverek használata helyett a szupernode-ok erőforrásait használja A jelzés üzenetek RC4-el vannak titkosítva, a hang adat pedig AES-sel
Skype szűrés, felismerés Néhány szolgáltató azt állítja, hogy képes a Skype felismerésére, azonban ezek a felismerési eljárások legtöbb esetben titkosak Pearson's chi-squared test [10] és Naive Bayes classification [11] két eljárás, amit 2007-ben publikáltak és lehetővé teszik a Skype felismerését A payload tulajdonságok statisztikai mérései (mint bájt gyakoriságok és kezdeti bájt szekvenciák) és a folyam tulajdonságok vizsgálata (csomag méret, csomag irányok) hatékony eljárásnak bizonyultak a Skype TCP és UDP alapú protokoljainak felismerésére
Források [1]http://en.wikipedia.org/wiki/Voice_over_IP [2]http://download.chip.eu/hu/A-20-legjobb-uzenetkuldo-es-VoIPprogram_1670962.html?tab=5 [3]http://en.wikipedia.org/wiki/Session_Initiation_Protocol [4]http://www.3cx.hu/voip-sip/images/sip_call_session.jpg [5]http://www.packetizer.com/ipmc/sip/papers/understanding_sip_ voip/sip_call_flow.png [6]http://hu.wikipedia.org/wiki/Skype [7]http://en.wikipedia.org/wiki/Skype [8]http://en.wikipedia.org/wiki/Skype_protocol [9]http://en.wikipedia.org/wiki/UDP_hole_punching [10]http://en.wikipedia.org/wiki/Pearson%27s_chi-squared_test [11]http://en.wikipedia.org/wiki/Naive_Bayes_classifier
Kérdések Mire szolgál a SIP INVITE üzenet? INVITE: A UserAgentek közötti média viszony létrehozására szolgál.
Mi a SkypeOut? Fizetős szolgáltatás, amely lehetővé teszi, hogy bárhová a világba vezetékes vagy mobil hívásokat kezdeményezzünk, miután feltöltöttük egyenlegünket