Upload
rosina-pavan
View
214
Download
1
Embed Size (px)
Citation preview
NGN:H.323 overview
2
Cos’è H.323?
• È una raccomandazione pubblicata dall’ITU-T (International Telecommunications Union Telecommunications Sector). La versione 1 è stata approvata nel 1996.
• H.323 è standardizzato dall’ITU-T Study Group 16
• La versione 5 dell’H.323 è schedulata per l’approvazione per Maggio 2003
• H.323 è uno standard che specifica i componenti, i protocolli, e i meccanismi per la trasmissione di dati multimediali su reti a commutazione di pacchetto senza garanzie di qualità del servizio.
3
Componenti
Elementi di un sistema H.323:
• Terminal
• Gateway
• Gatekeeper
• MCU (Multipoint Control Unit)
• Border Elements
4
Terminal
• Un H.323 terminal è il nodo finale della rete (endpoint) che consente la comunicazione audio (o opzionalmente video e dati) bi-direzionale con un altro H.323 terminal, gateway o MCU
Esempi:
• Telefono tradizionale
• Dispositivo IVR (Interactive Voice Response)
• Voicemail system
• “Soft phones” (es. NetMeeting®)
5
MCU (Multipoint Control Unit)
• L’MCU fornisce il supporto per conferenze di più terminali H.323
• Contiene un “Multipoint Controller” (MC) che gestisce la segnalazione di chiamata e (opzionalmente) un “Multipoint Processor” (MP) che processa l’audio/video (ad esempio mixing dei media, conversione tra codec, etc)
6
MCUSegnalazione e dati
Segnalazione
Dati
7
Gateway
• Il gateway ha la funzione di connettere una rete H.323 con un’altra non H.323, traducendo opportunamente i formati di trasmissione e le procedure di comunicazione.
• È composto da un “Media Gateway Controller” (MGC) e da un “Media Gateway” (MG).– MGC gestisce la segnalazione
• Q.931 / H.225.0
– MG gestisce l’audio• multiplex, rate matching, audio transcoding
8
Gateway
9
Gatekeeper
• Il gatekeeper è indicato come elemento opzionale.
• Se presente, possiede le seguenti funzionalità: – Address translation (routing). Determina l’indirizzo di
destinazione di un endpoint H.323 per una chiamata.• H.323 Alias indirizzi IP (durante la registrazione del terminale)
• “email-like” name
• “phone number like” name
– Admission control. Determina se ad un endpoint è permesso o meno di accedere al sistema.
– Bandwidth control. Processa al minimo le richieste di banda.
– Zone management.
10
Gatekeeper (2)
Funzionalità opzionali:
• Call control signalling. Gestione della segnalazione H.225/Q.931 tra endpoint H.323.
• Call authorization. Concede o meno l’autorizzazione ad effettuare una chiamata utilizzando opportune policy (es. stato della sottoscrizione al servizio dell’endpoint)
• Bandwidth management. Processa le richieste di banda utilizzando policy (es. condizioni della banda in quel momento)
• Call management. Processa le richieste di chiamata usando policy (es. stato dell’endpoint)
• Gatekeeper management information (MIB).• Bandwidth reservation. Riserva la banda per quei terminali che
non sono in grado di farlo.• Directory services.
11
H.323 Zone
• Collezione di dispositivi H.323 gestiti da un unico gatekeeper.
• Una chiamata tra due endpoint appartenti alla stessa zona passa da un unico gatekeeper.
• Una chiamata tra due endpoint di due zone differenti coinvolge più gatekeeper.
GK MCU
T
GW
12
Border Elements
• Scambiano informazioni sugli indirizzi e sono coinvolti nella call authorization tra diversi domini amministrativi (utilizzano o meno una clearing house).
• Possono aggregare informazioni sugli indirizzi per ridurre il volume del traffico dovuto ai messaggi di routing che passano in rete.
13
The Zone
TT T
GW
GW
GW
SCN
MCUGK
14
Single Administrative Domain
BE
•Collezione di zone che sono sotto un unico dominio amministrativo (es. Service Provider)
15
Multiple Administrative Domains
Clearing House
Packet Network
16
Utilità del gatekeeper
• Management centralizzato– Authentication, routing, call detail recording, etc.
• Isola gli endpoint dai dettagli sulla gestione della rete– Per nascondere dettagli topologici della rete è possibile fare in
modo che tutta la segnalazione passi dal GK
• Interfaccia verso Network Database– LDAP directories, RADIUS servers, etc.
• Interfacce verso altre reti H.323– Chiamate tra Service Provider
17
H.323 protocol stackH.323
IP
UDP
RTP
RTCP
TCP/UDP TCP UDPTCP
Audio
Codecs
G.711
G.723.1
G.729
..
Video
Codecs
H.261
H.263
H.264
..T.120
H.225.0
Call
Signaling
H.245H.225.0
RAS
Terminal Control and ManagementData
ApplicationsMedia Control
Multimedia Applications, User Interface
18
RTP(Real Time Protocol) Header
19
RTP
• Identificazione del payload tipo di codifica
• Timestamp sampling clock + reference clock
• Numeri di sequenza +1 per ogni pacchetto RTP inviato in rete. Individuazione di eventuali perdite di pacchetti.
20
H.225 RAS (Registration, Admission and Status)
• RAS è un protocollo per la registrazione, il controllo degli accessi, la segnalazione di cambiamenti di banda e di stato tra gli endpoint e i gatekeeper. In particolare fornisce i seguenti servizi:
• Gatekeeper discovery
• Gatekeeper Registration
• Admission control
21
Endpoint/GK Discovery
GatekeeperConfirm: requestSeqNum gatekeeperIdentifier rasAddress alternateGatekeeper ..
(2) Io posso essere il tuo GK
GatekeeperRequest: requestSeqNum rasAddress endpointType gatekeeperIdentifier endpointAlias ..
(1) Chi è il mio GK?
Endpoint
GK
(1) GRQ
(2) GCF/GRJ
22
Endpoint/GK Discovery
• L’endpoint determina a quale gatekeeper deve registrarsi inviando un messaggio GRQ (Gatekeeper Request) ad un indirizzo multicast noto. Uno o più gatekeeper possono rispondere con un messaggio GCF (Gatekeeper Confirm), proponendosi come possibili gatekeeper per l’endpoint. Nel caso di più alternative, l’endpoint può scegliere a quale gatekeeper registrarsi.
• Accettazione di un endpoint in base a:– IP address (o IP subnet) dell’endpoint– Gatekeeper ID fornito dall’endpoint– Alias forniti dall’endpoint– Carico del gatekeeper
23
GRQ
24
GRQ – ASN.1 Specification
GatekeeperRequest ::= SEQUENCE
{
requestSeqNum RequestSeqNum,
protocolIdentifier ProtocolIdentifier,
nonStandardData NonStandardParameter OPTIONAL,
rasAddress TransportAddress,
endpointType EndpointType,
gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
callServices QseriesOptions OPTIONAL,
endpointAlias SEQUENCE OF AliasAddress OPTIONAL,
...,
alternateEndpoints SEQUENCE OF Endpoint OPTIONAL,
tokens SEQUENCE OF ClearToken OPTIONAL,
cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
authenticationCapability SEQUENCE OF AuthenticationMechanism OPTIONAL,
algorithmOIDs SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
integrity SEQUENCE OF IntegrityMechanism OPTIONAL,
integrityCheckValue ICV OPTIONAL,
..}
25
Endpoint/GK Registration
RegistrationConfirm: requestSeqNum terminalAlias endpointIdentifier alternateGatekeeper timeToLive willRespondToIRR preGrantedARQ ..
RegistrationRequest: requestSeqNum callSignalAddress terminalAlias timeToLive keepAlive endpointIdentifier willSupplyUUIEs ..
Endpoint
GK
(1) RRQ
(2) RCF/RRJ
(1) Questi sono I miei alias ed il mio IP (2) OK
26
Endpoint/GK Registration
• Il gatekeeper puo richiedere all’endpoint di autenticarsi– Dalla versione 2 è possibile utilizzare password criptate e
certificati
• Il gatekeeper può autorizzare o meno un endpoint– Es. In base ad una lista di alias validi
• Il Gatekeeper assegna un Endpoint ID da usarsi in tutti I successivi messaggi
• L’endpoint indica un TTL (Time To Live) dopo il quale il gatekeeper può deregistrarlo. Il GK può accettare tale valore o diminuirlo.
27
Call Admission
AdmissionConfirm: requestSeqNum bandwidth callModel destCallSignalAddr irrFrequency willRespondToIRR uuiesRequested ..
Endpoint GK(1) ARQ
(2) ACF/ARJ
(2) Si, contatta questo IP(1) Posso chiamare +3901022222 usando una conn. a 16 Kb/sec?
AdmissionRequest: requestSeqNum callModel endpointIdentifier destinationInfo destCallSignalAddress srcInfo bandwidth conferenceID/callID willSupplyUUIEs ..
28
Call Admission
• Il gatekeeper verifica che l’endpoint sia registrato e che abbia l’autorizzazione a fare la chiamata
• Il gatekeeper determina il modello di chiamata– L’endpoint può esprimere una preferenza, ma è il gatekeeper a
decidere
• Il gatekeeper verifica la disponibilità di banda e modifica il valore della banda richiesta dall’endpoint
• Direct signalling: il gatekeeper fornisce l’indirizzo dell’endpoint di destinazione
• Gatekeeper Routed Signalling: il gatekeeper fornisce il proprio indirizzo
29
Location Request
GK A
T a
GK B
T b
1. ARQ
4. ACF
6. ARQ
7. ACF2. LRQ
3. LCF
5. Cerca di stabilire la connessione
8. Connessione instaurata
30
H.225 Call Signalling
• H.225 Call Signalling è utilizzato per stabilire una connessione tra due entità H.323
• È derivato da Q.931 (ISDN Call Signalling)
31
H.225 Call Signalling
T2T1
Setup
Call Proceeding
Alerting
Connect
CONNECTED
Opziona
li
Release Complete
32
Modelli di segnalazione
• Un signalling model determina quali messaggi passano dal gatekeeper e quali sono scambiati direttamente tra endpoint.
• È il gatekeeper a decidere il signalling model
• Il media non passa mai dal gatekeeper
• Principali signalling model:– Direct Endpoint Call Signalling
– Gatekeeper Routed Call Signalling
33
Direct Endpoint Call Signalling
Call Signalling (Q.931)
Address Translation
Admission Control
Bandwidth Control
(RAS)
GK
Terminal Gateway/Terminal
Call Control (H.245)
Media Stream (RTP)
34
Direct Endpoint Call Signalling
• Il gatekeeper partecipa alla call admission ma ha una conoscenza limitata delle chiamate in corso
• Un singolo gatekeeper può gestire un grosso numero di chiamate
• Limitazioni sulle funzionalità di management• Limitazioni sulla sicurezza (es. Non può validare
i messaggi Q.931)• Limitazioni su funzionalità CDR (Call Datail
Recording Function). Es. Durata delle chiamate
35
Gatekeeper Routed Call Signalling (Q.931)
Call Signalling (Q.931)
Address Translation
Admission Control
Bandwidth Control
(RAS)
GK
Terminal Gateway/Terminal
Call Control (H.245)
Media Stream (RTP)
36
Gatekeeper Routed Call Signalling (Q.931)
• Il gatekeeper conosce lo stato della chiamata ma non sa nulla sul media (non ha accesso alla segnalazione H.245)
• Il carico è maggiore rispetto al caso precedente (segnalazione Q.931)
• Le funzionalità di management possono includere statistiche sulle connessioni ma non sull’utilizzo del media
• Il gatekeeper può validare i messaggi Q.931• Funzionalità Call Detail Recording
37
Call Setup
Esempio di Call Setup:
• Point to Point call
• Un terzo terminale è invitato nella conversazione
• Il gatekeeper utilizza Direct Call Model
38
Call Initiation
PictureTel
PictureTel
PictureTel
(1) ARQPosso chiamare“Bob”?
(2a) GK risolve “Bob”In un IP attraverso H.323registration o un servzio esterno (e.s. DNS)(2b) Admission Policy
(3) ACFSi, usa questoIndirizzo IP
Bill Bob
GK
39
Call Connection
PictureTel
PictureTel
PictureTel
(4) SETUP (Create)
Bill Bob
GK
(5) ARQPosso rispondere?(6) ACF
Si
(7) ALERTING
(8) CONNECT (L’utente risponde)
40
H.245 Connection
PictureTel
PictureTel
PictureTel
Bill Bob
(9) Connessione H.245 stabilita- Capability Exchange- Master/Slave Determination- Apertura Logical Channel
- audio, video
Bill vince la Master/Slave determination e diventa il MultipointController della conferenza
41
Bill invita Ross
PictureTel
PictureTel
PictureTel
Ross
GK
(10) ARQInvito per Ross
(11) ACFRisolve indirizzoIP
(12) SETUP (Invite)
(13) ARQPosso unirmi?(14) ACF
Si
(15) ALERTING(16) CONNECT
(17) H.245 CONNECTIONBill
42
H.323 version 4
• Alternate Gatekeepers
• Endpoint Capacity Reporting
• Gateway decomposition
43
Alternate Gatekeeper
• Un endpoint può effettuare un switch su un altro gatekeeper e continuare la comunicazione
T
GK GK GK GK GKXX
44
Endpoint Capacity Reporting
• L’informazione trasmessa contiene:
• Numero corrente di chiamate
• Max numero di chiamate
GK GK GK GK GK
GW23%
GW77%
GW48%
GW64%
GW14%
GW36%
GK seleziona il GW con capacità maggiore.
45
Gateway decomposition
• Separazione fra funzionalità MGC e funzionalità MG
• Maggior scalabilità
• MGC e MG comunicano tramite H.248
• La comunicazione tra diversi MGC avviene tramite H.323
MGC
MGMGMGMGMG
MGMGMGMGMG
MGMGMGMGMG
46
Reference
• Packetizer http://www.packetizer.com/
• H.323 Forum http://www.h323forum.org/
• OpenH323 http://www.openh323.org/