Sie sind auf Seite 1von 50

Universit HASSAN 1er Settat Ecole Nationale des Sciences Appliques-Khouribga Anne universitaire : 2013/2014

Mise en place dune solution ToIP OpenSource avec :

Asterisk

Ralis par : Seddik DAYA Abdessamad CHBICHEB Khalid BENAYAD Didi OUELD ELMOUSTAPHA

Encadr par : Pr. Mohammed MOUGHIT

Remerciements
Nous remerciements sorientent vers Monsieur MOUGHIT qui nous a propos ce sujet sur la ToIP. Il nous a guids tout au long de notre projet afin de nous orienter sur les points essentiels tudier. Nous le remercions donc pour sa disponibilit et les prcisions apportes aux diffrentes tapes de notre projet.

Sommaire
Lexique Introduction 1. Prsentation
1.1. La tlphonie IP
1.1.1. Fonctionnement 1.1.2. Intrts 1.1.3. Diffrence PABX / IPBX

07 06
07 07
07 09

09 11
11 14

1.2. Les protocoles


1.2.1. SIP / H323 1.2.2. RTP / RTCP 1.2.3. IAX

16

2. Asterisk
2.1. Gnralits
2.1.1. Prsentation 2.2.2. Fonctionnalits

18
18
18

18 19
19 20

2.2. Mise en place du serveur


2.2.1. Carte FXO / FXS 2.2.2. Installation et configuration du serveur et Clients SIP

3. Applications
3.1. Architecture locale
3.1.1. Schma du rseau 3.1.2. Configuration du serveur 3.1.3. Configuration des clients 3.1.4. Transfert dappels

33
33
33 33 35 39

3.2. Architecture tendue


3.2.1. Freephonie 3.2.2. Scurit : Avec Firewall 3.3.3. Scurit avec tunnel VPN IPSec

41
41 42

45

Conclusion

49

Lexique
ASCII : (American Standard Code for Information Interchange) est la norme de codage de caractres en informatique la plus connue et la plus largement compatible. Chipset : jeu de composants lectroniques intgr dans un circuit intgr prprogramm permettant de grer les flux de donnes numriques entre le ou les processeur(s), la mmoire et les priphriques. Codecs : dsigne un procd capable de compresser ou de dcompresser un signal, analogique ou numrique. Firewall : lment du rseau informatique, logiciel et/ou matriel, qui a pour fonction de faire respecter la politique de scurit du rseau, celle-ci dfinissant quels sont les types de communication autoriss ou interdits. Freephonie : un service tlphonique de l'oprateur Free, c'est une offre de tlphonie sur IP. FXO : linterface Foreign eXchange Office est un port qui reoit la ligne tlphonique. FXS : linterface Foreign eXchange Subscriber est un port qui raccorde la ligne tlphonique de labonn. HTTP : HyperText Transfer Protocol, est un protocole de communication client-serveur dvelopp pour le World Wide Web. IP : Internet Protocol, est un protocole de communication de rseau informatique. IPBX : systme utilis en entreprise qui assure l'acheminement de toute ou partie des communications en utilisant le protocole internet (IP), en interne sur le rseau local (LAN) ou le rseau tendu (WAN) de l'entreprise. LAN : Local Area Network, dsigne un rseau informatique d'chelle gographique restreinte. PABX : Private Automatic Branch Exchange est un Multiplexeur Tlphonique priv. RTC : Le rseau tlphonique commut est le rseau du tlphone fixe et mobile. TCP : Transmission Control Protocol, est un protocole de transport fiable, en mode connect.

UDP : User Datagram Protocol est un des principaux protocoles de tlcommunication utilis par Internet. Contrairement au protocole TCP, il travaille en mode nonconnect.

WAN : Wide Area Network, est un rseau informatique couvrant une grande zone gographique, typiquement l'chelle d'un pays, d'un continent, voire de la plante entire. Le plus grand WAN est le rseau Internet.

Introduction
L'volution des tlcommunications fait que les centraux tlphoniques ont subi de nombreuses volutions, notamment l'arrive des IPBX qui a permis l'interconnexion du rseau tlphonique avec le rseau de donnes. Ceci permet aux entreprises de rduire les cots et de faciliter l'administration. Notre but a donc t de mettre en place un IPBX dans un environnement Open Source , c'est--dire quaucun investissement financier nest ncessaire pour le fonctionnement de la maquette basique. Durant la ralisation du projet, nous avons appris maitriser le logiciel et ainsi sen servir de la faon la plus optimale. Le test de certaines fonctionnalits indispensables comme la messagerie ou le transfert dappel a t ralis et valid. La compatibilit avec des tlphones IP Cisco a aussi t approuve. Au niveau de la scurit, qui est un point fondamental, nous avons utilis plusieurs mthodes telles quun firewall, VPN IPSec afin de protger des attaques notre installation. Nous avons dcid de diviser notre rapport en 3 parties distinctes. Dans un premier temps, nous allons vous parler de la tlphonie IP en la dfinissant et en prsentant la diffrence avec la tlphonie classique. Les protocoles associs la ToIP comme SIP et RTP seront ici aussi prsents. La seconde partie du document va prsenter lapplication qui nous a permis de raliser notre projet. En effet, nous allons dcrire le serveur Asterisk en dtaillant son installation, sa configuration ainsi que ses fonctionnalits. La prsentation des clients utiliss dans la maquette sera aborde dans cette partie. Pour terminer, la troisime partie va dcrire les diffrents types darchitecture que nous avons pu tester. Il sagit par exemple de lutilisation de la freephonie, la simulation en entreprise avec firewall ou encore la topologie locale simple.

1. Prsentation
1.1. La tlphonie sur IP
1.1.1. Fonctionnement La tlphonie sur IP est un service de transport de la voix afin deffectuer des appels sur rseaux IP au lieu dutiliser une ligne tlphonique traditionnelle. Ainsi la voix circule sur un rseau unique (voix, donnes, vidos) permettant de rduire considrablement les cots dinvestissement. La tlphonie sur IP est une transmission de la voix en mode paquets au format TCP/UDP.

Fig. 1 : Le traitement de la voix

Lorsquun utilisateur veut entrer en communication avec un autre, une connexion est alors tablie entre les deux terminaux. Lutilisateur peut alors mettre un son par le biais dun micro (signal analogique) qui est ensuite numris et compress par la machine (signal par synthse). Une fois les donnes encapsules dans un paquet, il est envoy au destinataire qui procdera aux oprations inverses assurant ainsi la mise en forme dun message audible. Les diffrentes tapes sont :

