Vous êtes sur la page 1sur 65

VoIP

Voice Over Internet Protocol


Hakim Badis IGM, Universit Paris-Est Marne-la-Valle

Sommaire
Le rseau tlphonique commut VoIP et ToIP Larchitecture VoIP Les protocoles VoIP

RTC

Schma global du RTC


Le rseau tlphonique commut met en relation deux postes dabonnes Le protocole pour tablir, maintenir et rompre la relation sappelle la signalisation Les 3 tages du rseau

Distribution

Commutation Transmission

Schma global du RTC


Commutation : partie centrale du rseau qui mets en relation les abonns Transmission : la liaison de lensemble des commutateurs (rseau de transmission ou rseau de transport) Distribution : le rseau reliant les abonns au commutateur le plus proche (le commutateur de rattachement)

Schma global du RTC


Poste Tlphonique Ligne Tlphonique Commutateur de transit commutateur

Faisceaux de circuits

Schma global du RTC


Satellite

Centre de transit international

Liaison terrestre ou Soumarine

VoIP vs la ToIP
La ToIP = LIP jusquau POSTE TELEPHONIQUE La VoIP = Le transport de la voix sur un lien IP
Transforme la voix TDM en sortie du PABX en Paquet IP, et l'achemine jusqu'au rseau RTC ou rseau LAN Notion OPERATEUR

Postes IP IPBX

Rseau RTC

Rseau tout IP
nxT0 ou T2 LAN Passerelle VoIP/TDM

Switch voix

ToIP

VoIP
8

Principe

L'objectif de la voix sur IP (en anglais, Voice over IP ou VoIP) est d'appliquer la voix le mme traitement (avec QoS) que les autres types de donnes circulant sur Internet, grce au protocole IP.

Quels avantages confre la VoIP


Rduction des cots Triple play (voix, vido et donnes) sur un mme rseau la tlphonie sur IP utilise jusqu' dix fois moins de bande passante que la tlphonie traditionnelle La mobilit

10

Architecture VoIP
Tlphone analogique

PBX Postes IP IPBX

Rseau RTC

Rseau tout IP
nxT0 ou T2 LAN Passerelle VoIP/TDM

Switch voix

DECT

11

PBX : Private Automatic Branch eXchange

Autocommutateur tlphonique priv :

