2 VoIP
2 VoIP
2 VoIP
André-Luc Beylot
Département Télécoms et Réseaux
ENSEEIHT
Plan
n Introduction
n RTP/RTCP
n Les protocoles de signalisation :
u SIP
u H.323
u MGCP/Megaco
n Conclusion
2
Introduction : Que pourrait-
être la voix sur IP ?
n Exemple :
u John, devant son ordinateur, appelle Mary
([email protected]), en demandant les options audio et video.
u L’appel atteint l’agent d’appel de Mary
F L’agent d’appel “sonne” sur l’ordinateur de Mary, son téléphone
cellulaire et son téléphone fixe
u Marie répond depuis l’ordinateur de son bureau
u Durant l’appel, John décide d’ajouter Bob à la conversation
qui répond avec son téléphone cellulaire
F L’agent d’appel de Bob doit trouver une passerelle entre le
réseau IP et le réseau Téléphonique commuté (RTC)
u Par la suite, Bob décide d’envoyer un document video
F Il utilise le serveur Web pour diffuser (multicast) la séquence
video
3
Introduction : Que pourrait-
être la voix sur IP ?
n Services et Protocoles mis en jeu dans le scénario
précédent :
u Protocoles de Transport supports de communications
F pour la voix
F pour la video en temps réel
F pour la video stockée
• Solution : RTP diffusion en direct - RTSP données stockées
u Protocoles de signalisation
F mise en place de connexion
F trouver les correspondants (pages blanches)
F multicast
F negotiations des formats des médias (audio ; audio et video)
F contrôle des passerelles entre Internet et RTC
• Nombreuses solutions : H323, SIP, MGCP
4
Introduction : RTC
n Le RTC a de nombreux avantages :
u Une bonne qualité de voix
u Grande robustesse (système de signalisation : SS7)
u Très sûr
u Services efficaces (réseau intelligent, fax)
6
Problèmes liés à la transmission
de la voix
n Délai et gigue dans le RTC :
u Gigue négligeable (Commutation de Circuits)
u Délai ~ Propagation. Faible sauf satellite (acoustic echo
problem)
n Dans VoIP : 2 problèmes : partie fixe et variable.
u Partie Fixe :
F Système d’Exploitation :
• la carte son
– échantillonne le signal provenant du micro
– accumule les échantillons dans un buffer
– demande à l’OS de les récupérer par des interruptions
• Pb : pour la plupart des OS, période des interruptions >= 60 ms
• Conséquence : arrivées groupées.
• Solution : OS temps réel ou hardware dédié
7
Transmission de la voix
n Délai Partie Fixe :
u Codeur :
F beaucoup de codeurs sont orientés trames (plutôt
qu’échantillon)
F Accumulation d’échantillons prend un certain temps
F de +, certains codeurs utilisent la technique “plus on en sait,
mieux on compresse”
u Politique de redondance :
F limiter l’impact des pertes de paquets
F méthode proactive. E.g. : à chaque paquet, on ajoute une copie
(codée avec une qualité moindre) du paquet précédent
F Nécessaire parce que les retransmissions ne sont pas possibles
(les paquets arriveraient trop tard !)
F Problème : en cas de congestion, participe à la congestion !8
Problèmes liés à la transmission
de la voix
n Partie Fixe (suite) :
u Protocoles de Transport (RTP, UDP, IP) :
F ils ajoutent des délais en accolant les en-têtes
F pour réduire l’overhead, on pourrait envisager de regrouper les
“trames”. Le multiplexage RTP n’est pas encore standardisé
10
RTCP - RTP Control Protocol
n RTCP port # = RTP port # +1
n RTCP a pour but :
u distribuer des statistiques (Evaluation de la QoS) entre les
participants (émetteurs et récepteurs)
u Synchronisation entre les médias en comparant les
estampilles RTP (media relative time)
n RTP et RTCP permettent un contrôle de niveau applicatif
de le connexion téléphonique
n RTP/RTCP n’ont pas d’influence sur le réseau lui-même
n l’Internet n’est pas capable de garantir des délais/gigue/
pertes faibles : problème pour la voix
u RTP permet de compenser une gigue modérée et RTCP
permet d’effectuer des adaptations au niveau des terminaux
11
SDP : Session
Description Protocol
SDP : Session Description
Protocol
n RFC 2237
13
Protocoles de
signalisation:
SIP
Introduction
n SIP (RFC 2543) issu du groupe de travail MMUSIC
(Multiparty Multimedia Session Control) de l’IETF
n MMUSIC :
u SIP : Session Initiation Protocol
u SDP : Session Description Protocol
F (type de format échangé, adresses, nom de la session …)
u RTSP : Real-time Streaming Protocol
n Objectifs de SIP
u Localisation
u Etablissement d’appel
u (Re)-Négotiation des paramètres de session
u Gestion des participants de l’appel
u Fin et transferts d’appels 15
Transactions et messages SIP
n Entités SIP communiquent via des ‘transactions’ :
u 1 transaction = 1 requête + 1 ou plusieurs réponses
u Transactions numérotées, mode client/serveur
n SIP fonctionne sur TCP ou UDP
u Rem : les flux sont eux véhiculés par RTP/RTCP sur UDP
n 2 types de messages : Requêtes et Réponses
u En-tête :
F Call-ID. E.g. [email protected]
F Cseq : numéro de séquence
F From : e.g. From: ‘Mydisplayname’ <sip:[email protected]>
F To : e.g. To: ‘Helpdesk’ <sip:[email protected]>;
F Via : e.g. Via : [email protected];
16
SIP Requêtes et Réponses
n Requêtes
u INVITE : mises en place de connexion
u ACK
u BYE
u CANCEL : arrêter la recherche d’un utilisateur
u REGISTER : pour s’enregistrer auprès d’un serveur
n Réponses
u Traitement en cours
u Succès
u Redirection
u Echec (du client, du serveur)
17
Appel Téléphonique entre
utilisateurs Internet
Mary John
INVITE
[email protected]
c=IN IP4 192.190.132.20 RTP/AVP 0
m=audio 49170 RTP/AVP 0 Audio = Loi µ 192.190.132.31
192.190.132.20
µ law
Port # 49170
200 OK
c=IN IP4 192.190.132.31
m=audio 12345 RTP/AVP 3
Port # 12345
ACK 18
Entités SIP
n Annuaire :
u garde la trace de la correspondance = SIP @ / IP @
u utilise la requête ‘Register’
u Découverte de l’annuaire : Groupe multicast dédié :
sip.mcast.net:224.0.1.75 (TTL=1)
u Communication possible en unicast si on connaît sa
localisation
u Enregistrement non permanent (timeout)
n Serveur de redirection:
u répond à des demandes de connexions par des réponses 3xx
u en donnant d’autres adresses ...
19
Entités et adresses SIP
n Agent d’appel (Call Agent) :
u proxy (doit se trouver sur le chemin de chaque appel)
u pas situé sur la machine de l’usager
• qui peut être éteinte /utiliser une adresse IP temporaire
u Tâches :
F doit trouver l’utilisateur en lui redirigeant les messages
F implante les règles de redirection (call forward on busy …)
F filtrage d’appel
n SIP addresses = URL
u pas une adresse de transport, le plus souvent @mail
u Localisation en 2 temps :
F Trouver le serveur SIP à partir de SIP URL, en utilisant le DNS
(en retrouvant des enregistrements ‘sip.udp’ or ‘sip.tcp’)
F Envoyer un INVITE au Serveur qui redirige l’appel 20
Conférence
n SIP fait pour utiliser IP multicast : flux de données et de
sig peuvent être envoyés en utilisant le multicast
H.225: SETUP
Call Identifier : 45442345 IP address : 10.2.3.4
Email-ID of A : [email protected]
Source type : PC
Terminal A : John
Call Type : Point to Point Terminal B : Mark
Destination @ : [email protected]
Setup
Call Signal Channel
Call Signal Channel
(Q.931 Channel) Alerting (Q.931 Channel)
TCP port # 1720
Connect TCP port # 1720
H.225: CONNECT
Call Identifier : 45442345
26
1ère Phase : Initialisation (H.225)
n @ H.323v2
F E.164
F H.323-ID (chaîne de catactères)
F url-ID
F transport-ID (ex:10.2.3.4:1720)
F E-mail ID : [email protected]
n Identifiants :
F H.225.0 :
• Référence de l’appel (unique entre A et B)
F H.323 :
• Identifiant d’appel
• Identifiant de conférence (CID) : unique pour tous les participants
27
2ème Phase : Canal de contrôle (H.245)
H.245: TerminalCapabilitySet
Multiplex Capability
Capability Table : IP address : 10.2.3.4
H.261 Video
Terminal A : John G711 A law 64k Terminal B : Mark
G729
H.245: TerminalCapabilitySet
Multiplex Capability
Capability Table :
H.261 Video
G711 A law 64k 28
3ème phase : Mise en place du Dialogue
H.245: OpenLogicalChannel
Logical Channel 1,
RTCP RR port 7771 IP address : 10.2.3.4
G711, A law 64k
Terminal A : John Session #, RTP payload type Terminal B : Mark
silence suppression
H.245: OpenLogicalChannelAck
Logical Channel 1,
Mise en place de 2 canaux RTCP SR port 9345
RTP port 9344
unidirectionnels
29
4ème phase : Dialogue
IP address : 10.2.3.4
30
Dernière Phase : Fin
n Sur le canal H.245, fermeture de tous les canaux de
données
u Initié par le premier qui raccroche
u CloseLogicalChannel et CloseLogicalChannel Ack
31
Appel RTC/Internet
n Gatekeepers (GK):
u gère une zone locale (contrôle des appels entrants/sortants)
u enregistre les utilisateurs locaux
u joue le rôle d’agent d’appel (redirection si appelé occupé ...)
F Communication entre utilisateur et GK défini dans RAS
(Registration, administration and status) inclus dans H.225.0 ⇒
Canal RAS
n Gateways (GW):
u gérés par les GK
u interface entre Internet et RTC
F accès RNIS :
• GW envoie directement les messages Q.931 (SETUP, ALERTING)
F liaisons analogiques :
• numérotation DTMF
• envoie un message “ALERTING” quand il détecte une sonnerie
32
1ère étape : Localisation du GK et
Enregistrement
n Localisation GK :
u Configuration Manuelle
u Configuration Dynamique (roaming users)
n Enregistement :
u Utilisateur vers GK : RRQ (Registration ReQuest)
F contient les ports à utiliser pour le canal de signalisation de
l’appel (H.245)
u GK vers Utilisateur : RCF (Registration Confirm)
F GK renvoie:
• un identifiant unique d’utilisateur (à utiliser dans les msg RAS)
• alias
33
2ème phase : Requête
d’autorisation d’appel
n Utilisateur vers GK : ARQ (Admission ReQuest - msg RAS)
u type d’appel (e.g. point to point)
u modèle d’appel (direct ou routé = de zone en zone - GK to GK)
u destination E.g. numéro E.164 +33 123456789
u CallId
u Estimation de la bande passante requise
34
3ème phase : Sig. d’appel
2ème
phase
ARQ GK GW
(number=+33 123456789)
GW peut changer le numéro
RAS Channel (e.g. enlever +33 s’il est localisé
ACF en France)
(Q.931=10.1.2.3:1720)
↓
ALERTING
CONNECT 35
Fin d’appel
GK GW
Confirmation envoyée
DRQ à DCF
la GW et à l’utilisateur
n Avantages de H.323 :
u Canaux logiques : distinction claire entre les canaux de
données et les canaux de contrôle alors qu’avec SIP le
terminal doit être prêt à recevoir des données d’annonce de
capacités
38
MGCP/Megaco
Analyse de H.323
Gatekeeper Gatekeeper
H.225 - multiplexing
SIP
SIP
User Agent
H.323
Endpoint
MG
MG
45
Architecture MGCP
n Trunk Gateway (TGW):
46
MGCP Architecture
n Call Agent (CA) ou Media Gateway Controller:
u Contrôle RGW et TGW
u Supporte la signalisation SS7 (TGW est simple: s’occupe de la
conversion TDM/RTP)
u 1 CA contrôle plusieurs GWs
47
Configurations MGCP (1/3)
PSTN signaling
protocols Call
agent
SS7/ISUP SS7/ISUP
STP STP
MGCP/UDP
IP Network
CO TGW TGW CO
RTP
TGW : Trunk Gateway
CO : Central Office
STP : Switching Transfer Point 48
Configurations MGCP (2/3)
Call
SS7/ISUP agent
STP MGCP/UDP
IP Network
CO TGW RGW
RTP
49
Configurations MGCP (3/3)
Le CA met en œuvre de nombreux
protocoles (SS7,H.323 ou SIP), utilise
MGCP pour contrôler les GWs
Call
SS7/ISUP agent
H.323
STP MGCP/UDP or SIP RTP
IP Network
CO TGW RGW
L’agent d’appel
peut maintenant
chercher 1 TGW
pour cet appel
(Answer Message)
51
Communication MGCP/SIP
52
MGCP vs. SIP
n Ne pourrait-on pas utiliser uniquement H.323?
F Etablissement des appels très long.
n Ou SIP ?
F SIP protocole “peer to peer” qui ne convient pas à un contrôle
des gateways