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