Multimédia továbbítása az IP felett: 2. rész Hívásvezérlő protokollok: SIP Session Initiation Protocol, és a H.323 Médiakommunikációs hálózatok Média-technológia és kommunikáció szakirány 2012. tavasz
Visszatekintés az alapelvek részre Mi az, hogy hívásvezérlés? Hívások (kapcsolatok, összeköttetések) létrehozása, fenntartása, lebontása Az ehhez szükséges jelzések rendszere Hívásvezérlő protokollok (valamely szabvány szerint) Angolul: call processing, call control systems/algorithms/protocols 2
Példa hívásvezérlésre: közönséges telefonhálózat (POTS) Hívó fél A központ B központ Hívott fél A B 1. Connect (off-hook) 2. Dial tone 3. Dialled digits 6. Audible ringing 7. Answer 7a. Busy 8. Disconnect 8a. Hangup 4. Connect (seizure) 5. Ringing 6. Audible ringing 7. Answer 7. Answer 7a. Busy 7a. Busy 8. Disconnect 8. Disconnect 8a. Hangup 8a. Hangup 3
Multimédia-hívásvezérlés IP-alapú hálózatokban Elvárások (többek között): multimédiatartalmak kezelése többrésztvevős összeköttetések vezérlése (konferencia) helyzetinformáció kezelése, pl. hívásátadás mobilitás kezelése könnyű integrálhatóság a web-alapú szolgáltatásokkal 4
SIP: összefoglalás (1) Session Initiation Protocol: alkalmazási rétegbeli protokoll a TCP/IP architektúra szerint (RFC 3261) Session-ök létrehozása, módosítása, befejezése egy vagy több partnerrel Session: a set of senders and receivers that communicate and the state kept in those senders and receivers during the communication. Session-leírókat (descriptors) visz át a különböző médiatípusokra vonatkozóan, képességegyeztetés céljából Kezeli a felhasználók helyzetinformációit, támogat pl. hívásátadást Támogatja a mobilitást Multipoint Control Unit (MCU) funkció vagy teljes meshkapcsolatok 5
SIP összefoglalás (2) A SIP a következő TCP/IP protokollcsaládbeli protokollokkal működik együtt ill. használja azokat: RTP/RTCP/RTSP a médiatartalom továbbítására és támogató feladatokra - tárgyaltuk Session Announcement Protocol (SAP) - multimedia session-ök hirdetésére nem foglalkozunk vele Session Description Protocol (SDP) - multimedia session-ök leírására nem foglalkozunk vele RSVP - erőforrás-foglalásra lásd a 3. részben 6
SIP összefoglalás (3) A SIP text-alapú protokoll (a HTTP-hez hasonló) a SIP-üzeneteket können generálhatják emberek vagy programok (CGI, Perl vagy Java) SIP Uniform Resource Locators (URLs): Hasonlók az e-mail URL-ekhez sip: szabo@hit.bme.hu sip:+36 1 463 3261@hit.bme.hu A SIP UDP vagy TCP felett működhet 7
A SIP építőelemei User agent - UA Request -eket kezdeményeznek és azok címzettjei IP-telefon, PC, konferencia-szerver Proxy server A SIP request-eket és response-okat route-olják A kliensek (UA-k) megbízásából tevékenykednek Registrars Nyilvántartják a felhasználókat egy domain-en belül Név-cím-összerendeléseket kezelnek Redirect servers Request-re megadják a felhasználó címét De nem kezelnek hívásvezérlést és nem továbbítanak SIP request-eket 8
User Agents (UA) Lehet hardware-alapú IP-telefon (pl. Cisco7960) vagy software-alapú softphone (pl. Windows Messenger) Softphone futhat PDA-n vagy mobiltelefonon is Két logikai részből állnak: User Agent Client (UAC) Request-eket küld és responseokat vesz User Agent Server (UAS) Response-okat küld és requesteket fogad 9
Proxy Server A session invitation-okat továbbítja a hívott közelébe Két típusuk van: Állapotmentes Egyszerű és gyors üzenettovábbítók Nem tudnak a transaction-okról Alkalmazás pl. terhelés-kiegyenlítésre (load balancing) Állapotalapú Forking egy üzenet vételekor 2 v. több üzenetet küld ki 10
Registrar és Location Server REGISTER alice@example.com CONTACT: alice@pc17 registrar A@ B@ C@ SQL, LDAP, Corba, proprietary, INVITE alice@example.com location server INVITE alice@pc17.example.com proxy 11
henning hgs@ Redirect Server tu-berlin.de 1 INVITE henning@ieee.org ieee.org location server 302 Moved temporarily Contact: hgs@columbia.edu 4 2 3 5 ACK henning@ieee.org 6 7 8 INVITE hgs@columbia.edu 200 OK ACK hgs@columbia.edu (302: redirection for single call; 301 permanently) columbia.edu hgs 12
A SIP működése Redirect-módban LÉPÉSEK: A Redirect server fogadja az INVITE-ot és kapcsolatba lép a location service-szel Ha megvan a felhasználó, a redirect server visszaküldi a címet a hívó félnek (nem generál INVITE-ot!) A hívó UA ACK-t küld a redirect server-nek Az UA INVITE-ot küld közvetlenül a kapott címre A hívott UA jelzi a sikert (200 OK) és a hívó UA ACK-t küld 13
Forking Más jelzésprotokolloknál ilyen nincs: a híváskérések elágaztatása = a szerver két vagy több request-et küld különböző címzetteknek egy beérkező request-re egyidejűleg egymás után Ezzel valósít meg a SIP különböző emeltszintű szolgáltatásokat hívástovábbítás hangpostára automatikus hívás-szétosztás 14
SIP request forking macrosoft.com bob@b.macrosoft.com a.wonderland.com INVITEbob@b INVITEsales@macrosoft.com CANCELbob@c ACK INVITEcarol@c carol@c.macrosoft.com 200 OK BYEcarol@c.macrosoft.com 200 OK 15
SIP üzenetek Két fő kategória: Request-ek és Response-ok Nagyon hasonlít a HTTP/1.1-hez Ugyanaz a request-ek és response-ok formátuma, az első sor kivételével Tartalmazhatnak üzenettörzset Session description ASCII vagy HTML 16
message body message header SIP üzenetek *) request method URL SIP/2.0 Via: From: To: Call-ID: CSeq: Content-Length: Content-Type: Header: response SIP/2.0 status reason SIP/2.0/ protocol host:port user<sip:from_user@source> user< sip:to_user@_destination> locatid@host seq#method length of body media type of body parameter ;par1=value ;par2= value ;par3= value folded into next line blank line V=0 o=origin_user timestamp timestamp IN IP4 host c=in IP4 media destination address T=0 0 m=media type port RTP/AVP payload types message 17
SIP Request-ek INVITE hívás kezdeményezése ACK válasz nyugtázása BYE hívás befejezése (és továbbítása) CANCEL keresés és csengetés törlése OPTIONS a másik fél által támogatott tulajdonságok REGISTER - regisztráció a location service-szel 18
Request-példa: INVITE *) INVITE INVITE sip:godor@10.3.113.75 SIP/2.0 Via: SIP/2.0/UDP 10.3.119.239:8990 From: "392" <sip:392@10.3.113.75>; tag=99982b0d-24c7-422d-971c- 1c55a00073d2 To: <sip:godor@10.3.113.75> Call-ID: 95d2c362-4594-40ff-9d4f- 92ace3aaf81a@10.3.119.239 CSeq: 1 INVITE Contact: <sip:10.3.119.239:8990> User-Agent: Windows RTC/1.0 Content-Type: application/sdp Content-Length: 533 v=0 o=matav-endre 0 0 IN IP4 10.3.119.239 s=session c=in IP4 10.3.119.239 b=ct:1000 t=0 0 m=audio 35528 RTP/AVP 97 111 112 6 0 8 4 5 3 101 a=rtpmap:97 red/8000 a=rtpmap:112 G7221/16000 a=fmtp:112 bitrate=24000 a=rtpmap:6 DVI4/16000 a=rtpmap:3 GSM/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16 m=video 11518 RTP/AVP 34 31 a=rtpmap:34 H263/90000 a=rtpmap:31 H261/90000 19
SIP Response-ok *) Success Request Failure 100 Trying 180 Ringing 181 Call forwarded 182 Queued 183 Session Progress 200 OK positive final response 300 Multiple Choices 301 Moved Perm. 302 Moved Temp. 380 Alternative Serv. 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 405 Bad Method 415 Unsupp. Content 420 Bad Extensions 486 Busy Here 500 Server Error 501 Implemented 503 Unavaiable 504 Timeout 600 Busy Everwhere 603 Decline 604 Doesn t Exit 606 Not Server Failure Global Failure 20
A SIP összefoglalása IETF (újabban 3GPP és ITU is, az NGN szolgáltatásnyújtó platformja, az IMS ezt használja!). IP-központú, állapotmentes protokoll, szöveges protokoll, jól kombinálható mindenféle web-alapú szolgáltatással. A SIP nem az egyetlen létező multimédia hívásvezérlő protokoll széleskörben használt a H.323 (nem egy protokoll, hanem protokollcsalád), ITU-szabvány, más elvek szerint épül fel, más technika (bináris, állapotalapú), de a SIP valószínűleg egyeduralkodó lesz (NGN-koncepció) 21
Hívásvezérlő protokollok: a H.323 Médiakommunikációs hálózatok Média-technológia és kommunikáció szakirány 2011. tavasz 22
H.323 ITU protokoll-család, amelyet széles körben használnak a mai VoIP és videokonferencia-rendszerekben Procedúrák csomaghálózatok feletti konferenciaalkalmazásokra: Pont-pont és multipont Audió, videó és adat Meghatározza a csomag- és áramkörkapcsolt hálózatok közötti együttműködést Komplett szabvány-dokumentáció: Audió, videó kódolás, média streaming Hívásfelépítés és vezérlés, az ehhez szükséges jelzésátviteli protokollokkal Regisztráció és hozzáférés-szabályozás 23
A H.323 szabvány hatóköre H.323 Terminal Packet Network H.323 MCU H.323 Gatekeeper H.323 Gateway H.323 Terminal H.323 Terminal PSTN Guaranteed QOS LAN N - ISDN B - ISDN V.70 Terminal H.324 Terminal Speech Terminal H.322 Terminal Speech Terminal H.320 Terminal H.321 Terminal H.310 Terminal 24
Mi ma a H.323? H.323: Visual Telephone Terminals over non-qos LANs multimédia-kommunikáció alapvetően IP-hálózatokban Együttműködés (gateway-funkciók) az egyetlen másik élő szabvánnyal, a H.320-szal H.320: Narrow-band Visual Telephone Systems and Terminal Equipment Audio-vizuális kommunikáció ISDN-en és más áramkörkapcsolt hálózatokon, a gyakorlatban kizárólag ISDN-en, 128...384 kbit/s (2B...6B) 25
A hálózat funkcionális egységei a H.323 szerint Terminal (TE) felhasználói végpont lehet multimédia, de lehet csak beszéd Gateway (GW) A H323 és más típusú terminálok közötti együttműködést biztosítja. Elvileg: analóg PSTN, ISDN, ATM, QoS LANs, gyakorlatban csak az ISDN (H.320) Konverzió a különböző kódolások, jelzésrendszerek stb. között Gatekeeper (GK) Opcionális, ha van: központi intelligencia Beengedés-szabályozás, maga a hívásvezérlés mehet a GK-en keresztül (a média nem), erőforrás-menedzsment, authentikáció Multipoint Control Unit (MCU) 3 vagy több terminál közötti konferencia 26
H.323 funkcionális egységei, zónák GK MCU GK MCU LAN WAN LAN GW Zóna TE GW Zóna TE 27
H.323 protokoll-architektúra Hívásvezérlő protokollok Média-kezelés (pl. tömörítés) adat, beszéd, videóra Média-szállítás (transport) RTP Protokollok a QoS biztosítására RSVP későbbi részben Mindez IP és TCP/UDP felett Hívásvezérlő protokollok H.225 call control, hívásfelépítés stb. a Q.931 protokoll alapján (ISDN D -csatornás jelzésrendszer) H.225.RAS a protokoll része, a GK-ben megvalósítva H.245 call control signalling : a médiaátvitellel kapcsolatos funkciók (képesség-egyeztetés), multipont- (konferencia-) vezérlés 28
A H.323 protokoll-család (architektúra) G.711 G.723.1 G.728 G.729 RTP H.261 H.263 RTCP H.225 RAS T.12x T.13x H.225/ Q931 TPKT H.245 UDP TCP IP LAN Interface 29
Terminál (1) 30
Terminál (2) Audió-kommunikáció G.711 kötelező (A-law és μ-law ) Aszimmetrikus működés is Több hangcsatorna kezelése Más funkciók pl. visszhang-elnyomás Videó-kommunikáció (opcionális) H.261 QCIF kötelező Aszimmetrikus bit- és képsebességek és felbontás mellett is Többszörös videó-folyamok kezelése 31
Terminál (3) Adatkommunikáció (opcionális) T.120 szabvány szerint File, állókép átvitel, a készülékek távvezérlése (pl. kameravezérlés) Vezérlő protokollok Call signaling (H.225) Call control signaling (H.245) Registration, admission and status (H.225.RAS, opcionálisan) 32
Gateway átjáró 33
Gatekeeper (1) Opcionális elem a H.323 hálózatban Több GK lehet a hálózatban, zónák -ra osztva A GK funkcionális egység, rendszerint terminálba, gateway-be, MCU-ba van integrálva Discovery Gatekeeper A Gatekeeper B Registration, address translation, etc A zone (domain) B zone (domain) Direct communication Terminal A Terminal B 34
Gatekeeper (2) Kötelező funkciók Címfordítás LAN- és E164 címek között Beengedés-vezérlés jogosultságok alapján Sávszélesség-menedzsment A zóna menedzselése: adatbázis fenntartása a GK által regisztrált hálózati elemekből Opcionális funkciók Hívásvezérlés Jelzésüzenetek irányítása terminálok között QoS 35
MCU Multipont Control Unit Az MCU két fő eleme, az MC és az MP a két fő funkciónak felel meg: multipoint call processing multipoint media processing MC: Multipoint Controller Hívásvezérlés 3 v. többrésztvevős konferencia esetén a terminálok között, képességegyeztetéssel MP: Multipoint Processor az audió és videófolyamok kezelése különböző média-típusok keverés: dekódolás, lineáris kombináció képzés, újrakódolás 36
A H.323 protokoll-család: hívásvezérlő protokollok G.711 G.723.1 G.728 G.729 RTP H.261 H.263 RTCP H.225 RAS T.12x T.13x H.225/ Q931 TPKT H.245 UDP TCP IP LAN Interface 37
A H.323 hívásvezérlő protokollok áttekintése H.225 A H.323 jelzésátviteli protokollja A Q.931-en alapul (az ISDN jelzésátviteli protokollja), kis különbségekkel TCP felett működik a TPKT közbeiktatásával H.225.RAS Gatekeeper-protokoll Nem megbízható szállítási protokollt használ (UDP-t) H.245 call control signalling : a médiaátvitellel kapcsolatos funkciók (képesség-egyeztetés), multipont- (konferencia-) vezérlés 38
A hívás 7 fázisa Phase Protocol Intended functions 1 Call admission RAS Request permission from GK to make/receive a call. 2 Call setup 3 Endpoint capability negotiation and logical channel setup H.225 (Q.931) H.245 Set up a call between the two endpoints. Negotiate capabilities between two endpoints. Determine master slave relationship. Open logical channels between two endpoints. 4 Stable call RTP Two parties in conversation. 5 Channel closing H.245 Close the logical channels. 6 Call teardown H.225 (Q.931) Tear down the call. 7 Call disengage RAS Release the resources used for this call. 39
Két hívásfelépítési modell Opcionális RAS TE1 GK (hálózat) Q.931 H.245 RTP RAS TE2 Közvetlen hívásmodell RAS TE1 Q.931 H.245 GK (hálózat) RTP Q.931 H.245 RAS TE2 GK által route-olt modell 40
Hívásfelépítés-lebontás Terminal SETUP Bearer Capability, Called Party Number Terminal or gateway CALL PROCEEDING * ALERTING CONNECT H.245 Signalling, Audio/Video Data Transfer RELEASE COMPLETE 41
Megjegyzések Call Proceeding A vételi végpont küldi, amikor nem tudja csengetni a terminált 4 sec alatt Alerting Csengeti a terminált Connect Közli a H.245 jelzésvezérlő csatorna vételi oldali TCP portját ReleaseComplete A hívás lebontása egyetlen üzenettel 42
H.225 és H.245 H.245: Call Control Signaling (hívásvezérlési jelzésátvitel) a H.323- ban Egyes H.245 procedúrák: Master-slave determination (MSD) Terminal Capability Exchange (TCE) Segítségével a végpontok egyeztetik az audió, videó és adatátviteli képességeiket Open Logical Channels (OLC) Egyirányú vagy kétirányú logikai csatornák megnyitása audió, videó és adatátvitelre Szükség van MSD-re Closing Logical Channels Round Trip Delay A teljes késleltetési idő meghatározása, amely a jitter-kiegyenlítő pufferek méretezéséhez szükséges 43
Hívásfelépítés részletesebben RTP Streams Terminal SETUP Bearer Capability, Called Party Number CALL PROCEEDING * ALERTING CONNECT Bearer Capability, H245Address Master-slave detection Terminal Capability Exchange Open Logical Channels RELEASE COMPLETE Terminal or gateway 44
Problémák a H.323 első változatával Túl lassú a hívásfelépítés A hívás alatt, nincs lehetőség egyeztetésre Különválik a jelzésátvitel és a hívásvezérlés Nehéz szinkronizálni a signaling és a control csatornákat Külön H.245 csatorna felépítése lassítja a hívásfelépítést A külön H.245-ös csatornákhoz külön erőforrások szükségesek 45
H323v2: a FastStart bevezetése Új H.225 üzenet-elem, amely OLC struktúrákat tartalmaz kódolva Minden OLC struktúra egy lehetséges média-csatornát képvisel, ezért az alkalmazásnak késznek kell lennie minden javasolt csatornán történő vételre A H.323 végpont, a faststart-ot tartalmazó SETUP üzenet vételekor, képesnek kell lennie kiválasztani, módosítani és viszonozni a felajánlott OLC struktúrákat, feltételezve, hogy a kiválasztott csatornák meg is vannak nyitva dönthet úgy, hogy nem folytatja a faststart-ot Előny: nincs kezdeti késleltetés, a terminál kész a kommunikációra a CONNECT megérkezésekor 46
Hívásfelépítés FastStart eljárással Terminal SETUP Bearer Capability, Called Party Number,FastStart CALL PROCEEDING * ALERTING CONNECT Bearer Capability, FastStart Terminal or gateway RTP Streams FACILITY* starth245, h245address Master-slave detection Terminal Capability Exchange RELEASE COMPLETE 47
H.323: összefoglalás ITU szabvány Több mindent átvett a távközlésből (Q.931) A TCP/IP architektúra -protokolljait használja (RTP, RTCP) Széles spektrumú szabvány médiák (adat, hang, beszéd) protokollok (hívásvezérlés, de ide vettek média-feldolgozási és QoSprotokollokat is) Funkcionális egységei a T, GK, GW, MCU Hívásvezérlő protokollok p-p és mp kapcsolatokhoz (p-p és konferencia) Állapot-alapú és bináris protokoll Széles körben alkalmazzák Hátrányai (késleltetés, processzálási igény) 48
IP-hálózatokon történő multimédia-továbbítás eszközei Az eddigiek összefoglalása: Médiakezelés (1. rész) RTP, RTCP, RTSP Hívásvezérlés (2. rész) SIP H.323 JÖN MÉG: Szolgáltatásminőség-biztosítás IntServ*, DiffServ*, RSVP (3. rész) * nem protokoll, hanem módszer 49