relier les postes tlphoniques d'un tablissement (lignes internes) avec le rseau tlphonique public (lignes externes). Relier plus de lignes internes qu'il n'y a de lignes externes. Permettre des appels entre postes internes sans passer par le rseau public. Programmer des droits d'accs au rseau public pour chaque poste interne. Proposer un ensemble de services tlphoniques (confrences, transferts d'appel, renvois, messagerie, appel par nom...).

12

IPBX
Le PABX IP est l'volution vers l'IP du PBX traditionnel Le PABX IP est un PABX bti sur un serveur/routeur faisant tourner un logiciel au lieu d'un quipement lectronique indpendant et ddi Asterisk est un logiciel qui transforme un PC sous Linux en standard tlphonique IP (ou gestionnaire tlphonique) et a t dvelopp par Mark Spencer de la socit Digium Inc. Ce logiciel est open source et propose toutes les fonctionnalits d'un PABX classique.
13

IPBX : fonctions de base


Un IPBX permet donc de communiquer par VoIP mais aussi en texte ou visio entre des PC quips de softphone ou des tlphones SIP Une fois un IPBX install sur votre rseau, il sera donc possible de parler de PC PC ou de PC a tlphone.
IPBX

LAN

14

IPBX : fonctions de base


IPBX pourra galement prendre en charge votre prsence ou occupation pour diriger lappelant vers une boite vocale, qui pourra transmettre ensuite vos messages sur votre email On trouve galement des musiques dattentes, des renvois vers dautres postes...

15

IPBX : accs au rseau public


Il serait dommage, et surtout presque inutile, de garder ces fonctions de tlphonie pour soi Il existe donc diffrents moyens de connecter un IPBX au rseau on utilise des cartes comme celle de digium pour se connecter sur des prises analogiques (FXO) ou numris (ISDN) public tlphonique Il existe galement des passerelles semblable des routeurs ou switch rseau.

16

IPBX : accs au rseau public


FXS ( Foreign Exchange Station) Permet de connecter directement sur le routeur un tlphone standard, un fax ou un quipement quivalent. La connectique est de type RJ11.

FXO (foreign Exchange Office) quivalente une interface tlphonique standard. Elle permet de connecter le routeur au rseau tlphonique commut (RTC ou PSTN) ou un PBX. La connectique est la mme que la carte FXS (RJ11) .

17

IPBX : accs au rseau public


A partir de ce moment, votre IPBX prend donc en charge vos appels entrants provenant de lextrieur Il est possible de configurer des standard automatique, file dattente, groupement de sonnerie ainsi que le transfert et les boites vocales

18

IPBX
Adaptateur ATA Tlphone IP

Tlphone analogique ou IP Alimentation lectrique 230 VAC

Switch Au-del de 8 postes

Ligne DSL dgroupe par neuf cegetel

IP

ANALOGIQUE

(il est recommand de raccorder liPBX sur une alimentation scurise via onduleur)

Bnficiez du meilleur des 2 mondes!

DECT quip dune base analogique

ou

ou

Tlphone analogique

ou

19

Protocoles de signalisation VoIP


Solutions IETF (Internet Engineering Task Force) MMUSIC SIP MEGACO-H248-MGCP H323

Protocoles de signalisation VoIP

Protocoles de transport de la voix


RTP (Real Time Protocol) RTCP (Real Time Control protocol)

Protocoles MMUSIC (Multiparty Multimedia Session Control)


Ensemble de standards dvelopps pour le support de confrences Internet multimdia Protocoles dfinis ou en cours dlaboration SIP- Session Initiation Protocol RFC 2543 SAP- Session Announcement Protocol SDP- Session Description Protocol RFC 2327 RTSP- Real-Time Stream Protocol RFC 2326 SCCP- Simple Conference Control Protocol

SIP
Prsentation de SIP Caractristiques de SIP Fonctionnement de SIP Architecture SIP User Agent Client, User Agent Server Registrar, Proxy Requtes / Rponses SIP Tlphone SIP vers Tlphone SIP Proxy Call Flow Call Stateful Proxy

Prsentation de SIP (Session Initiation Protocol)


Protocole normalis et standardis par l'IETF (RFC 3261) Permet dtablir, modifier et terminer des sessions multimdia Le but premier de SIP est dtablir une session Le deuxime est de fournir une description du type de session demande SIP est le standard ouvert de VoIP (Voice Over IP, voix sur IP) interoprable le plus tendu et vise devenir le standard des tlcommunications multimdia (son, image, etc.)

Caractristiques de SIP
Prend en charge : L'authentification et la localisation des multiples participants La ngociation sur les types de mdia utilisables par les diffrents participants en encapsulant des messages SDP (Session Description Protocol) Ne prend pas en charge : Le transport des donnes changes durant la session comme la voix ou la vido Son point fort : SIP tant indpendant de la transmission des donnes, tout type de donnes et de protocoles peut tre utilis pour cet change

Entits de SIP
Le serveur proxy (Proxy server) : Il reoit des requtes de clients quil traite lui-mme ou quil achemine dautres serveurs aprs avoir ventuellement ralis certaines modifications sur ces requtes Le serveur de redirection (Redirect server) : Il sagit dun serveur qui accepte des requtes SIP, traduit l'adresse SIP de destination en une ou plusieurs adresses rseau et les retourne au client. Contrairement au Proxy server, le Redirect server n'achemine pas de requtes SIP. Lagent utilisateur (UA, User Agent) : Il sagit dune application sur un quipement de lusager qui met et reoit des requtes SIP

Entits de SIP
Lenregistreur (Registrar) : Il sagit dun serveur qui accepte les requtes SIP REGISTER. SIP dispose de la fonction denregistrement dutilisateurs. Lutilisateur indique par un message REGISTER mis au Registrar, ladresse o il est joignable (e.g., adresse IP). Le Registrar met alors jour une base de donne de localisation. Lenregistreur est une fonction associe un Proxy server ou un Redirect server.

Fonctionnement de SIP
Les mthodes de base sont :
INVITE permet un client de demander une nouvelle session. Elle contient des informations sur lappelant et lappel et sur le type de flux qui seront changs (voix, vido, etc) ACK confirme l'tablissement de la session CANCEL est utilise pour demander l abandon d un appel en cours mais na aucun effet sur un appel dj accept. En effet, seule la mthode BYE peut terminer un appel tabli BYE termine une session en cours REGISTER est utilise par un UA afin dindiquer au Registrar la correspondance entre son adresse SIP et son adresse de contact (e.g., adresse IP) OPTIONS est utilise afin dinterroger les capacits et ltat dun User agent ou dun serveur. La rponse contient ses capacits (e.g., type de mdia tant support, mthodes supportes, langue supporte) ou le fait que l'UA soit indisponible.

Fonctionnement de SIP
Les codes de rponse sont similaires HTTP 100 Trying 200 OK 404 Not Found Certains codes sont spcifiques SIP 180 Ringing 486 Busy

Architecture de SIP - Registrar


La mthode REGISTER est utilise par un User agent afin dindiquer la fonction Registrar la correspondance entr son adresse SIP (e.g., sip:mary.taylor@orange.com) et son adresse IP (e.g., sip:mary.taylor@192.190.132.20). Ces requtes contiennent donc une adresse IP, associe une URI, qui seront stockes dans une base de donnes Les URI SIP sont trs similaires dans leur forme des adresses email : sip:utilisateur@domaine.com

Architecture de SIP - Proxy


Un Proxy SIP sert d'intermdiaire entre deux User Agents qui ne connaissent pas leurs emplacements respectifs (adresse IP) L'association URI-Adresse IP a t stocke pralablement dans une base de donnes par un Registrar Le Proxy peut donc interroger cette base de donnes pour diriger les messages vers le destinataire

Tlphone SIP vers Tlphone SIP


SIP Phone A INVITE 100 TRYING - (progress report code) 180 RINGING - (progress report code) 200 OK - (success - user accepted the call) ACK Caller confirms receipt of the success code 2 WAY RTP CALL w/ SDP (ESTABLISHED) BYE (terminates the call) 100 TRYING (progress report code) 200 OK (success) SIP Phone B

Flux dappel SIP avec un serveur Proxy (Stateless Proxy Server)


USER A INVITE 100 TRYING INVITE 180 RINGING 180 RINGING PROXY USER B

200 OK 200 OK ACK ACK

BOTH WAY RTP CALL (ESTABLISHED) BYE 200 OK

Flux dappel SIP avec un serveur Proxy Stateful (Call Stateful Proxy Server)
USER A INVITE 100 TRYING INVITE Record-Route 180 RINGING 180 RINGING F4 PROXY USER B

200 OK Record Route 200 OK Record Route ACK ACK BOTH WAY RTP CALL (ESTABLISHED) BYE (Route) BYE (Route) 200 OK 200 OK

SDP dans SIP


SIP utilise le protocole SDP pour dcrire les le mdia contenu : Codecs utiliss, ports Certains champs SDP nont pas raison dtre dans SIP mais ils restent pour linteroprabilit SDP nas pas t conu pour la ngociation multimdia SIP profite de SDP pour offrir un support aux diffrents types de media prsents dans un appel LUA destinataire rpond avec les types de medias compatibles

SIP : Exemple

SIP : Exemple
L'appelant a pour URL SIP sip:mary.taylor@francetelecom.com, alors que celle de l'appel est sip:mart.rich@francetelecom.com Un message d'tablissement d'appel SIP INVITE est mis par LUA SIP de l'appelant au Proxy Server Ce dernier interroge la base de donnes de localisation pour identifier la localisation de l'appel (adresse IP) et achemine l'appel la destination Le message INVITE contient diffrents headers obligatoires dont L'adresse SIP de l'appelant "From", L'adresse SIP de l'appel "To", Un identifiant d'appel "Call-ID", Un numro de squence "Cseq", Un nombre maximum de sauts max-forwards . Le header Via est mis jour par toutes les entits qui ont le mme chemin que la requte.

SIP : Exemple
INVITE sip:mark.rich@francetelecom.com SIP/2.0 Via : SIP/2.0/UDP station1.francetelecom.com:5060 Max-Forwards : 20 To : Mark Rich <sip:mark.rich@francetelecom.com> From : Mary Taylor <sip:mary.taylor@francetelecom.com> Call-Id: 23456789@station1.francetelecom.com CSeq: 1 INVITE Contact: mary.taylor@192.190.132.20 Content-Type: application/sdp Content-Length:162 v=0 c = IN IP4 192.190.132.20 m = audio 45450 RTP/AVP 0 15 la requte SIP INVITE contient une syntaxe SDP (Session Description Protocol). Cette structure consiste en plusieurs lignes qui dcrivent les caractristiques du mdia que lappelant Mary requiert pour lappel

SIP : Exemple
Mary Taylor indique que la description SDP utilise : La version 0 du protocole Il s'agit d'une session tlphonique (m=audio) La voix paqutise doit lui tre dlivre l'adresse de transport (port UDP = 45450, adresse IP = 192.23.34.45) Avec le protocole RTP En utilisant un format d'encodage dfini dans le RFC AVP (Audio Video Profile) La rponse 180 RINGING est retourne par le destinataire lUA de lappelant Lorsque l'appel accepte la session, la rponse 200 OK est mise par son UA et achemine lUA de l appelant

SIP : Exemple
SIP/2.0 200 OK Via : SIP/2.0/UDP ps1.francetelecom.com:5060 Via : SIP/2.0/UDP station1.francetelecom.com:5060 Max-Forwards : 20 To : Mark Rich <sip:mark.rich@francetelecom.com> From : Mary Taylor <sip:mary.taylor@francetelecom.com> Call-Id: 23456789@station1.francetelecom.com CSeq: 1 INVITE Contact: mark.rich@192.190.132.27 Content-Type: application/sdp Content-Length:162 v=0 c = IN IP4 192.190.132.27 m = audio 22220 RTP/AVP 0

SIP : Exemple
Si un usager SIP veut renvoyer ses appels entrant de son domaine courant un autre domaine (e.g., du domaine orange.com au domaine francetelecom.com) Il lui suffit dindiquer la fonction Registrar de orange.com son adresse SIP dans le domaine francetelecom.com. Quand un message INVITE doit tre dlivr par le proxy serveur du domaine orange.com sip:mary.taylor@orange.com, la base de donnes mise jour par la fonction Registrar indique au Proxy Server que le message doit tre relay sip:mary.taylor@francetelecom.com Alors le Proxy server effectue une recherche par le DNS de ladresse IP du Proxy server du domaine francetelecom.com afin de lui relayer le message SIP acheminer la destination approprie (sip:mary.taylor@francetelecom.com) Ce dernier interroge la base de donnes de localisation pour identifier la localisation de l'appel (adresse IP) et achemine l'appel la destination

Inconvnients avec SIP


Pare-feu (Firewall)
La majorit des firewalls dans les entreprises bloquent UDP Les firewalls doivent tenir compte des sessions SIP INVITE - BYE et ouvrir un trou UDP pour accepter lappel Le Call Stateful Proxy est obligatoire. Il existe beaucoup de propositions pour contourner ce problme mais aucune nest parfaite!

Les NAT (Network Address Translation)

H323
Dvelopp par lITU Actuellement H323v6 Sinspire de la tlphonie Utilisation de numros de tlphone Association de nombreux protocoles (17) Protocole de signalisation (contrle) (H225) Ngociation de codec (H245) Transport de linformation (RTP/RTCP) Complexe Empilage de protocole Gestion de la bande passante Utilis plus dans les curs de rseaux

H323

H323 : les lments du rseau


Le GateKeeper Transforme les identifiants H323 en adresse IP Pas obligatoire si service de rsolution dadresse (DNS, LDAP, ) La GateWay Fait la liaison entre le rseau H323 et le rseau IP Fait la conversion entre les formats de transmission Le MultiPoint Control Unit (Pont multipoint) Utilis pour faire de la visioconfrence Le Priphrique Terminal

H323 : les lments du rseau

H323 : le fonctionnement
RAS : Registration, Admission and Status

H323 : le fonctionnement
End point registration

H323 : le fonctionnement
End point Unregistration

H323 : le fonctionnement
End point Admission to network

H323 : le fonctionnement
Call setup and control

H323 : le fonctionnement
Ngociation de codecs (H245) et ouverture des canaux

H323 : les problmes


Implmentation de nombreuses normes propritaires Interoprabilit rduite Ouverture nombreux ports UDP et TCP
Statically-assigned TCP ports 1718 1720 and 1731 for call setup and control Dynamically-assigned UDP ports in the range of 1024 65535 for video and audio data streams

Problme avec les firewalls Quelques ports alatoires Complexe En voie de disparition

RTP/RTCP (RFC 1889)


Pourquoi un autre protocole de transport ?
Besoin : squencement des paquets horodatage des paquets identification de participants surveillance de l'tat de la connexion Contrainte de temps rel = TCP inadapt TCP exige la fiabilit 100% TCP favorise la fiabilit au dpend des dlais TCP existe seulement en version unicast UDP : service de transport non fiable pas de connaissance du taux de perte Impossibilit de reconstituer le flux et de synchroniser les mdia
55

RTP/RTCP (RFC 1889)


Protocoles au dessus dUDP adapts au besoin temps rel RTP (Real-timeTransport Protocole) pour lacheminement des donnes RTCP (Real-timeTransport Control Protocole) pour changer des messages de contrle Conu pour les communications multipoint Comportent les champs ncessaires pour : reconstituer le flux identifier le type de linformation transporte contrler larrive des paquets destination

56

RTP/RTCP (RFC 1889)


Les donnes audio et vido sont envoyes sparment (2 sessions RTP et paquets de control RTCP) Durant une session, des nuds intermdiaires peuvent changer le format des donnes ou fusionner plusieurs donnes. Dans ce cas, le nud doit ajouter son identifiant dans len-tte RTP

57

RTP/RTCP (RFC 1889)


Len-tte dun paquet RTP

58

RTP/RTCP (RFC 1889)


RTCP (Real-time Transport Control Protocole) Protocole de contrle qui accompagne RTP pour mesurer les performances Transmission priodique de paquets de contrle (rapports) tous les participants dans une session RTP Plusieurs genres de rapports possibles : Receiver Report (RR), Sender Report (SR), Source Description (SDES), BYE La connaissance de ces paramtres permet o dajouter de la redondance en fonction des pertes o dadapter la mmoire tampon en fonction de la gigue

59

RTP/RTCP (RFC 1889)


Receiver Report (RR) : statistiques des rcepteurs pour lmetteur ou les emetteurs sur la qualit de transmission . Taux de pertes, RTT (temps allerretour), gigue (variance des dlais de transit) Sender Report (SR) : statistiques envoyes par la ou les sources BYE : lorsquun participant quitte la session, il informe les participants de son dpart

60

RTP/RTCP (RFC 1889)


Len-tte dun paquet RTCP

61

RTP/RTCP (RFC 1889)


propos des rapports RR (Receiver Report)

62

Logeciels VoIP
Logiciels Libres :
Ekiga : Un client VoIP et vido-confrence, compatible SIP. Ekiga est support par Ubuntu. Wengo : Un client complet, VoIP, vido-confrence, et tlphonie, compatible SIP. twinkle : Un client VoIP, compatible SIP, et qui a pour caractristique d'tre compatible avec la tlphonie SIP de la Freebox. Jabbin : client VoIP, compatible GoogleTalk Linphone : Un client VoIP compatible SIP avec vido-confrence, "chat" et prsence. Kphone gyachi-sidetrack : utilise Ekiga et le service GTalk-To-VoIP (technologie propritaire) afin d'tre compatible avec Yahoo Messenger (pour la voix). Plus d'informations ici (en)

Logeciels VoIP
Logiciels Propritaires :
skype : un client VoIP, tlphonie et vido-confrence, il est incompatible SIP googletalk : Pour le moment incompatible linux pour la partie confrence audio ni vido. gizmo : client VoIP, compatible SIP. Depuis la version 3.0, il intgre le service GTalk-To-VoIP sous le nom "Meta-voice" ce qui permet l'interconnection avec divers rseaux VoIP. X-Lite 2.0 : client VoIP compatible SIP (pas de vido) GoSIP (propritaire)

Questions??

65

Vous aimerez peut-être aussi