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
Hívott fél
„B” központ
A
B
1. Connect (off-hook) 2. Dial tone 3. Dialled digits
4. Connect (seizure)
6. Audible ringing
6. Audible ringing
7. Answer
7. Answer
5. Ringing 7. Answer 7a. Busy
7a. Busy
7a. Busy
8. Disconnect
8. Disconnect
8. Disconnect
8a. Hangup
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:
[email protected] sip:+36 1 463
[email protected]
A SIP UDP vagy TCP felett működhet
7
A SIP építőelemei
User agent - UA
Proxy server
A SIP request-eket és response-okat route-olják A kliensek (UA-k) megbízásából tevékenykednek
Registrars
„Request”-eket kezdeményeznek és azok címzettjei IP-telefon, PC, konferencia-szerver
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 registrar REGISTER
[email protected] CONTACT: alice@PC17
A@ B@ C@
SQL, LDAP, Corba, proprietary, …
location server
INVITE
[email protected]
INVITE
[email protected]
proxy 11
Redirect Server 1
location server
302 Moved temporarily Contact:
[email protected]
2
hgs@
INVITE
[email protected] henning
tu-berlin.de
ieee.org
3
4 5 ACK
[email protected] 6 INVITE
[email protected] 7 200 OK 8 ACK
[email protected] (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
[email protected] a.wonderland.com
INVITEbob@b
[email protected] CANCELbob@c
ACK
INVITEcarol@c
[email protected] 200 OK
[email protected] 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
SIP üzenetek *)
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
message header
Via: From: To: Call-ID: CSeq: Content-Length: Content-Type: Header:
response SIP/2.0 status reason
message body
request method URL SIP/2.0
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:
[email protected] SIP/2.0 Via: SIP/2.0/UDP 10.3.119.239:8990 From: "392" <sip:
[email protected]>; tag=99982b0d-24c7-422d-971c1c55a00073d2 To: <sip:
[email protected]> Call-ID:
[email protected] 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 100 Trying 180 Ringing 181 Call forwarded 182 Queued 183 Session Progress
200 OK – positive final response
Request Failure 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
Server Failure
600 Busy Everwhere 603 Decline 604 Doesn’t Exit 606 Not
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
H.323 MCU
Packet Network H.323 Gatekeeper
Guaranteed QOS LAN
PSTN
V.70 Terminal
H.324 Terminal
H.323 Gateway
Speech Terminal
H.322 Terminal
H.323 Terminal
N - ISDN
Speech Terminal
H.320 Terminal
H.323 Terminal
B - ISDN
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)
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)
felhasználói végpont lehet multimédia, de lehet csak beszéd
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
LAN
MCU
LAN WAN
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 G.711 G.723.1 G.728 G.729
H.261 H.263 RTCP
H.225 RAS
T.12x T.13x
RTP
(architektúra)
H.225/ Q931
H.245
TPKT
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 A zone (domain)
B zone (domain)
Registration, address translation, etc 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:
MC: Multipoint Controller
multipoint call processing multipoint media processing 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
H.261 H.263 RTCP
H.225 RAS
T.12x T.13x
RTP
H.225/ Q931
H.245
TPKT
UDP
TCP
IP LAN Interface
37
A H.323 hívásvezérlő protokollok áttekintése
H.225
H.225.RAS
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 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
H.225 (Q.931)
Set up a call between the two endpoints.
3
Endpoint capability negotiation and logical channel setup
H.245
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 GK (hálózat) RAS
TE1
RAS Q.931 H.245 RTP
TE2
Közvetlen hívásmodell RAS
TE1
Q.931 H.245
GK (hálózat)
Q.931 H.245
RTP
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
Alerting
„Csengeti” a terminált
Connect
A vételi végpont küldi, amikor nem tudja „csengetni” a terminált 4 sec alatt
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.323ban
Egyes H.245 procedúrák:
Master-slave determination (MSD) Terminal Capability Exchange (TCE)
Open Logical Channels (OLC)
Segítségével a végpontok egyeztetik az audió, videó és adatátviteli képességeiket 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 Terminal
SETUP Bearer Capability, Called Party Number
Terminal or gateway
CALL PROCEEDING * ALERTING CONNECT Bearer Capability, H245Address
Master-slave detection Terminal Capability Exchange Open Logical Channels
RTP Streams RELEASE COMPLETE
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
Terminal or gateway
CALL PROCEEDING * ALERTING CONNECT Bearer Capability, FastStart
RTP Streams FACILITY* startH245, h245Address
Master-slave detection Terminal Capability Exchange
RELEASE COMPLETE 47
H.323: összefoglalás
ITU szabvány
Széles spektrumú szabvány
Több mindent átvett a távközlésből (Q.931) A TCP/IP architektúra -protokolljait használja (RTP, RTCP) 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