La numrisation : Les signaux de la voix (analogiques) doivent tre convertis sous forme numrique suivant le format PCM (Pulse Code Modulation) 64kbit/s. La

modulation dimpulsion code est une technique dchantillonnage quantifie sur une srie de symbole dans un code numrique (binaire). Lordinateur ne comprend que le code binaire, la numrisation est donc primordial. La compression : Lors de la numrisation, le codage PCM se contente de mesurer des chantillons indpendamment des uns des autres. Un chantillon du signal nest pas isol, mais corrl avec dautres (prcdent ou suivant). En tenant compte des informations, il est possible de prvoir la valeur du nouvel chantillon et donc de transmettre quune partie de linformation. Cest ce quon appelle la prdiction. Cela permet de rduire la taille du paquet pour optimiser la bande passante. Il existe deux grands types de compressions : le codage diffrentiel et le codage par synthse. La norme de compression est variable selon les codecs utiliss. Les codecs sont des chipsets qui font office de codeurs/dcodeurs. Certains terminaux IP-PHONES n'acceptent qu'une partie ou mme un seul codec, tout dpend du modle de terminal et du constructeur. Les principaux taux de compression de la voix sont les codecs officiels suivants :
Mthode de compression G.711 PCM G.726 AD PCM G.728 LD CELP G.729 CS ACELP G.729 x 2 Encodings G.729 x 3 Encodings G.729a CS ACELP G.723.1 MPMLQ G.723.1 ACELP Dbit en Kbits/s 64 32 16 8 8 8 8 6,3 5,3

Les diffrents codecs et taux de compression

Le transport : Linformation voyage dans des datagrammes UDP ne garantissant pas la livraison car il neffectue aucune vrification concernant la perte de paquet et ne transmet aucune information sur les configurations utiliss. Il a donc fallu dfinir un nouveau protocole fournissant plusieurs fonctionnalits :

Le numro de squence pour la remise en ordre des paquets ; Un champ horodatage (timestamp) pour la restauration de la base de temps ;

Dtecte la perte de paquets pour informer la source dans des dlais compatibles avec le service ; Identifier le contenu des donnes et permettre leur transmission ; Intgre des solutions pour traverser des passerelles de certains rseaux locaux

Ce protocole est appel RTP (Real-Time Transport Protocol) qui se complte par un protocole de contrle qui transmet des rapports de rception RTCP (Real-Time Transport Control Protocol). Par exemple lors dune confrence regroupant plusieurs participants, RTCP permet didentifier diffrentes sources dmissions contribuant la session, mais il nest cependant pas obligatoire. Ltablissement de la connexion : Avant de pouvoir communiquer directement, les membres de la discussion doivent tablir un protocole pour la dmarrer. Les principaux protocoles utiliss pour ltablissement de la communication sont : H323 ; SIP ; IAX (SIP amlior, issu du projet de PABX Asterisk) ;

1.1.2. Son utilisation (Intrts) La convergence des services de communications donnes, vidos et voix offre de nombreux avantages. En effet, le tlphone et le PC partagent le mme cble Ethernet, les frais de cblage sont rduits, les frais d'administration du rseau sont galement minimiss. Il est ainsi possible de raliser des conomies court et long terme sur de nombreux postes : administration d'un seul rseau, fournisseur d'accs unique, unique contrat de maintenance, cblage commun, gratuit des communications interurbaines, rduction de la complexit de l'intgration d'applications. Enfin, la migration de la solution actuelle vers la Tlphonie sur IP s'effectue en douceur. Les solutions de tlphonie sur IP sont conues pour dgager une stratgie de migration faible risque partir de l'infrastructure existante. De plus, en positionnant la voix comme une application supplmentaire sur le rseau IP, lentreprise ne va pas uniquement substituer un transport oprateur RTC un transport IP, mais simplifi la gestion de la voix, des donnes et vido par ce seul transport. Aujourdhui la position des oprateurs est menace par larrive massive de la tlphonie sur IP, dont la tarification tend vers la gratuit.

1.1.3. Diffrence PABX / IPBX Dans une architecture avec PABXs, il est ncessaire davoir deux infrastructures diffrentes. La premires constitues du rseau de PABXs o sont relis physiquement les tlphones. Ce rseau est ensuite connect au Rseau Tlphonies Commut ( RTC) permettant de communiquer avec lextrieur.

Rseau de PABXs

Il y a ensuite le rseau de donnes classiques constitu dordinateurs, serveurs et firewall connect au WAN / Internet.

Rseau IP

Ces deux rseaux sont donc relis afin de fournir un service complet de tlphonie et de donnes. Cest notamment pour cela que le cot dune infrastructure comm e celle-ci est plus leve et ladministration plus complexe. Elle a par contre lavantage dune fiabilit plus leve car les deux rseaux sont spares, par exemple si le rseau IP ne fonctionne plus, les utilisateurs pourront continuer utiliser la tlphonie.

Infrastructure gnrale

Dans une architecture avec un IPBX, il y a une unique infrastructure, o lon intgre directement les tlphones IP et lIPBX sur le rseau IP existant. Ce rseau peut ensuite tre reli au Rseau Tlphonique Commut en rajoutant une carte FXO / FXS sur le serveur de tlphonie. Mais ceci est facultatif car le grand avantage de ce type de communication est justement de pouvoir sortir sur le rseau Internet.

Infrastructure IPBXs

1.2. Les protocoles


1.2.1. SIP / H323

Session Initiation Protocol (SIP) est un protocole standardis et normalis par l'IETF (RFC 3261). Il est de plus en plus utilis actuellement dans le monde de la voix sur IP. Son but principal est dtablir, modifier et terminer des sessions multimdias. SIP n a aucune connaissance concernant les dtails dune session ouverte. Cest grce lui que lon va pouvoir authentifier et localiser des multiples participants dans une session. Pour toutes actions au niveau dune session, SIP va utiliser le port 5060 via le protocole UDP qui offre une rapidit dchange du fait quil ny est pas ltablissement de la connexion contrairement TCP. SIP ne soccupe pas du transport des donnes changes durant la session comme la voix ou la vido. Il est indpendant de la transmission des donnes, cest en cela que tout type de donnes et de protocoles peut tre utilis pour cet change. Cependant le protocole RTP (Real-time Transport Protocol) assure le plus souvent les sessions audio et vido. Dans notre cas cest RTP qui se charge du transport de la voix. SIP est un protocole d'gal gal (Peer-toPeer). Dans une session, on appelle les extrmits des agents utilisateurs (User Agents). Un agent utilisateur peut avoir un des rles suivants: User-Agent Client (UAC) - Une application cliente qui initie une requte SIP. User-Agent-Server (UAS) - Une application serveur qui contacte l'utilisateur quand une requte SIP est reue et qui retourne une rponse la demande de l'utilisateur. Typiquement, une extrmit SIP est capable de fonctionner dans les modes UAC et UAS, mais fonctionne dans l'un ou l'autre mode. Les Clients SIP : Des Soft phones. Des tlphones IP.

