voix sur ip - equipe irtirt.enseeiht.fr/beylot/enseignement/voip.pdf · u grande robustesse...
TRANSCRIPT
2
Plann Introductionn RTP/RTCPn Les protocoles de signalisation :
u SIPu H.323u MGCP/Megaco
n Conclusion
3
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éphonecellulaire et son téléphone fixe
u Marie répond depuis l’ordinateur de son bureauu Durant l’appel, John décide d’ajouter Bob à la conversation
qui répond avec son téléphone cellulaireF 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équencevideo
4
Introduction : Que pourrait-être la voix sur IP ?
n Services et Protocoles mis en jeu dans le scénarioprécédent :u Protocoles de Transport supports de communications
F pour la voixF pour la video en temps réelF pour la video stockée
• Solution : RTP diffusion en direct - RTSP données stockéesu Protocoles de signalisation
F mise en place de connexionF trouver les correspondants (pages blanches)F multicastF negotiations des formats des médias (audio ; audio et video)F contrôle des passerelles entre Internet et RTC
• Nombreuses solutions : H323, SIP, MGCP
5
Introduction : RTCn Le RTC a de nombreux avantages :
u Une bonne qualité de voixu Grande robustesse (système de signalisation : SS7)u Très sûru Services efficaces (réseau intelligent, fax)
n Mais le RTC a atteint ses limites : introduction denouveaux services (de données) trop cher :u le dernier km constitue un goulot d’étranglementu les connexions Web ne sont pas bien adaptées pour un circuit
de voix (le SS7 a été prévu pour le trafic de voix)u ATM, qui était “la solution”, est arrivé trop tard pas
d’applications ATM natives)
6
Introduction : Internetn Internet offre une base réelle pour une intégration de
service efficace (orienté paquet)n Mais le transport de la voix ne s’accomode pas bien :
F d’1 délai trop importantF d’1 gigue trop importante (service isochrone)
u Solutions possibles : DiffServ, MPLS, IntServ
n Conclusion : dans un premier temps, la voix sur IP devracoexister avec le RTC
7
Problèmes liés à la transmissionde 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é
8
Transmission de la voixn 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 tempsF de +, certains codeurs utilisent la technique “plus on en sait,
mieux on compresse”
u Politique de redondance :F limiter l’impact des pertes de paquetsF méthode proactive. E.g. : à chaque paquet, on ajoute une copie
(codée avec une qualité moindre) du paquet précédentF 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 !
9
Problèmes liés à la transmissionde la voix
n Partie Fixe (suite) :u Protocoles de Transport (RTP, UDP, IP) :
F ils ajoutent des délais en accolant les en-têtesF pour réduire l’overhead, on pourrait envisager de regrouper les
“trames”. Le multiplexage RTP n’est pas encore standardisé
n Partie Variable (gigue) :u due aux variations de délai dans le réseauu Solution : utiliser un buffer de réceptionu Principle : à la réception du premier paquet, le bufferiser
pendant une période fixe L puis lire de façon continue.F Difficulté : dimensionner L
• trop petit => trop de paquets perdus (arrivent trop tard)• trop grand => delai inacceptable (la voix = signal temps réel !)
10
RTP/RTCPu RTP solution communément acceptée pour transférer de la
voix sur un réseau de type paquet (Internet).u RTP envoie des données au-dessus de TCP ou de UDPu RTP permet de numéroter pour reséquencer et de compenser
la gigue due au multiplexage statistique (< routers) :F estampille : synchronisationF numérotation (pas fait par UDP)F type de données (e.g : PCM, H.263)
u RTP permet des sessions unicast ou multicastu Une session RTP par flux (port UDP / adresse Multicast).
F Flux synchronisés par RTCP
11
RTCP - RTP Control Protocoln RTCP port # = RTP port # +1n RTCP a pour but :
u distribuer des statistiques (Evaluation de la QoS) entre lesparticipants (émetteurs et récepteurs)
u Synchronisation entre les médias en comparant lesestampilles RTP (media relative time)
n RTP et RTCP permettent un contrôle de niveau applicatifde le connexion téléphonique
n RTP/RTCP n’ont pas d’influence sur le réseau lui-mêmen l’Internet n’est pas capable de garantir des délais/gigue/
pertes faibles : problème pour la voixu RTP permet de compenser une gigue modérée et RTCP
permet d’effectuer des adaptations au niveau des terminaux
13
SDP : Session DescriptionProtocol
n RFC 2237
n Pas vraiment un protocole - les données sont véhiculées pard’autres protocoles
n Utilisé SIP, RTSP, H.332, MGCP
n Décrit les sessions multimédia :u codeurs audio et vidéo utilisés (payload type)u information sur la session (nom, description courte)u adresse multicast à utiliser (en cas de conférence multi-
parties)
15
Introductionn SIP (RFC 2543) issu du groupe de travail MMUSIC
(Multiparty Multimedia Session Control) de l’IETFn MMUSIC :
u SIP : Session Initiation Protocolu SDP : Session Description Protocol
F (type de format échangé, adresses, nom de la session …)u RTSP : Real-time Streaming Protocol
n Objectifs de SIPu Localisationu Etablissement d’appelu (Re)-Négotiation des paramètres de sessionu Gestion des participants de l’appelu Fin et transferts d’appels
16
Transactions et messages SIPn Entités SIP communiquent via des ‘transactions’ :
u 1 transaction = 1 requête + 1 ou plusieurs réponsesu Transactions numérotées, mode client/serveur
n SIP fonctionne sur TCP ou UDPu Rem : les flux sont eux véhiculés par RTP/RTCP sur UDP
n 2 types de messages : Requêtes et Réponsesu En-tête :
F Call-ID. E.g. [email protected] Cseq : numéro de séquenceF From : e.g. From: ‘Mydisplayname’ <sip:[email protected]>F To : e.g. To: ‘Helpdesk’ <sip:[email protected]>;F Via : e.g. Via : [email protected];
17
SIP Requêtes et Réponsesn Requêtes
u INVITE : mises en place de connexionu ACKu BYEu CANCEL : arrêter la recherche d’un utilisateuru REGISTER : pour s’enregistrer auprès d’un serveur
n Réponsesu Traitement en coursu Succèsu Redirectionu Echec (du client, du serveur)
18
Appel Téléphonique entreutilisateurs Internet
[email protected]=IN IP4 192.190.132.20m=audio 49170 RTP/AVP 0 192.190.132.31192.190.132.20
Port # 49170 µ law
RTP/AVP 0Audio = Loi µ
200 OKc=IN IP4 192.190.132.31m=audio 12345 RTP/AVP 3
John peut recevoirdes données GSMsur le port 12345GSM
Port # 12345
ACK
JohnMary
port UDP où le flux RTP est attendu
19
Entités SIPn 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
localisationu Enregistrement non permanent (timeout)
n Serveur de redirection:u répond à des demandes de connexions par des réponses 3xxu en donnant d’autres adresses ...
20
Entités et adresses SIPn 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 temporaireu Tâches :
F doit trouver l’utilisateur en lui redirigeant les messagesF implante les règles de redirection (call forward on busy …)F filtrage d’appel
n SIP addresses = URLu pas une adresse de transport, le plus souvent @mailu 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
21
Conférencen SIP fait pour utiliser IP multicast : flux de données et de
sig peuvent être envoyés en utilisant le multicast
n URL Destination = nom de la conférence
n Réponses aux requêtes SIP envoyées à la même adressemulticast.
n Le passage d’une communication entre 2 utilisateurs à uneconférence entre n utilisateurs se fait en envoyant un“INVITE” à une @ à tous les participants en utilisants lemême CallID
23
H.323u H.323 : standard ITU-T.
• Début des travaux sur H.323v1 Mai 1995• Version 2 - Février 1998• Version 3 - utilisation possible d’UDP
u H.323 : vidéo-conférence sur des réseaux de paquets (IP,ATM, IPX)
u Video-conférence existe déjà sur l’Internet avec le Mbone :• Media transportés par RTP/RTCP• arbre MC construit avec DVMRP
u Solution fruste :• DVMRP ne permet pas le passage à l’échelle• on ne peut pas négocier le codec• pas de possibilité de contacter un utilisateur du RTC• Pas de service de “pages blanches”
u H.323 a pour objectif de résoudre ces problèmes
24
Différentes phases de H.323n Gatekeeper (contrôleur) : contrôle la session : traduction
d’adresse, contrôle d’admission/BP, gère une zonen Gateway: passerelle H.323/RTCn Initialisation: enregistrement auprès du GKn GK admission: obtenir l’autorisation - GK résout les @n Signalisation d’appel:
F initialisation et mise en place/rejet de la demande (cnx sig)n Négotiation/configuration:
F échange du type de données que les entités peuvent traitern Echange de données:
F configuration et ouverture de canaux logiquesF envoyer et recevoir des flux de données
n Re-négotiation: changer participants/ médias/ paramètresn Fin:terminer l’appel/conférence ; supprimer un utilisateur référencé
25
Composants et Canaux H.323n Utilisateur – contrôleur GK (H.225.0)
u UDPn Signalisation : H.225 (Q.931)
u Contrôle d’appelu service supplémentairesu TCP; depuis la v3: éventuellement UDP
n contrôle (H.245):u Négociation type de données et capacités des intervenants ;u ouverture des “canaux logiques”u Reste ouverte pendant toute la durée des échangesu Utilise TCP
n Canaux logiques : transporte flux audio, video (UDP)
26
1ère Phase : Initialisation de l’appel (H.225)
H.225: SETUPCall Identifier : 45442345Email-ID of A : [email protected] type : PCCall Type : Point to PointDestination @ : [email protected]
Terminal A : JohnTerminal B : Mark
Call Signal Channel(Q.931 Channel)TCP port # 1720
Call Signal Channel(Q.931 Channel)TCP port # 1720
Setup
Alerting
Connect
H.225: CONNECT
Call Identifier : 45442345
H.245 address : 10.2.3.4:8741
IP address : 10.2.3.4
Dedicated port #
27
1ère Phase : Initialisation (H.225)
n @ H.323v2F E.164F H.323-ID (chaîne de catactères)F url-IDF 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
28
2ème Phase : Canal de contrôle (H.245)
Terminal A : John Terminal B : Mark
H.245 Control ChannelTCP port #
Term. Cap. Set
Term. Cap. Set Ack
H.245: TerminalCapabilitySetMultiplex CapabilityCapability Table :
H.261 VideoG711 A law 64kG729
H.245: TerminalCapabilitySetMultiplex CapabilityCapability Table :
H.261 VideoG711 A law 64k
IP address : 10.2.3.4
H.245 Control ChannelTCP port # 8741
Term. Cap. Set
Term. Cap. Set Ack
29
Terminal A : John
H.245 Control ChannelTCP port #
H.245: OpenLogicalChannelLogical Channel 1, RTCP RR port 7771G711, A law 64kSession #, RTP payload typesilence suppression
H.245: OpenLogicalChannelAckLogical Channel 1,RTCP SR port 9345RTP port 9344
IP address : 10.2.3.4
Open logical channel
Open logical channel Ack
Open logical channel
Open logical channel Ack
Mise en place de 2 canaux
unidirectionnels
3ème phase : Mise en place du Dialogue
Terminal B : Mark
H.245 Control ChannelTCP port # 8741
30
4ème phase : Dialogue
Terminal A : John
Audio Channel =logical channel 1
RTP : UDPRTCP :UDP 7771RTCP :UDP
H.245 Control ChannelTCP port #
IP address : 10.2.3.4
H.245 Control ChannelTCP port # 8741
Logical Channel 0
Terminal B : Mark
Audio Channel =logical channel 1
RTP : UDP 9344RTCP :UDPRTCP :UDP 9345
RTP Flow from A to B
RTCP RR
RTCP SR
RTP Flow from B to A... ......
31
Dernière Phase : Finn Sur le canal H.245, fermeture de tous les canaux de
donnéesu Initié par le premier qui raccrocheu CloseLogicalChannel et CloseLogicalChannel Ack
n Si le canal H.225 n’a pas été fermé, Release Completemessage est envoyé
32
Appel RTC/Internetn Gatekeepers (GK):
u gère une zone locale (contrôle des appels entrants/sortants)u enregistre les utilisateurs locauxu 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 GKu 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
33
1ère étape : Localisation du GK etEnregistrement
n Localisation GK :u Configuration Manuelleu Configuration Dynamique (roaming users)
n Enregistement :u Utilisateur vers GK : RRQ (Registration ReQuest)
F contient les ports à utiliser pour le canal de signalisation del’appel (H.245)
u GK vers Utilisateur : RCF (Registration Confirm)F GK renvoie:
• un identifiant unique d’utilisateur (à utiliser dans les msg RAS)• alias
34
2ème phase : Requêted’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 123456789u CallIdu Estimation de la bande passante requise
n GK vers utilisateur : ACF (Admission Confirm)u Adresse IP + # port pour le canal Q.931. Pour les num. E.164,
adresse d’une GW (ou d’un GK pour le modèle “routé”)u Bande Passante autorisée
35
GW demande la permission au GK
3ème phase : Sig. d’appel
GK GWARQ (number=+33 123456789)
ACF (Q.931=10.1.2.3:1720)
SETUP (number=+33 1 93 26 00 00)
ARQ
ACF
ALERTING
CONNECT
RAS Channel
Q.931 Channel
↓
2ème phase
GW peut changer le numéro(e.g. enlever +33 s’il est localisé
en France)
36
Fin d’appel
GK GW
EndSessionCommand (H.245 level)
EndSessionComplete (H.245 level)
ReleaseComplete (Q.931 level)
DRQ (disengage request)
DRQDCF
DCF (disengage confirm)
Confirmation envoyéeà la GW et à l’utilisateur
37
Numérotation H.323n Problème : comment atteindre un téléphone IP à partir
d’un téléphone du RTC ?u Appeler une passerelle interactive qui demande une adresse
IP ou un e-mail => Problème de passage à l’échellen Besoin d’une procédure automatique. Plusieurs solutions :
u 1 préfixe spécial par paysu 1 code spécial (comme les numéros 800)u 1 code de pays pour les téléphones IP
n 1ère solution pose un vrai pb :u atteindre un téléphone IP dans un autre pays conduira à
router l’appel via le RTC jusqu’au pays considéré !n Objectif rentrer le plus tôt possible dans l’Internet.n Pas de solution largement acceptée pour l’instant ...
38
H.323 versus SIPn Avantages de SIP :
u Rapidité : établissement de connexion beaucoup plus simple(H.323 impose de nombreux échanges)
u Multicast : SIP est prévu pour fonctionner au-dessus d’unbackbone IP multicast pour le transport des données et de lasignalisation (H.323 fait du multi-unicast)
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 leterminal doit être prêt à recevoir des données d’annonce decapacités
40
H.225 - multiplexing
Analyse de H.323
RAS - registration, admissions, status
Call Signaling
H.245 - channels, capabilities/preferences, flow control
RTP - audio data
Gatekeeper Gatekeeper
GW GW
Call
n S’occupe uniquement de la mise en place des connexionsn Autres fonctionnalités implantées dans les GW
u autorisations, paiementsu collecte de la sig
n Le GK ne pilote pas vraiment la GW
41
D’H.323 à MGCP/Megacon Inefficace pour les grandes passerelles d’opérateurs
u Nombreuses Connexions (H.225, H.245, RTP)u Traitements Longs (message en ASN.1)
n Trop complexe pour des petites passerelles d’accèsu Passerelle très impliquée dans la mise en place des cnxu Implantation de services cher
n Idée de base MGCP/MEGACO: Séparer physiquement lecontrôle d’appel du contrôle des média et des “tuyaux”
n La GW a suffisamment à faire avec les conversionsMIC/RTP
42
Media gateway control et sig.d’appel
SG
MG
MGC SG
MG
MGC
SIPUser Agent
H.323Endpoint
PSTN PSTN
Call signaling
Media gateway control signaling
Media flows
SIP-T, ISUP in H.323
SIP
H.323 callsignalingGateway
controlprotocol
Gatewaycontrolprotocol
ISUP over SIGTRAN
SS7Network
SS7Network
Internet
SG: Signaling Gateway, MG: Media Gateway, MGC: Media Gateway Controller
44
Media Gateway Control Protocol(MGCP)
n RFC 2705 (Avril 2000)
n MGCP utilisé pour contrôler des passerelles téléphoniques (de cœur ourésidentielles) par des éléments de contrôle d’appel externes appelésmedia gateway controllers ou call agents.
n MGCP au-dessus d’UDP : passage à l’échelle, delai
n MGCP utilise SDP pour décrire les connexions:F v=0F c=IN IP4 128.16.59.1F m=audio 3456 RTP/AVP 0 96F a=rtpmap:96 G726/4
45
Architecture MGCPn Residential Gateways (RGW):
u Connexions des usagers téléphoniques IP
u Pas de modification du téléphone
u RGW détecte les événements et les notifie à l’agent d’appel(MGCP)
u RGW supporte RTP
u RGW connecté à l’Internet via le RTC, l’ADSL ou des liaisonsATM (…)
46
Architecture MGCPn Trunk Gateway (TGW):
u Interconnexion Internet-RTC : convertit les formatsTDM/RTP - RTP/TDM
u Supporte MGCP (contrôlé par un Call Agent)
u Doit aussi supporter (côté RTC):F Signalisation dans la bande (liaisons analogiques)
47
MGCP Architecturen Call Agent (CA) ou Media Gateway Controller:
u Contrôle RGW et TGWu Supporte la signalisation SS7 (TGW est simple: s’occupe de la
conversion TDM/RTP)u 1 CA contrôle plusieurs GWs
n Pas de protocole normalisé pour les échanges entre CA :u Pas critique dans un premier temps, les CA peuvent interopérer via
le SS7u Ils peuvent utiliser SIP qui peut encapsuler des données SS7u A terme utiliser les solutions SS7 over IP (STCP) issues du groupe
de travail IETF Sigtran.
48
Configurations MGCP (1/3)
CO
IP Network
STP
TGW TGW
SS7/ISUP
MGCP/UDP
RTP
CO
STP
SS7/ISUP
Call agent
PSTN signalingprotocols
TGW : Trunk GatewayCO : Central Office STP : Switching Transfer Point
50
Configurations MGCP (3/3)
CO
IP Network
STP
Call agent
TGW RGW
SS7/ISUP
MGCP/UDP
Le CA met en œuvre de nombreuxprotocoles (SS7,H.323 ou SIP), utiliseMGCP pour contrôler les GWs
H.323 or SIP RTP
RGW : Residential Gateway
51
Communication MGCP/RTC
(Initial Address Message)
(Address Complete Message)
(Answer Message)
L’agent d’appelpeut maintenantchercher 1 TGW
pour cet appel
53
MGCP vs. SIPn 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
n MGCP doit-il remplacer H.323 ou SIP?F Apparemment non. SIP et H.323 offrent un grand nombre de
services non couverts par MGCP (conférences multimedia,règles de redirection)
F SIP et H.323 permet la mise en œuvre de services ‘intra-Internet’ alors que MGCP se concentre sur les liaisonsInternet/RTC
54
Conclusionn Pour remplacer le RTC, VoIP a besoin d’un vrai protocole de
signalisation efficaceu Cela prend beaucoup de temps ⇒ la coexistence RTC/VoIP va
durer encore longtempsu Besoin d’une proposition globale
F A l’heure actuelle, bataille entre SIP et H.323F Groupe de travail MEGACO IETF (commun ITU-T/IETF/ETSI)
essaye de proposer un rapprochement MGCP - H.323 ; inclusdans H.323 (H.248) modélisation des communicationsmultimédia.
n Les protocoles de signalisation ont besoin d’une bonnedisponibilité (pour le RTC 99.999 %), délai raisonnable +transfert de la voix contraignant
F solutions DiffServ/MPLS