architektura H.248 - Instytut Telekomunikacji
Transkrypt
architektura H.248 - Instytut Telekomunikacji
Instytut Telekomunikacji PW NGN – funkcje bramowe i architektura H.248 Materiały wykładowe do użytku wewnętrznego NGN-H248 1 H248 – kontekst 3GPP Rel. 7 NGN-H248 2 Punkt wyjścia: architektura BICC Z wcześniejszych rozważań: połączenie ::= transport + medium(zakodowany sygnał użytkowy) sterowanie zgłoszeniami/połączeniami CC BICC - protrokół warstwy CC CSF == MGC styk CBC==Mc BIWF == MG CC/BC protokół BC BC Brama medialna - MG (media gateway) Sterownik bramy m. MGC (MG controller) parametry połączenia BC np. RTP-RTCP/UDP/IP Główna cecha - dekompozycja • obsługa "medium" - brama MG • obsługa połączeń..., sterowanie bramą - MGC Przesłanki do rozdzielenia MG i MGC • techniczne (specjalizacja usługowa MGC i ewolucja platform multimedialnych - np. w GSM/UMTS, IMS, niezawodność) • subiektywne preferencje operatorskie (sygnalizacja "u mnie") • inne, np. wynikające z uregulowań prawnych • BIWF - Bearer Interworking • CC / BC – Call /Bearer Control połączenia • CSF – Call Service Function • CBC - Call Bearer Control Kanoniczna architektura MG/MGC • MG – Media Control • protokół BC można enkapsulować w CC • MGC – Media Gateway Control NGN-H248 3 Softswitch a Megaco/H.248 • Architektura fizyczna dla środowiska PSTN/IP na rysunku - podzbiór "tranzytowy" BICC, SIP-I,T ISUP, DSS1,... MGCF MGCF SIP, "H.323" Megaco/H.248 BC sterowanie połączeniem C SGW IP Połącz T1-T2 do adr. b Połącz T2-T1 z adr b T1 Połącz T3-T4 z adr. a Połącz T4-T3 do adr. a T2 T4 T3 RTP-RTCP/UDP/IP MGF MGF a • Fizyczne realizacja MGC, SGW, MGW dozwolone różne kombinacje NGN-H248 b MGxF – Media Gateway x Function 4 Softswitch a Megaco/H.248 - cd. • Składniki funkcjonalne - rola MGC BICC, SIP-T SIP, "H.323" MGC Megaco/H.248 MG RTP/RTCP MGC Megaco/H.248 MG de facto połączenie w nszym rozumieniu MG BC Model zgłoszenia Brama medialna - główne funkcje: • transkodowanie • komutacja • transport informacji użytkowej • obsługa sygnalizacji wewn.kanał. (in-band) na rzecz CC (bez semantyki) Realizacja architektury MG/MGC • Megaco/H.248 • ... Główny składnik architektury • protokół Megaco/H.248 Oś rozwiązania • model „zgłoszenia” (elementy zgłoszenia) • zdarzenia dla elementów zgłoszenia • komendy, w tym operacje na elementach zgłoszenia NGN-H248 5 Protokół H.248/Megaco • Połączenie H.248 (właściwie „lokalna” konferencja multimedialna) wewnętrzny schemat przepływów pomiędzy zakończeniami danej bramy MG MGC Model połączenia • zakończenia (termination) - reprezentują źródła i ujścia mediów (kodowanych sygnałów użytkowych) • medium (media flow) = strumień (StreamID) • zazwyczaj zakończenie == 1-strumień - fizyczne (np. łącza cyfrowe) i nietrwałe (ephemeral) (np. porty TCP/UDP) - zakończenia posiadają własności (ustawiane atrybuty, np. przeplot strumieni) • strumienie - posiadają cechy jak kodowanie, kierunek (send/receive…), port • kontekst (zgłoszenie) to zgrupowania zakończeń w „konferencję” - zawiera zakończenia (operacje dodawania/usuwania) - multimedialność - mieszanie strumieni o tym samym sId=x BC Model zgłoszenia Megaco/H.248 port IP/UDP MG Model połączenia Context Id = 235122 Port sId=1 240 Termination Port 250 ID= PC75/2/0 sId=2 sId=2 Termination ID= RT4562b sId=1 Port IP/UDP Termination transkodowanie ustawiane „automatycznie” przez MG wg kodeków każdego strumienia Zdarzenia (events) • wykrywane w zakończeniach (stany, cyfry, ciągi cyfr) i zgłaszane do MGC • sygnały (signals) wymuszane na zakończeniach/strumieniach (np. „dołącz ton...”) - podobnie jak w przypadku styku V.5, PSTN Protocol •… Komendy • dodawanie/przesuwanie/usuwanie zakończeń do/z kontekstów (MGC->MG) • modyfikowanie cech zakończeń, polecenia wykrywania zdarzeń, generowanie sygnałów (MGC->MG) • raportowania / wywoływania zdarzeń (MG->MGC) / (MGC->MG) • nadzoru NGN-H248 6 Definicja funkcji H.248 - pakiety • Służą do definiowania szczegółowych funkcjonalności protokołu – wszystkie typy zdarzeń, sygnałów, statystyk definiowane w pakietach (ang. package) – można też definiować dodatkowe własności (np. zakończeń) • Definiowanie pakietów – „never ending story” (por nast. slajd) – opracowywane przez szereg ciał (rejestrowane w IANA) – jest miejsce na pakiety prywatne • Pakiety mogą dziedziczyć z innych pakietów i rozszerzać je NGN-H248 7 Standardy Megaco/H.248 • • • • RFC 2805 – wymagania RFC 3015 (Megaco) lub ITU-T Rec. H.248 (H.248.1 – basic + Annexes A-E – pakiety funkcjonalne) H.248 Annexes F to K +… (H.248.2 – H.248.72; pakiety funkcjonalne) H Series Supp 2,6,7,8,9 H.248.2 Facsimile, text conversation and call discrimination packages H.248.3 User interface elements and actions packages H.248.4 Transport over Stream Control Transmission Protocol (SCTP) H.248.5 Transport over ATM H.248.6 Dynamic Tone Definition package H.248.7 Generic Announcement package H.248.8 Error code and service change reason description H.248.9 Advanced media server packages H.248.10 Media gateway resource congestion handling package H.248.11 Media gateway overload control package H.248.12 H.248.1 packages for H.323 and H.324 interworking H.248.13 Quality Alert Ceasing package H.248.14 Inactivity timer package H.248.15 SDP H.248 package attribute H.248.16 Enhanced digit collection packages and procedures H.248.17 Line test packages H.248.18 Package for support of multiple profiles H.248.19 Decomposed multipoint control unit, audio, video and data conferencing packages H.248.20 The use of local and remote descriptors with H.221 and H.223 multiplexing … NGN-H248 8 Ważniejsze komendy • Ogólna postać: Komenda = Id zakończenia { lista deskryptorów } – deskryptory: struktury danych do opisu wartości atrybutów zakończeń, np. strumieni: Media { Stream=1 { LocalControl { mode=receiveonly } } – – • komendy zamykane w transakcje, dla których udziela się odpowiedzi(identyfikacja tr/odp) • Transaction = nnn { Context = ccc { lista komend } Context = bbb ... } • Reply = nnn { Context = ccc { lista komend } Context = bbb ... } składnia: binarna lub tekstowa Add - dodaj zakończenie do kontekstu – – Add = PC75/2/0 (dla zakończeń trwałych id zakończenia znane przez MGC) Add = $ (dla zakoń. nietrwałych: Id zakończenia MG zwróci w odpowiedzi) Id zakończenia Reply=1 { Ctxt=2 {Add = RT4562c ...} } Transaction=1 { Ctxt=2 {Add = $ ... } } Termination ID= PC75/2/0 Termination ID= RT4562b Termination ID= PC75/2/0 Context = 2 Context = 2 NGN-H248 Termination ID= RT4562b Termination ID= RT4562c 9 Ważniejsze komendy – cd. • Modify - zmodyfikuj wartości atrybutów kontekstu/zakończenia/strumienia – do zmiany wartości atrybutów służą deskryptory – por. następny slajd • Move - przenieś zakończenie z bieżącego kontekstu do innego kontekstu • Subtract - usuń zakończenie z kontekstu • Notify - powiadomienie przez MG o wystąpieniu zdarzenia – zdarzenie wcześniej było zarejestrowane przez MGC komendą Modify – ustawiane deskryptorem Events • Komendy zarządzania i nadzoru – AuditCapability – odczyt przez MGC możliwych wartości parametrów MG – AuditValue – odczyt przez MGC parametrów zakończeń w MG – ServiceChange • MG->MGC: np. raportowanie przez MG zmian konfiguracyjnych (np. restart MG, aktywacja/deaktywacja zakończeń, rejestrowanie się MG w MGC) • MGC->MG: np. handover (przejęcie sterowania przez inne MGC), czy też żądanie aktywacji/deaktywacji zakończeń (funkcje poziomu zarządzania) NGN-H248 10 Strumienie – kierunkowość (przykład zmiany) • Strumień 2-kierunkowy Transaction=1 { Context= 235122 { Modify= PC75/2/0 { Context Id = 235122 Media { Stream=1 { Termination Termination ID=PC75/2/0 ID=RT4562b LocalControl { sId=1 d eskryptor mode=receiveonly s trumienia ... ... } sId=1: sId=1 sId=1: } mode=sendreceive mode= sendreceive } Local {IP/UDP} Remote {IP/UDP} } mode=sendreceive mode=sendreceive Modify= RT4562b { Media { Stream=1 { LocalControl { mode=sendonly kierunek „send” } „od środka kontekstu” } na zewnątrz Context Id = 235122 } } Termination Termination } ID=PC75/2/0 ID=RT4562b sId=1 Context=jeszcze_inny { ... ... ...Modify … sId=1 sId=1: sId=1: } mode=receiveonly mode= sendonly • Strumień 1-kierunkowy Local {IP/UDP} własny adres transportowy Remote {IP/UDP} odległy adres transportowy NGN-H248 } W tym przypadku do jednokierunkowości e2e wystarczyłoby właściwie wysterować 11 strumień tylko w jednym z zakończeń Przykład obsługi zgłoszenia 1. IAM( T1) • Nawiązanie sesji przez jeden MGC 1. IAM MGC Local { Trans=1{ Context=$ {Add=T1, v=0 Add=$ { Media { c=IN IP4 $ Stream=1 { Lc{mode=receiveonly} m=audio $ RTP/AVP 0 2 Local {opis "SDP"} }} } }}} Local { Reply=1{Context=100{Add=T1, v=0 Add=T2 { Media { c=IN IP4 194.25.161.1 Stream=1 { m=audio 1111 RTP/AVP 0 Local{opis "SDP"} } } }} Stream=2 Stream=1 krok 2 MG 3. IAM( T1) MGC 2. T1 MG T4 T3 T2 MG 194.25.161.1:1111 180.10.10.10:2222 MG Local { v=0 c=IN IP4 $ m=audio $ RTP/AVP 0 } Remote { v=0 c=IN IP4 194.25.161.1 m=audio 1111 RTP/AVP 0 } Trans=10{ Context=$ {Add=T4, Add=$ { Media { Stream=2 { Lc{mode=sendreceive} Local {opis "SDP"} Remote{opis "SDP"} Reply=10{ Context=200 {Add=T4, Add=T3 { Media { Local { Stream=2 { v=0 Local {opis "SDP"} c=IN IP4 180.10.10.10 m=audio 2222 RTP/AVP 0 } Remote{ Trans=2{ Context=100 { v=0 Modify=T2 { Media { c=IN IP4 180.10.10.10 Stream=1 { Lc{mode=sendreceive} m=audio 2222 RTP/AVP 0 } Remote {opis "SDP"} } } } } } } } }}} } } }}} Reply=2{ Context=100 { Modify=T2} 3. IAM NGN-H248 T1,T4 - trwałe, z natury są 2-kierunkowe 12 Przykład - cd. 1. IAM( T1) • MGC 3. IAM( T4) Stream=2 Stream=1 Współpraca z SIP/BICC SIP/SDP 1. IAM( T1) MGC MG MGC T1 MGC MG T2 194.25.161.1:1111 T4 T3 MG 180.10.10.10:2222 MG Trans=1{ Context=$ {Add=T1, Add=$ { Media { Stream=1 { Lc{mode=receiveonly} Local {opis "SDP"} }} }}} Reply=1{Context=100{Add=T1, Add=T2 { Media { Stream=1 { Local{opis "SDP"} } Zadanie: samodzielnie zaproponować scenariusz sygnalizacyjny }} Trans=10{ Context=$ {Add=T4, Add=$ { Media { Stream=2 { Lc{mode=sendreceive} Local {opis "SDP"} Remote{opis "SDP"} Reply=10{ Context=200 {Add=T4, Add=T3 { Media { Local { Stream=2 { v=0 Local {opis "SDP"} c=IN IP4 180.10.10.10 m=audio 2222 RTP/AVP 0 } } } }}} Trans=2{ Context=100 { Modify=T2 { Media { Stream=1 { Lc{mode=sendreceive} Remote {opis "SDP"} } } } } } } } }}} Reply=2{ Context=100 { Modify=T2} 3. IAM( T4) NGN-H248 13 Dygresja: inne zastosowania MGC H.248 – składnik Media Sever (systemy konferencyjne) Sterowanie aplikacyjne Media server Sterow. Wideokonf. media H.248 (sterow. połącz.) Sygnalizacja CC/BC MG CC/BC Specjalizowany protokół sterowania konferencjami (np. GCCP) (konfigurowanie konferencji, zarządzanie uczestnikami, zarządzanie dostępem do zasobów konferencji - floor control) GCCP_JOIN Sterowanie konferencją Sterowanie sesją i połącz. GCCP_LEAVE GCCP_INVITE GCCP_LIST GCCP_FLOOR_REQ/ GCCP_FLOOR_ACC/ GCCP_FLOOR_REJ Transport GCC – Generic Conference Control GCCP – Generic Conference Control Protocol MG – Media Gateway NGN-H248 14