Les Serveurs SIP : Proxy Server : Il reoit les requtes SIP d'un client et les achemine vers l'autre client. Redirect Server : Il fournit au client l'information sur le ou les prochains sauts qu'un message doit atteindre. Ensuite le client contacte le serveur du prochain saut ou l'UAS directement.

Registrar Server : Il traite les requtes des UACs pour l'enregistrement de leur localisation courante. Les serveurs d'enregistrement sont trs souvent localiss avec le redirect server ou le proxy server.

Un utilisateur veut entrer en communication avec un autre via SIP. Lapplication quutilise ce client fait donc appel au protocole SIP en prcisant la nature des changes. SIP va par la suite dfinir le nombre de session ouvrir et les ouvrir. (Pour changer de la vido par exemple, louverture de 2 sessions est ncessaire : une session pour limage et une autre pour le son). SIP partage de nombreuses similitudes avec le protocole HTTP comme le codage en ASCII et les codes de rponse. Le client envoie des requtes au serveur, qui lui renvoie une rponse. SIP utilise des requtes et des rponses pour tablir des communications parmi les divers composants d'un rseau. Les mthodes de bases utilises par SIP afin dtablir une session sont :
REGISTER : UAC authentifi au niveau du serveur INVITE : Initiation de la session ACK : confirmation ltablissement de la session CANCEL : annule un INVITE en suspens BYE : Fin de la session

On rencontre plusieurs types de communication utilisant le protocole SIP : Mode Point point : on parle dans ce cas-l dunicast qui correspond la communication entre 2 machines. Mode diffusion : on parle dans ce cas-l de multicast . Communication intgrant plusieurs participants. Combinatoire : combine les deux modes prcdents. Il existe galement un autre protocole de signalisation nomm H323 englobant un ensemble de normes utilises pour l'envoi de donnes audio et vido sur Internet. Il existe depuis 1996 et a t initi par l'ITU (International Communication Union), un groupe international de tlphonie qui dveloppe des standards de communication. H323 est un protocole assez dat qui est actuellement dpass par le SIP. Un des avantages du SIP est sa simplicit et sa ressemblance aux protocoles HTTP. Cest pourquoi la plupart du

matriel VoIP disponible aujourdhui rpond aux normes SIP. Lquipement plus ancien par contre suivra les normes du protocole H323. 1.2.2. RTP / RTCP Real-Time Transport Protocol (RTP) est un protocole de communication informatique.

RTP offre un moyen dchanger de bout en bout, via le protocole IP, des donnes possdant des contraintes de temps rel (audio, vido, ...). Bien que ce protocole possde dans son acronyme le terme transport , on ne peut pas rellement parler de protocole de transfert car RTP utilise un protocole de niveau 4 (transport) afin de vhiculer les donnes. En effet, il utilise le protocole UDP (User Datagramme Protocol). UDP est prfr TCP car ce dernier ne peut pas utiliser la fonction multicast et ne permet pas un envoi immdiat de donnes. RTP peut donc tre utilis pour la diffusion de contenus vido en direct (multicast), pour des applications multimdia et dans notre cas pour la Voice Over IP utilise par tlphonie sur Internet. Le protocole RTP ajoute aux paquets un en-tte fournissant les informations ncessaires la synchronisation du flux temps rel et du type son et vido. Lentte RTP contient des champs spciaux comme : Le champ padding P : indique si le paquet contient des octets additionnels de bourrage. Le champ extension X : prcise si l'en-tte est suivi d'un paquet d'extension. Le champ CSRC count CC : contient le nombre de CSRC qui suivent l'entte. Le champ payload type PT : identifie le type du payload (audio, vido, image, texte, html, etc.) Le champ squence number : sa valeur initiale est alatoire et il s'incrmente de 1 chaque paquet envoy, il peut servir dtecter des paquets perdus. Le champ timestamp : 32 bits, reflte l'instant o le premier octet du paquet RTP t chantillonn. Le champ SSRC : identifie de manire unique la source, sa valeur est choisie de manire alatoire par l'application. Le champ CSRC : 32 bits, identifie les sources contribuant.

Capture wireshark visualisation dune trame RTP

Le protocole SRTP (acronyme de Secure Real-time Transport Protocol) est le pendant scuris (chiffr) de RTP. Nous ne lavons pas mis en place ni tudier durant ce projet. Il doit tre intressant de limplment dans une architecture requrant un fort niveau de confidentialit. Le protocole RTP fonctionne en troite collaboration avec RTCP (Real-Time Transport Control Protocol). C'est un protocole de contrle des flux RTP, permettant de vhiculer des informations basiques sur les participants d'une session, et sur la qualit de service. Il fonctionne grce lenvoi priodique de paquets de contrle par tous les participants dans la session. RTCP est situ au-dessus du protocole de transport UDP. Ce feedback apport par RTCP, peut par exemple informer la source sur les proprits temps-rel du canal, l'tat du tampon du rcepteur. Par contre il n'offre pas de garantie de transfert En effet, pour une transmission correcte, il faut bien s'assurer ds le dpart, que les liens de communications utiliss sont correctement dimensionns par rapport l'utilisation qui en est faite.

Fig. 2 : Fonctionnement de RTP et RTCP

Lutilisation simultan des protocoles SIP, RTP et RTCP est la base dune communication en ToIP dans le cas de lutilisation dAsterisk. En effet, SIP permettra dtablir

la session entre lappelant et lappel via le serveur ; RTP entrera en jeu afin de transporter le flux voix entre les deux participants, RTCP lui fournira un contrle ; SIP pourra intervenir tout moment pour modifier la session (rajout dun participant) et dans tous les cas clturera la session lors de la fin de lappel. Il est ncessaire didentifier les deux types de protocoles. SIP est un protocole de signalisation il entre en jeu entre les clients et le serveur pour tablir la session, tandis que RTP/RTCP est un protocole qui va servir au transport de la voix et oprera toujours entre les participants dune session, jamais via le serveur.

