Cours VoIP: MGCP/MEGACO [email protected]
2
Introduction Voix sur IP
Faible coût d’implémentation Intégration de la voix et des applications de données Nouveaux services
Impossibilité de remplacer les réseaux RTC existant VoIP et RTC doivent coexister
Interopérabilité Interconnexion transparente
Cours VoIP: MGCP/MEGACO [email protected]
3
Séparation des médias du contrôle d’appel Passerelles
Interconnexion Transparence entre réseau RTC et VoIP
VoIP: Le chemin de signalisation est différent du chemin des médias Média – direct (entre terminaux) Signalisation – passe par H.323 GK (ou Proxy SIP)
SS7, Signaling System 7 Séparation logique entre la signalisation et les médias
Cours VoIP: MGCP/MEGACO [email protected]
4
Séparation des médias du contrôle d’appels (suite) Une passerelle contient deux fonctions
Convertir les signaux de signalisation Le Call-control utilise la signalisation pour établir l’appel
Convertir les médias Une fonction esclave (Contrôlée par le Call-control)
Schéma illustrant la séparation entre les médias et le contrôle d’appels
Cours VoIP: MGCP/MEGACO [email protected]
5
Séparation des médias du contrôle d’appels (suite) Avantages de la séparation
La gestion des appels est centralisée Un call-agent (Media Gateway Controler – MGC)
peut gérer plusieurs passerelles Gestion de la montée en charge des appels
MGCP, Media Gateway Control Protocol IETF
MEGACO/H.248 IETF et groupe 16 de ITU-T
Cours VoIP: MGCP/MEGACO [email protected]
7
L’architecture Softswitch (suite)
Signaling (SS7)
Gateway
Trunking Gateway
Call Agent
SCP
Residential Gateway
Internet SS7 Network
STP
Trunking Gateway Trunking
Gateway CO
Switch
Residential Gateway Residential
Gateway
MGCP/ MEGACO
MGCP/ MEGACO
RTP
SIGTRAN
Cours VoIP: MGCP/MEGACO [email protected]
8
Interconnexion Softswitch/RTC SIP comme protocole de signalisation entre
les MGC
Cours VoIP: MGCP/MEGACO [email protected]
9
Media Gateway Control RFC 2895
Architecture et fonctions d’un Media Gateway Control Protocol
Fonctions Création, modification et arrêt des flux médias
Capacité de négocier les flux média Spécification des changements appliqués aux flux média Demander au MG d’envoyer un rapport sur l’occurrence
d’un événement bien spécifique associé à un média
Cours VoIP: MGCP/MEGACO [email protected]
10
Media Gateway Control (2) Demander au MG de jouer des tonalités ou faire
des annonces Etablir des flux média avec des contraintes en
QoS Envoyer des informations de statistique (du MG
au MGC) sur la QoS et sur des comptes/crédits Association d’un MG avec un nouveau MGC
Si le MGC primaire est en panne Une architecture flexible et scalable qui permet à
un MGC de gérer plusieurs MG
Cours VoIP: MGCP/MEGACO [email protected]
11
Les protocoles pour les Media Gateway Control
MGCP, premier protocole RFC 2705, Remplacé par MEGACO/H.248 Inclus dans différents produits disponibles dans le
marché MEGACO/H.248
IETF et ITU-T Version officielle, RFC 3015
Cours VoIP: MGCP/MEGACO [email protected]
12
Relation avec H.323 standard
CO Switch
Internet
Call Agent
Signaling (SS7)
Gateway
Trunking Gateway
Gatekeeper
Terminal or
Gateway
SS7/ISUP
RTP
H.225/RAS H.225/Q931 H.245
SIGTRAN
MGCP
Cours VoIP: MGCP/MEGACO [email protected]
13
H.323, SIP, MGCP/MEGACO
GW GK
MCU
GW : Gateway GK : Gatekeeper TN : Terminal MCU : Multipoint Control Unit
TN
PSTN CA
TGW RGW
CA : Call Agent TGW : Trunking Gateway RGW : Residential Gateway SG : Singling Gateway
SS7
PSTN CO
SG
RTP
MGCP
H.323
TN TN
GW GK
MCU
TN
TN TN
Cours VoIP: MGCP/MEGACO [email protected]
14
H.323, SIP, MGCP/MEGACO (suite) H.323 , SIP
Point à point Orientés ver Internet Terminaux Intelligents Décentralisés
Problèmes maintenance
Coût et scalabilité d’un grand système
Association de la Signalisation et des média
Interopérabilités avec SS7
MGCP/MEGACO Client/Serveur Téléphonie traditionnelle Serveur Intelligent
Terminaux bêtes Centralisés
Concept Décomposition de la
passerelle Séparer le contrôle des
appels des média Interopérabilité avec SS7
Cours VoIP: MGCP/MEGACO [email protected]
15
Exemple d’établissement d’appels MGCP
1. Un utilisateur compose un numéro 2. La passerelle (MG) notifie le call agent (MGC) 3. MGC détermine les capacités, informations de routage et envoie une
commande à la passerelle afin dʼétablir une session RTP/RTCP avec lʼautre passerelle
4. La passerelle de lʼappelé fait sonner le téléphone appelé 5. Les deux passerelles établissent une session RTP/RTCP
MG
MGC
5.RTP/RTCP
1
2 3
Analog Phone
Analog Phone
4
MG
Cours VoIP: MGCP/MEGACO [email protected]
16
MGCP Protocole Maitre-Esclave (Client/serveur)
Le MGC contrôle les opérations des MGs Gère et contrôle les appels Gère la signalisation
Communication entre MGC SIP ou H.323
MG Applique les instructions du MGC Un coté connecté à un circuit RTC et l’autre à un port
RTP
Cours VoIP: MGCP/MEGACO [email protected]
17
MGCP (suite)
Type des Media Gateway Trunking Gateway
Interface entre le réseau RTC et un réseau VoIP Residential Gateway
Assure une connexion au réseau VoIP à travers une ligne analogique.
Ex: Les Set Up BOX, Cable/modem Access Gateway
Assure une connexion au réseau VoIP à une interface PABX
Cours VoIP: MGCP/MEGACO [email protected]
18
Le modèle MGCP Points terminaux (Endpoints)
Source ou destination d’un flux Un circuit recevant des flux RTP et pouvant les transcrire
en un flux G.711 sur un bus temporel (RTC) Un dispositif relayant des paquets RTP Un dispositif de mélange de flux (MP dans H.323)
Mixe des flux RTP
Connexions Flux RTP entre deux endpoints Un endpoint peut avoir plusieurs connexions
Cours VoIP: MGCP/MEGACO [email protected]
19
Les points terminaux MGCP Canal DS (digital system) 0
Multiplexé dans des canaux DS1 (1.544 Mbps) ou E1 (2.048 Mbps)
Canal numérique de 64 kbps G.711
Canal analogique Vers une ligne téléphonique standard Un flux analogique
Annoucement server acces point Envoie une annonce suivant une requête
Cours VoIP: MGCP/MEGACO [email protected]
20
Les points terminaux MGCP (suite)
Interactive voice Reponse (IVR) access point Envoie une annonce et attend une réponse sous
forme d’une tonalité DMTF Conference bridge access point
Flux média provenant de plusieurs appelants peuvent être mixés vers une seule destination
Packet relay Un firewall entre un réseau protégé et un réseau
ouvert
Cours VoIP: MGCP/MEGACO [email protected]
21
Identifiant d’un endpoint Nom de domaine de la passerelle et un nom local
nomlocal@nomdomaine Nom local
Un format hiérarchique Ex: trunk4/12/[email protected]
Identifie le DS0 numéro 7 dans le DS1 numéro 12 du DS3 numéro 4 de la passerelle
Caractères spéciaux (Wildcard) $, peu importe; *, tout trunk1/5/[email protected]
Le MGC veut créer une connexion sur un endpoint dans une passerelle, en ayant aucune préférence pour le endpoit à choisir
Trunk1/5/*@gateway.somenetwork.net Le MGC demande des statistique sur l’ensemble du endpoint de la
passerelle
Cours VoIP: MGCP/MEGACO [email protected]
22
Appels et connexions MGCP Une connexion
Une relation établie entre un endpoint et une session RTP Un appel
Un groupe de connexion Fonctions primaires de MGCP
Permettre la création des connexions Echange des descriptions de session entre les connexions
Cours VoIP: MGCP/MEGACO [email protected]
23
Les commandes MGCP Neuf commandes pour gérer les connexions/endpoints
EPCF – EndpointConfiguration (codage des caractéristique) RQNT – NotificationRequest NTFY- Notify (GMGMC: détection d’un événement) CRCX – CreateConnection MDCX – ModifyConnection DLCX – () DeleteConnection AUEP – AudiEndpoint AUCX – AudiConnection RSIP – RestartInprogress (GMGMC)
Toutes les commandes attendent des réponses (format XXX)
Cours VoIP: MGCP/MEGACO [email protected]
24
Format d’une commande Une ligne de commande
Le verbe de la requête (nom de la commande) Ex: NotificatioRequest
Identifiant de la transaction Identifiant du endpoint (pour lequel la commande est appliqué) La version du protocole
Un certain nombre de paramètres Descripteurs de session SDP (optionnels)
Séparés par des lignes vides Encapsulation
Une commande peut contenir une autre commande Un seul niveau d’encapsulation Ex: le MGC peut demander de créer une connexion et demander
un rapport de notification sur un événement
Cours VoIP: MGCP/MEGACO [email protected]
25
Exemple d’une commande MGCP
X, R, S => paramètres de la commande La passerelle notifie le call agent si événement hu
(décroché)
RQNT 1207 endpoint/[email protected] MGCP 0.1 X:0123456789 R:hu S:v
Cours VoIP: MGCP/MEGACO [email protected]
26
Commandes du MGC vers le MG Endpoint Configuration (EPCF)
Configurer le type de codage du flux média (B:) coté ligne VoIP Un ou plusieurs endpoint Ex: EPCF 1207 endpoint/*@rgw.anydomain.net MGCP 1.0
B:e:A G.711 loi A
Notification Request (RQNT) Surveiller certains événements téléphoniques
Dans la bande (tonalité fax, tonalité de continuité,…) Propre aux lignes analogiques (décroché ou raccroché)
Cours VoIP: MGCP/MEGACO [email protected]
27
Paramètres les plus courants MGCP BearInforamtion (B)
L’encodage coté ligne non VoIP B:e:A (G.711 loi A)
CallID (C) Valeurs Hexadécimales
Capability (A) Réponse à un audit
ConnectionId (I) Valeurs Hexadécimales
ConnectionMode (M) Emetteur (Send only), Récepteur (receive only) et
Emetteur /récepteur
Cours VoIP: MGCP/MEGACO [email protected]
28
Paramètres les plus courants MGCP (suite) ConnectionParameters (P)
Statistiques sur une connexion Délai moyen, gigue, paquets transmis/reçus/perdus Passerelle ou call agent
LocalConnectionDescriptor (LC) Un descripteur de session SDP
RequestIdentifier (X) Mettre en relation une notification avec un MG
LocalConnectionOptions (L) Bande passante, suppression de silences, élimination d’échos
L:e:off, s:on Echo cancellation off, silence suppression on
Cours VoIP: MGCP/MEGACO [email protected]
29
Paramètres les plus courants MGCP (suite) Eventstates (ES)
En réponse à une commande d’audit Une liste d’événements associés avec l’état actuel
MaxMGCPDatagram (MD) Indique la taille maximum d’un paquet MGCP supportée par le
MG Inclus dans la réponse à la commande AUEP
NotificationEntity (N) Adresse d’un MG
ObservedEvent (O) Détecté par un endpoint
PackageList (PL) Supporté par un endpoint Evénements et signaux sont regroupé par paquetage
Cours VoIP: MGCP/MEGACO [email protected]
30
Réponses MGCP
En-tête Une ligne de réponse Renvoie un code + un identifiant de la transaction
+ un commendataire Un ensemble de lignes de paramètres
Ex, I: A3C47F21456789F0 (ConnectionId)
Une description de la session SDP Séparé de l’en-tête par une ligne vide
Cours VoIP: MGCP/MEGACO [email protected]
36
RQNT(1) : NotificationRequest RQNT 1201 hrd3/[email protected] MGCP 1.0 N: [email protected]:5678 X: 0123456789AC R: hd(E(R(hu(N)),S(dl),D/(D))) D: (11x|080xxxxxx|57xxxxx|002x.T)
ACK to RQNT(1) 200 1201 OK
N: NotifyEntity
X: RequestIdentifier
R: RequestEvents
D: DigitMap
E: Embedded Request
R: Notification Request
N: Notify immediately
S: Signal Request
D: Digit Map
Un flux d’appel d’un RGW vers un TGW
Cours VoIP: MGCP/MEGACO [email protected]
37
NTFY(2) : Notify from RGW NTFY 2002 hrd3/[email protected] MGCP 1.0 N: [email protected]:5678 X: 0123456789AC O: 5721043
ACK to NTFY(2) 200 2002 OK
N: NotifyEntity
X: RequestIdentifier
O: ObservedEvent
Un flux d’appel d’un RGW vers un TGW
Cours VoIP: MGCP/MEGACO [email protected]
38
CRCX(3) : CreateConnection CRCX 1204 hrd3/[email protected] MGCP 1.0 C: A3C47F21456789F0 L: p:10, a: G.711; G.726-32 M: recvonly X: 0123456789AD R: hu
ACK to CRCX(3) 200 1204 OK I: FDE234C8
Session Description
C: CallId
L: LocalCXOptions
p: packetize period(ms)
a: Compression Algo.
M: Mode
X: RequestIdentifier
R: RequestEvents
I: ConnectionId
Un flux d’appel d’un RGW vers un TGW
Cours VoIP: MGCP/MEGACO [email protected]
39
ACK to CRCX(3) Session Description v=0 c=IN IP4 140.96.102.166 m=audio 3456 RTP/AVP 0 96 a=rtpmap:96 G726-32/8000
v: protocol version
c: connection information
m: media name and transport address
a: more media attribute line
G726~G732 encoded audio sample at 8 kHZ
Un flux d’appel d’un RGW vers un TGW
Cours VoIP: MGCP/MEGACO [email protected]
40
CRCX(4) : CreateConnection CRCX 1205 card6/[email protected] MGCP 1.0 C: A3C47F21456789F0 L: p:10, a: G.711; G.726-32 M: sendrecv
Session Description from ACK(3)
ACK to CRCX(4) 200 1205 OK I: 32F345E2
Session Description
C: CallId
M: Mode
I: ConnectionId
Un flux d’appel d’un RGW vers un TGW
Cours VoIP: MGCP/MEGACO [email protected]
41
MDCX(5) : ModifyConnection MDCX 1206 hrd3/[email protected] MGCP 1.0 C: A3C47F21456789F0 I: FDE234C8 M: recvonly
Session Description from ACK(4)
ACK to MDCX(5) 200 1206 OK
C: CallId
I: ConnectionId
M: Mode
Un flux d’appel d’un RGW vers un TGW
Cours VoIP: MGCP/MEGACO [email protected]
42
RQNT(6) : NotificationRequest RQNT 1207 hrd3/[email protected] MGCP 1.0 N: [email protected]:5678 X: 012345789AE R: hu S: v (alerting)
ACK to RQNT(6) 200 1207 OK
N: NotifyEntity
X: RequestIdentifier
R: RequestEvents
S: SignalRequests
Un flux d’appel d’un RGW vers un TGW
Cours VoIP: MGCP/MEGACO [email protected]
43
MDCX(7) : ModifyConnection MDCX 1209 hrd3/[email protected] MGCP 1.0 C: A3C47F21456789F0 I: FDE234C8 M: sendrecv X: 012345789AF R: hu
ACK to MDCX(7) 200 1209 OK
C: CallId
I: ConnectionId
M: Mode
Un flux d’appel d’un RGW vers un TGW
Cours VoIP: MGCP/MEGACO [email protected]
44
DLCX(8) : DeleteConnection DLCX 1210 hrd3/[email protected] MGCP 1.0 C: A3C47F21456789F0 I: FDE234C8
ACK to DLCX(8) 200 1210 OK P: PS=1245, OS=62345, PR=780, OR=45123, PL=10, JI=27, LA=48
C: CallId
I: ConnectionId
PS: Packets sent OS: Octets sent PR: Packets received OR: Octets received PL: Packets lost JI: Average Jitter (ms) LA: Average Latency (ms)
Un flux d’appel d’un RGW vers un TGW