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/BC CC BC BICC - protrokół warstwy CC CSF == C styk CBC==Mc BIWF == protokół BC parametry połączenia np. RTP-RTCP/UDP/IP BC Brama medialna - (media gateway) Sterownik bramy m. C ( controller) Główna cecha - dekompozycja obsługa "medium" - brama obsługa połączeń..., sterowanie bramą - C Przesłanki do rozdzielenia i C techniczne (specjalizacja usługowa C 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 połączenia CC / BC Call /Bearer Control CSF Call Service Function Kanoniczna architektura /C CBC - Call Bearer Control protokół BC można enkapsulować w CC Media Control C Media Gateway Control NGN-H248 3
Megaco/H.248 Softswitch a Megaco/H.248 Architektura fizyczna dla środowiska PSTN/IP na rysunku - podzbiór "tranzytowy" ISUP, DSS1,... CF BICC, SIP-I,T SIP, "H.323" CF BC sterowanie połączeniem C SGW IP Połącz T1-T2 do adr. b Połącz T2-T1 z adr b T1 T2 T3 T4 F a RTP-RTCP/UDP/IP b F Połącz T3-T4 z adr. a Połącz T4-T3 do adr. a Fizyczne realizacja C, SGW, W dozwolone różne kombinacje xf Media Gateway x Function NGN-H248 4
Softswitch a Megaco/H.248 - cd. Składniki funkcjonalne - rola Megaco/H.248 C BICC, SIP-T SIP, "H.323" C Brama medialna - główne funkcje: transkodowanie komutacja transport informacji użytkowej obsługa sygnalizacji wewn.kanał. (in-band) na rzecz CC (bez semantyki) RTP/RTCP Realizacja architektury /C Megaco/H.248... C BC Główny składnik architektury protokół Megaco/H.248 Megaco/H.248 de facto połączenie w nszym rozumieniu Model zgłoszenia 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 Port 240 Port 250 C Megaco/H.248 ID= PC75/2/0 Context Id = 235122 sid=1 sid=2 BC Model połączenia port IP/UDP sid=2 Model zgłoszenia ID= RT4562b sid=1 Port IP/UDP transkodowanie ustawiane automatycznie przez wg kodeków każdego strumienia 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 C 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 (C->) modyfikowanie cech zakończeń, polecenia wykrywania zdarzeń, generowanie sygnałów (C->) raportowania / wywoływania zdarzeń (->C) / (C->) 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 C) Add = $ (dla zakoń. nietrwałych: Id zakończenia zwróci w odpowiedzi) Id zakończenia Transaction=1 { Ctxt=2 {Add = $... Reply=1 { Ctxt=2 {Add = RT4562c... ID= PC75/2/0 ID= RT4562b ID= PC75/2/0 Context = 2 Context = 2 ID= RT4562b ID= RT4562c NGN-H248 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 o wystąpieniu zdarzenia zdarzenie wcześniej było zarejestrowane przez C komendą Modify ustawiane deskryptorem Events Komendy zarządzania i nadzoru AuditCapability odczyt przez C możliwych wartości parametrów AuditValue odczyt przez C parametrów zakończeń w ServiceChange ->C: np. raportowanie przez zmian konfiguracyjnych (np. restart, aktywacja/deaktywacja zakończeń, rejestrowanie się w C) C->: np. handover (przejęcie sterowania przez inne C), czy też żądanie aktywacji/deaktywacji zakończeń (funkcje poziomu zarządzania) NGN-H248 10
Strumień 2-kierunkowy mode=sendreceive ID=PC75/2/0... sid=1: mode=sendreceive Strumień 1-kierunkowy ID=PC75/2/0... sid=1: mode=receiveonly Context Id = 235122 sid=1 Strumienie kierunkowość (przykład zmiany) sid=1 Context Id = 235122 sid=1 sid=1 ID=RT4562b... sid=1: mode= sendreceive Local {IP/UDP Remote {IP/UDP ID=RT4562b... sid=1: mode= sendonly Local {IP/UDP Remote {IP/UDP mode=sendreceive kierunek send od środka kontekstu na zewnątrz własny adres transportowy odległy adres transportowy d eskryptor s trumienia Transaction=1 { Context= 235122 { Modify= PC75/2/0 { Media { Stream=1 { LocalControl { mode=receiveonly W tym przypadku do jednokierunkowości e2e wystarczyłoby właściwie wysterować strumień tylko w jednym z zakończeń NGN-H248 11 Modify= RT4562b { Media { Stream=1 { LocalControl { mode=sendonly Context=jeszcze_inny {...Modify
Przykład obsługi zgłoszenia Nawiązanie sesji przez jeden C 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" C 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" Trans=10{ Context=$ {Add=T4, Remote{ v=0 c=in IP4 180.10.10.10 m=audio 2222 RTP/AVP 0 Trans=2{ Context=100 { 1. IAM Modify=T2 { Media { Stream=1 { Lc{mode=sendreceive Remote {opis "SDP" krok 2 1. IAM( T1) Stream=1 Reply=10{ Context=200 {Add=T4, Local { v=0 c=in IP4 180.10.10.10 m=audio 2222 RTP/AVP 0 C 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 Add=$ { Media { Stream=2 { Lc{mode=sendreceive Local {opis "SDP" Add=T3 { Media { Stream=2 { 3. IAM( T1) T1 T2 2. T3 T4 194.25.161.1:1111 180.10.10.10:2222 Remote{opis "SDP" Local {opis "SDP" Stream=2 Reply=2{ Context=100 { Modify=T2 3. IAM T1,T4 - trwałe, z natury są 2-kierunkowe NGN-H248 12
Przykład - cd. Współpraca z SIP/BICC 1. IAM( T1) C Trans=1{ Context=$ {Add=T1, Add=$ { Media { Stream=1 { Lc{mode=receiveonly Local {opis "SDP" C 1. IAM( T1) C C T1 T2 T3 T4 3. IAM( T4) Stream=1 Stream=2 SIP/SDP 194.25.161.1:1111 180.10.10.10:2222 Reply=1{Context=100{Add=T1, Add=T2 { Media { Stream=1 { Local{opis "SDP" Zadanie: samodzielnie zaproponować scenariusz sygnalizacyjny Trans=2{ Context=100 { Modify=T2 { Media { Stream=1 { Lc{mode=sendreceive Remote {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, Local { v=0 c=in IP4 180.10.10.10 m=audio 2222 RTP/AVP 0 Add=T3 { Media { Stream=2 { Local {opis "SDP" Reply=2{ Context=100 { Modify=T2 3. IAM( T4) NGN-H248 13
H.248 (sterow. połącz.) Dygresja: inne zastosowania C H.248 składnik Media Sever (systemy konferencyjne) Sterowanie aplikacyjne Media server Sygnalizacja CC/BC media Sterow. Wideokonf. CC/BC Specjalizowany protokół sterowania konferencjami (np. GCCP) (konfigurowanie konferencji, zarządzanie uczestnikami, zarządzanie dostępem do zasobów konferencji - floor control) Sterowanie konferencją Sterowanie sesją i połącz. Transport GCCP_JOIN GCCP_LEAVE GCCP_INVITE GCCP_LIST GCCP_FLOOR_REQ/ GCCP_FLOOR_ACC/ GCCP_FLOOR_REJ GCC Generic Conference Control GCCP Generic Conference Control Protocol Media Gateway NGN-H248 14