Media Gateway Control and the softswitch architecture (MGCP) TFM Cours VoIP 1
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 2
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 3
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 4
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 5
L architecture Softswitch (Commutation logiciel) 6
L architecture Softswitch (suite) SS7 Network SCP STP Signaling (SS7) Gateway SIGTRAN MGCP/ MEGACO Internet Call Agent MGCP/ MEGACO CO Switch Trunking Gateway Trunking Gateway Trunking Gateway RTP Residential Gateway Residential Gateway Residential Gateway 7
Interconnexion Softswitch/RTC SIP comme protocole de signalisation entre les MGC 8
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 9
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 10
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 11
Relation avec H.323 standard SS7/ISUP Signaling (SS7) Gateway SIGTRAN Internet Gatekeeper CO Switch Call Agent H.225/RAS H.225/Q931 H.245 Trunking Gateway MGCP RTP Terminal or Gateway 12
H.323, SIP, PSTN SS7 CA SG MGCP GK GW TN GK GW TN PSTN CO TGW RGW H.323 MCU TN TN MCU TN TN RTP GW : Gateway GK : Gatekeeper TN : Terminal MCU : Multipoint Control Unit CA : Call Agent TGW : Trunking Gateway RGW : Residential Gateway SG : Singling Gateway 13
H.323, SIP, (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 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 14
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 2 3 MGC 1 MG 5.RTP/ RTCP MG 4 Analog Phone Analog Phone 15
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 16
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 17
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 18
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 19
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 20
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/7@gateway.somenetwork.net 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/$@gateway.somenetwork.net 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 21
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 22
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) 23
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 24
Exemple d une commande MGCP RQNT 1207 endpoint/1@rgw-2567.anydomain.net MGCP 0.1 X:0123456789 R:hu S:v X, R, S => paramètres de la commande La passerelle notifie le call agent si événement hu (décroché) 25
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é) 26
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 27
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 28
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 29
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 30
Etablissement d un appel avec MGCP 31
32
Un flux d appel d un residentialgw vers un TrunkedGW 33
34
35
Un flux d appel d un RGW vers un TGW RQNT(1) : NotificationRequest RQNT 1201 hrd3/15@rgw.whatever.net MGCP 1.0 N: CA@ca.whatever.net: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 36
Un flux d appel d un RGW vers un TGW NTFY(2) : Notify from RGW NTFY 2002 hrd3/15@rgw.whatever.net MGCP 1.0 N: CA@ca.whatever.net:5678 X: 0123456789AC O: 5721043 ACK to NTFY(2) N: NotifyEntity X: RequestIdentifier O: ObservedEvent 200 2002 OK 37
Un flux d appel d un RGW vers un TGW CRCX(3) : CreateConnection CRCX 1204 hrd3/15@rgw.whatever.net 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 38
Un flux d appel d un RGW vers un TGW 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 G726~G732 encoded audio sample at 8 khz v: protocol version c: connection information m: media name and transport address a: more media attribute line 39
Un flux d appel d un RGW vers un TGW CRCX(4) : CreateConnection CRCX 1205 card6/5@tgw.whatever.net 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 40
Un flux d appel d un RGW vers un TGW MDCX(5) : ModifyConnection MDCX 1206 hrd3/15@rgw.whatever.net MGCP 1.0 C: A3C47F21456789F0 I: FDE234C8 M: recvonly C: CallId I: ConnectionId M: Mode Session Description from ACK(4) ACK to MDCX(5) 200 1206 OK 41
Un flux d appel d un RGW vers un TGW RQNT(6) : NotificationRequest RQNT 1207 hrd3/15@rgw.whatever.net MGCP 1.0 N: CA@ca.whatever.net:5678 X: 012345789AE R: hu S: v (alerting) ACK to RQNT(6) N: NotifyEntity X: RequestIdentifier R: RequestEvents S: SignalRequests 200 1207 OK 42
Un flux d appel d un RGW vers un TGW MDCX(7) : ModifyConnection MDCX 1209 hrd3/15@rgw.whatever.net MGCP 1.0 C: A3C47F21456789F0 I: FDE234C8 M: sendrecv X: 012345789AF R: hu ACK to MDCX(7) C: CallId I: ConnectionId M: Mode 200 1209 OK 43
Un flux d appel d un RGW vers un TGW DLCX(8) : DeleteConnection DLCX 1210 hrd3/15@rgw.whatever.net MGCP 1.0 C: A3C47F21456789F0 I: FDE234C8 ACK to DLCX(8) C: CallId I: ConnectionId 200 1210 OK P: PS=1245, OS=62345, PR=780, OR=45123, PL=10, JI=27, LA=48 PS: Packets sent OS: Octets sent PR: Packets received OR: Octets received PL: Packets lost JI: Average Jitter (ms) LA: Average Latency (ms) 44
Interconnexion entre SIP et MGCP 45
Interconnexion entre SIP et MGCP (suite) 46