instytut telekomunikacji pw
TRANSCRIPT
NGN-H248 1
Instytut Telekomunikacji PW
NGN – funkcje bramowe i architektura H.248 Materiały wykładowe
do użytku wewnętrznego
NGN-H248 2
H248 – kontekst 3GPP
Rel. 7
NGN-H248 3
Punkt wyjścia: architektura BICC
Z wcześniejszych rozważań:
połączenie ::= transport + medium(zakodowany sygnał użytkowy)
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
Kanoniczna architektura MG/MGC
• protokół BC można enkapsulować w CC
CC
CC/BC
BC BC
sterowanie zgłoszeniami/połączeniami
połączenia
np. RTP-RTCP/UDP/IP
BIWF == MG
CSF == MGC styk CBC==Mc
BICC - protrokół warstwy CC
protokół BC
parametry
połączenia
NGN-H248 4
Softswitch a Megaco/H.248
• Architektura fizyczna dla środowiska PSTN/IP
na rysunku - podzbiór "tranzytowy"
• Fizyczne realizacja MGC, SGW, MGW
dozwolone różne kombinacje
IP
MGCF MGCF
RTP-RTCP/UDP/IP
BICC, SIP-I,T
SIP, "H.323"
MGF
Me
ga
co
/H.2
48
MGF
SGW
C
ISUP, DSS1,...
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
NGN-H248 5
Softswitch a Megaco/H.248 - cd.
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 MGC
RTP/RTCP
BICC, SIP-T
SIP, "H.323"
MG MG
Megaco/H.248
MGC
MG
Megaco/H.248 Model
zgłoszenia
BC
• Składniki funkcjonalne - rola
de facto połączenie
w nszym rozumieniu
NGN-H248 6
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
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
sId=1 Termination
MGC
MG
Megaco/H.248
Termination
ID=
RT4562b
Termination
ID=
PC75/2/0
Context Id = 235122
sId=1
sId=2
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
Port
240
Port
250
NGN-H248 7
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 8
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 9
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
Termination
ID=
PC75/2/0
Termination
ID=
RT4562b
Termination
ID=
PC75/2/0
Transaction=1 { Ctxt=2 {Add = $ ... } } Reply=1 { Ctxt=2 {Add = RT4562c ...} }
Termination
ID=
RT4562c
Id zakończenia
Context = 2 Context = 2
NGN-H248 10
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 11
Strumienie – kierunkowość
(przykład zmiany)
W tym przypadku do jednokierunkowości
e2e wystarczyłoby właściwie wysterować
strumień tylko w jednym z zakończeń
mode=sendreceive
• Strumień 2-kierunkowy
• Strumień 1-kierunkowy
Transaction=1 { Context= 235122 {
Modify= PC75/2/0 {
Media {
Stream=1 {
LocalControl {
mode=receiveonly
}
}
}
}
Modify= RT4562b {
Media {
Stream=1 {
LocalControl {
mode=sendonly
}
}
}
}
}
Context=jeszcze_inny {
...Modify …
}
}
Termination
ID=PC75/2/0
...
sId=1:
mode=sendreceive
Context Id = 235122
sId=1
sId=1
mode=sendreceive
kierunek „send”
„od środka kontekstu”
na zewnątrz
Termination
ID=RT4562b
...
sId=1:
mode= sendonly
Local {IP/UDP}
Remote {IP/UDP}
Termination
ID=PC75/2/0
...
sId=1:
mode=receiveonly
Context Id = 235122
sId=1
sId=1
własny adres transportowy
odległy adres transportowy
d eskryptor
s trumienia
Termination
ID=RT4562b
...
sId=1:
mode= sendreceive
Local {IP/UDP}
Remote {IP/UDP}
NGN-H248 12
Przykład obsługi zgłoszenia
• Nawiązanie sesji przez jeden MGC
MGC MG 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"} } }
}
Local {
v=0
c=IN IP4 $
m=audio $ RTP/AVP 0 2
}
Local {
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"} } } } } }
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 }
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"} } } } } }
Remote{
v=0
c=IN IP4 180.10.10.10
m=audio 2222 RTP/AVP 0 }
Reply=2{ Context=100 { Modify=T2}
T1,T4 - trwałe,
z natury są 2-kierunkowe
MGC
MG 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)
1. IAM
3. IAM
krok 2
NGN-H248 13
Przykład - cd.
• Współpraca z SIP/BICC
MGC MG 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"} } }
}
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 } Trans=2{ Context=100 {
Modify=T2 { Media {
Stream=1 { Lc{mode=sendreceive}
Remote {opis "SDP"} } } } } }
Reply=2{ Context=100 { Modify=T2}
194.25.161.1:1111
180.10.10.10:2222
MGC
MGC
MG MG T1 T2 T3 T4
1. IAM( T1)
Stream=1 Stream=2
3. IAM( T4) MGC
SIP/SDP
1. IAM( T1)
3. IAM( T4)
Zadanie:
samodzielnie
zaproponować scenariusz
sygnalizacyjny
NGN-H248 14
Dygresja: inne zastosowania MGC H.248 – składnik Media Sever
(systemy konferencyjne)
Sterow.
Wideokonf.
MG
media
Sygnalizacja CC/BC
H.2
48
(ste
row
. p
ołą
cz.)
Media server
Sterowanie aplikacyjne
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
GCC – Generic Conference Control
GCCP – Generic Conference Control
Protocol
MG – Media Gateway
GCCP_JOIN
GCCP_LEAVE
GCCP_INVITE
GCCP_LIST
GCCP_FLOOR_REQ/
GCCP_FLOOR_ACC/
GCCP_FLOOR_REJ
CC/BC