44 0 1MB
ToIP/VoIP A la fin de ce module, l’apprenant doit être capable, de comprendre les concepts liés à la téléphonie sur IP, de déployer, d’administrer et de maintenir en fonctionnement un système de téléphonie pour les PME
Dr K. GUEYE
ToIP/VoIP Concepts généraux de la téléphonie sur IP Environnements matériels et logiciels de TOIP Les services Téléphoniques Etude détaillée et mise en œuvre de la plateforme asterisk ToIP en environnement CISCO Mise en place d’un serveur de ToIP avec Kamailio
Dr K. GUEYE
ToIP/VoIP Concepts de base de la téléphonie sur IP
La téléphonie sur IP (ToIP) à l'origine était située à la frontière de l'informatique et des
télécommunications. Aujourd'hui, cette technologie est entrain de s'imposer dans le secteur des TIC en particulier dans les entreprises
Avant, la transmission de la voix est exclusivement réservée au réseau téléphonique classique ou RTC (Réseau Téléphonique Commuté).
L'avancée technologique a changé la donne. La transmission de la voix via les réseaux IP constitue une grande évolution. Cette technologie consiste à faire transiter de la voix sur un réseau d’où le concept de Téléphonie sur IP ou (Telephony Over IP) en Anglais.
Dr. Kéba GUEYE
ToIP/VoIP Concepts de base de la téléphonie sur IP
Problématiques liées à la téléphonie sur IP
La problématique de la ToIP est liée:
au transport de la voix dans les environnements IP.
A l'origine la téléphonie était destinée au réseau télécoms. L'idée de départ:
utiliser les techniques de commutation pour arriver à une fin.
En fait, la téléphonie se faisait dans un réseau à commutation de circuit, ce qui veut dire:
créer un circuit entre les deux interlocuteurs et que ce circuit est maintenu jusqu'à la fin de la communication.
NB: même s’il existe un temps mort entre les interlocuteurs, ce circuit n’est pas utiliser à d’autres fins Dr. Kéba GUEYE
ToIP/VoIP Concepts de base de la téléphonie sur IP
Problématiques liées à la téléphonie sur IP
Le RTC (Réseau technique Commuté) est un réseau à commutation de circuit qui permet de créer un canal entre les deux interlocuteurs destinés seulement à la communication. Les opérateurs ont préféré ce réseau à cause:
des contraintes de la parole téléphonique, mais la Voix sur IP (VoIP) est devenue une application classique grâce: aux techniques de numérisations et de la capacité des terminaux.
Cependant, on se demandait
peut-on faire de la téléphonie dans un réseau IP? si oui, quelles sont les contraintes à prendre en compte? Dr. Kéba GUEYE
ToIP/VoIP Concepts de base de la téléphonie sur IP
Les contraintes de la ToIP
La
téléphonie sur IP possède les mêmes contraintes de communication temps réel que la téléphonie classique.
Les
contraintes de la ToIP sont des éléments à prendre en compte pour s'assurer qu'il est possible de faire de la téléphonie dans un environnement IP tout en assurant un minimum de qualité de la parole.
Nous distinguons:
Les contraintes physiques Les contraintes temporelles Dr. Kéba GUEYE
ToIP/VoIP Concepts de base de la téléphonie sur IP
Les contraintes de la ToIP
Les contraintes physiques Les contraintes physiques désignent
l'environnement dans lequel l'utilisateur est en production (émission d'appel). c’est-à-dire un signal qui revient dans l’oreille de l’émetteur (Echo)
La norme exige pour une bonne communication que l’echo ne soit pas gênant à l’oreille c’est-à-dire le temps de transit de la communication ne dépasse pas 28ms soit 56ms aller-retour.
Dr. Kéba GUEYE
ToIP/VoIP Concepts de base de la téléphonie sur IP
Les contraintes de la ToIP
Les contraintes temporelles La principale difficulté pour
réaliser de la téléphonie par paquet provient de la contrainte temporelle très forte due à l’interaction entre individus.
Le temps de latence, c’est-à-dire le temps qui s’écoule entre l’entrée d’un paquet
dans le réseau et son temps de sortie du réseau doit être inférieur à 300 ms si l’on veut garder une interaction humaine acceptable.
Si l’on souhaite une bonne qualité de la conversation, il ne faut pas que la latence soit supérieure à 150 ms.
Dr. Kéba GUEYE
ToIP/VoIP Concepts de base de la téléphonie sur IP
Les contraintes de la ToIP
Les contraintes temporelles La principale difficulté pour
réaliser de la téléphonie par paquet provient de la contrainte temporelle très forte due à l’interaction entre individus.
Le temps de latence, c’est-à-dire le temps qui s’écoule entre l’entrée d’un paquet
dans le réseau et son temps de sortie du réseau doit être inférieur à 300 ms si l’on veut garder une interaction humaine acceptable.
Si l’on souhaite une bonne qualité de la conversation, il ne faut pas que la latence soit supérieure à 150 ms.
Dr. Kéba GUEYE
ToIP/VoIP Concepts de base de la téléphonie sur IP
Les contraintes de la ToIP
Les contraintes temporelles L’idée est de dire que si nous voulons
respecter cette contrainte temporelle il ne faudrait pas que le canal établit entre les deux correspondants ne soit pas utilisé par d’autres fins. C’est pourquoi pour les opérateurs, un bon réseau est celui à commutation de circuit.
Pour déployer la téléphonie dans un réseau IP, il faut s’interroger ce réseau IP.
sur la nature de
De grandes discussions opposaient les informaticiens et les télécommunicants. Dr. Kéba GUEYE
ToIP/VoIP Concepts de base de la téléphonie sur IP
Les contraintes de la ToIP
Les contraintes temporelles Du côté des informaticiens, un bon réseau est un réseau à commutation de paquet
dans lequel on ne s’occupe pas de l’ordre de la transmission des paquets, vu que tous les paquets sont traités de la même façon au niveau des nœuds du réseau, donc il n’y a pas de privilèges, c’est pourquoi on dit que c’est un réseau à ‘’BestEffort’’.
Le
temps pendant lequel les paquets sont stockés est appelé temps de synchronisation.
La norme exige que ce temps ne doive pas dépassé 100ms et doit être supérieur au temps maximal de traversée.
Dr. Kéba GUEYE
ToIP/VoIP Concepts de base de la téléphonie sur IP
Les CODECS
Les
Codecs (Codeurs Décodeurs) sont des composants électroniques permettant aux circuits intégrés de gérer les différents types de flux numériques. Les codeurs interviennent dans le processus de numérisation
En téléphonie sur IP, les codecs sont repartis en deux groupes: les codecs audio : on peut citer les codecs audios suivants: •
G.711, G.729, G.723, GSM, ILBC, OPUS
•
H.261, H.263, H.264, MPEG4, VP8, VP9
les codecs vidéos : on peut citer les codecs vidéos suivants :
Dr. Kéba GUEYE
ToIP/VoIP Concepts de base de la téléphonie sur IP
Les CODECS
Le tableau ci-dessous illustre les caractéristiques des différents codecs
ACELP : Algebraic codeexcited linear prediction ADPCM : Adaptive Differential Pulse Code Modulation LD-CELP : low-delay code excited linear prediction CS-CELP :Conjugate Structure Algebraic-Code Excited Linear Prediction
Dr. Kéba GUEYE
ToIP/VoIP Concepts de base de la téléphonie sur IP
La Signalisation et Protocoles
La signalisation est l'ensemble des processus (méthodes) liées à l'ouverture, l'établissement et la fermeture de session entre deux utilisateurs.
Une bonne communication n'est possible que si les deux entités en présence s'entendent sur les règles, et les bases.
En réseau, l'ensemble des règles et des bases est appelé protocole.
Dr. Kéba GUEYE
ToIP/VoIP Concepts de base de la téléphonie sur IP
La Signalisation et Protocoles
En téléphonie sur IP, nous distinguons les protocoles de signalisation standard:
Le protocole H.323: Très utilisé à l'époque, le protocole H3.323 a été mis en marge au profit de son successeur, car jugé trop lourd à cause de nombreux en-têtes.
Le protocole SIP : standard actuel des protocoles de signalisation, SIP est plus utilisé pour les communications temps réels et ceci même sur le web (WebRTC).
Le protocole MGCP : C’est un protocole qui est utilisé pour relier deux réseaux IP utilisant deux protocoles de signalisation différentes (par exemple d’un côté nous avons SIP et de l’autre côté un réseau H.323). Le protocole MGCP est complémentaire à H.323 ou SIP, et traite des problèmes d’interconnexion avec le monde téléphonique (SS7,RI).
Dr. Kéba GUEYE
ToIP/VoIP Concepts de base de la téléphonie sur IP
La Signalisation et Protocoles
En téléphonie sur IP, nous distinguons les protocoles de signalisation standard:
Le protocole SCCP (Skinny Client Control Protocol) de Cisco, SCCP est un protocole léger qui s’occupe de la signalisation entre un téléphone IP et l’Unified Communications Manager (CUCM) de Cisco. Le flux de données repose quant à lui sur RTP.
Le protocole IAX (Inter Asterisk eXchnage) : c’est le protocole standard de signalisation propre à Asterisk. Ce protocole a la capacité de contrôler et de réguler les flux multimédias à un débit très faible. C’est ce qui le différencie du protocole SIP.
Le protocole T.38 : Ce protocole intervient dans le transfert des données le plus souvent du fax. Les données de Fax ne peuvent pas être envoyées sur le réseau de la même manière que les données d’une communication vocales. Dr. Kéba GUEYE
ToIP/VoIP Concepts de base de la téléphonie sur IP
Transport multimédia sur IP : RTP/RTCP
Des deux protocoles candidats au transport des données multimédias, l’un est « trop complet » et l’autre trop limité. Il est cependant possible de partir du protocole UDP et de lui ajouter des fonctionnalités d’ordonnancement. Le protocole RTP a été proposé à cette seule fin de reconstitution de l’ordre du flux d’origine. Pour sa part, RTCP a été conçu pour offrir une vision de l’état du réseau et permettre à une application d’adapter les flux en conséquence. Dr. Kéba GUEYE
ToIP/VoIP Concepts de base de la téléphonie sur IP
Transport multimédia sur IP : RTP/RTCP
RTP (Real-time Transport Protocol) est un protocole de transport de flux temps-réel en mode multicast ou unicast :
Conférence audio, vidéo interactive, diffusion vidéo, audio
Indépendant des couches réseaux mais habituellement implémenté au dessus de UDP/IP. Fortement couplé aux applications qu’il transporte : notion de PROFIL Combiné a un protocole de signalisation de la qualité des transmissions
Dr. Kéba GUEYE
ToIP/VoIP Concepts de base de la téléphonie sur IP
Transport multimédia sur IP : RTP/RTCP
Segmentation / Réassemblage des données
A quoi sert RTP ?
Synchronisation des flux Indication du type de données Identification de l’émetteur (communication multipoint) Détection des pertes Sécurisation des échanges (cryptage)
Dr. Kéba GUEYE
ToIP/VoIP Concepts de base de la téléphonie sur IP
Transport multimédia sur IP : RTP/RTCP
Format des paquets RTP
V pour version (sur 2 bits) : indique la version du protocole RTP utilisée. Actuellement, c’est la 2 qui est exploitée. P pour padding (sur 1 bit) : bit indiquant si un bourrage est effectué dans les champs de données du flux multimédia. X pour extension (sur 1 bit) : indique si l’en-tête possède une extension d’en-tête à sa suite CC pour CSRC Count (sur 4 bits) : nombre de sources ayant contribué à la génération du paquet. M pour marker (sur 1 bit) : indique si des descriptifs sont associés. PT (sur 7 bits) : décrit le format de données Numéro de séquence (sur 16 bits) : compteur incrémenté d’une unité entre chaque paquet. Timestamp (sur 32 bits) : estampille temporelle permettant la synchronisation des flux. SSRC pour synchronization source (sur 32 bits) : identifie la source de la synchronisation. CSRC pour contributing source (optionnel, sur n fois 32 bits) : identifie les contributeurs à la génération du paquet.
Dr. Kéba GUEYE
ToIP/VoIP Concepts de base de la téléphonie sur IP
Transport multimédia sur IP : RTP/RTCP
RTCP (Real-time Transport Control Protocol), est un protocole de contrôle et de supervision du réseau.
Il opère comme une sonde qui rend compte aux émetteurs des performances
dont la communication en cours bénéficie. Son objectif est d’offrir aux participants d’une session une vision sur l’état du réseau et de s’y adapter de façon dynamique. Il fournit
pour cela un rapport sur la qualité de distribution, incluant le délai de bout en bout, la gigue et le taux de pertes. Ce rapport est envoyé de façon périodique de façon que les intervenants disposent d’une mise à jour fréquente de l’état du réseau
Dr. Kéba GUEYE
ToIP/VoIP Concepts de base de la téléphonie sur IP
Transport multimédia sur IP : RTP/RTCP
RTCP est basé sur des transmissions périodiques de paquets de contrôle par tous les participants dans la session.
C'est un protocole de contrôle des flux RTP, permettant de véhiculer des
informations basiques sur les participants d'une session, et sur la qualité de service.
Il
existe cinq types différents de paquets RTCP pour chaque type d'information :
Dr. Kéba GUEYE
ToIP/VoIP Concepts de base de la téléphonie sur IP
Transport multimédia sur IP : RTP/RTCP
Il
existe cinq types différents de paquets RTCP pour chaque type d'information :
SR (Sender Report) contient des statistiques de transmission et de réception pour les participants qui sont des émetteurs actifs. RR (Receiver Report) contient des statistiques de réception pour les participants qui ne sont pas des émetteurs actifs mais récepteurs d’une session. SDES (Source Description) décrit la source : nom, email, tél, etc. BYE permet à une station d’indiquer la fin de sa participation à une session. APP est un paquet de signalisation spécifique à une application. Dr. Kéba GUEYE
ToIP/VoIP Environnements matériels et logiciels de ToIP les différents environnements de travail
GNS3
et le bon IOS CISCO (c3745-ipvoice_ivs-mz.124-15,T7.bin téléchargé sur le site http://tfr.org/cisco/
Asterisk, Kamailio, Freeswitch
ASTERISK 16.TAR.GZ ou plus, kamailio 4 ou plus, freeswitch 1.8.8.zip
TELEPHONES LOGICIELS
TELEPHONES LOGICIELS SIP : MICROSIP SOUS WINDOWS, ZOIPER SOUS ANDROID LINUX ET WINDOWS,
TELEPHONES SCCP : IP COMMUNICATOR DE CISCO,
blink
Dr. Kéba GUEYE
ToIP/VoIP Étude du protocole SIP
Concept de session Session
période pendant laquelle un groupe d’entité communiquent ou coopèrent via un réseau. Session multimédia : période de communication de flux multimédia entre un groupes d’entités. Exemples de session Téléconférence Conférence téléphonique Appel téléphonique
Dr. Kéba GUEYE
ToIP/VoIP Étude du protocole SIP
Session Initiation Protocol
Qu’est ce que c’est ? SIP est un protocole de signalisation extensible en mode client/serveur pour la gestion de sessions multimédia (audio, vidéo) indépendant du protocole de Transport (UDP ,TCP, IPX) car il intégrant ses propres mécanismes de fiabilité de fonctionnement;
Il utilise typiquement UDP et le n° port 5060 RFC 3261 : 170 pages (6 messages au format ASCII)
Dr. Kéba GUEYE
ToIP/VoIP Étude du protocole SIP
Session Initiation Protocol
Qui l’a développé ?
Standard proposé par le groupe de travail de l’IETF MMUSIC (Multiparty Multimedia Session Control) de Fév. 1996 à mars 1999 [RFC 2543], puis repris et amélioré par un nouveau groupe de travail appelé SIP [RFCs 3261-3265]
Dr. Kéba GUEYE
ToIP/VoIP Étude du protocole SIP
Session Initiation Protocol
A quoi sert il ?
1. Il permet aux utilisateurs de mettre en place, modifier, clore des conférences multimédia (pas seulement audio) entre deux ou « plusieurs » participants, en véhiculant l’information de contrôle nécessaire, 2. Permet d’enregistrer, de localiser et de gérer la mobilité des utilisateurs; 3. d’intégrer les applications Web avec les applications vocales et vidéo 4. de créer et contrôler des services multimédia/téléphonique de bout en bout (Instant messaging, vidéoconférence, PABX, partage d’applications …)
Dr. Kéba GUEYE
ToIP/VoIP Étude du protocole SIP
L'architecture SIP
Participants :
terminal utilisateur : logiciel ou equipement de telephonie, Le terminal est l’élément dont dispose l’utilisateur pour appeler et être appelé. serveur d’enregistrement: Le serveur d’enregistrement (Registrar Server) offre un moyen de localiser un correspondant avec souplesse, tout en gérant la mobilité de l’utilisateur serveur de localisation : Le serveur de localisation (Location Server) agit en complément au serveur d’enregistrement en permettant la localisation de l’abonné. serveur de redirection : Il agit comme un intermédiaire entre le terminal appelant et le serveur de localisation serveur proxy: Serveur Proxy: permet d'initier une communication à la place de l'appelant. Dr. Kéba GUEYE
ToIP/VoIP Étude du protocole SIP
Les messages et les requêtes SIP
Le protocole SIP utilise de nombreuses similitudes tant par les méthodes de transmission que par les messages avec le protocole HTTP. Ce qui facilite son intégration à internet. D'où le surnom de cousin de HTTP. Une communication SIP commence par une initialisation.
Dr. Kéba GUEYE
ToIP/VoIP Étude du protocole SIP
L'adressage SIP
L’objectif de l’adressage est de localiser les utilisateurs dans un réseau. C’est l’une des étapes indispensables pour permettre à un utilisateur d’en joindre un autre.
Pour localiser les utilisateurs, il faut pouvoir les identifier de manière univoque. SIP propose des moyens très performants pour nommer les utilisateurs, grâce concept d’URI, classique sur Internet.
au
Un URI définit une syntaxe permettant de désigner de manière unique, formelle et normalisée une ressource, qu’il s’agisse d’un document textuel, audio, vidéo ou plus généralement d’une entité logique ou physique.
Une ressource décrite par un URI peut être déplacée ou même supprimée.
Dr. Kéba GUEYE
ToIP/VoIP Étude du protocole SIP
L'adressage SIP
L’URI
correspondant n’en conserve pas moins de manière permanente la valeur descriptive de la ressource.
Le format d'une adresse SIP est de la forme :
sip:identifiant[:motdepasse]@ou[:port][?parametres] entre crochets : ce qui est optionnel Donc dans la forme la plus simple on a : sip:identifiant@ou ou peut être : l'IP ou le nom de l'UA l'IP ou le nom de son proxy SIP le nom du domaine de l'UA
Dr. Kéba GUEYE
ToIP/VoIP Étude du protocole SIP
L'adressage SIP
Le protocole SIP bien entendu est un protocole qui initie la communication entre deux agents SIP.
Une communication peut s’effectuer directement entre deux correspondants, sans faire intervenir d’autres entités.
Dans ce cas, l’appelant doit connaître la localisation (sous forme d’adresse IP) de la personne qu’il souhaite contacter.
Le principe d'initialisation met en évidence quatre requêtes de base.
Dr. Kéba GUEYE
ToIP/VoIP Étude du protocole SIP
Les requêtes SIP
Le format générique d'un message SIP est de la forme:
Ligne de requête d’état En-tête Corps du message
Dr. Kéba GUEYE
ToIP/VoIP Étude du protocole SIP
Les requêtes SIP
SIP n’utilise que six méthodes fondamentales pour formuler ses requêtes. Cela indique très nettement la volonté de simplicité de ses concepteurs.
L'appelant (UAC) envoie un message INVITE (requête INVITE) permet d’initier une communication en invitant un correspondant à y participer. Ce message contient les paramètres désirés pour établir la communication.
Le message ACK: Elle fait suite à l’acceptation d’un appel par l’appelé avec la méthode d’invitation, envoie la confirmation de la requête ou confirment établissement de la session. Le massage OK: Ce message spécifie que les utilisateurs peuvent ouvrir une session. Le canal de communication est disponible. Le message CANCEL: Code d'annulation de réponse, Cette méthode annule une requête dont la réponse n’est pas encore parvenue au demandeur. Elle ne permet pas d’interrompre une session, mais indique que la réponse n’est plus attendue et qu’il n’est donc pas nécessaire de traiter la requête. Le message BYE: La requête BYE permet de libérer une communication. Cette requête peut être émise indifféremment par l’appelant ou par l’appelé. Elle n’attend pas d’acquittement, puisqu’une terminaison d’appel peut être décidée unilatéralement.
Dr. Kéba GUEYE
ToIP/VoIP Étude du protocole SIP
Les requêtes SIP Les réponses aux requêtes sont envoyées sous forme de code.
Voici quelques codes de réponse 1xx = Messages d'information 100 = trying 180 = ringing 200 = OK 3xx = Messages de redirection 301 = moved permanently (identiant demande n'est plus dispo.) 302 = moved temporarily 4xx = Erreur client 401 = authorisation requise (p.ex., un registrar refuse l'enregistrement) 404 = utilisateur inexistant 486 = utilisateur occupe 5xx = Erreur serveur 500 = erreur interne 503 = service non disponible (p.ex., serveur surcharge)
Dr. Kéba GUEYE
ToIP/VoIP Étude du protocole SIP
Les requêtes SIP Les champs d'en-tête
Chaque champ de l'en-tête a la forme Champ: Valeur. Champs principaux pour les messages INVITE : From | URI de l'appelant To | URI de l'appele Call-Id | id. d'un appel User-Agent | type de l'UA Via | liste des UAs/Proxys par lequel le message est passe (IPs + ports) La réponse au message suivra ce même chemin. Content-Type | type MIME du contenu Max-Forwards | nombre max. de proxys par lesquels un message peut transiter (permet d’éviter les boucles) Dr. Kéba GUEYE
ToIP/VoIP Étude du protocole SIP
Les requêtes SIP
Le corps du message Le corps du message est optionnel. Il contient le descriptif des paramètres de la session : IP + port a utiliser pour le flux RTP medias souhaites pour la communication codecs disponibles parametres des codecs ... On le trouve principalement dans un message INVITE (param. fournis par l'appelant) un message OK envoyé en réponse a un INVITE (param. fournis par l'appelé) Il peut être au format HTML ou SDP (Session Description Protocol).
Dr. Kéba GUEYE
ToIP/VoIP Étude du protocole SIP
1 INVITE sip :411 @ideasip . com SIP /2.0 Les requêtes SIP 2 CSeq : 1 INVITE 3 Via : SIP /2.0/ UDP 192.168.1.6:5060 4 Via : SIP /2.0/ UDP 157.12.54.87:5060 5 Via : SIP /2.0/ UDP 54.21.4.7:5060 6 User - Agent : Ekiga /4.0.1 7 From : 8 Call -ID: 54 d5b754 -cdbe -e611 -885 f 9 To: 10 Content - Length : 458 11 Content - Type : application / sdp 12 Max - Forwards : 70 13 14 v=0 15 o=- 1481542778 1 IN IP4 192.168.1.6 16 s= Ekiga /4.0.1 17 c=IN IP4 192.168.1.6 18 t=0 0 19 m= audio 54678 RTP / AVP 116 0 8 101 20 a= sendrecv 21 a= rtpmap :116 Speex /16000/1 22 a= rtpmap :8 PCMA /8000/1 23 a= rtpmap :101 telephone - event /8000 24 a= fmtp :101 0 -16 ,32 ,36 25 ...
En-têete (lignes 1 a 12) ligne 1 | ligne de requête avec type de la requête, URI de l'appele et num. de version SIP lignes 3-5 | le INVITE a ete emis par l'UA 192.168.1.6:5060. Il est ensuite passe par les proxys 157.12.54.87:5060 et 54.21.4.7:5060 lignes 7-9 | URIs de l'appelant et de l'appele ligne 11 | format du contenu du message = SDP Corps (lignes 14 et suivantes) ligne 17 | IP a utiliser pour le flux RTP= 192.168.1.6 ligne 19 | port UDP a utiliser pour le flux RTP = 54678 ligne 20 et suivantes | autres info. RTP (media utilises, codecs, . . . )
Dr. Kéba GUEYE
ToIP/VoIP Étude du protocole SIP
Scenario SIP 1 | Enregistrement d'un UA [email protected] s'enregistre auprès de son registrar Quand a lieu l'enregistrement ? A l'ouverture du softphone, au branchement du telephone IP, . . .
Un 1èr message REGISTER contient l'identiant. Le serveur refuse et envoie un algo de chiffrement (md5 ici). Un 2em message REGISTER contient identiant + mot de passe crypte
Dr. Kéba GUEYE
ToIP/VoIP Étude du protocole SIP
Scenario SIP 2 | Appel direct
Dr. Kéba GUEYE
ToIP/VoIP Étude du protocole SIP
Scenario SIP 3 | Appel passant par un proxy [email protected] appelle [email protected] en contactant directement le proxy de info.edu
Dr. Kéba GUEYE
ToIP/VoIP Étude du protocole SIP
Scenario SIP 4 | Appel passant par deux proxys
[email protected] appelle [email protected] en passant par son proxy
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Concepts
Asterisk est une solution de téléphonie sur IP, Open Source. Il s’agit donc d’une solution gratuite, avec une communauté très active. Il a été développé par la société Digium. Asterisk est disponible sous Linux et Windows, même si la version Linux utilisée est de loin la moins rependue. Il fait office d’IPBX, mais il est aussi capable de s’interfacer avec un réseau de téléphonie analogique, à l’aide de cartes additionnelles. Asterisk peut donc faire office d’IPBX et de PABX. Un serveur Asterisk permet donc de faire de la VoIP ainsi que de la téléphonie analogique. En plus d’être gratuit, Asterisk est donc aussi très complet et supporte de très nombreux codecs audio, dont le G.711 (u-Law et a-Law), le G.729, Opus, ...
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Les Fonctionnalités d’Asterisk
Conférence Musique d’attente File d’attente Groupement d’appel Messagerie vocale Transfert d’appel Transcodage entre différents codecs Interface de développement de services (ARI Notification mail en cas de message (avec message audio en PJ) IVR (standard automatique avec choix au clavier) Synthèse vocale Chiffrement des appels Ne pas déranger Parking d’appel Failover Etc...
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Les services à valeur ajoutée de Asterisk
Définition d’un service à valeur ajoutée: Service venant en sus des services de bases. Comment créer des services à valeurs ajoutées: La téléphonie présente beaucoup d’information mais pas assez pour être qualifiées de valeurs ajoutées . Il faut prendre des informations en dehors du système de téléphonie.
Il faut que ces informations aient une action sur le comportement de la téléphonie Où ces services sont-ils développés? DirectementdansleDialplanAsterisk AGI/AMI Par des applications tiers interagissant avec Asterisk Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Les services à valeur ajoutée de Asterisk
Le Dialplan Asterisk Plus de 169 Applications
Plus de 135 Fonctions
Les AGI Extensions du Dialplan vers des applications extérieurs Pas de langage, seulement des prérequis(E/S) Distribution sur des serveurs tiers
Rapidité, souplesse d’execution
L’AMI (Asterisk Manager API) Interaction bilatérale Capacité équivalente au Dialpaln (en théorie) Connexion simple depuis un tiers
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Supervisez vos serveurs
CDR (Call Détail Reporting) Stockage depuis une BDD (MySQL, PostgreSQL, MSSQL) SNMP:Au niveau du serveur et de Asterisk Nagios, Cacti,… AMI: Application temps réel GRTD, Flash Operator Panel,…
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Les performances de bases
Depuis le Dialplan Le temps d’exécution du diaplan dépend du nombre de lignes et du type d’applications appelées.
Possibilités de blocage de la téléphonieforte Depuis l’AMI Nombre d’information élevé, voir très élevé, àtraiter.
Nombre de connexion à l’AMI limitée (qq. Dizaines) Depuis les BDD Limitations de son type et de la configuration de la BDD Informations asynchrones=>Temps pas si reels… Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Augmenter les performances
Depuis le Dialplan La formation et l’expérience vous permettront d’avoir des dialplan plus fluides Depuisl’AMI Dans le cas d’un grand nombre d’événements (env.100 appels), dédié un serveur au traitement.
Utiliser l’excellent programme de Proxy AMI de DaveTroy Depuis les BDD Back to school: revoyez les fondamentaux de l’administration de BDD
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Installation et Configuration
Il y a deux façons d’installer Asterisk soit par la commande apt-get install asterisk soit par source c’est-à-dire installé la version tar de asterisk puis le compiler. Installation voir tutoriel partagé
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Étude des principaux fichiers de configuration de Asterisk
Appels entre terminaux
extensions.conf, sip.conf, iax.conf, skinny.conf, unistim.conf
Parking
features.conf
Messagerie vocale
voicemail.conf
Conférence
meetme.conf
Centre d’appels
queues.conf, agents.conf
Musique d’attente
musiconhold.conf
Informations sur les différents répertoires asterisk.conf
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Explication du rôle de quelques fichiers d’Asterisk
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Explication du rôle de quelques fichiers d’Asterisk
Pour les versions 18 de Asterisk, il existe au moins deux types de canaux : le SIP e le PJSIP qui ne peuvent pas être activés à la fois. Donc pour éviter un conflit entre les deux canaux, il faudra éditer le fichier modules.conf et décharger le module qui gère le canal qui ne vous intéresse pas.
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Présentation des quelques Fonctionnalités d’asterisk
appels vocaux (codecs audio : g711,g729,ilbc,opus) appels video : il faut activer les codecs video(h263,h264,vp8 ou vp9) Moralité : il faut installer installer certains prérequis pour que asterisk active certaines fonctionnalités. Par exemple: Activation de la langue française sur Asterisk Éditer le fichier sip.conf et remplace languange=en en languange=fr
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Présentation des quelques Fonctionnalités d’asterisk
ensuite faire les actions suivantes # adduser asterisk # mkdir /var/lib/asterisk/sounds/fr # cd /var/lib/asterisk/sounds/fr # wget -O core.zip https://www.asterisksounds.org/fr-fr/download/asterisk-soundscore-fr-FR-sln16.zip # wget -O extra.zip https://www.asterisksounds.org/fr-fr/download/asterisk-soundsextra-fr-FR-sln16.zip # unzip core.zip # unzip extra.zip # chown -R asterisk.asterisk /var/lib/asterisk/sounds/fr # find /var/lib/asterisk/sounds/fr -type d -exec chmod 0775 {} \;
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Présentation des quelques Fonctionnalités d’asterisk Boites vocales ; si on appelle un utilisateur et qu’il ne répond pas au bout d’un certain temps alors on est invité à lui laisser un message vocal
Moralité: nous sommes dans un pays francophone, il est important de choisir les sons en français au moment de l’installation NB : Quand un utilisateur a un message vocal, il faut prévoir un numéro lui permettant de consulter sa boite vocale.
Conférences audio et vidéo : Quand il y a plus de trois personnes qui communiquent en même temps
NB : une conférence doit avoir un modérateur, La politique de gestion d’une conférence ( musique d’attente, faut -il supprimer la conférence quand tout le monde se déconnecte ?, faut-il autoriser des utilisateurs à enregistrer la conférence. Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Présentation des quelques Fonctionnalités d’asterisk Centre d’appels: principe de centre d’appels : Au niveau d’un centre d’appels :
on peut créer plusieurs files d’attente appelées queues : chaque file d’attente, on attribue une fonction, un numéro et des agents appelés à gérer la communication dans la file d’attente:
comment personnaliser la musique d’attente ? Comment personnaliser la sonnerie d’un utilisateur? comment personnaliser la sonnerie selon l’appelant ?
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Mise en œuvre des concepts d’asterisk Gestion des comptes
Création de compte SIP
Syntaxe générale [utilisateur1]; début du bloque de création de compte SIP. Type = friend; type de compte Host = dynamic; adresse IP adresse du serveur (PABX) User = utilisateur1; nom d’utilisateur Secret = mysecret; mot de passe en clair Context = entreprise; contexte dans le quelle compte est associé. Mailbox = 102@entreprise; numéro de la boîte vocale associée. Language = fr; langue associé au compte Dtmfmode = rfc2833; Nat = yes; activation du nat (Network adress translation) sur le réseau Callerid = XXX Pickupgroup =1; pour récupérer l'appel d'un téléphone qui sonne depuis un autre poste callgroup=1;pour attribuer un canal a tine ou plusieurs familles de poste
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Mise en œuvre des concepts d’asterisk compte utilisateurs
Un utilisateur a besoin d’un compte les comptes utilisateurs sont crées dans le fichier /etc/asterisk/sip.conf Exemple [bouki]; nom du compte defaultuser=bouki; nom de user secret=passer; mot de passe de l'user type=friend ; user est autorise a appele et recevoir context=esp host=dynamic; user peut utiliser a partir de tout ip
[sylla] defaultuser=sylla secret=passer type=friend context=esp host=dynamic
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Mise en œuvre des concepts d’asterisk Création de contexte(groupe d’appels) et numéro de téléphone
Les groupes d’appels et les actions sont définis dans le fichier /etc/asterisk/extensions.conf Dans un contexte on fait un ensemble d’action avec des priorités la formule exten => numero, priorite, action Principales actions :
Dial() appeler Hangup veut dire raccrocher Voicemail() envoyer l’appelant vers une boite vocale pour qu’il laisse un message à l’appelé VoicemailMain() : envoyer l’utilisateur vers sa boite vocale pour lire les messages qu’on lui a laissés Answer() : decrocher
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Mise en œuvre des concepts d’asterisk Création de contexte(groupe d’appels) et numéro de téléphone
Voici le tableau donnant quelques actions d’asterisk appelées applications qu’on utilise dans le fichier /etc/asterisk/extensions.conf
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Mise en œuvre des concepts d’asterisk Création de contexte(groupe d’appels) et numéro de téléphone
Voici le tableau donnant quelques actions d’asterisk appelées applications qu’on utilise dans le fichier /etc/asterisk/extensions.conf
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Mise en œuvre des concepts d’asterisk Création de contexte(groupe d’appels) et numéro de téléphone
Voici le tableau donnant quelques actions d’asterisk appelées applications qu’on utilise dans le fichier /etc/asterisk/extensions.conf
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Mise en œuvre des concepts d’asterisk Création de contexte(groupe d’appels) et numéro de téléphone
Exemple de création de contexte ESP et des numéros de téléphone [ESP] exten=>1000,1,Dial(SIP/bouki,40,tr) exten=>1000,2,Hangup exten=>602,1,Answer() exten=>602,2,VoicemailMain(@default) NB : l’action hangup étant par défaut, on n’est pas obligé de le mettre Regle1 d’asterisk : quand un utilisateur compose un numéro, on cherche le numéro composé dans son contexte
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Mise en œuvre des concepts d’asterisk Création de contexte(groupe d’appels) et numéro de téléphone
Règle 2 : inclusion de contexte le fait d’inclure le contexte1 dans contexte2 fait que les users de contexte 2 peuvent appeler les users de contexte1 Exemple: Nous voulons que fall qui se trouve dans le contexte RTN puisse appeler bouky et sylla se trouvant dans le contexte ESP, mais les 2 derniers n’ont pas le droit d’appeler fall, on fait appel à la notion d’inclusion de contextes. Exemple : dans le fichier extensions.conf [ESP] exten=>1000,1,Dial(SIP/bouky,40,tr) exten=>1000,2,Hangup exten=>1001,1,Dial(SIP/sylla,40,tr) [RTN] include=>ESP exten=>1003,1,Dial(SIP/fall,40,tr) Ici, fall peut appeler kouky et sylla mais bouky et sylla ne peuvent appeler fall
NB : type=user ; cela ne peut qu’appeler mais ne peut pas recevoir des appels type=peer ; cela veut que le téléphone ne peut que recevoir des appels mais ne peut pas appeler
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Mise en œuvre des concepts d’asterisk Boites vocales et les contextes de BV
La messagerie vocale est utilisée pour laisser un message à votre correspondant au cas où il n'est pas disponible. La configuration se fait au niveau du fichier voicemail.conf. Regles 3 : Principe de BV [contextebv] numero de la boite=>mot de passe exemple dans voicemail.conf [LITA] 1000=>1234,bouky 1001=>4321, sylla 1003=>2222, fall
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Mise en œuvre des concepts d’asterisk Boites vocales et les contextes de BV
La messagerie vocale est utilisée pour laisser un message à votre correspondant au cas où il n'est pas disponible. La configuration se fait au niveau du fichier voicemail.conf. Le fichier voicemail.conf est composé de plusieurs sections: -[general] -[default]
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Mise en œuvre des concepts d’asterisk Attribuer à un utilisateur une boite vocale
L’information est à ajouter dans le fichier compte de l’utilisateur et dans le fichier extensions.conf grâce à l’application VoiceMail Exemple: [ESP] exten=>1000,1,Dial(SIP/bouky,40,tr) exten=>1000,2,Voicemail(1000@LITA) NB : formule générale de Voicemail Voicemail(numerodelaboite@contextedelaboite) une boite a son propre contexte différent des contextes d’appels
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Mise en œuvre des concepts d’asterisk Attribuer à un utilisateur une boite vocale
créons le numéro 602 et l’affectons comme numéro de consultation de boites vocales de contexte LITA comme suit : [ESP] exten=>1000,1,Dial(SIP/bouky,40,tr) exten=>1000,2,Voicemail(1000@LITA) exten=>1000,3,Hangup exten=>1001,1,Dial(SIP/sylla,40,tr) exten=>602,1,VoicemailMain(@LITA) Ensuite, sur l’interface d’asterisk, on fait reload pour recharger la configuration, bouky compose ensuite 602 et on l’invite à saisir son numéro de boite vocale qui est 1000 et ensuite de saisir son mot de passe de boite qui est 1234 puis on le guide pour son message.
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Mise en œuvre des concepts d’asterisk Visiophonie et codecs vidéo
on commence la prise du support dans le fichier /etc/asterisk/sip.conf pour cela, rechercher videosupport et on enlever le point-virgule devant la ligne On ajoute les codecs vidéo (h263,h264,vp8) sur les comptes des utilisateurs [bouky]; nom du compte defaultuser=bouky; nom de user secret=passer; mot de passe de l'user type=friend ; user est autorise a appele et recevoir context=ESP host=dynamic; user peut utiliser a partir de tout ip allow=h263,h264,vp8
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Mise en œuvre des concepts d’asterisk La visioconférence de base
Le Principe est de mettre en communication plus de 3 personnes.
Créer une conférence dans le fichier confbridge.conf Créer le numéro de la conférence dans extensions.conf Pour accéder à la conférence, on compose son numéro
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Mise en œuvre des concepts d’asterisk Mise en place d’un centre d’appels
Le Principe pour le mettre en place :
Définir une file d’attente composée des agents qui vont répondre au téléphone Attribuer à la file d’attente un numéro
Lorsqu’un utilisateur compose le numéro de la file d’attente, on lui joue de la musique d’attente avant qu’un agent disponible ne prenne l’appel. Les fichiers impacter sont:
queues.conf pour la file d’attente extensions.conf pour attribuer un numéro à la file d’attente Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Mise en œuvre des concepts d’asterisk Mise en place d’un centre d’appels
Donc, on va commencer par mettre des classes de musique
Une classe de musique est un ensemble de sons hébergés sur le serveur de ToIP ou en Réseau (webradio par exemple) Elle est définie dans le musiconhold.conf et peut aussi être utilisée pour personnaliser la sonnerie des utilisateurs
syntaxe cas fichiers son en local [nomdelaclasse] mode=custom directory=chemin_du_dossier_des_fichiers_son application= chemin_du_lecteur_de_son
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Mise en œuvre des concepts d’asterisk Mise en place d’un centre d’appels
il faut copier au format mp3 dans le dossier que vous avez précisé dans le paramètre directory de votre classe de musique.
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Mise en œuvre des concepts d’asterisk Mise en place d’un centre d’appels
Définir un numéro dans extensions.conf pour écouter de la musique avec l’action musicOnhold comme le montre l’image suivante.
NB : il faut installer le lecteur de sons par la commande : apt-get install mpg123
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Mise en œuvre des concepts d’asterisk Mise en place d’un centre d’appels
Il y’a aussi la possibilité de jouer de la musique en ligne (webradio).
La syntaxe pour le cas de fichiers son reçus par webradio
[nomdelaclasse] mode=custom application= chemin_du_lecteur_de_son url_de_la_webradio
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Mise en œuvre des concepts d’asterisk Mise en place d’un centre d’appels
Ajouter les lignes suivantes dans le fichier extensions.conf
Maintenant les utilisateurs qui veulent écouter du web radio appellent le numéro 7001.
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Mise en œuvre des concepts d’asterisk Mise en place d’un centre d’appels Personnalisation de la sonnerie d’un utilisateur
Il y’a aussi la possibilité de personnaliser la sonnerie d’un utilisateur en choisissant la classe de musique qu’on veut lui faire jouer avec l’option m dans l’action Dial comme:
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Mise en œuvre des concepts d’asterisk Mise en place d’un centre d’appels Création d’une file d’attente d’un centre d’appels
On doit définir pour chaque file d’attente la politique de répartition des appels entre les agents et la classe de musique à utiliser comme musique d’attente. La politique est définie a travers le paramètre strategy Exemple
strategy=ringall alors tous les telephones des agents vont sonner en mème temps à l’arivéee d’un appel strategy=fewestcalls alors l’agent qui a recu le moins sera celui a qui le prochain appel sera envoyé Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Mise en œuvre des concepts d’asterisk Mise en place d’un centre d’appels Création d’une file d’attente d’un centre d’appels
Exemple de création de la file d’attente Forum dans le fichier queues.conf
NB : la ligne member =>Local/1002@ToIP permet d’ajouter le numero 1002 du contexte ToIP comme agent de la file d’attente Forum Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Configuration basique de Asterisk Fonctionnalités de base
Mise en place d’un centre d’appels
Création d’une file d’attente d’un centre d’appels
Ensuite on définit un numéro pour joindre la file d’attente dans extensions.conf avec l’action Queue comme
la commande queue show nom_de_file_attente permet de voir des informations sur la file d’attente
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Configuration basique de Asterisk Fonctionnalités de base
Mise en place d’un centre d’appels
Création d’une file d’attente d’un centre d’appels
On peut administrer une file d’attente depuis l’interface d’asterisk. Voici quelques commandes d’ajout ou de suppression d’un agent d’une file d’attente
mail*CLI> queue add member SIP/Omar to Forum c’est pour ajouter le téléphone de sylla comme agent devant répondre aux appels entrant la file d’attente Forum mail*CLI> queue remove member SIP/Omar from Forum Pour retirer le telephone de Omar de la file d’attente Forum Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Configuration basique de Asterisk Fonctionnalités de base
Mise en place d’un centre d’appels
Création d’une file d’attente d’un centre d’appels
Il y’a aussi la possibilité de personnaliser la musique d’attente lorsque tous les agents de la file sont en communication. Par exemple l’utilisateur qui appel on lui fait écouter une classe musicale avant qu’un agent décroche. Pour cela on ajoute la priorité 2 comme:
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Configuration basique de Asterisk Fonctionnalités de base
Mise en place de la boite vocale interactive: IVR IVR personnalisé Il faut créer un numéro qui permet l’enregistrement des Sons à lire. Par défaut les sons enregistrer sont contenus dans le repertoire /var/lib/asterisk/sounds/ Dans le fichier extensions.conf la configuration pour enregistrer les sons sont:
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Configuration basique de Asterisk Fonctionnalités de base
Mise en place de la boite vocale interactive: IVR IVR personnalisé Pour lire le son toujours dans le fichier extensions.conf, il faut définir un numéro pour chaque son enregistré. La syntaxe est la suivante:
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Configuration basique de Asterisk Fonctionnalités de base
Mise en place de la boite vocale interactive: IVR IVR personnalisé Puis définir le contexte de livre et les actions à effectuer. Dans la figure suivante, on définit comment joindre 2 numéros 100 et 110 en appuyant sur 1 ou 2 selon les spécifications
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Configuration basique de Asterisk Fonctionnalités de base
Mise en place de la boite vocale interactive: IVR IVR avec googleTTS Pour faire parler Asterisk, nous allons installer un moteur de synthèse vocale (Text To Speech) et nous allons mettre en place celui de Google appelé GoogleTTS. Tout d’abord GoogleTTS à besoins de quelques dépendances pour fonctionner: #apt-get install perl libwww-perl sox mpg123
Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Configuration basique de Asterisk Fonctionnalités de base
Mise en place de la boite vocale interactive: IVR IVR avec googleTTS Puis, aller dans le dossier /var/lib/asterisk/agi-bin/ et y mettre le fichier googletts.agi qui est le script pour mettre en place la synthèse vocale. #cd /var/lib/asterisk/agi-bin #wget https://raw.github.com/zaf/asterisk-googletts/master/googletts.agi #chmod +x googletts.agi Maintenant nous allons mettre en place un véritable IVR qui va permettre d’appeler nos utilisateurs 100 et 110. Dr. Kéba GUEYE
ToIP/VoIP Étude d’Asterisk
Configuration basique de Asterisk Fonctionnalités de base
Mise en place de la boite vocale interactive: IVR IVR avec googleTTS
Dr. Kéba GUEYE
ToIP/VoIP ToIP dans l’environnement CISCO
CISCO en plus de sa large gamme de serveurs et de solutions informatiques qu’il nous offre, il met à la disposition du monde des solutions de ToIP derniers cri. Parmi lesquelles nous avons : Le Cisco Unified Communications Manager (CUCM) : Qui est un système de communication basé sur IP intégrant la voix et la vidéo. Il fait partie d’un ensemble de produits de la gamme VoIP de CISCO. Il est utilisé pour de très grandes entreprises dont le nombre du personnel est assez important. Le Cisco Unified Communication Manager Express (CUCME) ou CME : Qui est un système de communication basé aussi sur IP intégrant la voix et la vidéo, tournant sur des routeurs avec des IOS adaptés. Le CallManager Express est fait pour les PME.
Dr. Kéba GUEYE
ToIP/VoIP ToIP dans l’environnement CISCO
Le protocole SCCP Skinny Call Control Protocol (SCCP) est un protocole propriétaire Cisco évoluant au niveau de la couche application du modèle OSI et utilisant le port 2000. Il est utilisé pour la gestion des appels téléphoniques et de la signalisation. SCCP est supporté nativement dans le CUCM, et est exclusivement utilisé entre un serveur SCCP et des clients SCCP.
Dr. Kéba GUEYE
ToIP/VoIP ToIP dans l’environnement CISCO
Le protocole SCCP
Étapes d’enregistrement d’un client SCCP Lorsqu’on connecte un téléphone avec le protocole SCCP, il y a plusieurs étapes pour que ce téléphone soit utilisable : 1. Le téléphone charge l’image enregistré en mémoire. 2. Avec le protocole CDP, le téléphone découvre quel VLAN utiliser (Voice VLAN). 3. Le téléphone envoie une requête DHCP pour connaître son adresse IP. Il reçoit de plus de la part du serveur DHCP l’adresse du serveur TFTP. 4. Le téléphone envoie une requête au serveur TFTP pour récupérer sa configuration au préalable créer par le CUCM lorsque l’on créer le téléphone. 5. Le téléphone vient s’enregistrer dans le CUCM.
Dr. Kéba GUEYE
ToIP/VoIP ToIP dans l’environnement CISCO
Le protocole SCCP
Étapes d’enregistrement d’un client SCCP Note 1 : C’est le CUCM qui gère la signalisation ainsi que le routage des appels. Note 2 : Un CUCM et/ou CME est capable de piloter autant des téléphones SCCP que des téléphones SIP selon les configurations encours.
Dr. Kéba GUEYE
ToIP/VoIP ToIP dans l’environnement CISCO
Le protocole SCCP
Processus d’attachement d’un terminal SIP à un système TOIP CISCO Grace aux fichiers dev config des téléphones sip stockés sur un serveur TFTP, on peut, entre autres, personnaliser les touches(boutons) de téléphones sip haut de gamme
NB : de convaincre un client pour qu’il adopte des solutions de toip : a- Solutions purement cisco (controleurs cisco-telephones cisco) b- solutions hybrides ( controleur sous linux et telephones cisco) c- soluions d’interco de controleur cisco et controleur TOIP libre
Dr. Kéba GUEYE
ToIP/VoIP ToIP dans l’environnement CISCO
Concepts de TOIP avec CUCME
un serveur sccp ecoute par defaut sur le port 2000
Les grands principes de config de serveur sccp les grands principes de conf de serveur sip cisco Necessité d’avoir un serveur dhcp configuré avec l’option 150 pour indiquer aux telephones l’adresse ip du serveur TFTP un cme sip peut fonctionner en mode de serveur de secours(srst) ou controleur toip (cme)
Dr. Kéba GUEYE
ToIP/VoIP ToIP dans l’environnement CISCO
Configuration d’un CUCME ou CME
Dans nos travaux pratiques, nous allons utiliser l’IOS 3745-ipvoice_ivs-mz.124-15,T7.bin . téléchargé sur le site http://tfr.org/cisco/37xx/3745/ aussi GNS3 en utilisant le cloud pour permettre à notre routeur CUCME de communiquer avec le réseau physique. On va utiliser le softphone sccp Cisco du nom de cisco ip communicator qui sera installé sur une Machine window ou linux Voici un tableau comparatif des commandes CUCME SCCP et SIP
Dr. Kéba GUEYE
ToIP/VoIP ToIP dans l’environnement CISCO
Configuration d’un CUCME ou CME
Voici un tableau comparatif des commandes CUCME SCCP et SIP
Dr. Kéba GUEYE
ToIP/VoIP ToIP dans l’environnement CISCO
Configuration d’un CUCME ou CME
Voici un tableau comparatif des commandes CUCME SCCP et SIP
Dr. Kéba GUEYE
ToIP/VoIP ToIP dans l’environnement CISCO
Configuration d’un CUCME ou CME
Fixons l’adresse IP du routeur à 192.168.43.215 Cisco et testons que le routeur peut joindre la machine 192.168.43.1 de notre réseau. R1#conf t R1(config)#int fa0/0 R1(config-if)#ip add R1(config-if)#ip address 192.168.43.215 255.255.255.0 R1(config-if)#no sh R1(config-if)#
Dr. Kéba GUEYE
ToIP/VoIP ToIP dans l’environnement CISCO
Configuration d’un CUCME ou CME
Activons le service SCCP en précisant le port d’écoute à 2000 et créons 3 numéros de téléphones R1(config)#telephony-service R1(config-telephony)#ip source-address 192.168.100.90 port 2000 R1(config)#ephone-dn 2 R1(config-telephony)#max-ephones 10 R1(config-ephone-dn)#number 2002 R1(config-telephony)#max-dn 10 R1(config-ephone-dn)#exit R1(config-telephony)#create cnf-files R1(config)#ephone-dn 3 R1(config-telephony)#exit R1(config-ephone-dn)#number 2003 R1(config)#ephone-dn 1 R1(config)#telephony-service R1(config-ephone-dn)#number 2001 R1(config-telephony)#auto assign 1 to 10 R1(config-ephone-dn)#exit R1(config-telephony)# Avec la commande auto assign 1 to 10. On attribuera les numéros au téléphone dans l’ordre de connexion. On peut passer à la configuration des téléphones comme suit en allant dans le menu première icône du téléphone, puis préférence et réseau et on remplit l’adresse IP du routeur SCCP
Dr. Kéba GUEYE
ToIP/VoIP ToIP dans l’environnement CISCO
Configuration d’un CUCME ou CME
Configuration du serveur SIP
R1(config)#voice register global R1(config-register-global)#mode cme
R1(config-register-global)#source-address 192.168.43.215 port 5060
R1(config-register-global)#max-dn 5 R1(config-register-global)#max-pool 5 R1(config-register-global)#auth R1(config-register-global)#authenticate register R1(config-register-global)#time-format 24 R1(config-register-global)#date-format D/M/Y R1(config-register-global)#tftp-path flash: R1(config-register-global)#create profile
Autorisation du service sip et activation du routeur en tant que serveur d’enregistrement SIP R1(config)#voice service voip R1(conf-voi-serv)#allow-connections sip to sip R1(conf-voi-serv)#sip R1(conf-serv-sip)#registrar server
Dr. Kéba GUEYE
ToIP/VoIP ToIP dans l’environnement CISCO
Configuration d’un CUCME ou CME
Création du numéro de téléphone 3000
R1(config)#voice register dn 1 R1(config-register-dn)#number 3000 R1(config-register-dn)#name Mame Bousso R1(config-register-dn)#label Mame chef de la classe R1(config-register-dn)#exit R1(config)#
Création de compte sip 3000 avec le mot de passe passer R1(config)#voice register pool 1 R1(config-register-pool)#id mac 0000.0000.3000 R1(config-register-pool)#type 7965 R1(config-register-pool)#number 1 dn 1 R1(config-register-pool)#codec g711ulaw R1(config-register-pool)#username 3000 password passer R1(config-register-pool)#exit R1(config)#
Paramétrer un téléphone SIP avec le compte 3000 et comme mot de passe passer. Constater que sur l’interface du routeur le téléphone SIP s’est bien connecté. Dr. Kéba GUEYE
ToIP/VoIP ToIP dans l’environnement CISCO
Trunk entre un serveur Asterisk et un serveur CME
L’architecture du réseau téléphonique d’une entreprise pourrait se composer de deux solutions :
une solution propriétaire (le CME dans notre cas); et une solution Libre (Asterisk dans notre cas).
Pour unifier ce réseau, il faut donc interconnecter ces deux serveurs. Le but de cette interconnexion est de permettre aux abonnés du CME d’appeler ceux d’Asterisk et inversement.
Dr. Kéba GUEYE
ToIP/VoIP ToIP dans l’environnement CISCO
Trunk entre un serveur Asterisk et un serveur CME Configuration côté Asterisk
Nous allons créer trois comptes. Le dernier sera le compte du serveur SIP distant [300] username=300 host=dynamic context = LITA secret = passer type=friend callerid=« Mame" mailbox=300@LITA
Le compte du SIP côté CME [cmeasterisk] username= cmeasterisk secret=passer type=friend host = 192.168.43.215 ; l’adresse IP du CME context=LITA qualify=yes dtmfmode=rfc2833 allow=ulaw insecure=port,invite careinvite=yes Dr. Kéba GUEYE mailbox=cmeasterisk@LITA
ToIP/VoIP ToIP dans l’environnement CISCO
Trunk entre un serveur Asterisk et un serveur CME Configuration côté Asterisk
Dans extensions.conf définir le contexte des utilisateurs et les critères d’envoi des appels vers le serveur SIP distant. [LITA] exten => _3XX,1,Dial(SIP/${EXTEN},20,tr) exten=>_2XXX,1,Dial(SIP/cmeasterisk/${EXTEN},20)
Recharger Asterisk avec la commande reload, dans sa console bien-sûr ! Dès que vous finissez cette étape, vous pouvez voir que le CME est automatiquement devenu un client de Asterisk. Par la commande sip show peers Dr. Kéba GUEYE
ToIP/VoIP ToIP dans l’environnement CISCO
Trunk entre un serveur Asterisk et un serveur CME Configuration du CME
De la même manière nous avons indiqué à Asterisk le processus pour joindre les utilisateurs du CME, nous ferons de même sur le CME afin de permettre à ses utilisateurs de pouvoir joindre ceux d’Asterisk.
Authentification du compte R1(config)#sip-ua R1(config-sip-ua)#authenticate username cmasterisk password passer R1(config-sip-ua)#sip-server ipv4:192.168.43.215 R1(config-sip-ua)#exit
Dr. Kéba GUEYE
ToIP/VoIP ToIP dans l’environnement CISCO
Trunk entre un serveur Asterisk et un serveur CME Configuration du CME Le CME aussi a un plan de numérotation Il faudra apprendre au CME comment joindre les clients Asterisk en activant le codec audio g711 R1(config)#dialplan-peer voice 2 voice R1(config-dial-peer)#destination-pattern 3.. R1(config-dial-peer)#session protocol sipv2 R1(config-dial-peer)#session target sip-server R1(config-dial-peer)#codec g711ulaw R1(config-dial-peer)#exit
Faire les tests d’appels dans les dans sens. Dr. Kéba GUEYE
ToIP/VoIP ToIP dans l’environnement CISCO
Trunk entre un serveur Asterisk et un serveur CME Trunk CME/SCCP & Asterisk
Tout à l’heure nous avons fait des configurations permettant aux abonnés Asterisk d’échanger avec ceux du CME/SIP . Ici le but est de permettre aux abonnés SCCP du CME de pouvoir s’appeler avec ceux SIP d’Asterisk. En se basant sur l’interconnexion précédente, nous allons ici faire le nécessaire. Ajouter la ligne suivante dans le fichier extensions.conf exten => _3XXX,1,Dial(SIP/cmeasterisk/${EXTEN},20)
Sur le CME, nous n’aurons aucune action à faire car le plan de numérotation est déjà établi ! Faire les tests Appels entre le CME/SCCP vers Asterisk dans l’autre sens aussi.
Dr. Kéba GUEYE
ToIP/VoIP ToIP dans l’environnement CISCO
Trunk entre un serveur Asterisk et un serveur CME Gestion de boîtes vocales
Le but de cette partie est l’activation de la boite vocale pour tous nos clients : CME/SIP, CME/SCCP et Asterisk et en suite stoker ces messages au niveau d’Asterisk. Ça veut dire que les abonnés du CME auront leurs boîte vocale au niveau de chez Asterisk. Config côté Asterisk Editer sip.conf Ajouter la ligne mailbox=numéro@contexte au niveau de chaque numéro. exten => _3XXX,1,Dial(SIP/cmeasterisk/${EXTEN},20)
Dr. Kéba GUEYE
ToIP/VoIP ToIP dans l’environnement CISCO
Trunk entre un serveur Asterisk et un serveur CME Gestion de boîtes vocales
Config côté Asterisk: Editer extensions.conf Ajouter les lignes suivantes. [LITA] ;les appels exten => _3XX,1,Dial(SIP/${EXTEN},20,tr) exten => _2XXX,1,Dial(SIP/cmeasterisk/${EXTEN},20) exten => _3XXX,1,Dial(SIP/cmeasterisk/${EXTEN},20) ;la boite vocale exten => _3XX,2,Voicemail(${EXTEN}@bvocale) exten => _2XXX,2,Voicemail(${EXTEN}@bvocale) exten => _3XXX,2,Voicemail(${EXTEN}@bvocale) ;les numéros à composer exten => 399,1,VoicemailMain(${CALLERID(num)}@bvocale) exten => 2999,1,VoicemailMain(${CALLERID(num)}@bvocale) exten => 3999,1,VoicemailMain(${CALLERID(num)}@bvocale)
Dans le fichier voicemail.conf [bvocale] 300 => 1234 301 => 1234 2000 => , 2001 => , 3000 => , 3001 => , Cette configuration montre que les abonnés du CME ne saisiront aucun mot de passe pour accéder à leur boîte vocale.
Dr. Kéba GUEYE
ToIP/VoIP ToIP dans l’environnement CISCO
Trunk entre un serveur Asterisk et un serveur CME Gestion de boîtes vocales
Configuration du CME: Activation de la boite vocale pour les comptes CME/SCCP
Pour le numéro 2000 R1(config)#ephone-dn 1 R1(config-ephone-dn)#call-forward busy 2000 R1(config-ephone-dn)#call-forward noan 2000 timeout 20 R1(config-ephone-dn)#exit
Faire la meme chose pour les autres comptes
Activation de la boite vocale pour les comptes CME/SIP R1(config)#voice register dn 1 R1(config-register-dn)#call-forward b2bua 3000 R1(config-ephone-dn)#call-forward b2bua noan 3000 timeout 20 R1(config-ephone-dn)#exit Nous avons remarqué que l’activation de la boîte vocale pour un compte CME/SCCP est différente de celle d’un CME/SIP.
Dr. Kéba GUEYE
ToIP/VoIP ToIP dans l’environnement CISCO
Trunk entre un serveur Asterisk et un serveur CME Gestion de boîtes vocales
Configuration du plan de numérotation pour joindre les boites vocales
Le cas CME/SCCP R1(config)#dial-peer voice 8 voip R1(config-dial-peer)#destination-pattern 2… R1(config-dial-peer)#session protocol sipv2 R1(config-dial-peer)#session target sip-server R1(config-dial-peer)#codec g711ulaw R1(config-dial-peer)#exit
Le cas CME/SIP Activation de la boite vocale pour les comptes CME/SIP R1(config)#dial-peer voice 9 voip R1(config-dial-peer)#destination-pattern 3… R1(config-dial-peer)#session protocol sipv2 R1(config-dial-peer)#session target sip-server R1(config-dial-peer)#codec g711ulaw R1(config-dial-peer)#exit
Un abonné du CME/SIP tente de joindre celui de Asterisk qui ne va pas décrocher. Il va donc lui laisser un message dans sa boîte vocale. Les informations de cette action s’affichent clairement sur la console du serveur Asterisk
Dr. Kéba GUEYE
ToIP/VoIP ToIP dans l’environnement CISCO
Trunk entre un serveur Asterisk et un serveur CME Configuration du CME
De la même manière nous avons indiqué à Asterisk le processus pour joindre les utilisateurs du CME, [cmeasterisk] nous ferons de même sur le CME afin de permettre à ses utilisateurs de pouvoir joindre ceux username= cmeasterisk Configuration du CME d’Asterisk. Authentification du compte R1(config)#sip-ua R1(config-sip-ua)#authenticate username cmasterisk passer R1(config-sip-ua)#sip-server ipv4:192.168.43.215 R1(config-sip-ua)#exit
password
secret=passer type=friend host = 192.168.43.215 ; l’adresse IP du CME context=LITA qualify=yes dtmfmode=rfc2833 allow=ulaw insecure=port,invite careinvite=yes mailbox=cmeasterisk@LITA
Dr. Kéba GUEYE