1. I. Partie I : Présentation de la Voix sur IP Définition de la VoIP Les protocoles utilisés par la VoIP Partie II : Présentation d’Asterisk Qu’est-ce que asterisk Installation d’asterisk Configuration d’asterisk Mise en place de la boite vocale ; Accéder à la boite vocale ; Musique d’attende ; La conférence téléphonique. Partie III : Etude avec deux serveurs Asterisk Trunk SIP Réalisation Configuration de trunk SIP Description horaire Trunk IAX Partie IV : Trunk entre CME et Asterisk Introduction Prérequis Composants d’occasion Le protocole SIP CME SIP Trunk Relais DMTF pour les Trunk SIP Codecs et transcodages Mise en oeuvre ConclusionDimitri LEMBOKOLO 1 2. I. Présentation de la Voix sur IP 1. Définition de la VoIPLa Voix sur IP ou VoIP (Voice Over Internet Protocol) est le transport de la voix sous forme depaquets IP. On parle également de Téléphonie sur IP (ToIP).Principe de fonctionnement :La voix qui est un signal analogique est d’abord échantillonnée. C’est ce qu’on appelle lanumérisation de la voix. Puis, le signal numérique est compressé en utilisant des codecs. Entéléphonie classique, la bande passante est de 64 kbps (codec G711). Le codec G729, par exemple, aune bande passante de 8 kbps. Certains mécanismes permettent de réduire la bande passantenécessaire en détectant les silences lors d’une conversation.Contrairement à la téléphonie traditionnelle qui utilise la commutation de circuits, le transport de lavoix sur IP est à commutation de paquets. La voix est transformée en paquets qui vont transiter sur leréseau en utilisant le protocole UDP. UDP est un protocole de transport qui procure de meilleursdélais d’envoi des paquets que TCP car il n’utilise pas de contrôle de réception (pas d’acquittement).Le protocole RTP (Real Time Protocol) est utilisé pour les flux temps réel encapsulés dans despaquets UDP. RTP permet que la perte de quelques paquets voix soit compensée par des algorithmesde correction d’erreur.La VoIP implique des contraintes sur les performances du réseau telles que : Le délai de latence (RTD = Round Trip Delay) : c’est le temps que met un paquet IP pour traverser le réseau. (Valeur acceptable : inférieur ou égal à 200 ms) La gigue (ou Jitter): c’est la variation du délai de latence. (Valeur acceptable : inférieur ou égal à 75 ms) Le taux de perte de paquets : parfois, certains datagrammes UDP sont détruits (surtout à cause de l’engorgement du réseau). Pour qu’une conversation soit compréhensible, la dégradation du signal voix ne doit pas dépasser un certain seuil. (valeur acceptable : inférieur ou égal à 3%)Dans un réseau, la qualité de service (QoS) va permettre d’accorder une priorité aux flux voix parrapport aux flux datas.Le phénomène d’écho va également dégrader la qualité de la conversation téléphonique. Il est dû àdes raisons techniques.Un problème de l’utilisation de la ToIP se pose lors de l’appel vers les numéros d’urgence. En effet,l’adresse IP est indépendante de la localisation géographique de l’utilisateur. Dans le cas de latéléphonie traditionnelle, l’appel sera envoyé vers le service d’urgence le plus proche car l’usageraura été localisé.Dimitri LEMBOKOLO 2 3. 2. Les protocoles utilisés pour la VoIPUn protocole de signalisation est un protocole de la couche 5 (Session) du modèle OSI. Il gère unecommunication téléphonique IP ainsi :1) L’appelant indique les coordonnées de la personne qu’il veut joindre (composition du numéro)2) Indication au correspondant d’un appel (le téléphone du correspondant sonne)3) Acceptation de l’appel par le correspondant (le correspondant décroche)4) Information aux tiers cherchant à joindre les deux interlocuteurs de leur indisponibilité (occupé)5) Fin de la communication et disponibilité des lignes (raccroché)Les principaux protocoles utilisés pour létablissement de connexions en voix sur IP sont : H.323 ; SIP ; MGCP ; IAX (Asterisk); H.323H.323 a été élaboré par l’UIT (Union Internationale des Télécommunications) en 1996. Il est doncissu du monde des télécoms.Cette norme est pénalisée par sa complexité et son manque d’évolutivité pour l’ouverture vers lessystèmes d’information. SIPSIP (Session Initiation Protocol) est un protocole qui a été normalisé par l’IETF (Internet EngineeringTask Force) en 1999. Il est issu du monde de l’internet. Il se charge de l’authentification et de lalocalisation des participants. Mais il ne transporte pas de données.SIP remplace progressivement H.323 car il est plus souple et plus évolutif.Fonctionnement de SIP :SIP est un protocole de type requête/réponse comme http. Une adresse SIP se présente sous cetteforme :sip:
[email protected] LEMBOKOLO 3 4. 100 est le numéro d’extension SIP et 192.168.1.130 l’adresse IP du serveur SIP.Les utilisateurs (clients SIP) vont s’enregistrer auprès de serveurs proxy.Schéma 1- Le Softphone A sinscrit dans le proxy SIP il effectue une demande dappel auprès de ce proxy SIP Le proxy SIP transfère la demande au téléphone SIP B. 2- Le téléphone SIP B sonne et demande à lutilisateur sil souhaite répondre. La réponse positive (200 OK) part alors vers le proxy et arrive sur le softphone A pour lui indiquer que lappel est accepté. 3- Le softphone A renvoie directement au téléphone B un accusé de réception (ACK), et la communication est engagée. MGCP (Media Gateway Control Protocol)MGCP est implémenté dans les solutions de passerelle entre le monde de l’IP et le monde des télécoms. Ilest complémentaire à H.323 et SIP. Il est surtout utilisé par les FAI (Fournisseur d’accès à Internet) IAX (Inter-Asterisk eXchange)L’IAX est un protocole de voix sur IP spécifique à Asterisk.Il permet la communication entre un client et serveur Asterisk ainsi qu’entre deux serveurs Asterisk.Il a été conçu pour la transmission de flux multimédia avec un débit plus faible (notamment pour lavoix). Par exemple, avec le codec de compression G.729 et en utilisant l’IAX, on peut « faire passer »103 appels à travers 1 Mbits de bande passante.Au lieu d’utiliser RTP (Real Time Protocol), IAX utilise UDP (User Datagram Protocol) et un seulport (le port 5036 pour IAX1 et le port 4569 pour IAX2).Contrairement à SIP, le protocole IAX2 peut s’implémenter simplement derrière un NAT et traversefacilement les firewalls.Il envoie constamment des requêtes pour savoir si la ligne est active.IAX2 est à apparu longtemps après SIP qui s’est vite avéré être le protocole de référence par lesconstructeurs et les fournisseurs de services VoIP. Avant le protocole SIP, il s’agissait du protocoleH323 qui était le plus utilisé.Ce succès grandissant de IAX2 n’est cependant pas vraiment une menace pour SIP de la manière queSIP l’a été pour H323. SIP est bien installé, mais nul doute qu‟IAX2 va s’imposer comme unevéritable alternative. II. Présentation d’Asterisk 1. Qu’est-ce qu’Asterisk ?Dimitri LEMBOKOLO 4 5. Asterisk est un logiciel qui, installé sur un PC, fait office de PABX.C’est un logiciel libre (Open Source), publié sous licence GPL et crée par Mark Spencer de la sociétéDigium. Il tourne sur Linux, BSD et Mac OS X. Les caractéristiquesAsterisk offre tous les services de téléphonie « classiques » d’un PBX ainsi que des fonctions avancées : Boîte vocale (avis par courriel de réception d’un message vocal, voyant indicateur de message en attente…) ; Conférence téléphonique ; Serveur vocal interactif ; Applications CTI (ex : possibilité de composer un numéro de téléphone à partir du carnet d’adresses d’Outlook) ; Visiophonie ; Rapport détaillé sur les appels Protocoles et codecsAsterisk effectue une interconnexion transparente entre les divers protocoles voix sur IP etléquipement de téléphonie traditionnel. De plus, Asterisk effectue le transfert des appels dun systèmeà un autre au moyen du protocole IAX. Protocole IAX (Inter-Asterisk eXchange) H.323 Protocole SIP (Session Initiation Protocol) Protocole MGCP (Media Gateway Control Protocol)Fonctionne avec les systèmes de téléphonie traditionnels Signalisation RBS (Robbed-bit Signaling) FXS et FXO Prise par bouclage Déclenchement par la terre Kew start Émission-réception (E&M) Signalisation démission-réception (E&M Wink) Groupe de caractéristiques D Protocoles PRI 4ESS Lucent 5E DMS100 National ISDN2 EuroISDN BRI (ISDN4Linux) Codecs : Système GSMDimitri LEMBOKOLO 5 6. G.729 (sur lachat de licences) G.723.1 (fonction émulation) Linéaire Mu-Law A-Law ADPCM G.726 ILBC LPC-10 MP3 (décodage seulement) 2. Installer Asterisk Nous allons marcher à travers linstallation dAsterisk à partir du code source. Beaucoup de gens répugnent à cette méthode, affirmant quil est trop difficile et de longue haleine. Notre objectif ici est de démontrer que linstallation dAsterisk à partir des sources nest pas réellement si difficile à faire. Plus important encore, nous voulons vous offrir la meilleure plate-forme Asterisk sur lequel dapprendre. Installez les dépendances logicielles: # yum install gcc gcc-c++ libxml2-devel ncurses-devel Télécharment des paquets (tar.gz) http://www.asterisk.org/downloads Asterisk asterisk 1.x.xx.tar.gz Libpri libpri-1.x.xx.tar.gz DAHDI Linux / DAHDI Tools dahdi-linux-complete-2.6.0+2.6.0.tar.gz Asterisk Add-Ons asterisk-addons-1.x.x.tar.gzDimitri LEMBOKOLO 6 7. Créer votre structure de répertoire:mkdir -p ~/src/asterisk-complete/asteriskcd ~/src/asterisk-complete/asteriskidem pour Libpri et Dahdi et asterisk add-onsOutre l’installation à partir des paquets tar.gz, on peut aussi installer asterisk par commande.commandes:#yum install AsteriskManuellement:# cd ../libpri-1.4.x# make; make install#cd …/asterisk-1.4.x#tar -xvzf #./configure#make menuselect#make#make install &&make samplesPrésentation de l’installation d’asterisk add-ons# cd …/asterisk-addons-1.4.x#. /configure#make#make install 3. Configuration d’AsteriskNous avons installé la version 1.4 d’Asterisk sur une Fedora 11 et Linux Mint 12 (pour le serveursecondaire d’Asterisk).Nous allons maintenant faire la configuration d’Asterisk. Lensemble des fichiers de configuration setrouve dans le dossier /etc/asterisk/# cd /etc/asterisk/La configuration nécessite la compréhension du principe de routage. Chaque extension est manipuléedepuis sa source (une ligne analogique ou numérique, un téléphone IP ou un softphone, l’appel enprovenance d‟un autre PABX) vers une destination via des règles de routage qui s’enchaînent. Onregroupe les règles dans des contextes permettant de séparer les utilisateurs, les usages ou les sources.La configuration de base comporte au minimum les fichiers asterisk.conf et extensions.conf. LesDimitri LEMBOKOLO 7 8. sources sont dans différents fichiers en fonction de leur type: mgcp.conf, iax.conf, sip.conf(protocoles) ou encore zapata.conf (matériel). asterisk.confPar défaut on positionne certains chemins de base au fonctionnement du moteur asterisk, la présencede ce fichier n’est pas obligatoire, mais voici un exemple de contenu: sip.confLe fichier sip.conf, va définir lensemble de nos utilisateurs. Pour connaitre lensemble desfonctions utilisables, rendez-vous sur le site http://www.asteriskguru.com/tutorials/ etégalement sur le site http://www.voip-info.org/Nous éditons le fichier sip.conf (avec vim, par exemple). A la fin du fichier nous allons créerdeux utilisateurs ainsi :[general]Port=5060Dimitri LEMBOKOLO 8 9. Port=5060 => port sur lequel Asterisk écoute pour recevoir les connexions SIPusername=dimi => si Asterisk agit entre un client SIP et un serveur SIP distant, ce champ est utilisé pour authentifier le message INVITE envoyé par Asterisk au serveurType=friend => il existe 3 types d’utilisateurs : user = peut appeler mais ne peut pas recevoir d’appel peer = peut recevoir des appels friend = peut appeler et recevoir des appelssecret= passer => définit le mot de passe de l’utilisateurhost=dynamic => permet de se connecter avec cet utilisateur depuis nimporte quelle adresse IP.context=brazza => loption "context" sera ensuite utilisée dans le fichier extensions.conf, lorsquelutilisateur émet un appel, il rentrera dans la zone "brazza", quon définira plus tard.language=fr => permet dutiliser les fichiers audio français.callerid=”dimi” => permet d’afficher le nom de l’appelant sur le poste appelémailbox=10 => numéro de la boîte vocale associée extensions.confLe fichier extensions.conf permet de définir les règles de routage c’est-à-dire les actions à faire lorsdun appel sur un numéro de téléphone.Dans le contexte brazza, nous définissons comment joindre les différents postes. Chaque extension deDimitri LEMBOKOLO 9 10. notre plan de numérotation interne va être interprété et acheminé vers des liens physiques (IAX ouSIP dans notre cas).Ajout dextension[brazza]exten => 1000,1,Dial(SIP/dimi)exten => 1001,1,Dial(SIP/crea)Transfert dappelOn utilise la fonction tTr. Par exemple:exten => 1000,1,Dial(SIP/dimi,tTr)exten => 1001,1,Dial(SIP/crea,tTr)Le t permet à l’appelé de transférer l’appel et le T permet à l’appelant de transférer l’appel.Les commandes utilisées pour la définition des extensions ont la forme suivante :exten => ,, extension : numéro composé pour contacter Asterisk. Ce paramètre peut également prendre la valeur d’une extension prédéfinie par Asterisk (a, i, s, t, etc.). priorité : permet de définir l’ordre dans lequel plusieurs commandes pour une même extension vont être exécutées. La priorité la plus élevée est 1, puis on incrémente de 1 pour la priorité des commandes suivantes (1, 2, 3, etc.) ; application : permet de définir l’action à réaliser pour l’extension en cours. L’application Dial est utilisée pour l’acheminement de l’appel dans le contexte brazza, le premier argument passé est la ligne préfixée par son type (IAX2 ou SIP). Mise en place dune boite vocaleLa configuration se fait dans voicemail.conf.Par exemple:login => code,nom-utilisateurOn fait une mise à jour dans le fichier extensions.conf pour attribuer la messagerie vocale.ParExemple:Dimitri LEMBOKOLO 10 11. exten => 1000,1,Dial(SIP/dimi,10,tTr)exten => 1000,2,VoiceMail(10@dimi,u)exten => 1000,102,VoiceMail(10@dimi,b)Et la traduction est la suivante : on compose le numéro 1000 pour appeler dimi. Sil ne décroche pasaprès 10 secondes, transférer lappel sur sa boite vocale. Loption u indique que le correspondant estindisponible et loption b indique quil est occupé.Accéder à la boite vocalePour accéder à sa messagerie vocale, lutilisateur compose 710(pour dimi) et 720(pour crea) .Puis ilentre son login et son mot de passe conformément à ceux qui lui sont fixer par le serveur dansvoicemail.conf Musique dattente 1) créer le dossier /var/lib/asterisk/mohmp3 Puis on copie une musique, pour notre cas c’est zik.mp3 2) éditer le fichier musiconhold.confDimitri LEMBOKOLO 11 12. 3) créer une classe de musique m=option permettant de jouer la musique dattente pn=la classe de la musique dans musiconhold.confLa visiophonieElle est l’association de la téléphonie et la vidéo initiée par deux interlocuteurs. On passe à la notionde visioconférence lorsqu’un troisième interlocuteur se pressente. Pour activer lavisiophonie on édite le fichier /etc/asterisk/sip.conf et on décommette videosupport=yes.Optionnellement, vous pouvez ajouter un certain nombre de codecs sur un compte SIP.Dans le fichier sip.confDimitri LEMBOKOLO 12 13. Idem pour les autres utilisateursTeste Polycom X-LiteRemarque : lors des captures, je travaillais avec les numéros (5000), puis changea mon plan denumérotation en utilisant les numéros (2000).Dimitri LEMBOKOLO 13 14. La conférence téléphoniqueDimitri LEMBOKOLO 14 15. Vous êtes en communication avec un collègue de travail et vous avez besoin d’obtenir rapidementune information d’un troisième collaborateur. La conférence de déclencher quand il a au moins troisinterlocuteurs. Le softphone X-lite peut héberger des conférences sans aucune configuration desfichiers du serveur. Les conférences sur Asterisk sont configurées dans le fichier/etc/asterisk/meetme.conf. Toutes les conférences sont déclarées dans le context room.- Editer le fichier /etc/asterisk/meetme.conf III. Asterisk Etude avec deux serveurs AsteriskDimitri LEMBOKOLO 15 16. 1. Trunk SIP IntroductionL’un des principaux arguments pour la migration d’un réseau RTC vers la VOIP est la réduction descoûts. L’une des méthodes pour réduire les coûts est d’abandonner l’opérateur historique et desouscrire un abonnement chez un provider SIP. Vous pourrez alors choisir un provider qui vousfournira des tarifs en fonction de vos besoins.Pour arriver à ce résultat, il faut mettre en place un trunk SIP. Un trunk SIP est une liaison entre deuxserveurs VOIP. Une autre application de ce trunk SIP est la création d’un lien entre deux sitesdistants. Dans ce cas, les coûts de communication entre sites se réduisent aux coûts d’abonnementd’Internet.Dimitri LEMBOKOLO 16 17. 2. RéalisationDans un premier temps, il faut configurer les deux serveurs en local avec deux plans de numérotationdistincts. En effet, il va falloir permettre aux serveurs de différencier les téléphones de l’agence A deceux de l’agence B. Dans notre cas, les numéros compris entre 1000 et 1999 seront dans l’agence A etles numéros compris entre 2000 et 2999 seront dans l’agence B.Sur le serveur de l’agence A :- Modifiez le fichier sip.conf et ajouter les extensions de franck et dimi.- Configurez les téléphones pour qu’ils s’enregistrent sur le serveur.- Modifiez le fichier extensions.conf pour « router » les appels vers les téléphones.- Vérifiez la configuration en passant des appels de franck vers dimi et vice versa.Faites de même sur le serveur de l’agence B en respectant le plan de numérotation 3. Configuration de trunk SIPsip.conf sur Serveur ADans un premier temps, il faut ajouter un utilisateur dans le fichier sip.conf sur le serveur A. Cetutilisateur est de la même forme que les autres utilisateurs.Sip.conf sur Serveur BDimitri LEMBOKOLO 17 18. sip.conf sur Serveur BUne fois l’utilisateur créé sur le serveur A, il faut que le serveur B s’enregistre. Dans le fichiersip.conf du serveur B il faut ajouter la ligne suivante.Cette ligne permet au serveur B de s’enregistrer sur le serveur A à l’adresse 192.168.1.130 avec lelogin trunk_A_vers_B et le mot de passe passer.Sip.conf sur Serveur ACette ligne permet au serveur A de s’enregistrer sur le serveur B à l’adresse 192.168.1.186 avec lelogin trunk_B_vers_A et le mot de passe passer.extentions.conf sur serveur AQuand le serveur B s’est bien enregistré, le serveur A pourra rediriger les appels compris entre 1000et 1999, vers le serveur B avec cette ligne dans le fichier extentions.confDimitri LEMBOKOLO 18 19. extentions.conf sur serveur BQuand le serveur A s’est bien enregistré, le serveur B pourra rediriger les appels compris entre 2000et 2999, vers le serveur A avec cette ligne dans le fichier extentions.confPour vérifier la bonne configuration, il faut afficher les utilisateurs enregistrés sur le serveur et l’étatde la ligne avec les commandes suivantes :Dimitri LEMBOKOLO 19 20. Teste des appels (1000 vers 2000)Dimitri LEMBOKOLO 20 21. Teste des appels (2000 vers 1000) 4. Discrimination horaireLa discrimination horaire permet d’autoriser les appels dans une plage de temps définie. On peutdéfinir cette plage de temps en fonction : du jour de la semaine de l’heure du jour du mois du moisLa syntaxe est la suivante :include => context|days|times|days of month|months of yearDans l’exemple suivant, les appels ne seront possible que du lundi au vendredi de 8h à 17h, peuimporte le jour ou le mois.Dimitri LEMBOKOLO 21 22. On fait la même chose pour le context (pn) 5. Trunk IAXCoopérationDès quun utilisateur du serveur A composera un numéro entre 1000 et 1999Il sera directement redirigé vers le serveur B.Dès quun utilisateur du serveur B composera un numéro entre 2000 et 2999Il sera directement redirigé vers le serveur A. Sécurité de l’authentification :Le protocole IAX permet 3 types de mots de passe pour lauthentification des clients / serveursIl nest pas possible de crypter les données transmises via le protocole IAX, seul lauthentificationpermet plusieurs types de mots de passes plus ou moins sécurisés. Plain text Cette méthode est déconseillée, car les mots de passe sont écrits en clair dans les fichiers de configuration. MD5 Les mots de passe sont écrits cryptés à laide de la méthode MD5 dans les fichiers de configurations, donc difficilement décryptables (difficile mais pas impossible) RSA Lauthentification RSA (Rivest Shamir Adleman) utilise deux clés partagées, une cléDimitri LEMBOKOLO 22 23. publique ainsi quune clé privée. Généralement, ces clés ont une longueur entre 1024 et 2048 bits.Génération de clés RSA :Pour générer des clés de cryptage RSA, Asterisk nous fournit un utilitaire: astgenkey.Les clés RSA doivent se trouver dans le répertoire /var/lib/asterisk/keys.Lutilitaire "astgenkey" génère deux clés, une clé publique à mettre sur le(s) poste(s) client(s) et uneclé privée à garder sur le serveur.Note: Il est important que la clé privée ne soit accessible que par Asterisk, car si quelquun arrive àprendre cette clé il pourra décrypter la clé plus facilement.Pour générer une clé il suffit de se déplacer dans le répertoire de stockage des clés dAsterisk et delancer lapplication "astgenkey"# cd var/lib/asterisk/keysLorsque nous lançons astgenkey nous mettons le paramètres "-n" car par défaut "astgenkey"demande une "passphrase" à chaque démarrage dAsterisk.Avec le paramètres "-n" il enregistre la clé sans "passphrase"# astgenkey -nDimitri LEMBOKOLO 23 24. Nous avons créé 2 clefs dans le serveur B: dimi_iax.pub qui est la clef publique dimi_iax.key qui est la clef privéeMaintenant, il faut transférer la clef publique dans l’autre serveur.Pour cela, nous allons nous positionner sur le serveur A et utiliser ssh avec la commande suivante :scp user@IPserveur:/répertoire/nom_du_fichier /destination/nom_du_fichierDimitri LEMBOKOLO 24 25. Il faudra répéter l’opération dans l’autre sens afin de créer une interconnexion bidirectionnelle. Configuration des paramètres IAX sur chaque serveurLa configuration des paramètres IAX se fait dans le fichier iax.conf se trouvant dans le répertoire/etc/asterisk/Sur chaque serveur nous allons configurer un utilisateur IAX qui servira à lauthentification avec leserveur opposé.[VOIP1] et [VOIP2]Configuration du fichier iax.conf pour le serveur B :Note : le trunk entres clients IAX peut aussi se faire sans partage de clés, mais comme plus avecSIP en décommandant (register) et faire une configuration par mot de passer et host à dynamic.Dimitri LEMBOKOLO 25 26. On fait de même sur le serveur A Définition du “dialplan”Nous devons maintenant créer les contextes dans le fichier extensions.conf dans le serveur A. [pn] include => voip1 [voip2] exten => _1XX,1,Dial(IAX2/${EXTEN}) exten => _2XX,1,Dial(IAX2/voip2/${EXTEN})Ce qui signifie que dans le contexte [pn] est inclus le contexte [voip1] qui définit que pour lesextensions commençant par 1, l’appel sera acheminé en interne et pour les appels commençant par 2,l’appel sera transmis au serveur B.Nous faisons de même sur le serveur B. [brazza] include => voip2 [voip1] exten => _2XX,1,Dial(IAX2/${EXTEN}) exten => _1XX,1,Dial(IAX2/voip1/${EXTEN}) IV. Trunk entre un CME et Asterisk 1. IntroductionAujourdhui, lindustrie des télécommunications est en train de faire la transition à long établissantTechonologies de commutation et de transport pour le transport basé sur IP et de dispositifs de bord.La révolution de la communication IP a commencé à créer un impact énorme commercial dans lesentreprises petites et moyennes. Ces petites et moyennes entreprises se rendent compte quelutilisation de la propriété intellectuelle est très efficace car la propriété intellectuelle peut utiliser lesfonctions vocales, vidéo et données sur un réseau unique, au lieu dutiliser les opérations distinctes àvocation spéciale réseaux. La figure montre un déploiement de téléphonie IP trunking IP tendre vers.Dimitri LEMBOKOLO 26 27. IPBX commencent à prédominer dans les affaires de la technologie vocale, et les PBX TDM ne sontplus la principale source de la liaison permanente entre deux réseaux vocaux. Lutilisation du PBXTDM a diminué au cours des deux dernières années, et lutilisation de lIPBX est de devenir un boninvestissement dans IP LAN et WAN. Afin de se connecter au réseau PSTN, PBX besoin dune sortede goulotte tel que le TDM (T1/E1) ou des lignes analogiques. IPBX qui peuvent accéder au RTPCen utilisant ces types de troncs, mais il faut une passerelle multimédia qui convertit le trafic voix surIP à RTC traditionnelle, qui peut parfois donner lieu à une traduction successive à partir du domaineIP TDM de domaine. Ces traductions successives daugmenter les coûts de maintenance despasserelles, augmente la latence, et réduit la qualité de voix.Afin déviter ces problèmes, les IPBX utilisent des protocoles pour initiation de session et de gestion,le plus important est celui de Session Initiation Protocol (SIP). Ce document fournit une descriptionde la SIP trunking et Cisco CallManager Express (CME), et une configuration à mettre en œuvre unsystème de téléphonie sur IP avec les MEC en utilisant SIP trunking pour les appels entrants etsortants.PrérequisExigencesAssurez-vous que vous répondez à ces exigences avant de tenter cette configuration: CME version 4.1 est installé Une image de Cisco IOS ® Software T sortie 12.4 (11) XJ ou IOS 12.4 (6e) est sur le routeur Un module NM-CUE est installé avec la version 2.3.4 CUEDimitri LEMBOKOLO 27 28. Composants doccasionLes informations contenues dans ce document sont basé sur ces versions logicielles et matérielles: Cisco 3825 routeur sur le logiciel Cisco IOS 12.4 de sortie (11) XJ Cisco Catalyst 3550 Commutateur sur le logiciel Cisco IOS Release 12.4 Téléphone IP Cisco 7960 Cisco CallManager Express 4.1 Cisco Unity Express 2.3.4 2. Le protocole SIPSIP est un ASCII basé sur le protocole de contrôle de la couche application qui peut être utilisé pourétablir, maintenir et terminer les appels entre deux ou plusieurs points de terminaison. SIP arapidement émergé comme le protocole standard utilisé dans les communications IP, car il est unprotocole multimédia qui peut être utilisé pour les sessions vidéo et la messagerie instantanée, en plusde voix. En outre, SIP peut gérer des sessions de conférences et démissions, ainsi que dune desséances individuelles. SIP a un grand potentiel dans la transformation et le développement de la façonde communiquer les gens. Pour cette raison, Cisco a été et continue à jouer un rôle important dans laprise dun leadership pour créer de nouvelles technologies qui rendent SIP et ses applications à lanorme de communications IP.SIP sont similaires à une ligne téléphonique, sauf que les SIP dutiliser le réseau IP et non le RTPC.En outre, SIP permet la convergence de la voix et des données sur tous les courants-connexions IP.Afin daccéder au réseau IP en utilisant une liaison SIP il est nécessaire que les configurations êtrefaite au prestataire de services, ainsi que sur le côté client. Les clients ont besoin pour établir etconfigurer CME, qui est le PBX qui va interpréter le signal SIP de manière adéquate et passer le traficavec succès. Le prestataire de services a besoin pour configurer un serveur proxy SIP. Cependant, SIPsont plus compliqués à établir que les troncs RTPC ordinaires. La raison en est que le client fait face àdes défis dans le traitement de linterprétation différente et les implémentations de SIP par lesfournisseurs déquipement, la prestation de sécurité, la qualité de gestion de service (QoS), ce quipermet la traduction dadresses réseau (NAT) et de pare-feu de traversée, et dassurer la fiabilité declasse transporteur et de la continuité de service. Ces points de décrire pourquoi SIP deviennent si apparente dans les entreprises petites et moyennes: Déploiement rapide et facile Amélioration de lutilisation de la capacité de réseau Potentiel de consolidation et réduire les coûts de téléphonie Économique Direct Dial larrivée (SDA) business ContinuityDimitri LEMBOKOLO 28 29. 3. CME SIP TrunkCisco CME est une solution de téléphonie IP qui est intégré directement dans le logiciel Cisco IOS.CME permet aux entreprises petites et moyennes de déployer voix, données et vidéo sur une seuleplate-forme. Un réseau de téléphonie IP est simple à installer, car CME fonctionne sur un seulrouteur, qui offre une fonctionnalité PBX pour les entreprises. Par conséquent, en utilisant CME,petites et moyennes entreprises peuvent offrir la téléphonie IP et de données de routage à laide dunesolution unique convergé à un coût minime. 4. Relais DMTF pour les Trunks SIPCME supporte le protocole SIP à partir du CME 3.1 a été publié. Cependant, certains problèmesexistaient déjà lorsque un téléphone SIP appelé un téléphone CSPC ou essayé daccéder à lamessagerie vocale. Le problème est que les téléphones SCCP connectés à CME nécessitentlutilisation dout-of-band relais DTMF au transport DTMF (chiffres) à travers les connexions VoIP,et les téléphones SIP utilisent dans la bande Transports. Une distorsion DTMF existait entre les deuxappareils. Lorsque CME 3.2 a été publié, le soutien a été ajouté au relais DTMF. Chiffres DTMF deSCCP pourrait être converti en in-band mécanisme de relais DTMF par RFC2833 ou prévenirméthodes.CME prend actuellement en charge de cette liste de DTMF dinterconnexion pour les appels SIP SIP: Avertissez Notify depuis 12.4 (4) T RFC2833 Notify depuis 12.4 (4) T Avertissez RFC2833 depuis 12.4 (4) T Intrabande G711 depuis 12.4 (11) T [Nécessite Transcoder]CME prend actuellement en charge de cette interconnexion de réseaux DTMF pour les appels SIPSCCP: SCCP hors-bande SIP NOTIFY / RFC2833 depuis 12.4 (4) T 5. Codec et transcodageUn autre aspect important à considérer lorsque vous mis en place un réseau SIP est les codecs pris encharge. Codecs représentent léchantillon de modulation dimpulsions de code pour les signaux àfréquences vocales. SIP soutenir ces codecs: G.711 et G.729. Toutefois, pour les différentescaractéristiques telles que Cisco Unity Express (CUE) et la musique dattente (MOH), seulementcodec G.711 est pris en charge. Cela signifie que les appels vocaux qui utilisent SIP en utilisant lecodec G.729 ne peut pas accéder CUE, sauf si un transcodeur existe pour permettre à la compressionet la décompression des flux de voix pour correspondre aux capacités CUE. Ministère de la SantéDimitri LEMBOKOLO 29 30. peut également utiliser le codec G.729 pour économiser la bande passante, mais le codec ne contientpas suffisamment de flux de MS de qualité. Cela est dû au fait que G.729 est optimisée pour la parole.Par conséquent, vous devez forcer MS à utiliser G.711. 6. Mise en oeuvreEtape 1 : Configuration du CMEType de routeur CISCO utilisé est le C3700 avec l’IOS : c3745-ipvoicek9-mz.124-9.T Attribution d’une adresse IP à l’interface FastEternet 0/0Configuration de l’interfaceR3>en #conf t #interface fa 0/0 #ip address 192.168.1.70 255.255.255.0 #no shutdown #exitConfiguration DHCP #conf t #ip dhcp pool voip #network 192.168.1.0//*ici on peut autorise tout comme on peut interdire exemple inter les adresses de 1 7 #ip dhcp excluded-address 192.168.1.1 192.168.1.7 #exit Configuration du routeur come serveur sip #voice service voip #allow-connection sip to sip #sip #registrar server expires max 3600 min 500 #exit #exitDimitri LEMBOKOLO 30 31. Définir ladresse et port découte - nombre maximum de numéros et nombre maximum de téléphone - création de profil définition de type dauthentificationvoice register global mode cme source-address 192.168.1.70 port 5060 max-dn 10 max-pool 10 authenticate realm 192.168.1.70 create profile sync 0000819220144413! Création de numéros de téléphonesvoice register dn 1 number 4001 name charwel!voice register dn 2 number 4002 name martial!voice register dn 3 number 4003 name espoir! Attribution des numéros aux téléphones et les codecsvoice register pool 1id mac 0000.0000.4001number 1 dn 1username 4001 password passercodec g711ulaw!voice register pool 2id mac 0000.0000.4002number 1 dn 2username 4002 password passercodec g711ulaw!Dimitri LEMBOKOLO 31 32. voice register pool 3id mac 0000.0000.4003number 1 dn 3username 4003 password passercodec g711ulawexit!! ainsi de suite!#copy running-config startup-configÉtape 2: Trunk entre le CME et le serveur SIPSur le serveur : 7. Création du compte CME Dans sip.conf Dans extensions.confDimitri LEMBOKOLO 32 33. Sur le routeur Cisco #voice service voip #sip #allow-connections sip to sip !---Active SIP et autorise les connections entre clients SIP--- #exit #voice class codec 1 #codec preference 1 g711ulaw #codec preference 2 g711alaw #exit #sip-ua #authentication username cme-dimitri password passer #retry register 10 #retry invite 2 #no remote-party-id #timers register 100 #registrar ipv4:192.168.1.130 expires 3600 #sip-server ipv4:192.168.1.130!-- Permet de spécifier l’@ IP de l’interface du serveur Asterisk #exit Cas des Appels EntrantsDimitri LEMBOKOLO 33 34. #dial-peer voice 1 voip #description **Appels entrants du trunk SIP** # voice-class codec 1 # session protocol sipv2 # session target sip-server # incoming called-number .% # voice-class sip dtmf-relay force rtp-nte # dtmf-relay rtp-nte !--- Comme expliquer précèdement, cette commande permet de forcer CME à utiliser la RFC2833 pour les codes DTMF en mode « Inband », cest-à-dire à transporter dans le même flux RTP que la voix les codes DTMF --- #no vad !--- Beaucoup d’IP-Phone utilise en Voice Activity Detector (VAD) pour détecter les périodes de silence dans le signal voix. Ainsi le signal n’est plus transmis, temporairement, pendant la durée du signal. Pour nos test et capture de trames nous avons préféré, dans un premier temps, de désactiver cette fonctionnalité avec la commande ci-dessus. --- Cas des Appels Sortants #dial-peer voice 2 voip # description **Appel sortant trunk SIP** # destination-pattern 2[0-9]0 !--- Cette commande indique que ce dial-peer est utilisé pour les appels sortant dont les numéros sont # voice-class codec 1 # session protocol sipv2 # session target sip-server # voice-class sip dtmf-relay force rtp-nte # dtmf-relay rtp-nte # no vad Plan de numérotation pour acheminer les appels vers les utilisateurs de Asterisk etDimitri LEMBOKOLO 34 35. activation de codecdial-peer voice 10 voip destination-pattern 2... session protocol sipv2 session target sip-server codec g711ulaw!!telephony-service max-ephones 5 max-dn 5 ip source-address 192.168.1.70 port 2000 auto assign 1 to 5 max-conferences 8 gain -6 transfer-system full-consult!!ephone-dn 1 number 3000!!ephone-dn 2 number 3001!!ephone-dn 3 number 3002! To be continuedDimitri LEMBOKOLO 35