Etablissement dune communication (SIP RTP)

1.2.3. IAX Inter-Asterisk Exchange est un protocole qui permet la communication entre client et serveur ainsi qu'entre serveurs. Le nom IAX est souvent utilis pour parler de la version 2 du protocole en effet la premire version n'est pratiquement plus utilise. Il est plus puissant que SIP car il a t conu pour le contrle et la transmission de flux multimdia avec un dbit plus faible. IAX utilise le protocole UDP et le port 4569 pour la signalisation et les donnes. IAX supporte les authentifications de type PKI et le trunking. Lavantage quoffre IAX est dans lutilisation du trunking, en effet la bande passante alloue correspond exactement celle utilise. Le trunking permet plusieurs flots de donnes vocales de partager un seul "trunk" avec un autre serveur, rduisant ainsi les congestions induites par le trafic IP. IAX est en train de rattraper son retard, de plus en plus doprateurs supportent ce protocole et de nombreux quipement commencent faire leur apparition.

Ce succs grandissant dIAX nest pas une relle menace pour SIP de la manire que SIP la t pour H323. Ayant tudi le principe de la ToIP, la comparaison avec une installation tlphonique standard ainsi que les diffrents protocoles utiliss comme SIP et RTP nous avons pu comprendre le fonctionnement de cette nouvelle technologie. Nous allons maintenant dcrire le serveur et les clients utiliss pour la mise en uvre dune solution ToIP. Le serveur Asterisk ainsi que les diffrents matriels associs seront prsents dans cette partie.

2. Asterisk
2.1. Gnralits
2.1.1. Prsentation Asterisk Asterisk est un commutateur tlphonique priv part entire mais dimplmentation logicielle, compatible linux, qui sinterconnecte avec quasiment tous les quipements de tlphonie de base standard et peu coteux. Cest un logiciel Open Source , qui a t dvelopp par Mark Spencer lorigine, de lentreprise Digium, (anciennement Linux Support Services Inc.) et qui continue, grce de nombreux contributeurs, voluer rgulirement. Ce logiciel a t conu pour une flexibilit maximale et reste un systme ouvert de nouvelles applications. Il fournit par exemple, des services de messagerie vocale, permet la confrence plusieurs, lidentification de lappelant, etc. Asterisk fournit donc toutes les fonctionnalits attendues dun PABX mais aussi la voix sur IP et na besoin daucun matriel supplmentaire pour lassurer. Dans linterconnexion avec les quipements de tlphonie numriques et analogiques, Asterisk reconnat une large gamme de dispositifs matriels, et notamment ceux fabriqus par ses sponsors, tels que digium, ou encore Quicknet. Digium propose une gamme de cartes dinterfaage autorisant une quatre liaisons de type T1 et/ou E1, permettant linterconnexion des liaisons de type PRI, ou des banques de canaux, comme un port unique dune carte de type FXO, ou lun des quatre ports de la carte modulaire FXS. 2.1.2. Fonctionnalits Les solutions tlphoniques de base dAsterisk offre une gamme importantes de fonctionnalits. Asterisk offre la fois les fonctionnalits dun PABX classique et des fonctionnalits innovantes.
Messagerie vocale ; Transfert dappel ; Confrence tlphonique ;

Standard automatique ; Renvoi dappel ; Mise en attente ;

La mise en place de ces fonctionnalits est relativement intuitive, nous allons dtailler la configuration du standard automatique qui nous a demand un peu plus de rflexion. Cette fonctionnalit est trs apprcie des entreprises, elle permet lappelant de choisir et de sorienter vers le service quil dsire. Ceci est pratique dans des grandes entreprises avec diffrents services. Nous avons donc test cette fonctionnalit en dcomposant comme prsent ci-dessous :

Standard automatique

Lors de lappel du numro, un 1er message vocal est diffus, il sagit du Message Vocal de Bienvenue. Il accueille les personnes et introduit un autre message qui va permettre de choisir le service vers lequel on veut sorienter (Message Vocal de choix des services). Ce message annonce donc quen tapant la touche 1 ,2 ou 3 lutilisateur va tre respectivement dirig vers le service Comptabilit, le service Informatique et pour finir au service Production. Selon la touche presse, lutilisateur va tre orient vers le poste 5555, 5545, 5556.

2.2. Mise en place du serveur


2.2.1 Carte FXO / FXS
La carte TDM 400P permet dinterconnecter le serveur Asterisk avec le rseau LAN (IP) et le rseau RTC (Rseau Tlphonique Commut). Cette carte est distribue par la socit

Digium . Nous avons choisi une carte possdant un module FXO et un module FXS afin de connecter une ligne et un tlphone analogique. Cest une carte PCI qui se prsente comme ceci :

On utilise les termes FXS et FXO pour nommer les ports utiliss par des lignes tlphoniques analogiques (Rseau Tlphonique Commut (RTC) en franais, Plain Old Telephone Service (POTS) en anglais). FXS (Foreign Exchange Station) : permet le branchement de tlphones analogiques. Lutilisation des tlphones analogiques ncessite la gnration dune tonalit. Pour la tonalit il faut donc un courant de sortie. Cest pour cela que lon br anche la carte sur un connecteur 12V de lalimentation. Le module FXS est VERT sur la carte. FXO (Foreign Exchange Office) : permet la connexion au RTC France Tlcom donc pas de tonalit gnrer. Le module FXO est ROUGE sur la carte. Selon les besoins ressentis, on peut rajouter des modules. Par exemple, un module FXO pour connecter une nouvelle ligne RTC ou le module FXS pour la connexion dun nouveau tlphone analogique. Cette carte nest pas ncessaire au fonctionnement dAsterisk. Linstallation pe ut fonctionner sans cette carte mais les utilisateurs naccderont pas au RTC. Le moyen pour accder au RTC sans cette carte est dutiliser le service freephonie.net que lon expliquera par la suite.

2.2.2 Asterisk-current-11.5.1 :
Nous avons choisi dutiliser Asterisk-current qui est une lgre dAsterisk qui sinstalle sur une distribution Linux par contre les autres versions comme AsteriskNOW conue spcialement pour tre un serveur de tlphonie indpendant. Pour lOS on choisit la

