Debreceni Egyetem Informatikai Kar Hangátvitel IP hálózaton Oktatási segédanyag a Távközlő hálózatok című tárgyhoz Készítette: Orosz Péter 2014.
Áttekintés PSTN és VoIP összehasonlítás Jelzés protokollok: SIP, H.323, MGCP Hangfolyam: RTP/RTSP/SDP Szolgáltatásminőségi garanciák Asterisk konfirugációs példák IP PBX működés, funkciók VoIP-VoIP trunking Ajánlott irodalom 2
PSTN és VoIP összehasonlítás Áramkörkapcsolás és csomagkapcsolás Jelzés és hang útválasztása Rendelkezésre állás Előfizető átkötése A best effort jellegű csomagkapcsolt átvitel kihívásai Minőségi garanciák IP hálózaton (intra-as, inter- AS megoldások) Hangkódolás 3
Valósidejűség BE hálózaton Az IP protokoll best effort jellegű átvitelt valósít meg, mely során nem garantált, hogy az üzenet minden darabja megérkezik a címzetthez sorrendhelyesen valósul meg az átvitel alacsony mértékű és alacsony ingadozású az átvitel késleltetése a teljes útvonalon (end-to-end) 4
Valósidejűség BE hálózaton Az előbbiekkel szemben a valósidejű alkalmazások által támasztott általános átviteli követelmények: Alacsony átviteli késleltetés A késleltetés alacsony szintű ingadozása Nincs átrendeződés a hálózaton Alacsony csomagvesztési ráta A fenti metrikákra vonatkozó konkrét határértékeket az alkalmazás (szolgáltatás) típusa határozza meg. 5
Valósidejűség BE hálózaton A kedvező kiépítési és üzemeltetési költségek, valamint a rugalmas konfigurálhatóság hatására a legtöbb interaktív szolgáltatás ma már növekvő arányban IP feletti szolgáltatásként érhető el. Műszakilag fenntartható megoldásokat kell adni az új átviteli követelmények kielégítésére. Az IP útválasztók eredendőek demokratikus (FIFO jellegű) csomagtovábbítási mechanizmusát új mechanizmusok váltották fel a különböző forgalomtípusok igényeinek dinamikus kiszolgálásához. Végponttól végpontig kell garanciákat nyújtani 6
Hívásjelzés SIP (IETF RFC 3261) H.323 (ITU-T) MGCP (IETF RFC 2805) Forrás: colocationamerica.com 7
Session Initiation Protocol (SIP) IETF RFC 3261 Peer-to-peer architektúra Szöveg alapú session protokoll HTTP request-response modell TCP/UDP szállítás (port 5060/5061) Felhasználóazonosítás Hívásfelépítés és bontás 8
SIP hálózati szerepek SIP phone hardver vagy szoftver alapon User Agent (UA) SIP logikai végpont Proxy server köztes csomópont, kliensek nevében kérések közvetítése Registrar fogadja az UA-k REGISTER üzeneteit: IP cím és URI bejegyzése Gateway SIP-PSTN interfész Redirect szerver 9
SIP kapcsolatfelépítés Forrás: telconotes.wordpress.com 10
Azonosítás URI: sip:user@domain Tel-URI: +36-52-123456 Tel-URI to URI: sip:+36-52-123456@domain 11
H.323 H.323 protokollkészlet: H.225.0 - RAS/CS H.245 - multimédia kommunikáció vezérlése H.460 - NAT/FW traversal RTP - médiafolyam szállítása 12
H.323 hálózati szerepek Terminal szoftver vagy hardver telefon, videókonferencia eszköz Multipoint Control Unit (MCU) többpontos konferenciák logikai vezérlése (hang és videó) Gateway H.323-PTSN interfész Gatekeeper címfeloldás, regisztráció, felhasználói hitelesítés 13
Hangátvitel Real-time transport protocol (RTP) Átvitel UDP felett Sorrendtartás (sequence number) Időzítés (timestamp) Az időzítésre használt időbélyeg felbontása a kódolt hang mintavételi frekvenciájával egyezik meg. Ez a paraméter az SDP üzenetekből kiolvasható. 14
Átvitelminőségi garanciák Hálózati metrikák: Késleltetés (one way delay) <150 ms, ITU-T G.114 ajánlás (pszicho-akusztikai modell alapján) Késleltetés ingadozása (jitter) Csomagvesztés (loss) Átrendeződés (reordering) 15
IP hálózatok kihívásai A hálózati forgalom egyre összetettebb: RT és BE forgalmak aggregálása A szolgáltatás minőségének megfelelő szinten tartásához a hálózat forgalmát osztályozni kell és a hálózati erőforrásokat az osztályok között fel kell osztani: Quality of Service módszerek és megvalósítások 16
Átvitelminőségi garanciák Megoldások Traffic shaping és traffic policing L2: Class of Service (CoS, IEEE 802.1p) L2.5: MPLS Traffic Engineering L3: Differentiated Services/Integrated Services Prioritásos csomagtovábbítás osztályozás (classification) sorbanállás (queueing) ütemezés (scheduling) 17
QoS a hálózaton Lokális forgalomszabályozás (per hop behavior) - Osztály alapú működés: DiffServ modell Infrastruktúra szintű forgalomszabályozás - Osztály alapú működés: MPLS Traffic Engineering - Folyam alapú működés: IntServ modell 18
Traffic Policer Csomósodás (burst-ök) a forgalmi mintázatban: természetes jelenség a hálózaton A policer az átmenő forgalmat egy megadott sávszélességre korlátozza A korlát felett érkező forgalmat eldobja (hard policing) vagy megjelöli (soft policing) Belső működés: Token Bucket algoritmus 19
Traffic Shaper Előre definiált kimenő sávszélesség korlát (shaping rate) A sávszélesség korlátot meghaladó forgalmat tárolja A tárolt csomagokat olyan időablakban továbbítja melyben nem éri el a forgalom a kimenetre definiált korlátot Belső működés: Leaky Bucket algoritmus 20
Shaper és Policer összehasonlítás Eszköz Bemenő paraméterek Cél Hozzáadott késleltetés Többletforgalo m kezelése Shaper Policer Kimenő ráta, késleltető puffer mérete Kimenő ráta, burst méretkorlát A forgalom leszabályzása megadott rátára Van Nincs Ideiglenes tárolás eldobás 21
OTT és menedzselt szolgáltatás Over-the-Top Publikus IP hálózaton megvalósított hangtovábbítás, pl. Skype, Viber Menedzselt szolgáltatás Szolgáltatói menedzselt hálózaton megvalósított továbbítás A hálózat és a VoIP rendszer egy kézben van. A szolgáltatás minősége egészen a végpontig kézben tartható. 22
Hangátvitel objektív vizsgálata Full-reference algoritmusok PSQM (Perceptual Speech Quality Measure), ITU-T P.861 PESQ (Perceptual Evaluation of Speech Quality), ITU-T P.862 POLQA (Perceptual Objective Listening Quality Assessment), ITU-T P.863 No-reference E-modell, ITU-T G.107 Single-ended Method for Objective Speech Quality Assessment, ITU-T P.563 23
Hangátvitel szubjektív vizsgálata A szolgáltatás érzeti minősége: Quality of Experience (QoE) Hogyan tesztelhető? Mean Opinion Score (MOS, átlagos véleménypont) 5 kiváló 4 jó 3 elfogadható 2 gyenge 1 rossz 24
Asterisk bevezető Ingyenesen elérhető IP telefonközpont (PBX): http://www.asterisk.org/ Fontosabb jellemzői: Moduláris felépítésű Jól skálázható Szabványok támogatása Hang transzkódolás IP-PSTN átjárás IVR funkció Könnyű integrálhatóság CLI (+ alternatív webes frontendek) 25
Asterisk konfiguráció A legfontosabb konfigurációs állományok (/etc/asterisk): extensions.conf - a hívásvezérlés konfigurációs állománya sip.conf SIP végpontok konfigurációja 26
SIP konfiguráció /etc/asterisk/sip.conf [felhasznalo] type = friend secret = jelszo context=helyi permit = 172.22.200.50/32 callerid = Felhasznalo <0652123456> host = dynamic deny = 0.0.0.0/0 27
Hívásvezérlés - dialplan /etc/asterisk/extensions.conf [general] az állomány legelején A hívásvezérlés általános beállításai [globals] Globális változók definiálása, kezdőértékek beállítása Extension azonosító és a hozzá rendelt lépéssorozat Context a hívásvezérlés kontextusokra van felosztva, minden kontextus mellékek egy halmazát foglalja magába Extension pattern azonosítók maszkolása 28
Hívásvezérlés - context Miért használunk kontextusokat? - Biztonság (bizonyos funkciók csak megadott felhasználók számára érhetőek el, felhasználói körök között kontrollált interakció) [a_kontextus_neve] A név alfanumerikus és numerikus karaktereket, valamint aláhúzást és kötőjelet tartalmazhat. 29
Hívásvezérlés - applications Dial() - tárcsázás Answer() hívás automatikus fogadása Playback() előre felvett hang visszajátszása Hangup() kapcsolat bontása exten => 200,1,Answer() same => n,playback(udvozlet) same => n,hangup() Goto() hívás átirányítása a dialplan egy másik pontjára WaitExten() a hívó által küldött bemenetre várakozik 30
Hívásvezérlés context példa [helyi] exten => 100,1,Dial(SIP/100,10) exten => 101,1,Dial(SIP/101,10) exten => 102,1,Answer() same => n,playback(udvozlet) same => n,hangup() 31
Központok közötti kommunikáció- SIP trunk kialakítása Trunking [PBX-A] type = peer host = 172.22.200.1 username = pbx-b secret = jelszo-b context = bejovo disallow = all allow = ulaw [PBX-B] type = peer host = 172.22.201.2 username = pbx-a secret = jelszo-a context = bejovo disallow = all allow = ulaw Cli>sip show peers 32
Trunk kapcsolat SIP szolgáltató irányába [general] register => felhasznalonev:jelszo@sipszolgaltato.hu [szolgaltato] type = peer host = sip-szolgaltato.hu username = felhasznalonev secret = jelszo insecure = invite dtmfmode = rfc2833 disallow = all allow = ulaw 33
Ajánlott irodalom http://asteriskdocs.org/en/3rd_edition/asterisk-book-html/asteriskbook.html http://tiebing.blogspot.hu/2010/09/asterisk-sip-pbx-simple-tutorialquick.html http://www.voip-info.org/wiki/view/asterisk+config+extensions.conf 34