media gateway control and the softswitch architecture...

46
1 Media Gateway Control and the softswitch architecture (MGCP) TFM Cours VoIP

Upload: others

Post on 10-Mar-2020

23 views

Category:

Documents


1 download

TRANSCRIPT

1

Media Gateway Control and the softswitch

architecture (MGCP)

TFM Cours VoIP

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]

6

L’architecture Softswitch (Commutation logiciel)

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]

31

Etablissement d’un appel avec MGCP

Cours VoIP: MGCP/MEGACO [email protected]

32

Cours VoIP: MGCP/MEGACO [email protected]

33

Un flux d’appel d’un residentialGW vers un TrunkedGW

Cours VoIP: MGCP/MEGACO [email protected]

34

Cours VoIP: MGCP/MEGACO [email protected]

35

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

Cours VoIP: MGCP/MEGACO [email protected]

45

Interconnexion entre SIP et MGCP

Cours VoIP: MGCP/MEGACO [email protected]

46

Interconnexion entre SIP et MGCP (suite)