distribution CentOS 6.4 d issue dun projet gratuit de RedHat et qui est ddie pour les serveurs. Structure des fichiers :

La table en dessous contient les diffrents chemins dinstallations des fichiers et bibliothques Asterisk. Cette liste nest pas exhaustive, seulement les composantes essentielles pour une installation de base sont listes : Chemin /etc/asterisk /usr/sbin /var/log/asterisk /usr/lib/asterisk/modules Description Fichiers de configuration Chemin pour les fichiers binaires dexcution Fichier derreurs et CDR (rapports) Bibliothques des composantes des modules

Ports par dfaut : Protocole SIP IAX2 MGCP SCCP RTP Manager H.323 DUNDI Unistim Port 5060/5061 4569 2727 2000 1000-20000 5038 1720 4520 5000 Transport TCP/UDP UDP UDP TCP UDP TCP TCP UDP UDP

Dpendances et pr-installation :

Tlchargement :

Le paquet source dAsterisk-current peut tre tlcharg par la commande wget et disponible sur le lien suivant :
root@localhost:/usr/src/#wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gz

Prrequis :

Pour que Asterisk sinstalle correctement il faut que les paquets suivants soient installs, pour CentOS/RedHat on utlise la commande yum pour Ubuntu/Debian aptget :
yum install autoconf.noarch corosync.x86_64 corosynclib.x86_64 cyrus-sasldevel.x86_64 elfutils-devel.x86_64 elfutils-libelf-devel.x86_64 expat-devel.x86_64 filedevel.x86_64 gnutls-devel.x86_64 libgcrypt-devel.x86_64 libgpg-error-devel.x86_64 libibverbs.x86_64 libidn-devel.x86_64 librdmacm.x86_64 lm_sensors-devel.x86_64 postgresql.x86_64 rpm-devel.x86_64 tcp_wrappers-devel.x86_64 unixODBC.x86_64

Compilation et installation : Extraction du paquet :

root@localhost:/usr/src/#tar zxvf asterisk-11current.tar.gz

Compilation et installation :
root@localhost:/usr/src/asterisk11.5.1/#./configure root@localhost:/usr/src/asterisk-11.5.1/#make root@localhost:/usr/src/asterisk-11.5.1/#make install

Configuration serveur Asterisk : Commandes dexcution :

root@localhost~: /etc/init.d/asterisk stop root@localhost~: /etc/init.d/asterisk start root@localhost~: /etc/init.d/asterisk restart

Diagnostique :

Le serveur Asterisk permet dinteragir directement avec le systme sans avoir modifier les fichiers de configuration avec la CLI Interface de ligne de commande . Nous utiliserons cette interface uniquement pour afficher et vrifier la configuration et ltat des tlphones. Cette CLI est excute en tapant la commande suivante :

root@localhost:/etc/asterisk#asterisk r

Ou bien :
root@localhost:/etc/asterisk#rasterisk

Une fois la CLI ouverte nous pouvons afficher ltat des tlphones avec la commande suivante :

Nous pouvons galement afficher ltat des lignes quand le serveur Asterisk se comporte comme un client SIP avec la commande suivante :

Configuration : Fichiers de configuration :

Sip.conf :
Le fichier sip.conf est utilis pour configurer les logins et mots de passe de tous les priphriques. Ces priphriques peuvent tre des tlphones, des passerelles analogiques ou encore dautres serveurs. Ce fichier est organis en diffrentes zones appeles context . Context general Le context general dfinit : Le context par dfaut des comptes crs. les paramtres TCP/IP du serveur. le langage des messages vocaux. Voici un exemple oprationnel :

[general] context= local ; contexte par dfaut pour les utilisateurs

bindport= 5060
bindaddr= 0.0.0.0

; port UDP pour le protocole SIP


; @IP de linterface sur laquelle asterisk va ;couter le trafic 0.0.0.0 pour toutes les interfaces

language= fr

; langue par dfaut des messages vocaux

