NGN – funkcje bramowe i architektura H.248 Instytut Telekomunikacji PW NGN – funkcje bramowe i architektura H.248 Materiały wykładowe do użytku wewnętrznego NGN-H248
H248 – kontekst 3GPP Rel. 7 NGN-H248
Punkt wyjścia: architektura BICC Z wcześniejszych rozważań: połączenie ::= transport + medium(zakodowany sygnał użytkowy) sterowanie zgłoszeniami/połączeniami Brama medialna - MG (media gateway) Sterownik bramy m. MGC (MG controller) 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 CSF – Call Service Function CBC - Call Bearer Control MG – Media Control MGC – Media Gateway Control CC/BC CC BICC - protrokół warstwy CC CSF == MGC styk CBC==Mc BIWF == MG protokół BC BC BC parametry połączenia np. RTP-RTCP/UDP/IP połączenia Kanoniczna architektura MG/MGC protokół BC można enkapsulować w CC NGN-H248
Softswitch a Megaco/H.248 Architektura fizyczna dla środowiska PSTN/IP na rysunku - podzbiór "tranzytowy" IP MGCF RTP-RTCP/UDP/IP BICC, SIP-I,T SIP, "H.323" MGF Megaco/H.248 SGW C ISUP, DSS1,... MTP-x SIGTRAN Połącz T1-T2 do adr. b Połącz T2-T1 z adr b b a T1 T2 T3 T4 Połącz T3-T4 z adr. a Połącz T4-T3 do adr. a BC sterowanie połączeniem MGxF – Media Gateway x Function Fizyczne realizacja MGC, SGW, MGW dozwolone różne kombinacje NGN-H248
Softswitch a Megaco/H.248 - cd. Składniki funkcjonalne - rola 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 MGC BICC, SIP-T SIP, "H.323" MGC Megaco/H.248 „in’band” RTP/RTCP MG MG MGC BC Model zgłoszenia Megaco/H.248 MG de facto połączenie w nszym rozumieniu NGN-H248
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 sId=1 Termination „dodaj” (Add) MGC MG Megaco/H.248 ID= RT4562b PC75/2/0 Context Id = 235122 sId=2 Model połączenia BC Model zgłoszenia port IP/UDP transkodowanie ustawiane „automatycznie” przez MG wg kodeków każdego strumienia Port IP/UDP 240 250 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 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
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
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
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) Termination ID= RT4562b PC75/2/0 Transaction=1 { Ctxt=2 {Add = $ ... } } Reply=1 { Ctxt=2 {Add = RT4562c ...} } RT4562c Id zakończenia Context = 2 Context = 2 NGN-H248
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
Strumienie – kierunkowość (przykład zmiany) Strumień 2-kierunkowy Strumień 1-kierunkowy Transaction=1 { Context= 235122 { Modify= PC75/2/0 { Media { Stream=1 { LocalControl { mode=receiveonly } Modify= RT4562b { mode=sendonly Context=jeszcze_inny { ...Modify … Context Id = 235122 Termination ID=PC75/2/0 ... sId=1: mode=sendreceive Termination ID=RT4562b ... sId=1: mode= sendreceive Local {IP/UDP} Remote {IP/UDP} sId=1 d eskryptor s trumienia sId=1 mode=sendreceive mode=sendreceive kierunek „send” „od środka kontekstu” na zewnątrz Context Id = 235122 Termination ID=PC75/2/0 ... sId=1: mode=receiveonly Termination ID=RT4562b ... sId=1: mode= sendonly Local {IP/UDP} Remote {IP/UDP} sId=1 sId=1 własny adres transportowy odległy adres transportowy W tym przypadku do jednokierunkowości e2e wystarczyłoby właściwie wysterować strumień tylko w jednym z zakończeń NGN-H248
Przykład obsługi zgłoszenia MGC MG T1 T2 T3 T4 1. IAM( T1) 194.25.161.1:1111 180.10.10.10:2222 Stream=1 Stream=2 2. 3. IAM( T1) Nawiązanie sesji przez jeden MGC krok 2 1. IAM MG MGC MG Local { v=0 c=IN IP4 $ m=audio $ RTP/AVP 0 2 } Trans=1{ Context=$ {Add=T1, Add=$ { Media { Stream=1 { Lc{mode=receiveonly} Local {opis "SDP"} } } } } } Local { v=0 c=IN IP4 $ m=audio $ RTP/AVP 0 } Remote { c=IN IP4 194.25.161.1 m=audio 1111 RTP/AVP 0 } Local { v=0 c=IN IP4 194.25.161.1 m=audio 1111 RTP/AVP 0 } Reply=1{Context=100{Add=T1, Add=T2 { Media { Stream=1 { Local{opis "SDP"} } } } 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 { Stream=2 { Local {opis "SDP"} } } } } } Local { v=0 c=IN IP4 180.10.10.10 m=audio 2222 RTP/AVP 0 } Remote{ v=0 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} T1,T4 - trwałe, z natury są 2-kierunkowe 3. IAM NGN-H248
Przykład - cd. Współpraca z SIP/BICC NGN-H248 T1 T2 T3 T4 1. IAM( T1) MGC MG T1 T2 T3 T4 1. IAM( T1) Stream=1 Stream=2 3. IAM( T4) SIP/SDP Współpraca z SIP/BICC 1. IAM( T1) MG MGC MGC MG 194.25.161.1:1111 180.10.10.10:2222 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"} } } } Trans=10{ Context=$ {Add=T4, Add=$ { Media { Stream=2 { Lc{mode=sendreceive} Local {opis "SDP"} Remote{opis "SDP"} } } } } } Zadanie: samodzielnie zaproponować scenariusz sygnalizacyjny Reply=10{ Context=200 {Add=T4, Add=T3 { Media { Stream=2 { Local {opis "SDP"} } } } } } Local { v=0 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
Inne zastosowania MGC H Inne zastosowania MGC H.248 – składnik Media Sever (systemy konferencyjne) Sterowanie aplikacyjne Specjalizowany protokół sterowania konferencjami (np. GCCP) (konfigurowanie konferencji, zarządzanie uczestnikami, zarządzanie dostępem do zasobów konferencji - floor control) Media server Sterow. Wideokonf. Sygnalizacja CC/BC GCCP_JOIN GCCP_LEAVE GCCP_INVITE GCCP_LIST GCCP_FLOOR_REQ/ GCCP_FLOOR_ACC/ GCCP_FLOOR_REJ CC/BC Sterowanie konferencją H.248 (sterow. połącz.) Sterowanie sesją i połącz. Transport media MG GCC – Generic Conference Control GCCP – Generic Conference Control Protocol MG – Media Gateway NGN-H248