Voix sur IP Généralités Paramètres IPv4 H323 / SIP Matériel constructeur Asterisk 38
Généralités Voix sur IP, ou VoIP : technologie(s) de transport de la voix, en mode paquet, par le protocole IP. Téléphonie sur IP, ou ToIP: Applications, Offres de service s appuyant sur les technologies VoIP. Différentes technologies de ToIP. Quels intérêts? «Est-ce que ça marche?» Spécificités de la voix Quels protocoles? Fonctionnement de IP et adaptation à la voix sur IP: gestion de la QoS. Choix du matériel, acteurs de la téléphonie sur IP. Services supplémentaires apportés par la VoIP. l «Outsourcing» de la téléphonie. 39
Intérêts de la VoIP Economique, suivant la taille et les équipements de l entreprise Ajouts de Services impossibles à implémenter en téléphonie classique (voir plus loin) Augmentation de la Productivité. (Plus de services disponibles, services plus facile à utiliser) Les réseaux informatiques sont en IP. Actuellement, quelque soit la taille de l entreprise, son matériel téléphonique, l utilisation faite de la téléphonie, la ToIP a un intérêt économique à moyen et long terme! Quelle ToIP choisir? Comment migrer? Faut il extérioriser? 40
Motivation pour la voix sur IP Source: Le livre blanc Voix sur IP de France Télécom Durée de vie moyenne d un PABX: 7 à 9 ans Passage inévitable à terme vers la voix sur IP 41
Motivation pour la voix sur IP Environ 14,5 millions de Pabx en France 80% prévus en IP pour l année 2010 Le pic de changement se situait théoriquement en 2006-2007 50% des terminaux sont des terminaux IP (2007). 42
Situation avant la Voix sur IP PABX classiques, postes classiques 43
Solution hybride Ajout de cartes IP sur PABX. Possibilités de terminaux classiques ou IP. Solution permettant de conserver l existant en bénéficiant des atouts de la VoIP. 44
Solution Full IP IP-PABX Terminaux IP 45
Spécificités de la voix VoIP: traiter la voix de la même façon que les données Nécessité de protocoles temps réel: RTP/RTCP Impose la mise en place de la QoS (Qualité de service). Nécessité de numériser la Voix, sans besoin de qualité. Théorème de Shannon : fech >= 8kHz (>= 2 x Fmax) 46
Codecs Norme ITU-T D e s c r i p t i o n G.711 PCM, pas de compression, 64Kbps (loi-a et loi-µ). Téléphonie standard; Très bonne qualité G.722 VoCoder (Voice Coder) large bande, 64, 56 ou 48 Kbps. Très bonne qualité G.726 Différentiel adaptatif, 16, 24, 32 et 40 kbits/s, Très bonne qualité G.727 Différentiel adaptatif, 40, 32, 24 et 16 kbits/s, Bonne G.728 Différentiel prédictif, 16 kbits/s, Bonne G.729 Différentiel prédictif; 8 Kbps. Bonne qualité G.723.1 Compression de parole; 6,4 (MPMLQ) et 5,3 Kbps (ACELP); Bonne 47
Codecs (suite) Norme ITU-T L a r g e u r E t h e r n e t G.711 ~ 88 kbits/s G.729 ~ 31 kbits/s - Presque simple au triple! - Utilisation du G.729 sur Wan 48
Paramètres de qualité Délai de transit total Classe Délai chaque sens C o m m e n t a i r e s 1 0 à 150 ms 2 150 à 300 ms Conversations sans critique de la part des interlocuteurs Provoque quelques critiques mais supportables (conversation via satellite 250 ms par saut) 3 300 à 700 ms Similaire à une communication half-duplex 4 Au-delà de 700 ms Inutilisable en pratique publique Causes de délai le délai d'échantillonnage : temps de traitement Analogique/ numérique par le codec, et vice-versa. Délai fixe. le délai d'accès au réseau : dépend du traitement et des conditions d'accès à la couche MAC. Délai variable. le délai de propagation de l information: dépend de la distance parcourue et du média utilisé (cuivre ou fibre optique). Pour parcourir 20000 km sur fibre optique, il faut plus de 67 ms. Délai fixe, sauf changement de route. le délai de transit dans les équipements réseau : délai pour traverser routeurs, multiplexeurs. Délai variable. le délai du/des tampon(s) de gigue : temps de stationnement à l'arrivée pour re-synchroniser les paquets. Délai fixe. Gigue la gigue (de phase) est la variation de ces délais.. Si trop de gigue(>40ms), conversation inintelligible. Perte de paquets (valeur acceptable: jusqu à 3%) 49
Protocoles de transport TCP Protocole fiable, assurant l envoi et la réception des flux de données : mécanismes d acquittement et de comptage Trop de contrôle, donc peu performant en termes de délais NON APPROPRIE UDP Aucun contrôle, c est un protocole simple Donc ADAPTE au transport de la voix. Attention: nécessité de mécanismes de timeout et retransmission. Les canaux sont mutualisés: donc obligation de gestion de la qualité de service : QoS. Peut-on perdre des paquets? Oui: correction de l oreille et des codecs Fortes exigences sur les délais Protocole approprié : RTP (Real Time Protocol). RTCP aide RTP dans la gestion de la QoS. 50
Protocoles pour VoIP Protocole propriétaire Cisco: SCCP (skinny client control protocol). Plus léger que le H323. Utilise le port 2000. Utilise peu de bande passante. Utilisé entre client et Call Manager Cisco. Skype (voir plus loin) MGCP: media gateway control protocol. Protocol asymétrique (client-serveur) utilisés dans centrex (voir plus loin) Messenger (utilisé par Messenger, comme d autres protocoles SIP par ex). Protocoles «ouverts» H323 SIP IAX (Asterisk) Jabber (messagerie instantanée, Google Talk) 51
H323 - Généralités H.323 : Protocole défini par l ITU en 1996 ensemble de protocoles de communication dérivé de H320: protocole RNIS gère le traitement de signalisation des données multimédias : voix, vidéo, etc.. implémenté par la totalité des opérateurs utilise TCP pour l établissement d appel gère la négociation des codecs (avec protocole H245) l échange de données s effectue au dessus de RTP (Real Time Protocol) sur UDP Les composants : Terminaux : audio ou vidéo: visio-phone, téléphone, softphone, Gatekeeper (PaBX IP): permet le routage, la conversion d adresses et la coordination des activités H.323. Media Gateway ou Passerelle : permet l interconnexion avec les autres réseaux H.32X (voir diapo suivante) MCU : unité de contrôle multipoint gestion de conférences 52
Les différentes réseaux H.32X 53
Les composants H.323 PC avec logiciel respectant les standards H.323 (netmeeting) MCU (gère les Conférences) Gatekeeper (PABX) Passerelle Assure la conversion de codecs Internet RTC Numéris PC avec logiciel Respectant les standards H.320 (netmeeting) PC avec logiciel Respectant les standards H.323 (netmeeting) Terminal H.324 54
Rôles du gatekeeper gestion des tables de correspondance entre les noms des terminaux (le nom de la personne), un numéro de téléphone E.164, une adresse e-mail et les adresses IP ; contrôle d admission : autorisation ou non de l ouverture d une communication ; gestion de la bande passante sur le réseau, le nombre maximal de conférences, d utilisateurs, etc. ; localisation des passerelles et des MCU ; routage des appels au sein de la zone et entre les zones. 55
Protocoles de la pile H.323 La norme H.323 couvre les protocoles ci-dessous (carrés blancs) avec certains éléments obligatoires (en gras). En grisé les protocoles spécifiés par les RFC sur lesquels s appuie la norme H.323 pour transporter les informations sur un réseau IP. 56
Exemple d échange protocolaire H.323 Requête au GK pour savoir si le destinataire est joignable. Le GK renvoie les paramètres de l EP2. A la réception d un appel, l EP2 vérifie la légitimité de l appel. Requêtes de présentation des capacités audio et vidéo et ouverture des canaux. Echange de données audio et vidéo 57
Signalisation d appel Q.931 Exemple d utilisation Entête Q.931 Type de message : 1 = Alerting, 2 = Call proceeding, 5 = Setup, 7 = Connect, etc. «Éléments d'information» : Bearer capability, numéro de téléphone de l'appelant, numéro de téléphone à appeler, temps de transit, etc. 58
Signalisation R.A.S (H.225) La signalisation RAS (Registration, Admission and Status) permet à toutes les entités H.323 de communiquer avec un gatekeeper afin de bénéficier de ses services. Les messages de découverte sont envoyés dans des paquets UDP, port 1718, soit à destination du gatekeeper s il est connu (son adresse ayant été configurée manuellement), soit à destination du groupe multicast 224.0.1.41. L étape suivante consiste à rejoindre la zone contrôlée par un gatekeeper en s enregistrant auprès de ce dernier. Le canal RAS utilise maintenant des paquets UDP unicasts port 1719. Ensuite, l équipement s adresse au gatekeeper pour joindre un correspondant. 59
Canal de contrôle La dernière étape : ouverture du canal de contrôle H.245. Les messages échangés permettent de négocier les fonctions prises en charge par les terminaux (Terminal Capability) : choix des codec audio et vidéo, de la résolution d image, etc., puis d affecter dynamiquement les ports UDP supportant les canaux audio et vidéo. Si une conférence à trois ou plus est demandée, la procédure désigne le MC (celui d un terminal, ou le MCU s il existe) qui sera responsable de la gérer. Puis circulent dans ce canal de contrôle les informations pour : ouvrir et fermer les canaux audio et vidéo, c est-à-dire les sessions RTP (Real-time Transport Protocol) ; de gérer les entrées et les sorties dans les conférences ; de gérer la qualité de service, grâce aux informations données par RTCP (RTP Control Protocol) et en faisant appel aux services de RSVP (Resource Reservation Protocol) pour réserver la bande passante nécessaire sur le réseau IP. 60
Le protocole SIP Né en 1999. RFC-3261 (normalisé par l IETF) SIP: Session Initiation Protocol. Protocole en charge de L établissement, le maintien et la terminaison des sessions multimédia. l authentification des équipements la localisation des participants la négociation des types de médias utilisables Sip ne transporte pas les données échangées (voix, vidéo), c est souvent RTP qui est utilisé pour cela. Mêmes équipements que H.323: hardphone et softphone. SIP est dit «HTTP-like». Il a un fonctionnement similaire à http. Mais contrairement à http, un terminal peut être client et serveur. 61
3 types d équipements Les terminaux ou User-Agent (UA): téléphones SIP, softphones, smartphones avec SIP, caméras vidéos, En théorie, possibilité de créer une session SIP entre deux UA si connaissance des adresses IP, mais on passe en général par un «Server Registar». Les «Server Registar» : gère les requêtes d enregistrement des UA pour maintenir une base de connaissance des localisations. Cela revient à avoir une base de données de relation «Adresse IP - URI SIP» Exemple: sip:prenom.nom@domaine.com 10.0.0.1 (Voir plus loin) Les «Server Proxy», servant d intermédiaire à deux UA qui ne se connaissent pas. Exemple d enregistrement Paul 152.77.63.1 REGISTER Contact: sip:paul@gtrgrenoble.fr Server Registrar Base de données 200 OK Adresse ip 152.77.63.1 Adresse SIP 62 Sip:paul@gtrgrenoble.fr
Exemple de fonctionnement: Proxy Server Serveur SIP de gtrgrenoble.fr (2) Essayez de le contacter à SIP:Paul@domaine.com (1) Invitation à une session pour SIP:Paul.Durand@gtrgrenoble.fr (5) Invitation à une session pour SIP:Paul@station12.domaine.com (4) Essayez de le contacter à : SIP:Paul@station12.domaine.com Serveur SIP de Domaine.com (3) Invitation à une session pour SIP:Paul@domaine.com Question: comment trouver le serveur SIP d une domaine? 63
Protocole SIP Messages SIP: format texte proche des messages HTTP. Requête ou réponse. 2 parties: Entête: décrit les paramètres du message et des champs spécifiques à SIP Corps: souvent vide, ou contenant un message de type SDP (Session Description Protocol). Cela indique alors des informations sur les capacités du terminal (codecs), l adresse IP, les ports. Exemple: type de message ACK BYE Confirmation de réception de la réponse à INVITE Indication de fin d appel CANCEL INVITE MESSAGE NOTIFY Annulation d une requête précédente en attente de réponse Initialisation d un appel en invitant un participant à une session SIP Messagerie instantanée de type chat Notification d événement REFER Transfert d appel REGISTER SUBSCRIBE UPDATE Enregistrement d un UA auprès de son serveur Registrar (enregistrement ou déplacement d un utilisateur) Souscription à une liste d événements auprès d un UA Mise à jour des paramètres d une session média existante 64
Protocole SIP Codes réponse 1xx 2xx 3xx 4xx 5xx 6xx Messages d information Réponses de succès Réponses de redirection Réponses d erreur client Réponses d erreur serveur Messagerie instantanée de type chat Plusieurs réponses possibles pour une seule requête Dans une réponse: ligne d état appelée status-line : numéro de version SIP, code de réponse, description associée au code. Les champs From, To, Cseq et Call-Id sont conservés. 65
Protocole SIP: champs dans requête Ligne de requête contenant la méthode, l URI et la version SIP Toutes les requêtes contiennent obligatoirement les champs To: destinataire de la requête. Contient l URI le représentant. From: source de la requête, représentée par une URI Cseq: fournit un numéro repris dans la réponse. Call-Id: identifiant d appel Max-Forwards: nombre maximum de sauts (serveurs) Via: chemin que doit prendre la réponse. A chaque passage dans un serveur, une ligne de type Via est ajoutée. URI SIP Sip: <user> : <password> @ <host> : <port> ; <uriparameters>? <headers> User: nom ou numéro de téléphone Password: Mot de passe qui transitera en clair Host: Adresse IP ou nom de machine Port: port SIP à utiliser pour contacter l UA. Par défaut 5060 (SIPS: 5061) Uri-parameter: champ optionnel (TTL, transport, etc) Headers : champs devant être présents dans le message SIP 66
Exemple d un message REGISTER et de la réponse associée Méthode utilisée Infos UA Code réponse Infos UA 67
Protocole SIP: scénario simple 68
Sip: scénario complexe (cf Wikipedia) 69
Protocole SIP: autres caractéristiques Avantages Simple, en mode texte, similaire à HTTP Ouvert, avec des documents officiels détaillés Normalisé par l IETF Fonctionne avec de nombreux types de médias (voix, vidéo, fax, musique) Passerelles avec les réseaux RTC, GSM Codecs communs avec H323 Méthode RE-INVITE: permet dans la même session de passer d un mode à l autre Inconvénients Basé sur l adresse IP!!! Problème de NAT. (pouvant être résolu par la mise en place des protocoles comme STUN) Pas encore très implanté (grand public) mais ça va venir H323, Skype, etc. proposent leurs propres réseaux 70
STUN: Simple Sip vers Registar Server Avec Adresse publique Sip Registar Appel possible Internet Serveur Stun Requête Stun pour connaitre connaître paramètres Adresse et port publics. + Réponse du serveur 71