Contexte utilisateur Plusieurs options permettent de dfinir et de paramtrer un client (utilisateur) : type : Type de client (peer, user ou friend) defaultuser: Identifiant de l'utilisateur secret : Mot de passe de l'utilisateur host : Mthode pour trouver le client (dynamique, nom d'hte ou adresse IP) callerid : Identit de l'utilisateur

language : Langue par dfaut pour l'utilisateur Pour chacun des paramtres prcdents, plusieurs valeurs sont disponibles selon la configuration dsire. Type : peer : Client SIP auquel Asterisk pourra envoyer des appels user : Client SIP qui pourra passer des appels via Asterisk friend : Client qui sera la fois en mode 'peer' et 'user' Host : dynamic : Le client s'enregistre auprs du serveur nom d'hte : Nom d'hte du client adresse IP : Adresse IP du client Language : us : Langue par dfaut fr : Langue franaise Dautres contextes sont utiliss pour crer des comptes utilisateur. Les paramtres des comptes peuvent tres : le login le mot de passe context, ce paramtre permet de gagner de la souplesse dans le routage des appels mailbox, ce paramtre est utile pour la messagerie vocale

cest avec les paramtres nat et cannreinvite que lon peut contrer le problme du routage NAT.
[1001] secret= s1001 callerid= ensak1001 context= asterisk ; login SIP (obligatoire) ; mot de passe SIP (obligatoire) ; facultatif, nom afficher sur le post de lappel ; les appelles effectus par lutilisateur seront grs ;dans le contexte locale du ficher extensions.conf mailbox= 1001@default ; facultatif, compte de messagerie vocale, voir ; voicemail.conf type= friend host= dynamic nat= yes ; obligatoire, autorise les appels entrants et sortants ; @IP du client ; facultatif, rsout le problme denregistrement SIP ;quand le post est derrire un NAT

Contexte pour les passerelles Il existe diffrentes passerelles. Ces passerelles permettent les communications vers le rseau analogique ou numrique mais aussi GSM. Pour pouvoir fonctionner, ces passerelles doivent avoir des comptes. Ces comptes se configurent de la mme faon que les comptes utilisateurs, exemple :

[SPA-3102-PSTN] secret=azerty context=asterisk type=friend host=dynamic

extensions.conf :

Le fichier extension.conf est utilis pour router les appels vers un utilisateur ou vers sa messagerie. Par exemple, les appels provenant de comptes SIP dont le context est asterisk seront traits dans lextension asterisk du fichier extension.conf. Les instructions exten sont utilises comme suit : Numro compos Exten=> 200, Ordre Action ffectuer dinstructions 1, Dial(SIP/1001, Dure avant de passer linstruction suivante (s) 20)

Description des paramtres : exten : permet de dfinir une nouvelle extension : 200 : numro dappel (ou dextension) du serveur vocal ; 1 : ordre de priorit pour lexcution ; Dial : Commande excuter. La configuration du fichier extensions.conf est interprte comme suit : Si un appel arrive au numro 200 par exemple, Asterisk va premirement appeler celui qui sest log en user 1001 pendant 20 secondes et va sarrter si le 1001 ne dcroche pas pendant ce temps. Au niveau de ce fichier, on peut implmenter beaucoup de scnarios comme la mise en attente, accepter lappel directement, mettre un message automatique ou bien faire une combinaison de toutes ces actions.

Routage dappel vers un utilisateur: Dans lexemple suivant, les appels arrivant sur le serveur Asterisk destination du numro 200 sont envoys vers le tlphone de 1001 pendant 20 secondes puis sont envoys sur la messagerie de 1001.
[asterisk] exten => 200, 1, Dial(SIP/1001, 20) exten => 200, 2, VoiceMail(200)

Routage dappel vers un groupe dutilisateurs: Dans lexemple suivant, les appels arrivant sur le serveur Asterisk destination du numro 205 sont envoys vers le tlphone de 1001 puis vers le tlphone de 1002. Remarque : linstruction Goto() permet de renvoyer lappel o lon veut dans le fichier extension.conf. Dans notre cas, lappel basculera du tlphone de 1001 au tlphone de 1002 jusqu ce quun des deux dcroche.
[asterisk] exten => 200, 1, Dial(SIP/1001, 20) exten => 200, 2, VoiceMail(200)

Routage vers plusieurs tlphones en mme temps: Lexemple suivant montre comment faire sonner deux tlphones en mme temps. Quand on compose le 206, les tlphones de 1001 et de 1002 sonnent.
[asterisk] exten => 206, 1, Dial(SIP/1001&SIP/1002, 20)

Accs la messagerie vocale: Voici deux exemples daccs la messagerie. Dans le premier cas, lutilisateur doit composer sur son clavier numrique son login et son code pin. Dans le second exemple, le login correspond au numro de lappelant. Lutilisateur doit juste composer son code pin.

exten => 298, 1, VoiceMailMain() exten => 299, 1, VoiceMailMain(${CALLERIDNUM})

Routage dappel vers une passerelle analogique:

Dans lexemple suivant, tous les appels commenant par quatre cent sont envoys vers la passerelle. La passerelle va composer le numro sur la ligne analogique. exten => _4xx, 1, Dial(SIP/SPA-3102-PSTN/${EXTEN})

Dans lexemple suivant, les appels commenant par 01, 02, 03, 04 ou 05 composs de 10 chiffres sont envoys vers la passerelle. La passerelle va composer le numro sur la ligne analogique. exten => _0[1-5]xxxxxxxx, 1, Dial(SIP/SPA-3102-PSTN/${EXTEN})

Dans lexemple suivant, quand on compose le zro, lappel est envoy vers la passerelle et lon obtient la tonalit. Nous pouvons ensuite composer le numro vers lextrieur. exten => 0, 1, Dial(SIP/SPA-3102-PSTN)

Standard automatique: Le standard automatique permet un utilisateur dcouter un message lui indiquant les choix possibles. Aprs, il lui suffit de presser une des touches pour effectuer laction voulue. Il est possible de combiner les menus pour dvelopper une architecture plus complexe. Dans lexemple suivant, quand lutilisateur compose le 210, il entend un message vocal qui linvite taper 1, 2 ou 9 sur son clavier. Sil tape 1, lappel est envoy 1001. Sil tape 2, lappel est envoy 1002. Sil tape 9, Asterisk raccroche. Si lutilisateur ne fait rien, le message est jou en boucle.

[asterisk] exten => 210, 1, Goto(Menu,s,1) [Menu] exten => s, 1, Background(/var/msg/Menu) ; appel du standard automatique ; standard automatique ; le message audio enregistr ;/var/msg/Menu.gsm et joue

exten => s, 2, WaitExten(2)


exten => s, 3, Goto(Menu,s,1) exten => 1, 1,SayNumber(1) exten => 1, 2, goto(asterisk,1001, 1) exten => 2, 1, SayNumber(2) exten => 2, 2, Goto(asterisk,1002, 1) exten => 9, 1, SayNumber(9) exten => 9, 2, Hang up()

; on attend 2 sec
; on recommence le tout

; 1 Appel 1001

; 2 Appel 1002

; 9 On raccroche

Astuce : pour enregistrer le message vocal au bon format, il vous suffit de laisser un message sur la bote vocal dun utilisateur et de copier le fichier dans le rpertoire /var/msg/ avec la commande suivante.
cp /var/spool/asterisk/voicemail/default/200/INBOX/msg0000.gsm

/var/msg/Menu.gsm

Horloge parlante: Dans lexemple suivant le serveur Asterisk dcroche, annonce la date et lheure, attend 3 secondes et recommence.

exten => 211, 1, Answer exten => 211, 3, Wait(3)

; horloge parlante

exten => 211, 2, SayUnixTime(,CET,AdbY \'digits/at\' kM) exten => 211, 4, Goto(local,211, 2)

Outil de test de flux: Dans lexemple suivant Asterisk dcroche et joue un message expliquant le fonctionnement de la fonction de test. Cest ensuite lutilisateur de parler dans le combin et de vrifier que le serveur Asterisk renvoie le son vers le combin avec un petit dcalage.
exten => 212, 1, Answer ; permet de tester les flux entrant et sortant exten => 212, 2, Playback(demo-echotest) exten => 212, 3, Echo()

voicemail.conf :
Le fichier voicemail.conf permet de configurer la messagerie vocale dAsterisk. Nous pourrons y paramtrer la notification par email des messages et les logins des utilisateurs de la bote vocale. Contexte general Le context general permet de spcifier : Le format des fichiers audio enregistrs Si lon veut attacher le fichier audio lemail Lobjet de lemail Le corps de lemail
[general] format=gsm attach=yes emailsubject=Nouveau message vocal provenant de ${VM_CIDNAME}

emailbody=\n\tBonjour ${VM_NAME},\n\n\t Tu as un message de la part de ${VM_CIDNAME} d'une dure de ${VM_DUR} datant du ${VM_DATE}

Voici une liste des variables utilisables dans lobjet et le corps des emails : VM_NAME nom d'utilisateur VM_DUR dure du message VM_MSGNUM numro du message VM_MAILBOX numro de l'utilisateur VM_CIDNUM numro du l'appelant VM_CIDNAME nom de l'appelant VM_DATE date du message \n retour la ligne \t tabulation Contexte default Voici un exemple de context default, on y retrouve Le numro de bote vocale Le code pin de la bote vocale Le nom de lutilisateur Ladresse email de lutilisateur
[default] 200 = 123, ensa, ensa@toto.ma 201 = 456, uh1 202 = 789, fpk

Le nom des contextes utilisateurs nest pas important. Il faut toutfois faire attention utiliser le mme nom dans les extensions utilisateurs du fichier sip.conf et le fichier voicemail.conf.

sip.conf [ensa] mailbox=200@default

Notification par email : Pour quAsterisk puisse envoyer les emails aux utilisateurs, il faut installer un serveur SMTP sur le serveur Centos.

3. Applications
3.1. Architecture locale :
3.1.1. Schma du rseau :

Dans le schma en dessus on dispose dun serveur Asterisk sous une machine linux virtuelle et 3 client x-lite 2 virtuelles et le troisime reprsent par lOS de notre machine. Pour avoir le tous dans le mme rseau locale on doit choisir une carte de type host only ou local network (sur VirtualBox) pour les machines virtuelles plus lattribution des adresses IP appartenant au mme rseau 192.168.130.xx dans notre cas. 3.1.2. Configuration du serveur : Fichier sip.conf : On commence la configuration par configurer le serveur Asterisk sous linux (dans notre cas le systme est CentOS) : En accde au dossier /ect/asterisk puis en lance le nano pour modifier le fichier sip.conf.

# cd /etc/asterisk # nano sip.conf

On ajoute ce texte dans le fichier sip.conf, afin de configurer 3 clients SIP qui sont 1001,1002 et 1003. [1001] type=friend context=asterisk defaultuser=1001 secret=s1001 host=dynamic callerid="1001" [1002] type=friend context=asterisk defaultuser=1002 secret=s1002 host=dynamic callerid="1002" [1003] type=friend context=asterisk defaultuser=1003 secret=s1003 host=dynamic callerid="1003"

Fichier extensions.conf :

On lance nano pour configurer le fichier extensions.conf, afin de crer les scenarios des appels.

[asterisk] exten => 1001,1,Dial(SIP/1001,20,Tr) exten => 1001,2,Hangup() exten => 1002,1,Dial(SIP/1002,20,Tr) exten => 1002,2,Hangup() exten => 1003,1,Dial(SIP/1003,20,Tr) exten => 1003,2,Hangup()

Aprs cette modification, on a configur les scnarios des appels, par exemple, si un client SIP veut appeler le 1001, le tlphone 1001 va sonner pendant 20 seconde, aprs il va passer au 2me processus, cest de couper lappelle avec la commande Hangup(). Aprs on redmarre le serveur Asterisk pour prendre ces configurations en considration.
# rasterisk > core reload

3.1.3. Configuration des clients: Client SIP 1 :

En premier lieu on lance sous Windows le logiciel X-lite, aprs on clique sur le triangle invers qui est en haut, puis on clique sur SIP Account Settings.

Puis on clique sur le bouton add pour ajouter un nouveau compte SIP.

Les champs du compte SIP : Name Display : le nom qui va safficher sur ce spftphone. User Name : nom du compte comme il est configurer dans sip.conf

Password : mot de passe du compte dans le fichier sip.conf Domain : Adresse du serveur qui contient Asterisk

Dans la partie Domain Proxy on coche le bouton radio Domain puis on ne change rien. Si le compte est bien configurer le softphone va tre en tat Ready.

Pour tester on va essayer dappeler le 1001 partir de 1002 et dans la figure suivante on voit que la communication a t tablit :

3.1.4. Transfert dappels : Si on na pas de touches pour effectuer un transfert dappel sur notre tlphone SIP on peut configurer une touche de raccourcis pour effectuer un transfert dappel aveugle ou supervis vers un autre poste. Transfert dappels aveugle : Le transfert dappel dit aveugle est le fait de transfr un appel directement une autre personne. Exemple de transfert aveugle:

1. 1 appel 2 2. 1 et 2 sont en communication 3. 2 transfre 3 (transfert aveugle) 4. 1 et 3 sont en communication

5. 2 est raccroch Transfert dappels supervis : Le transfert dappel dit supervis est le fait dappeler le destinataire du transfert avant de lui transfrer lappel. Exemple transfert supervis:

1. 1 appel 2 2. 1 et 2 sont en communication 3. 2 appelle 3 (transfert supervis) 4. 1 est en attente 5. 2 et 3 sont en communication 6. 2 raccroche 7. 1 et 3 sont en communication Configuration et mise en place du transfert dappels : Dans le fichier features.conf se trouvant dans le repertoire /etc/asterisk , on repre les lignes suivantes :
;blindxfer => #1 ; ;atxfer => *2 ;

Ces lignes permettent de configurer une ou plusieurs touches pour transfrer un appel. Pour notre part on a dans ce fichier de configuration mis comme touches ## pour le transfert aveugle et ** pour le transfert supervis, donc au final les lignes ressemblent ceci :

blindxfer => ## ; atxfer => ** ;

Puis dans le fichier extensions.conf on rajoute loption tT lapplication Dial (). Donc la ligne: exten => 1001, 1, Dial(SIP/1001,20)

Devient: exten => 1001, 1, Dial(SIP/1001,20,tT) Maintenant, aprs avoir fait un reload dAsterisk on peut au cours dun appel appuyer sur les touches ## pour un transfert aveugle ou ** pour un transfert supervis, une voix dira Transfert on naura qualors qu taper le numro de tlphone de la personne qui on souhaite transfrer lappel.

3.2.

Architecture tendue :

3.2.1. Freephonie

Interconnexion freephonie

Afin de pouvoir passer des appels vers le RTC, lutilisation dun fournisseur SIP est une mthode de plus en plus utilise. Nous avons choisi dutiliser le service du fournisseur daccs Free qui propose sur la freebox le service freephonie.net. Cette option est supplmentaire mais son activation nest pas payante. Les appels mis sont facturs de la mme manire que les appels normaux via la freebox. La freephonie nous a donc permit de faire le lien entre notre installation et le RTC et ainsi tester la compatibilit et valider son fonctionnement. Ce service va permettre la convergence entre la tlphonie classique (RTC), le rseau GSM et le rseau IP.

Les utilisateurs prsents sur le rseau local ont donc pu passer des appels vers lextrieur. Il a suffi de connecter notre serveur Asterisk Internet afin que celui-ci puisse accder au serveur freephonie.net. 3.2.2. Scurit : Avec Firewall Pour simuler une situation en entreprise, nous avons ralis notre maquette en y insrant un firewall ralis avec une distribution Linux Ubuntu ; En effet de nos jours toutes les entreprises possdant un rseau local disposent aussi dun accs Internet, afin davoir porte, toutes les informations ncessaires, et pouvoir communiquer avec l'extrieur. Cette ouverture vers l'extrieur est dangereuse. Ouvrir l'entreprise via Internet signifie aussi laisser laccs aux trangers qui essayent de pntrer le rseau local de l'entreprise. Cette action est considre comme une attaque et peut se dfinir comme ceci : Accomplir des actions douteuses, parfois gratuites, de destruction, vol d'informations confidentielles Il a donc fallu mettre en place une architecture scurise pour parer ces attaques. Pour cela, on utilise un firewall. Cet outil va essayer au maximum de scuriser le rseau local de l'entreprise. Il va dans un premier temps, filtrer le trafic arrivant partir dinternet sur le rseau local.

Interconnexion avec un firewall

De plus, il peut permettre de restreindre l'accs interne vers l'extrieur. En plaant un firewall limitant ou interdisant l'accs des services, l'entreprise peut donc avoir un contrle sur les activits se droulant dans son enceinte.

La politique par dfaut de lutilisation dun firewall est de bloquer tout le trafic et autoriser seulement les protocoles et surtout les ports que lon souhaite et sur des interfaces prcises. Avant dcrire les iptables qui vont nous servir restreindre le trafic, il faut sassurer quaucune ne soit dj renseigne en vidant toutes les tables et supprimant les rgles utilisateurs.

Rinitialisation des tables :

> iptables F t filter > iptables F t nat > iptables -X

Blocage de tout le trafic : Pour notre maquette de test, nous avons voulu valider lutilisation du port 5060 par le protocole SIP. Nous avons dans un premier temps bloqu tout le trafic entre notre rseau local et lextrieur. Pour cela, on ignore tous les paquets transitant via le pare-feu. Il faut donc ignorer dans les 3 cas possible de traitement des paquets : INPUT : paquets entrant dans un processus local OUTPUT : paquets sortants dun processus local FORWARD : paquets traversant la machine

> iptables P INPUT DROP > iptables P OUTPUT DROP > iptables P FORWARD DROP

En affichant les tables de notre firewall via la commande iptables -L, nous visualisons bien que toutes les tables sont vides et que le trafic et bloqu (policy DROP).

Visualisation des iptables avant les rgles

En bloquant tout le trafic, mme le ping (protocole ICMP) vers internet ne fonctionnait pas. Le test dun appel vers lextrieur tait aussi ngatif. En interne les appels fonctionnaient correctement vu que le firewall na pas traiter ces paquets. Le serveur tant sur le rseau local lchange seffectuait localement.

Natage : Nous avons aussi ralis aussi une opration de translation dadresse pour toutes les

machines en 192.168.200.0 /24 qui traversent le firewall vers internet en sortant par eth0.

> Iptables t nat A POSTROUTING s 192.168.200.0/255.255.255.0 o eth0 j MASQUERADE

Ouvrir le port 5060 SIP:

Pour terminer, nous avons ouvert le port 5060 et vrifi que les communications fonctionnaient. En effet, le protocole SIP fonctionnait correctement mais il a aussi fallu ouvrir une plage de port afin que le protocole RTP puisse transmettre la voix. Pour notre test nous avons ouvert une plage assez grande (10000 20000). En ralit, il faudrait restreindre cette plage pour ne pas avoir une faille importante dans notre pare-feu.

> Iptables A FORWARD p udp dport 5060 j ACCEPT > Iptables A FORWARD p udp dport 10000:20000 j ACCEPT

Visualisation des iptables aprs les rgles

3.2.3. Scurit avec Tunnel VPN IPSec : La configuration du VPN IPSec se fait au niveau des deux routeurs passerelles entres les sites distants afin de scuriser le trafic entre les deux rseaux locaux comme le montre le schma suivant :

Configuration du tunnel VPN IPSec (192.168.55.0/30):


Cration de tunnel : R1:

interface Tunnel 12 ip address 192.168.55.1 255.255.255.252 tunnel source FastEthernet0/0 tunnel destination 192.168.2.2

R2:
interface Tunnel 12 ip address 192.168.55.2 255.255.255.252 tunnel source FastEthernet0/0 tunnel destination 192.168.1.2

On transforme le tunnel un tunnel IPSec IPv4 sur les deux routeurs :


tunnel mode ipsec ipv4

Le tunnel va passer en mode DOWN car les paramtres IPSec ne sont pas encore configurs. Cration de mcanisme dchange IKE via le protocole ISAKMP sur les deux routeurs :

crypto isakmp policy 10 encryption aes 256 authentication pre-share group 5 exit

Configuration dune cl pr-partage ENSAK : R1 :

crypto isakmp key 0 ENSAK address 192.168.2.2

R2 :
crypto isakmp key 0 ENSAK address 192.168.1.2

Cration dun jeu de traitement transform-set avec les paramtres suivants : ESP (Encapsulatiing Security Payload) Encryption: AES 256 Hashing: SHA-HMAC
crypto ipsec transform-set MYTRANS esp-aes esp-sha-hmac

Affectation du transfom-set un profile IPSec :


crypto ipsec profile PROTECT set transform-set MYTRANS exit int tunnel 12 tunnel protection ipsec profile PROTECT

Vrification de configuration VPN avec la commande show crypto ipsec transform-set R2 :

Conclusion
La tlphonie na jamais t une application simple. Les contraintes temps rel et de synchronisation psent lourdement sur sa mise en uvre, et la tlphonie par paquet ne fait que compliquer le transport. Cependant, plusieurs raisons expliquent le succs de la tlphonie par paquet, et plus spcifiquement de la tlphonie sur IP : Convergence ; Optimisation des ressources ; Cot de transport quasiment nul ; Disparition des commutateurs locaux ; Lunicit de ladministration ; La mobilit ; La maintenance centralise ; Lautonomie de lentreprise ;