Vous êtes sur la page 1sur 106

N° d‟ordre : 18 / L3 / TCO Année Universitaire : 2010 / 2011

UNIVERSITE D’ANTANANARIVO
----------------------
ECOLE SUPERIEURE POLYTECHNIQUE
-----------------------
DEPARTEMENT TELECOMMUNICATION

MEMOIRE DE FIN D‟ETUDES


en vue de l‟obtention
du DIPLOME de Licence ès sciences techniques
Spécialité : Télécommunication

par : RANDRIANARIJAONA Livarivony

MISE EN PLACE D’UN SERVEUR D’APPEL IPBX

Soutenu le Vendredi 29 juin 2012 devant la Commission d‟Examen composée de :

Président :
M. ANDRIAMIASY Zidora

Examinateurs :
M. RAKOTOMALALA Mamy Alain
M. RAKOTONDRAINA Tahina Ezéchiel
Mme. ANDRIANTSILAVO Haja Samiarivonjy

Directeur de mémoire :Monsieur RATSIMBAZAFY Andriamanga


REMERCIEMENTS
« Glory to God for all thingswe’vegot, Glory to God, He gives us all and such a lot… ».Je
rends à Dieu la Gloire pour la bénédiction et intervention qu‟Il a toujours témoignée dans ma
vie.

Je tiens également à remercier toutes les personnes qui ont contribué à la réalisation de ce
présent mémoire. Cordialement à :

- Monsieur ANDRIANARY Philippe, Professeur, Directeur de l‟Ecole Supérieure


Polytechnique d‟Antananarivo ;

- Monsieur RAZAKARIVONY Jules, Maître de conférences, Chef de département


Télécommunication à l‟ESPA qui s‟est efforcé de donner la meilleure des formations
aux étudiants ;

- Monsieur ANDRIAMIASY Zidora, Maître de conférences, Enseignant chercheur au


sein de l‟ESPA qui me fait l‟honneur de présider le jury de soutenance de ce mémoire.

- Je souhaiterais manifester ma reconnaissance particulièrement à Monsieur


RATSIMBAZAFY Andriamanga, Maître de conférence, enseignant chercheur au sein
de l‟ESPA, d‟avoir accepté d‟être mon encadreur, avec un suivi constant et un intérêt
démontré tout au long de mon travail.

Mes vifs remerciements vont à l‟endroit de :


- Monsieur RAKOTOMALALA Mamy Alain, Maître de conférences, enseignant
chercheur au sein de l‟ESPA,
- Monsieur RAKOTONDRAINA Tahina Ezéchiel, doctorant au sein de département
Télécommunication,
- Madame ANDRIANTSILAVO Haja Samiarivonjy, doctorant au sein de département
Télécommunication,
qui ont bien voulu consacrer une partie de leur temps pour juger ce travail, malgré leur
maintes et innombrables occupations. Je leur suis entièrement reconnaissant pour l‟intérêt
qu‟ils ont porté à ce mémoire.

i
- En outre, je tiens à exprimer ma profonde gratitude à toutes les personnes qui m‟ont
aidé à la réalisation de ce mémoire. Que ces personnes trouvent dans ce travail, la
récompense de leur précieuse aide et collaboration :
- Aux corps des enseignants ainsi que tout le personnel administratif du Département
Télécommunication pour tous les aides qu‟ils nous ont dispensé durant le cursus
universitaire ;
- Tout le personnel de la Société Micro-H 67 Ha auquel j‟ai pu effectuer mon stage, pour
leur accueil et conseils pendant mon période de stage et à la réalisation du projet.
- Et enfin, je ne saurais oublier d‟exprimer un chaleureux remerciement envers toute ma
famille particulièrement mes parents, pour leur soutien tant bien moral que matériel et
qui m‟a permis de poursuivre mes études, ainsi qu‟à tous mes proches qui ont contribué,
de près ou de loin à la réalisation de ce mémoire auquel je dédie ce travail.

« Que Dieu vous remplisse sa joie et sa paix dans tous vos projets…. »

ii
TABLE DES MATIERES

REMERCIEMENTS ................................................................................................................................ i
TABLE DES MATIERES ...................................................................................................................... iii
LISTE DES ABREVIATIONS .............................................................................................................. vi
INTRODUCTION GENERALE .............................................................................................................1
CHAPITRE 1 PARTIE THEORIQUE DU PROJET ...........................................................................3

1.1 Notion sur la téléphonie et sur les PABX classiques ....................................................................3


1.1.1 Historique de la téléphonie .................................................................................................... 3
1.1.3 Pourquoi la téléphonie IP ? .................................................................................................... 4
1.1.4 La téléphonie IP ...................................................................................................................... 5
1.1.4.1 La téléphonie par paquet ......................................................................................................... 6
1.1.4.2 Déroulement d‟une communication téléphonique IP .............................................................. 7
1.1.4.3 Les générations de la ToIP ...................................................................................................... 8

1.2 La VoIP ..........................................................................................................................................12


1.2.1 Fonctionnement..................................................................................................................... 12
1.2.2 Transport ............................................................................................................................... 14
1.2.3 Les protocoles de signalisation de la VoIP ........................................................................... 14

1.3 Le protocole SIP............................................................................................................................14


1.3.1 Entité SIP............................................................................................................................... 15
1.3.2 Adressage du SIP................................................................................................................... 18
1.3.3 Les messages SIP : ................................................................................................................ 20
1.3.4 Méthode et réponse SIP......................................................................................................... 22
1.3.4.1 Les paramètres généraux pour les requêtes et les réponses ....................................................22
1.3.4.2 Les requêtes SIP .....................................................................................................................26
1.3.4.3 Réponse SIP ..........................................................................................................................29
1.3.5 Scénario de communication .................................................................................................. 30

1.4 La plateforme Debian LINUX ....................................................................................................30


1.4.1 Introduction ........................................................................................................................... 30
1.4.2 Pourquoi une solution Open-source pour le projet .............................................................. 31

1.5 Présentation de l’ASTERISK ......................................................................................................32


1.5.1 Historique .............................................................................................................................. 32
1.5.2 Fonctionnalités ...................................................................................................................... 33
1.5.3 Avantages et inconvénients ................................................................................................... 33

1.6 Conclusion .....................................................................................................................................34


CHAPITRE 2 PRESENTATION D’UN IPBX ....................................................................................35

2.1 Introduction ..................................................................................................................................35

iii
2.1.1 Services offertes par un IPBX ............................................................................................... 36
2.1.2 IPBX open source .................................................................................................................. 38

2.2 Spécifications techniques..............................................................................................................39


2.2.1 Asterisk sous linux................................................................................................................. 39
2.2.2 Les principales fonctionnalités ............................................................................................. 39
2.2.2.1 Architecture ..........................................................................................................................39
2.2.2.2 Gestions d‟appels ...................................................................................................................41
2.2.2.3 Dialplan ..................................................................................................................................42
2.2.2.4 Fonctionnalité de la messagerie .............................................................................................44
2.2.2.5 IVR ......................................................................................................................................45

2.3 Comparaison avec d’autres IPBX open source .........................................................................47


2.3.1 SIPx........................................................................................................................................ 47
2.3.2 Yate......................................................................................................................................... 48
2.3.3 Bayonne ................................................................................................................................. 49

2.4 Conclusion .....................................................................................................................................50


CHAPITRE 3 MISE EN PLACE DU SERVEUR ...............................................................................51

3.1 Architecture ..................................................................................................................................51

3.2 Fiches techniquesdes équipements ..............................................................................................52


3.2.1 Le serveur .............................................................................................................................. 52
3.2.2 Le Hardphone CiscoLinksys spa 942.................................................................................... 52
3.2.3 La passerelle : la carte Digium TDM 410P ......................................................................... 53

3.3 Installation du Système d’exploitation........................................................................................55

3.4 Configuration de base...................................................................................................................55

3.5 Mise en place des services de l’IPBX ..........................................................................................56


3.5.1 Installation des paquets de base ............................................................................................ 56
3.5.2 Configuration de base de l’Asterisk ...................................................................................... 57
3.5.2.1 Ajout de client ........................................................................................................................57
3.5.2.2 Attribution de numéros d‟appel .............................................................................................58

3.6 IVR .................................................................................................................................................59


3.6.1 Descriptif des fonctions ....................................................................................................... 59
3.6.2 Mise en place du menu IVR .................................................................................................. 59

3.7 Messagerie vocale..........................................................................................................................60


3.7.1 Créer un compte de messagerie ............................................................................................ 60
3.7.2 Laisser et consulter ses messages.......................................................................................... 61

3.8 Clients ............................................................................................................................................62

iv
3.8.1 Softphone ............................................................................................................................... 62
3.8.1.1 X-lite ......................................................................................................................................62
3.8.1.2 Windows Messenger ..............................................................................................................63
3.8.1.3 SJPhone ..................................................................................................................................63
3.8.2 Comparatif ............................................................................................................................. 65

3.9 Amélioration et suite de l’étude ...................................................................................................65


3.9.1 Gestion d’utilisateur en temps réel ....................................................................................... 65
3.9.2 Interconnexion inter site ....................................................................................................... 66
3.9.3 Interconnexion entre deux serveurs Asterisk par le protocole IAX2 .................................. 66

3.10 Conclusion ...................................................................................................................................66


CHAPITRE 4 REALISATION D’UN SERVEUR IPBX VIA VM WARE.......................................67

4.1 Les logiciels mise en jeux ..............................................................................................................67


4.1.1 Le Virtual Machine VMware Workstation ........................................................................... 67

4.2 Mise en œuvre du serveur ............................................................................................................69


4.2.1 Plateforme installé ................................................................................................................. 69
4.2.2.1 Côté Administrateur ...............................................................................................................69
4.2.2.2 Côté Client .............................................................................................................................71
4.2.2.3 Configuration d‟un client IAX2 .............................................................................................72

4.3 Interface graphique à l’Administration du Serveur ..................................................................73

4.4 Conclusion .....................................................................................................................................77


CONCLUSION GENERALE ................................................................................................................78
ANNEXES ...............................................................................................................................................80
ANNEXE1 INSTALLATION DU DEBIAN .........................................................................................81
ANNEXE2 INSTALLATION DU VM W ARE WORKSTATION ...............................................82
ANNEXE3 CAPACITE DE L’ASTERISK ..........................................................................................90
ANNEXE4 LES CONTENUS DES FICHIERS DE CONFIGURATION L’ASTERISK ...............91
ANNEXE5 EVALUATION DU COUT D’UN SERVEUR IPBX .......................................................93
BIBLIOGRAPHIE..................................................................................................................................94
PAGE DE RENSEIGNEMENTS ..........................................................................................................96
RESUME .................................................................................................................................................97
ABSTRACT .............................................................................................................................................97

v
LISTE DES ABREVIATIONS

ACS Adjunct Communication Server

ADPCM Adaptive Differential Pulse Code Modulation

ADSL AsymmetricDigitalSubscriberLine
API Application Programming Interface
BSD Berkeley Software Distribution
CLI Command Line Interface
CR-LF Carriage Return-Line Feed
CTI Couplage Téléphonie Informatique).
CVS Concurrent Versions System
DHCP Dynamic Host Configuration protocol
DND Do not Disturb
DNS Domaine Name Server
DTMF Dual Tone Multi Frequency
FXO Foreign Exchange Office
FXS Foreign Exchange Station
GNU/GPL GNU General Public License
GSM Global System Mobile
HTTP Hyper Text Transport Protocol
IAX Inter Asterisk eXchange
IETF Internet Engineering Task Force
INAP Intelligent Network Application Part
IP Internet Protocol
IPPBX Internet Protocol Private Branche eXchange
ISUP ISDN-User Part
IVR Interactive Voice Response
MGCP Media Gateway Control Protocol
MSN MicroSoft Network
PABX Private Automatic Branche eXchange
PCI Peripheral Component Interface
PDA Personal Digital Assistant

vi
PRI Primary rate INterface
PSTN Public SwitchedTelephone Network
QoS Quality of Service
RFC Request For Comments
RNIS Réseau Numérique à Intégration de Service
RTC Réseau Téléphonique Commuté
RTCP Real-Time streaming Control Protocol
RTP Real-Time Protocol
SCCP Skinny Client Control Protocol
SDP Session Description Protocol
SIP Session Initiation Protocol
SMTP Simple Mail Transport Protocol

SVI Serveur Vocal Interactif

TCP Transmission Control Protocol


TDM Time division Multiplexing
ToIP Telephone Over IP
TTL Time To Live
UAC User Agent Control
UAS User Agent Service
UDP User Datagram Protocol
UE User Equipement
UMTS Universal Mobile Telecommunication System
URI User Ressource Identifier
URL Uniform Resource Locator
VoIP Voice over IP
WAN Wireless Area Network
WEB World Wide Web
WI-FI Wireless Fidelity
YATE Yet Another Telephony Engine

vii
INTRODUCTION GENERALE

Actuellement, les grandes universités dans les pays développés qui disposent d‟une architecture
de réseau stable utilisent comme moyen de communication la technologie résultante du
protocole IP. Nombreux sont ceux qui ont fait l‟expérience et ont trouvé l‟avantage. Le principe
consiste à une liaison entre un utilisateur appelant et un utilisateur appelé.
Ces derniers temps, les communications à travers l‟Internet connaissent un réel essor.
Elles résultent de la convergence des technologies de la téléphonie et des réseaux
informatiques, qui est à l‟origine de la Voix sur IP (VoIP). La mutualisation de ces deux
technologies nous a permis de réaliser le projet qui est la téléphonie sur IP. La téléphonie sur
IP permet d'assurer le découpage et le transport de la voix sous la forme de paquet sur le réseau
IP. La voix est ainsi numérisée, comprimée, par paquets de données sur le réseau IP.
Cependant la téléphonie sur IP repose sur un concept plus large que celui du transport de la
voix sur un réseau IP. La téléphonie sur IP est une association d'application permettant de
mettre en place de nouveaux services pour les entreprises (transfert d'appels, multi
conférences, identification d'appel, filtrage d'appel,…).

Une des solutions montantes des technologies de téléphonie IP vient du monde open-source:
Asterisk. Ce logiciel, distribué gratuitement et librement, est digne des meilleures solutions
VoIP. Il permet d'implémenter, sur une plateforme Linux, un PABX (Private Automatic
Branche Exchange) logiciel. Il supporte pratiquement tous les protocoles de VoIP standards
(SIP, H323, MGCP...). Parmi ces protocoles, SIP (Session Initiation Protocol), le plus
prometteur et le plus léger, est utilisé par défaut par Asterisk.

L‟objectif de ce projet consiste en la mise en place d‟un serveur d‟appel ou plus précisément un
standard téléphonique sous VoIP. Ceci permet de mettre en place un système téléphonique
avancé pour la communication.
Mon stage professionnel, clôturant la formation en License es Sciences et Techniques pour
l‟obtention du Diplôme de Technicien Supérieur en Télécommunication à l‟ESPA, a été
effectué au sein de l‟entreprise Micro-H à 67Ha. Ce stage s‟est déroulé le mi- décembre 2011 à
la fin du mois de janvier 2012. Le projet concernant l‟étude et la mise en place de la téléphonie
sur IP au sein de l‟entreprise m‟avait été confié.
Ce rapport se divise en quatre parties différentes. Pour mieux cerner, nous allons voir
préalablement la partie théorique du projet pour tracer et préciser le domaine que nous avions à
1
travailler et à maitriser. Ensuite, nous allons présenter l‟IPBX en continuant sur la solution
adoptée : « Asterisk ». Après, nous allons exposer la mise en place du serveur expliquant en
détail les fonctionnalités du standard téléphonique avec les éléments constituants. A la fin, on
terminera par une réalisation d‟un IPBX via VM Ware.
En guise de conclusion, nous allons vous fournir le résultat final de notre recherche, ainsi que
le bilan de notre acquis du stage, professionnellement et personnellement.

2
CHAPITRE 1
PARTIE THEORIQUE DU PROJET

Ce chapitre définit l‟évolution du standard téléphonique en commençant par la PABX jusqu‟à


l‟arrivée de l‟IP-PBX par l‟exploitation de la VoIP (Voix sur IP), et la raison pour laquelle on
se penche aujourd‟hui sur ce dernier et on tente de remplacer l‟ancienne technologie par les
divers avantages qu‟on a trouvé. On présentera aussi dans cette partie le logiciel Asterisk en
général avec la plateforme choisie et traitera particulièrement sur le protocole qu‟il utilise par
défaut : le SIP.

1.1Notion sur la téléphonie et sur les PABX classiques

1.1.1Historique de la téléphonie

La téléphonie fait depuis longtemps partie de l‟histoire. Du premier “téléphone àficelle” à


l‟ouverture de la “boucle locale”.[1]
Cependant avec la croissance des utilisateurs, il n‟est plus concevable d‟installer une ligne
téléphonique entre chacun d‟entre eux. C‟est donc tout naturellement que naquit le premier
réseau téléphonique qualifié de “commuté”. Chaque utilisateur était alors identifié par son nom
et son numéro d‟abonné. C‟est la fin du 19ème siècle que le premier central semi-automatisé, le
central électromécanique, fit son apparition.
Ainsi au 20èmesiècle, une des premières innovations majeures fut l‟automatisation complète des
centraux téléphoniques. C‟est à la fin des années 1970 que la majorité de téléphoniste et des
centres électromécaniques furent remplacés par des commutateurs entièrement automatiques.
Aucune opération manuelle n‟était plus nécessaire pour relier deux abonnés. C‟est la fin de
l‟électromécanique et le début de l‟électronique.

1.1.2Approche sur les PABX


Définition 1.01:
Un PABX est un autocommutateur privé, utilisé dans les entreprises pour assurer les
communications internes et le lien avec le réseau téléphonique commuté global ou PSTN
(Public SwitchedTelephone Network). Un autocommutateur est un central téléphonique, en
d‟autre terme, Il représente l‟élément central qui : [1]

3
 Distribue les appels téléphoniques arrivés
 Autorise les appels téléphoniques départs
 Gère les terminaux téléphoniques
 Gère toutes les autres fonctionnalités ou options

Un autocommutateur privé possède sa propre intelligence pour faciliter la commutation des


appels voix. Cette intelligence est gérée par au moins une unité centrale (CPU), avec des
processeurs d'entrées/sorties qui gèrent les interfaces de lignes et d'équipements de postes, avec
également une mémoire vive (sauvegardée en général par une pile pendant à peu près cinq
années).
L'alimentation électrique est indispensable pour faire fonctionner l'ensemble, et une ou
plusieurs batteries permettent une certaine autonomie en cas de coupure de courant.
L'alimentation régulée peut-être intégrée au boîtier ou externe. Elle permet aussi de générer le
courant d'appel pour les postes analogiques, et génère aussi différents potentiels continus
indispensables pour tous les éléments.
Un PABX sur lequel on rajoute une passerelle pour l‟accès aux réseaux devient un PABX-IP, et
permet la voix sur IP.

1.1.3Pourquoi la téléphonie IP ?
Pour un opérateur ou une entreprise privée possédant son propre central téléphonique
analogique, il existe de nombreux avantages à remplacer ce central traditionnel par un serveur
de téléphonie IP.

 Réduction de coût :
Les entreprises dépensent énormément d'argent en communications téléphoniques. Le prix des
communications voix sur IP est dérisoire par rapport à des communications traditionnelles. En
particulier, plus les interlocuteurs sont éloignés, plus la différence de prix est intéressante.
Divers bénéfices peuvent dès lors en être obtenus:
 appels gratuits via l'Internet entre les filiales distantes
 aucune paire de cuivre dédiée n'est nécessaire pour l'installation d'une nouvelle ligne de
téléphone.
 existence de nombreux softphone (logiciel de téléphonie) gratuits en lieu et place de
postes téléphoniques IP.
 liberté d'établir des conférences sans la dépendance d'un opérateur de service.

4
 faible coût d'administration. Dans une entreprise, il n'est plus nécessaire d‟avoir des
techniciens distincts pour la gestion des services de voix et du données.

 Disponibilité et mobilité :
Le plus souvent comme dans notre cas, dans chaque local d'une entreprise, une seule ligne
de téléphone est disponible. C‟est la ligne principale à l'employé qui occupe le local. En
utilisant ou bien un softphone sur une station de travail ou poste téléphonique IP (WIFI ou
autres) chaque employé est accessible via son identifiant unique dans l'annuaire de
l'entreprise, peu importe le local dans lequel il se trouve. En effet, sa ligne téléphonique
"le suit" et n'est plus physiquement associée à un lieu unique.

En matière de mobilité interne, on constate que:


 il n'est plus nécessaire de manipuler les connexions physiques au PABX ou de
changer le numéro de téléphone associé à un poste téléphonique lorsque celui-ci est
déplacé
 les utilisateurs ont l'opportunité d'associer leurs lignes avec n'importe quel poste de
téléphone IP disponible.

1.1.4La téléphonie IP

L‟objectif de cette partie est de présenter le socle théorique sur lequel repose la téléphonie sur
IP. [2]
Tout d‟abord, les deux appellations VoIP et ToIP sont communément utilisées l‟une pour
l‟autre. Rappelons quelques définitions de base :
 La VoIP désigne l‟ensemble des normes et protocoles propriétaires qui permettent le
transport la voix dans le paquet IP que l‟on détaillera au paragraphe 1.5.
 La ToIP désigne l‟ensemble des services et applications qui reposent sur le transfert de
paquet.
La VoIP intervient principalement dans les environnements réseaux longues distances (WAN,
Wide Area Network). Dans une logique d‟interconnexion de centraux téléphoniques privés
(PBX) entre eux, ou de connexion du PBX avec des opérateurs de téléphonie sur IP.
La ToIP désigne les installations privatives de desserte locale de la fonction téléphonie dans un
bâtiment, un campus. Ce sont principalement les téléphones IP eux-mêmes, les services
connexes ainsi que les serveurs faisant fonction de PABX, appelés aussi IP-PBX.

5
1.1.4.1La téléphonie par paquet

Dans la communication à transfert de paquets, toutes les informations à transporter sont


découpées en paquets pour être acheminées d‟une extrémité à une autre du réseau.
La figure suivante montre la technique :[3]

Technique de transfert de paquets

L‟équipement terminal A souhaité envoyer un message à B. Le message est découpé en trois


paquets, qui sont émis de l‟équipement terminal vers le premier nœud du réseau, lequel les
envoie à un deuxième nœud, et ainsi de suite, jusqu‟à ce qu‟ils arrivent à l‟équipement terminal
B. Dans l‟équipement terminal les paquets rassemblés reconstituent le message de départ.
Le paquet peut en fait provenir de différents médias. Nous supposons que la source est un
message composé de données, comme une page de texte préparée au moyen d‟un traitement de
texte. Le terme message est cependant beaucoup plus vaste et regroupe toutes les formes sous
lesquelles de l‟information peut être présentée. Cela va d‟une page Web à un flot de parole
téléphonique représentant une conversation.

Dans la parole téléphonique, l‟information est regroupée pour être placée dans un paquet. Le
combiné téléphonique produit des octets, provenant de la numérisation de la parole, c‟est-à-dire
le passage d‟un signal analogique à un signal sous forme de 0 et de 1, qui remplissent petit à
petit le paquet. Dès que celui-ci est plein, il est émis vers le destinataire. Une fois le paquet

6
arrivé à la station terminale, le processus inverse s‟effectue, restituant les éléments binaires
régulièrement à partir du paquet pour reconstituer la parole téléphonique.
Le réseau de transfert est lui-même composé de nœuds, appelés nœuds de transfert, reliés entre
eux par des lignes de communication, sur lesquelles sont émis les éléments binaires constituant
les paquets. Le travail d‟un nœud de transfert consiste à recevoir des paquets et à déterminer
vers quel nœud suivant ces derniers doivent être acheminés.
Le paquet forme donc l‟entité de base, transférée de nœud en nœud jusqu‟à atteindre le
récepteur. Suivant les cas, ce paquet peut être regroupé avec d‟autres paquets pour reconstituer
l‟information transmise. L‟action consistant à remplir un paquet avec des éléments binaires en
général regroupés par octet s‟appelle la mise en paquet, ou encore la paquétisation, et l‟action
inverse, consistant à retrouver un flot d‟octets à partir d‟un paquet, la dépaquétisation ;
Dans la téléphonie sur IP, une suite d‟octets de téléphonie est encapsulée dans un paquet IP de
niveau 3, lui-même encapsulé dans une trame véhiculée sur le support physique.

1.1.4.2Déroulement d‟une communication téléphonique IP

Le parcourt suit cinq grandes étapes :


 Mise en place de la communication :
Une signalisation démarre la session. Le premier élément à considérer est la localisation du
récepteur .Elle s‟effectue par une conversion de l‟adresse du destinataire (adresse IP) en une
adresse IP d‟une machine qui puisse joindre le destinataire (qui peut être le destinataire lui-
même). Le récepteur peut être un combiné téléphonique classique sur un réseau d‟opérateur
télécoms ou une station de travail (lorsque la communication s‟effectue d‟un combiné
téléphonique vers un PC). Le protocole DHCP (DynamicHost Configuration Protocol) et les
passerelles spécialisées (gatekeeper) sont employés à cette fin.

 Etablissement de la communication :

Ceci passe par une acceptation du terminal destinataire, que ce dernier soit un téléphone, une
boîte vocale. Plusieurs protocoles de signalisation sont utilisés pour cela, en particulier le
protocole SIP (Session Initiation Protocol) de l‟IETF. Comme son nom l‟indique, SIP est utilisé
pour initialiser la session. Une requête SIP contient un ensemble d‟en-têtes, qui décrivent
l‟appel, suivis du corps du message, qui contient la description de la demande de session. SIP
est un protocole client-serveur, qui utilise la syntaxe et la sémantique de HTTP.
7
Nous détaillons ce protocole au paragraphe 1.3.

 Transport de l’information téléphonique :

Le protocole RTP (Real-time Transport Protocol) prend le relais pour transporter l‟information
téléphonique proprement dite. Son rôle est d‟organiser les paquets à l‟entrée du réseau et de les
contrôler à la sortie .De façon à reformer le flot avec ses caractéristiques de départ (vérification
du synchronisme, des pertes, etc.). C‟est un protocole de niveau transport, qui essaye de
corriger les défauts apportés par le réseau.

 Changement de réseau :

Un autre lieu de transit important de la ToIP (Téléphone sur IP) est constitué par les
passerelles, qui permettent de passer d‟un réseau à transfert de paquets à un réseau à
commutation de circuits, en prenant en charge les problèmes d‟adressage, de signalisation et de
transcodage que cela pose. Ces passerelles ne cessent de se multiplier en ce moment.

 Arrivé au destinataire :

De nouveau, le protocole SIP envoie une requête à la passerelle pour déterminer si elle est
capable de réaliser la liaison circuit de façon à atteindre le destinataire. En théorie, chaque
passerelle peut appeler n‟importe quel numéro de téléphone. Cependant, pour réduire les coûts,
mieux vaut choisir une passerelle locale, qui garantit que la partie du transport sur le réseau
téléphonique classique est le moins cher possible.

Ces étapes montrent les nombreuses variantes dans la téléphonie IP qui se différencie par les
protocoles utilisés. Donc cette technologie affronte un grand défi durant l‟établissement de la
communication, qui doit garantir des temps de transit acceptables pour que l‟application
téléphonique puisse se dérouler dans de bonnes conditions.

1.1.4.3Les générations de la ToIP

La première génération de téléphonie IP grand public a été proposée par des opérateurs
alternatifs afin d‟offrir des communications internationales à tarif local. Ce service consiste à
8
rassembler un grand nombre de voies téléphoniques classiques sur le commutateur local et à les
encapsuler dans un même paquet IP. Ce paquet IP peut devenir assez important suivant le
nombre de voix multiplexées et le nombre d‟octets de chaque voix.[3]
L‟utilisateur se connecte en local sur le commutateur de l‟opérateur filaire.
L‟opérateur alternatif récupère les différentes voix et le multiplexe sur Internet ou sur une
même liaison IP. À la sortie du réseau IP, les voies de parole retrouvent leur composition
normale sur le commutateur local et sont envoyées de façon classique aux destinataires au
travers de la boucle locale de l‟opérateur de télécommunications.
Cette solution est illustrée à la figure 1.02

Figure 1.02 : La première génération de la téléphonie IP

La deuxième génération a vu les opérateurs de télécommunications offrir des accès Internet au


travers de la boucle locale via des modems standards permettant des débits de l‟ordrede 50
Kbit/s.
Sur cet accès Internet peuvent être raccordés des ordinateurs personnels. Si l‟ordinateur est
équipé d‟un micro et d‟un haut-parleur, il est possible d‟utiliser l‟ordinateur personnel comme
téléphone et de faire transiter les paquets de téléphonie sur Internet après les avoir acheminés
sur la boucle locale de l‟opérateur.
Cette amélioration est illustrée à la figure 1.03

9
Figure 1.03 : Deuxième génération de la téléphonie IP

Dans la troisième génération, au lieu d‟utiliser l‟ordinateur comme téléphone, un combiné


analogique est connecté au PC, équipé d‟une carte d‟acquisition de la parole téléphonique.
L‟ordinateur personnel joue ici le rôle d‟une passerelle, transformant le signal analogique du
combiné en un flux d‟octets de téléphonie numérisés par un codec intégré à l‟ordinateur.

Figure 1.04 : La troisième génération

Les octets sont envoyés par un modem vers le routeur de l‟opérateur, auquel revient la charge
de la paquétisation et de l‟envoi des paquets IP.

La quatrième génération est caractérisée par l‟arrivée de modems ADSL munis de plusieurs
prises, chacune prenant en charge un média particulier et un protocole associé.
Le modem ADSL permet de connecter des téléphones standards. Les conversions nécessaires
sont effectuées dans le modem, qui devient de ce fait une véritable Internet Box, le travail
10
spécifique de la partie modem devenant mineur par rapport à l‟ensemble des fonctionnalités
réseau réalisées.

Figure 1.05 : La quatrième génération

La cinquième génération du processus aboutit à de la téléphonie IP de bout en bout. La


paquétisation est repoussée dans l‟équipement terminal de l‟utilisateur. Le téléphone devient un
téléphone IP. Le téléphone IP n‟est pas connecté directement sur la boucle locale de l‟opérateur
mais sur le réseau d‟entreprise, lui-même connecté à l‟opérateur. Le téléphone IP fait en réalité
office de routeur. Il intègre en outre un codec et assure la paquétisation IP et l‟encapsulation
des paquets IP dans une trame Ethernet. La trame Ethernet est ensuite transmise sur le réseau
d‟entreprise.
Avec l‟arrivée massive d‟ordinateurs personnels suffisamment puissants pour émuler un
téléphone IP, la ToIP est devenue une téléphonie de bout en bout gratuite, puisque la téléphonie
devient une application comme une autre transitant par l‟intermédiaire du modem ADSL.

Figure 1.06 : La téléphonie IP de bout en bout


11
En résumé, la téléphonie reste une des applications dominantes du monde des réseaux, et ce
pour encore de nombreuses années, en raison notamment de l‟émergence de nouveaux et
immenses marchés. L‟application de téléphonie, encore légèrement majoritaire en terme de
chiffre d‟affaires, ne représente toutefois plus qu‟environ 10 % du débit total des
communications.
La ToIP reste aujourd‟hui majoritairement prise en charge par les réseaux à commutation de
circuits, mais une forte concurrence s‟exerce avec les réseaux à transfert de paquets.
Cependant, la qualité est très variable en fonction des efforts effectués par les gestionnaires de
réseaux d‟entreprise et les opérateurs de réseaux de télécommunications. Les problèmes à
résoudre sont nombreux et parfois complexes. La ToIP n‟est pas une application simple à
mettre en œuvre dans le contexte de l‟intégration de tous les services de télécommunications
sur le même réseau.

1.2La VoIP

Définition 1.02
Cette technologie permet de communiquer par voix via le réseau Internet ou autres réseaux
supportant le protocole TCP/IP. [4]

La Voix sur IP est désormais devenue une technologie incontournable, car aujourd‟hui la
question n‟est plus de savoir si les entreprises vont évoluer vers ce modèle, mais à quel rythme
elles vont le faire.
L'objectif de la VoIP est d'appliquer à la voix le même traitement (avecQoS) que les autres
types de données circulant sur Internet, grâce au protocole IP.

1.2.1Fonctionnement

Lorsqu‟un utilisateur veut entrer en communication avec un autre, une connexion est alors
établie entre les deux terminaux. L‟utilisateur peut alors émettre un son par le biais d‟un micro
(signal analogique) qui est ensuite numérisé et compressé par la machine (signal par synthèse).
Une fois les données encapsulées dans un paquet, il est envoyé au destinataire qui procèdera
aux opérations inverses assurant ainsi la mise en forme d‟un message audible.

12
Nous pouvons comparer le principe de fonctionnement à celui du courrier. Le message adressé
est découpé en 10 lettres (les données) expédiées au fur et à mesure au moyen de 10 enveloppes
(les paquets) avec l‟adresse de destination.[3]

Principe de fonctionnement de la VoIP

Les lettres sont transmises les unes après les autres.


• Chacune trouve son chemin à travers le réseau, elle comporte :
L‟adresse du destinataire, un numéro d‟ordre.
Toutes ces opérations cumulées ne permettent pas pour autant un transfert de la voix avec une
bonne qualité de service. Bien que le protocole IP soit le standard de l'Internet, il n'a pas les
caractéristiques intrinsèques pour assurer une conversation vocale compréhensible. Par
exemple, les paquets ne sont pas assurés de tous arriver à bon port Différents protocoles «
standards » ont été développés pour assurer de bonnes conditions de transmission de flux audio
et vidéo. Dans les grands principes généraux de la téléphonie sur IP, nous avons d‟un côté la
signalisation (SIP, H323, etc.) et de l‟autre côté le codage de la voix.
Les flux de signalisation sont pilotés en général par un serveur de téléphonie qui fait fonction
d‟autocommutateur. Ce serveur de téléphonie supporte l‟ensemble des fonctionnalités. Les flux
de signalisation se reposent en général sur TCP.
Les flux voix sont acheminés directement en Point à Point (Peer to Peer) via UDP via RTP
(Real-time Transport Protocol), ce qui nous amène à voire le système de transport de la section
suivante.

13
1.2.2Transport
L‟information voyage dans des datagrammes UDP ne garantissant pas la livraison car il
n‟effectue aucune vérification concernant la perte de paquet et ne transmet aucune information
sur les configurations utilisés.

Il a donc fallut définir un nouveau protocole fournissant plusieurs fonctionnalités :


 Le numéro de séquence pour la remise en ordre des paquets ;
 Un champ horodatage (Timestamp) pour la restauration de la base de temps ;
 Détecte la perte de paquets pour informer la source dans des délais compatibles avec
leservice ;
 Identifier le contenu des données et permettre leur transmission ;
 Intègre des solutions pour traverser des passerelles de certains réseaux locaux
Ce protocole est appelé RTP (Real-Time Transport Protocol) qui se complète par un protocole
decontrôle qui transmet des rapports de réception RTCP (Real-Time Transport Control
Protocol). Parexemple lors d‟une conférence regroupant plusieurs participants, RTCP permet
d‟identifierdifférentes sources d‟émissions contribuant à la session, mais il n‟est cependant pas
obligatoire.

1.2.3Les protocoles de signalisation de la VoIP


Avant de pouvoir communiquer directement, les interlocuteurs de la discussion doivent établir
un protocole pour se communiquer.
Les principaux protocoles utilisés pour l‟établissement de la communication sont :
 H.323 ;
 SIP ;
 IAX (SIP amélioré, issu du projet de PABX Asterisk) ;
 MGCP ;
 SCCP ;
 Jingle ;
SIP est utilisé pour notre projet et sera développé en détail ci-après.

1.3Le protocole SIP

SIP ou « Session Initiation Protocol » est un protocole conçu pour le multimédia tel que
lavidéo, l'audio, l'échange de données..., et permet l'interopérabilité entre matériels et logiciels.

14
Il est développé, normalisé, et standardisé par l'organisme IETF (Internet EngeneeringTask
Force) dans le but de faireconverger la téléphonie et l'informatique. [5] [6]

Il hérite de certaines fonctionnalités des protocoles http (Hyper Text Transport Protocol) utilisé
pour naviguer sur le WEB, et SMTP (Simple MailTransport Protocol) utilisé pour transmettre
des messages électroniques (E-mails). SIPs‟appuie sur un modèle transactionnel client/serveur
comme HTTP. L‟adressage utilise leconcept d‟URL SIP (Uniform Resource Locator) qui
ressemble à une adresse E-mail.Chaque participant dans un réseau SIP est donc adressable par
une URL SIP.SIP a été retenu commeprotocole pour le contrôle de session et le contrôle de
service. Il remplacera à terme lesprotocoles ISUP (utilisé pour le contrôle d‟appel dans le
Réseau Téléphonique Commuté) etINAP (utilisé pour le contrôle de service dans l‟architecture
Réseau Intelligent).

Le protocole SIP n‟est qu‟un protocole de signalisation. Une fois la session établie, les
participants de la session s‟échangent directement leur trafic audio/vidéo à travers le protocole
RTP (Real-Time Transport Protocol).
Par ailleurs, SIP n‟est pas un protocole de réservation de ressource, il ne peut donc pas assurer
la QoS. Il s‟agit d‟un protocole de contrôle d‟appel et non de contrôle du média. SIP n‟est pas
non plus un protocole de transfert de fichier tel que HTTP, utilisé afin de transporter de grands
volumes de données. Il a été conçu pour transmettre des messages de signalisation courts afin
d‟établir, maintenir et libérer des sessions multimédia. Des messages courts non relatifs à un
appel peuvent néanmoins être transportés par SIP à la manière des SMS.

1.3.1Entité SIP

SIP définit deux types d‟entités : les serveurs et les clients. Plus précisément, les entités du SIP
sont constitués par :

Le serveur proxy (Proxy server) : Il reçoit des requêtes de clients qu‟il traite lui-même ou
qu‟il achemine à d‟autres serveurs après avoir éventuellement réalisé certaines modifications
sur ces requêtes.
Le serveur proxy (parfois appelé serveur mandataire) permet d‟initier une communication la
place de l‟appelant. Il joue le rôle d‟intermédiaire entre les terminaux des interlocuteurs et agi
pour le compte de ces derniers.
15
Le serveur proxy remplit les différentes fonctions suivantes :
 Localiser un correspondant ;
 Réaliser éventuellement certains traitements sur les requêtes ;
 Initier, maintenir et terminer une session vers un correspondant.

Lorsqu‟un utilisateur demande à un serveur proxy de localiser un correspondant, ce dernier


effectue la recherche, mais, au lieu de retourner le résultat au demandeur (comme le ferait un
serveur de redirection), il utilise cette réponse pour effectuer lui-même l‟initialisation de la
communication en invitant le correspondant à ouvrir une session.

Le serveur de redirection (Redirect server) : Il s‟agit d‟un serveur qui accepte des requêtes
SIP, traduit l'adresse SIP de destination en une ou plusieurs adresses réseau et les retourne au
client. Contrairement au Proxy server, le Redirect server n'achemine pas de requêtes SIP. Dans
le cas d‟un renvoi d‟appel, le Proxy server a la capacité de traduire le numéro de l‟appelé dans
le message SIP reçu, en un numéro de renvoi d‟appel et d'acheminer l‟appel à cette nouvelle
destination, et ce, de façon transparente pour le client origine ; pour le même service, le
Redirect server retourne le nouveau numéro (numéro de renvoi) au client origine qui se charge
d‟établir un appel vers cette nouvelle destination.

L’agent utilisateur (terminal): Il s‟agit d‟une application sur un équipement de l‟usager qui
émet et reçoit des requêtes SIP. Il se matérialise par un logiciel installé sur un PC, sur un
téléphone IP ou sur une station mobile UMTS (UE, User Equipment).

Il est constitué de deux sous-entités :


 Une partie cliente, appelée UAC (User Agent Client), chargée d‟émettre les
requêtes. C‟est l‟UAC qui initie un appel.
 Une partie serveur, appelée UAS (User Agent Server), qui est en écoute,
reçoit et traite les requêtes. C‟est l‟UAS qui répond à un appel.
L‟association des requêtes et des réponses entre deux entités de type UA constitue undialogue.

L’enregistreur : il s‟agit d‟un serveur que SIP dispose pour enregistrer les utilisateurs où
ces derniers envoient un message qui indique l‟adresse où ils sont joignables (adresse IP).

16
Le serveur d‟enregistrement (Registrer Server) offre un moyen de localiser un correspondant
avec souplesse, tout en gérant la mobilité de l‟utilisateur. Il peut en outre supporter
l‟authentification des abonnés.

Dans la pratique, lors de l‟activation d‟un terminal dans un réseau, la première action initiée par
celui-ci consiste à transmettre une requête d‟enregistrement auprès du serveur d‟enregistrement
afin de lui indiquer sa présence et sa position de localisation courant dans le réseau. C‟est la
requête REGISTER, que l‟utilisateur envoie à destination du serveur d‟enregistrement. Celui-ci
sauvegarde cette position en l‟enregistrant auprès du serveur de localisation.

L‟enregistrement d‟un utilisateur est constitué par l‟association de son identifiant et de son
adresse IP. Un utilisateur peut s‟enregistrer sur plusieurs serveurs d‟enregistrement en même
temps. Dans ce cas, il est joignable simultanément sur l‟ensemble des positions qu‟il a
renseignées.

Serveur de localisation :
Le serveur de localisation (Location Server) joue un rôle complémentaire par rapport au
serveur d‟enregistrement en permettant la localisation de l‟abonné.

Ce serveur contient la base de données de l‟ensemble des abonnés qu‟il gère. Cette base est
renseignée par le serveur d‟enregistrement. Chaque fois qu‟un utilisateur s‟enregistre auprès du
serveur d‟enregistrement, ce dernier en informe le serveur de localisation. Presque toujours le
serveur de localisation et le serveur d‟enregistrement sont implémentés au sein d‟une même
entité. On parle alors souvent non pas de serveur de localisation, mais de service de localisation
d‟un serveur d‟enregistrement, tant ces fonctionnalités sont proches et dépendantes.

La figure suivante illustre de façon générique les communications entre ces éléments. Un seul
terminal étant présent sur cette figure, aucune communication n‟est possible. Nous nous
intéressons en fait ici aux seuls échanges entre le terminal et les services que ce dernier est
susceptible d‟utiliser lors de ses communications.

17
Figure 1.07 : Entité SIP

On peut schématiquement observer qu‟il existe deux catégories de services : l‟un fourni au
niveau de l‟utilisateur (par le terminal), l‟autre fourni au niveau des serveurs du réseau. Ces
derniers sont répartis en deux classes : les serveurs de redirection et proxy, qui facilitent le
routage des messages de signalisation et jouent le rôle d‟intermédiaires, et les serveurs de
localisation et d‟enregistrement, qui ont pour fonction d‟enregistrer ou de déterminer la
localisation des abonnés du réseau.

1.3.2Adressage du SIP

L‟objectif de l‟adressage est de localiser les utilisateurs dans un réseau. C‟est 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 au concept d‟URI, classique sur Internet, que
nous allons détailler avant de voir son utilisation par SIP. [3]

Qu‟est-ce qu‟un URI (User Ressource Identifier) ?


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. L‟URI correspondant
n‟en conserve pas moins de manière permanente la valeur descriptive de la ressource.
18
Considérons un exemple. Deux personnes portant le même nom de famille et le même prénom
sont susceptibles d‟être confondues si on les recherche dans un annuaire. En plus du nom de la
personne, qui peut être partagé par d‟autres, son âge, sa profession ou sa localisation sont des
paramètres susceptibles d‟évoluer et qui ne constituent donc pas des propriétés discriminantes.
L‟attribution d‟un identifiant unique à chaque individu assure une identité unique et permet de
le différencier des autres avec certitude. C‟est, par analogie, toute la vocation d‟un numéro de
Sécurité sociale. À la syntaxe près, un numéro de sécurité sociale est une forme d‟URI. Une
adresse e-mail est également une forme d‟URI.
Les URL (Uniform Ressource Locator), que l‟on manipule couramment dans l‟adressage Web
pour joindre un site Internet, constituent un sous-ensemble des URI. Elles ont pour fonction de
spécifier une localisation relative à une ressource (par exemple www.asterisk.org), ainsi que la
méthode permettant d‟y accéder (par exemple http, ftp, etc.).
À la différence d‟un URI, une URL se contente d‟apporter une localisation et non une
définition de la ressource. Ainsi, un même document peut se trouver à deux emplacements
différents, donc à deux URL différentes dans le réseau Internet, alors qu‟il fait référence à une
même ressource.

Format des adresses SIP

Tout utilisateur SIP dispose d‟un identifiant unique. Cet identifiant constitue l‟adresse de
l‟utilisateur permettant de le localiser.
Respectant la norme RFC 3986 et est présenté comme le montre l‟exemple suivante :
Sip : identifiant [ :mot_de_passe]@serveur [? paramètres]
Tous les éléments entre crochets sont optionnels.
On distingue dans cette adresse plusieurs parties :
 Le mot-clé sip spécifie le protocole à utiliser pour la communication. Par analogie avec
le Web (où une page est référencée par une adresse de type http://monsite), le mot-clé
sip précise que ce qui va suivre est l‟adresse d‟un utilisateur.
 La partie identifiant définit le nom ou le numéro de l‟utilisateur. Cet identifiant est
nécessairement unique pour désigner l‟utilisateur de manière non ambiguë.
 La partie mot_ de_passe est facultative. Le mot de passe peut être utile pour
s‟authentifier auprès du serveur. C‟est aussi un moyen pour joindre un utilisateur qui a
souhaité s‟enregistrer sur l‟équivalent d‟une liste rouge : sans la connaissance de ce mot

19
de passe, le correspondant n‟est pas joignable. De manière générale, cette possibilité
offre le moyen de restreindre l‟utilisation de certains services.

 La partie serveur spécifie le serveur chargé du compte SIP dont l‟identifiant précède
l‟arobase. Le serveur est indiqué par son adresse IP ou par un nom qui sera résolu par
DNS. Des paramètres URI peuvent être associés à ce nom. C‟est ce serveur qui sera
contacté pour joindre l‟abonné correspondant. Un port peut être spécifié à la suite du
serveur.

 La partie paramètres est facultative. Les paramètres permettent soit de modifier le


comportement par défaut (par exemple, en modifiant les protocoles de transport ou les
ports, ou encore le TTL par défaut), soit de spécifier des informations complémentaires
(par exemple, l‟objet d‟un appel qui sera envoyé à l‟appelé en même temps que
l‟indication d‟appel, à la manière d‟un e-mail précisant l‟objet du message).
Prenons un exemple concret :
SIP : 8002:123456789@192.168.5.33 : le numéro du correspondant est 8002 avec son mot de
passe la suite de 1 à 9 et l‟adresse IP du serveur.

1.3.3Les messages SIP :

Les messages SIP sont décrits dans la RFC 822, qui définit la syntaxe à la fois des requêtes et
des réponses. On y trouve une très forte influence des autres protocoles de l‟IETF,
principalement HTTP et SMTP. Le format des requêtes et réponses est en effet similaire à celui
utilisé dans le protocole HTTP, et les en-têtes s‟apparentent à celles utilisées dans le protocole
SMTP. On y retrouve par ailleurs le concept d‟URL.

Une communication est constituée d‟une succession de transactions par le biais d‟échanges de
messages, qui peuvent être soit des requêtes, soit des réponses à des requêtes.
Une transaction SIP peut s‟entendre en première approximation selon le sens commun : un
émetteur formule une demande à un récepteur. Ce dernier étudie les conditions de la demande
avant de répondre. Éventuellement, il peut être amené à envoyer des réponses temporaires,
indiquant l‟évolution du traitement de la requête.

20
Une transaction est donc constituée d‟une requête et de sa ou ses réponses. Pour se mettre
d‟accord sur la nature de l‟échange, chaque intervenant est susceptible de négocier les
paramètres de la session au moyen de nouvelles transactions.
Les messages SIP sont codés en utilisant la syntaxe de message HTTP/1.1 (RFC 2068).
Qu‟il soit une requête ou une réponse à une requête, un message SIP doit respecter le format
illustré à la figure suivante :

message SIP
ligne de requête
ou d'etat

en- tête

Corps du message

Figure 1.08 : Format générique d’un messageSIP

La première partie est soit une ligne de requête, s‟il s‟agit d‟une requête, soit une ligned‟état,
s‟il s‟agit d‟une réponse. La seconde partie rassemble les en-têtes du message.
Enfin, vient le corps du message. Optionnel, celui-ci est précédé d‟une balise de retour chariot
et saut de ligne CR-LF (Carriage Return-Line Feed) afin d‟indiquer le début ducorps du
message. Cette balise assure la séparation de l‟en-tête et du corps du message,ce qui permet
d‟optimiser le temps de traitement des messages.
La séparation des champs réduit le temps de transit des messages dans le réseau. De cette
manière, les serveurs intermédiaires peuvent rapidement discerner les informations utiles, sans
avoir à manipuler les données du corps du message.

La spécification du protocole limite le nombre d‟en-têtes possible, ce qui permet de borner le


temps de lecture ou d‟écriture des messages. En théorie, 36 en-têtes peuvent être utilisés au
maximum. Dans la pratique, pas plus d‟une dizaine sont utilisés simultanément.

21
1.3.4Méthode et réponse SIP

1.3.4.1Les paramètres généraux pour les requêtes et les réponses


Certains paramètres généraux peuvent être partagés à la fois par les messages de requêtée par
les messages de réponse.
Les paragraphes suivants détaillent les caractéristiques spécifiques à la constitution des
requêtes puis à celles des réponses.

 En-tête d’un message :


Un message de requête comme un message de réponse peut contenir des en-têtes.
Les en-têtes les plus couramment utilisés dans les messages SIP sont les suivants :
 En-têtes généraux, qui peuvent être utilisés indifféremment pour des messages de
requête ou des messages de réponse.
 En-têtes de requête, exclusivement employés pour les messages de requête.
 En-têtes de réponse, exclusivement employés pour les messages de réponse.
 En-têtes d‟entité, qui donnent des informations descriptives sur le corps du message.

Le tableau suivant récapitule les principaux champs d‟en-têtes, classés selon ces quatre
catégories.
Champ d‟en-tête Commentaire

En –tête généraux
Ce champ est utilisé dans les messages
ACCEPT INVITE, OPTIONS et REGISTER afin de
spécifier le format qui devra être supporté en
réponse.
ACCEPT-ENCODING Spécifie le type d‟encodage textuel accepté
dans le corps du message de la réponse du
client.
ACCEPT-LANGUAGE Spécifie le langage accepté dans le corps du
message de la réponse du client.
CALL-ID Indique le numéro d‟identification d‟un
appel.
CSEQ Indique le numéro d‟une commande unique.

22
FROM Indique l‟adresse SIP de l‟émetteur du
message.
TO Indique l‟adresse SIP du récepteur du
message.
VIA Liste l‟ensemble des noeuds parcourus par le
message.
DATE Spécifie la date et l‟heure d‟envoi du
message.
EXPIRES Spécifie la durée au bout de laquelle le
message peut être effacé.
En –tête de requête
SUBJECT Indique l‟objet de l‟appel
PRIORITY Indique la priorité d‟une session, c‟est-à-dire
l‟importance qui devrait être accordée à
l‟appel sollicité.
USER-AGENT Fournit des informations sur le logiciel utilisé
par le terminal UAC. Cette information peut
cependant être une source de vulnérabilité si
elle est divulguée à des personnes mal
attentionnées. Les logiciels offrent
généralement la possibilité de masquer cette
information.

En-tête de réponse
RETRY-AFTER Est utilisé conjointement avec une réponse
d‟indisponibilité d‟un correspondant pour
spécifier le temps au bout duquel il convient
de renouveler l‟appel.
SERVER Fournit des informations sur le logiciel utilisé
par le terminal.
En-têtes d‟entités
CONTENT-TYPE Indique le format utilisé dans le corps et le
langage qui le décrit.

23
CONTENT-LENGTH Indique la taille du corps du message
exprimée en octets.
CONTENT-ENCODING Indique le format de compression utilisé
dans le corps du message.
CONTENT-LANGUAGE Indique la langue utilisée dans le corps du
message.

Tableau 1.01: Tableau récapitulatif des en-têtes SIP

Le champ VIA pour détecter les boucles lors de routage :Le champ d‟en-tête VIA permet
d‟indiquer le chemin parcouru par un message entre un émetteur et son récepteur.
Ce chemin désigne l‟ensemble des nœuds intermédiaires par lesquels transite le message.
Chaque nœud qui reçoit le message enrichit ce champ en y ajoutant son adresse réseau. Plus
précisément, un nouveau champ VIA est ajouté pour chaque nœud traversé, contenant le type
de protocole de transport utilisé, l‟adresse IP (ou le nom à résoudre par DNS) du nœud et
éventuellement le port sur lequel tourne l‟application SIP.

Grâce à ce champ VIA, les boucles peuvent facilement être détectées par les serveurs proxy
traversés. Dans ce cas, en effet, le serveur qui marque la traversée du message en ajoutant un
nouveau champ VIA trouve sa propre adresse dans un autre champ VIA. Il en déduit que le
routage comporte une boucle et en avertit l‟émetteur ou tente une autre route.

Une autre caractéristique de ce champ est de permettre au récepteur de retracer le chemin


inverse lors de sa réponse, de manière à ce que son message suive la même route. En effet, la
réponse contient les mêmes champs VIA que la requête. Chaque serveur proxy qui reçoit le
message de réponse retire sa propre adresse du champ VIA du message, puis envoie le message
à l‟adresse suivante. De proche en proche, la réponse suit la même route que la requête, et il
n‟est pas nécessaire de recourir à des serveurs DNS ou de gérer des états des liens de chaque
connexion dans les serveurs proxy.

 Corps du message :

Le corps d‟un message SIP contient le descriptif complet des paramètres de la session
concernée.

24
Typiquement, une description de la session à ouvrir comporte les informations suivantes :
 informations générales sur la session (nom de la session, date de la session, objet de la
session, etc.) ;
 informations sur l‟émetteur du message (nom, e-mail, numéro de téléphone, etc.) ;
 informations réseau (ressources nécessaires, protocole et port utilisés pour le transport
des données multimédias, etc.) ;
 liste des flux multimédias utilisés (audio, vidéo, texte) ;
 liste des codages supportés (G.711, G.729, H.216, MPEG, etc.) ;
 informations de sécurité (type de cryptage utilisé).

Ces informations sont fournies soit pour être négociées avec le correspondant, soit pour être
fixées au terme de la négociation. Elles permettent de s‟accorder préalablement à l‟échange sur
la compatibilité des terminaux.
C‟est l‟en-tête qui précise dans quel langage sont spécifiées les informations données dans le
corps du message (avec le champ CONTENT-TYPE). Le plus couramment, ces spécifications
s‟effectuent soit sous forme textuelle, en utilisant le langage HTML, soit sous forme
applicative, en utilisant le langage protocolaire SDP (Session D Protocol).

 C’est quoi SDP ?

Son rôle est de décrire l‟ensemble des paramètres constituant une session. Cela inclut la
spécification des médias utilisés, des protocoles de transport, des ports, des codages, des
ressources nécessaires et des dates d‟activité de la session.
Avec SDP, la syntaxe des spécifications du corps respecte le modèle suivant :
Paramètre = valeur
Les paramètres peuvent appartenir à deux catégories distinctes :

 Globale : le paramètre s‟applique à l‟ensemble de la session (paramètre de média).


 Locale : le paramètre ne s‟applique qu‟à un média particulier (paramètre de média).
Certains champs de paramètres sont propres à l‟une ou l‟autre de ces catégories, tandis que
d‟autres peuvent être employés indifféremment dans les deux catégories. Seul l‟ordre
d‟apparition permet de distinguer le champ d‟application des paramètres. Chaque paramètre est
caractérisé par une lettre.

25
Les paramètres doivent impérativement respecter l‟ordre donné dans le tableau. On trouve
d‟abord les paramètres généraux (caractérisant la session), puis les paramètres particuliers (qui
s‟appliquent seulement à un média, lequel est défini par le champ m).

Le protocole SDP fournit un langage descriptif des sessions relativement simple, mais limité,
puisqu‟il n‟offre pas de logique permettant d‟exprimer des solutions de configuration
différentes. En outre, il n‟est pas extensible, ce qui interdit d‟ajouter de nouveaux paramètres
descriptifs.
D‟une manière générale, le corps d‟un message est rempli (ou non) selon le type du message.
En ce qui concerne les requêtes, une description de la session est nécessaire dans le corps pour
les messages d‟initiation d‟appel (requête INVITE), d‟acquittement (requête ACK) ou
d‟informations sur les caractéristiques d‟un serveur (requête OPTIONS).
Pour les messages d‟enregistrement (requête REGISTER), d‟annulation de requête (requête
CANCEL) ou de terminaison d‟appel (requête BYE), le corps peut être laissé vider.
Pour leur part, les réponses, hormis quelques rares exceptions, comportent le plus souvent dans
le corps du message des informations complémentaires.
Ces dernières peuvent consister en une description des paramètres que le terminal appelé doit
supporter (afin d‟alléger les transmissions, en particulier en multicast, il est par exemple
possible de n‟insérer que les paramètres qui varient par rapport à ceux proposés par l‟appelant
dans sa requête) ou des services accessibles sur le serveur sollicité. Le cas échéant, le corps
décrit le type d‟erreur rencontré lorsque le serveur a tenté d‟exécuter la requête.
Ce qui nous amène à voir les requêtes SIP.

1.3.4.2Les requêtes SIP

Les en-têtes et le corps ayant été détaillés précédemment, nous nous intéressons ici à la ligne de
requête spécifique aux messages de requêtes.
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.
Ces méthodes sont détaillées dans la RFC 3261. Elles doivent être supportées par tous les
terminaux et serveurs sollicités. À ces méthodes fondamentales, ont été ajoutées des méthodes
supplémentaires, destinées à diverses améliorations, qui ne sont pas forcément implémentées
par tous les terminaux.
26
Notons que l‟établissement d‟un appel peut ne faire intervenir que trois de ces méthodes
fondamentaux (INVITE, ACK et BYE).

Démarrer une session par la méthode INVITE :

La méthode INVITE permet d‟initier une communication en invitant un correspondant à y


participer. Elle peut aussi être utilisée pour une conférence afin d‟inviter plusieurs
interlocuteurs à communiquer au sein d‟une même session.
Le corps du message de cette méthode fournit à l‟appelé les paramètres de session souhaités et
supportés par l‟appelant. Ce dernier spécifiera, par exemple, le codec souhaité et le type de flux
requis (voix, vidéo, etc.). En règle générale, l‟appelant ne se contente pas d‟une seule
proposition, mais offre de multiples possibilités de paramètres.
Ses préférences sont définies par l‟ordre dans lequel apparaissent ses propositions.
Notons qu‟une autre utilisation classique de cette méthode consiste à renégocier
dynamiquement de nouveaux paramètres de session. Par exemple, si, durant une session déjà
établie, l‟un des interlocuteurs souhaite enrichir la voix par la vidéo, il fait sa demande par une
requête d‟invitation.

Confirmer les paramètres de session par ACK :

La méthode ACK correspond à un acquittement de l‟appelant. Elle peut être utilisée dans les
deux cas de figure suivants :

Elle fait suite à l‟acceptation d‟un appel par l‟appelé. Avec la méthode d‟invitation,
l‟émetteur a fait connaître au récepteur les paramètres qu‟il supporte et ses préférences.
En réponse, le récepteur en a fait autant. Au final, l‟émetteur compare les paramètres supportés
par les deux terminaux et indique par la méthode ACK ceux qui seront utilisés. Dans le corps
de ce message, la méthode décrit l‟ensemble des paramètres de session à adopter au cours de la
session. Si le corps de la méthode d‟acquittement est vide, les paramètres proposés par
l‟appelant pourront être adoptés pour la session.

Elle fait suite à une réponse de localisation fournie par un serveur de redirection Une fois
la détermination de la position de l‟appelé effectuée, le serveur de redirection retourne le

27
résultat à l‟UAC (User Agent Client). Celui-ci valide la réception de ce résultat par la méthode
ACK.

S’informer sur le serveur par la méthode OPTIONS :

La méthode OPTIONS permet d‟interroger un serveur SIP, y compris l‟entité UAS (User
Agent Server) sur différentes informations. Elle comporte globalement deux volets : l‟état du
serveur et ses capacités.
Par exemple, cette méthode offre la possibilité de savoir si un utilisateur que l‟on souhaite
appeler est présent, c‟est-à-dire disponible pour initier une communication.
Cette réponse est pratique en ce qu‟elle donne des informations sur un serveur, sans avoir à
initier une communication pour autant. Autrement dit, la requête ne fait pas sonner le poste du
récepteur, puisqu‟elle n‟établit pas d‟appel, mais agit comme un indicateur de présence.
Avec cette méthode, il est possible d‟obtenir des informations sur un serveur relativement aux
types de médias supportés (audio, vidéo, données), aux codecs supportés, aux méthodes
supportées et aux options d‟appels, si le serveur en a diffusé. Le serveur qui reçoit cette requête
répond par son état et ses capacités.

Terminer une session avec la méthode BYE :

La méthode 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.

Abandonner une demande par CANCEL :

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.
Par exemple, une demande de recherche d‟un utilisateur peut solliciter plusieurs serveurs de
localisation en parallèle, qui vont tous rechercher la présence de l‟abonné dans leur base de
données et retourner le résultat de la recherche. Dès qu‟un serveur a trouvé l‟abonné, les autres
serveurs n‟ont plus besoin de poursuivre leur recherche. Un message d‟annulation leur est donc
envoyé.
28
Autre exemple, si un utilisateur envoie un message d‟invitation INVITE et qu‟il attende la
réponse de l‟appelé, il peut à tout moment émettre un message CANCEL afin d‟annuler
l‟invitation sans avoir à attendre la réponse de l‟appelant.
La méthode CANCEL est nécessairement acquittée par un message ACK pour signifier que
l‟annulation est prise en compte.

Enregistrement de localisation avec REGISTER :

Cette méthode permet d‟enregistrer son adresse IP auprès d‟un serveur d‟enregistrement.
Elle permet donc d‟assurer le service de localisation.
L‟information enregistrée correspond à une entrée dans la base spécifiant la correspondance
d‟une adresse SIP avec une adresse IP.
Cette entrée a une durée de vie limitée. Passé ce délai, le serveur de localisation la supprime de
sa base de données. Par défaut, la durée est d‟une heure. Périodiquement, chaque terminal doit
rafraîchir cette entrée pour la conserver en base.
Une autre manière de gérer la durée de vie de l‟enregistrement est d‟utiliser le champ de la
méthode afin d‟imposer une durée de validité fixe, qu‟il n‟est pas nécessaire de mettre à jour.
Le risque dans ce cas est que si l‟abonné se déconnecte du réseau sans l‟indiquer au serveur
d‟enregistrement, il reste considéré comme actif dans le réseau (une tentative infructueuse de
communication est initiée).

1.3.4.3Réponse SIP

Quelle que soit la méthode utilisée dans une requête, le récepteur final doit y apporter au moins
une réponse en retour, ne serait-ce qu‟une réponse temporaire pour informer l‟émetteur que sa
requête est prise en compte et en train d‟être traitée et qu‟elle sera suivie d‟une réponse finale
dès que possible. Les réponses sont classées en catégories, suivant leur type. Elles peuvent au
besoin être complétées par un message plus explicite. [3][5]

Il existe six classes de réponses :


 Classe 1xx : Information, la requête a été reçue, et est en cours de traitement.
 Classe 2xx : Succès, la requête a été reçue, comprise et acceptée.

29
 Classe 3xx : Redirection, l‟appel requiert d‟autres traitements avant de pouvoir
déterminer s‟il peut être réalisé.
 Classe 4xx : Erreur requête client, la requête ne peut pas être interprétée ou
servie par le serveur. La requête doit être modifiée avant d‟être renvoyée.
 Classe 5xx : Erreur serveur, le serveur échoue dans le traitement d‟une requête
apparemment valide.
 Classe 6xx : Echec global, la requête ne peut être traitée par aucun serveur.

1.3.5Scénario de communication
Un message d'établissement d'appel SIP INVITE est émis par l‟UA SIP de l'appelant au
Proxy Server. Ce dernier interroge la base de données de localisation pour identifier la
localisation de l'appelé (adresse IP) et achemine l'appel à la destination. Le message INVITE
contient différents headers obligatoires dont l'adresse SIP de l'appelant "From", l'adresse SIP de
l'appelé "To", un identifiant d'appel "Call-ID", un numéro de séquence "Cseq", un nombre
maximum de sauts « max-forwards ». Le header « Via » est mis à jour par toutes les entités qui
ont participé au routage de la requête INVITE. Cela assure que la réponse suivra le même
chemin que la requête.[5]
Par ailleurs, la requête SIP INVITE contient une syntaxe SDP (Session Description Protocol).
Cette structure consiste en plusieurs lignes qui décrivent les caractéristiques du média que
l‟appelant requiert pour l‟appel.

1.4La plateforme Debian LINUX

1.4.1Introduction
Lorsqu'il a créé Debian en 1993 sous l'impulsion de la FSF, Ian Murdock avait des objectifs
clairs. Le système d'exploitation libre qu'il recherchait devait présenter deux caractéristiques
principales. [7]
En premier lieu, la qualité Debian serait développée avec le plus grand soin, pour être digne du
noyau Linux. Ce serait également une distribution non commerciale suffisamment crédible
pour concurrencer les distributions commerciales majeures. Cette double ambition ne serait pas
son sens atteinte qu'en ouvrant le processus de développement de Debian, à l'instar de Linux et
de GNU. Ainsi, la revue des pairs améliorerait constamment le produit.

30
Bien qu‟un grand nombre de distribution de linux sont des excellents candidats pour notre
projet, mais nous avons choisi de nous concentrer sur cette distribution linux car c‟est la
plateforme qui nous est familier. Ceci ne signifie pas que Debian est la meilleure distribution
pour mettre en place un serveur. Avec les logiciels libres on a toujours l‟opportunité de choisir
le système qu‟on aime. Ce qui nous amène à citer les raisons pour laquelle on a fait le choix
d‟aventurer dans le monde de l‟open-source.

1.4.2Pourquoi une solution Open-source pour le projet


Tout d‟abord, notre objectif dans ce travail est d‟assurer un service de voix par IP, pour un coût
minimal grâce à l‟utilisation de solution libre. Cette solution a été adapté non simplement pour
du côté financière mais aussi pour les raisons suivantes : [12]

La question de confiance :


L‟Open Source remet la confiance dans les mains du consommateur qui a tout loisir d‟analyser
le produit qu‟on lui donne : en cela, il répond aux soucis de transparence qu‟on trouve dans nos
sociétés contemporaines.
Il permet aussi d‟évacuer les difficultés rencontrées à l‟usage des nouvelles technologies en les
rendant, de fait, plus accessibles à la compréhension de tous. L‟Open Source contribue au
partage le plus large possible des savoirs.

L’opensource est un modèle de « pensée distribuée » :


L‟Open Source s‟adapte parfaitement au travail collaboratif, car il permet à tous les acteurs
d‟avoir accès au même niveau d‟information, sans que personne ne puisse revendiquer un rôle
de gestion des droits des uns et des autres.

L’opensource et son support :


Une contrainte du projet est de trouver un logiciel où la communauté du monde OpenSource est
très active. Il est alors relativement aisé de trouver des informations, voire de se faire aider sur
un problème particulier, par le biais de forums et mailing lists.

L’aspect budgétaire :
L‟intérêt de l‟Open Source est qu‟il permet également de faire des économies de part par la
gratuité du produit mais également le fait d‟éviter l‟achat de matériel couteux dans certains cas.

31
Le Debian qui est un plateforme linux respecte et suit les principes des licences d‟un logiciel
libre, parmi ces principes la non-discrimination de champ d‟application c'est-à-dire qu‟elle
n‟interdit pas l‟utilisation du logiciel dans un champ d‟application particulier comme dans une
entreprise.
Plusieurs logiciel open source sont maintenant produit et à la disposition des puristes de la
VoIP mais pour le projet on a choisi Asterisk car en dehors de ses avantages au point de vue
technique c‟est l‟un des projets IPBX possédant la plus grosse communauté de développeurs.

1.5Présentation de l’ASTERISK

Définition 1 .03:
Asterisk est une plateforme de téléphonie Open Source initialement conçue pour fonctionner
sous Linux. Il rassemble plus de 100 ans de connaissance sur la téléphonie dans une robuste
suite d‟applications de télécommunication fortement intégrées. C‟est probablement l‟un des
outils les plus puissants, les plus flexibles et les plus extensibles fournissant tous les services de
télécommunications qui soient. Asterisk est conçu pour s‟interfacer avec n‟importe quel
dispositif logiciel ou matériel de télécommunication de manière cohérente et progressive.
[9][10][12]

Asterisk implémente les protocoles H.323 et SIP, ainsi qu'un protocole spécifique nommé IAX
.Ce protocole IAX permet la communication entre deux serveurs Asterisk ainsi qu'entre client
et serveur Asterisk. Asterisk peut également jouer le rôle de registrar et passerelle avec les
réseaux publics (RTC,GSM, etc.).

1.5.1Historique
Le PBX open source Asterisk a vu le jour quand Mark Spencer, a voulu acquérir un PBX
traditionnel pour sa société. Le créateur d'Asterisk, trouvant que le prix d'acquisition d'un PBX
traditionnel était démesuré, initia un projet open source. Il a donc commencé à développer
Asterisk.
Son équipe s'est rapidement rapprochée de celle de Jim Dixon (Zapata Telephony Project),
dans le but de construire des cartes d'interface "bon marché" avec le réseau téléphonique
classique. Le but était de construire des cartes compatibles avec des plateformes basées sur
Intel et ainsi de permettre à n'importe quel PC, avec le système d'exploitation Linux, une carte
d'interface et le logiciel Asterisk d'avoir un PBX entièrement fonctionnel.

32
1.5.2Fonctionnalités
L‟Asterisk fournit toutes les fonctionnalités d‟un système PBX comme : messagerie vocale,
Conférence téléphonique, Répondeur vocal interactif, Mise en attente d‟appels, Services
d'identification de l‟appelant, VoIP.
Les solutions téléphoniques de base d‟Asterisk offre une gamme riche et souple de
fonctionnalités. Asterisk offre à la fois les fonctionnalités classiques d‟un PBX et des
fonctionnalités innovantes et émergeantes.
Il interagit avec les traditionnels systèmes de téléphonie de type standard, et les systèmes de
Voix sur IP.
Durant toute la mise en place du serveur on a pu exploiter ces fonctionnalités.
Voici les listes des codecs supportés par Asterisk :
 ADPCM
 G.711 (A-Law & μ-Law)
 G.723.1 (passthrough)
 G.726
 G.729 (through purchase of commercial license through Digium)
 GSM
 iLBC
 Linear
 LPC-10
 Speex

1.5.3Avantages et inconvénients
Asterisk présente beaucoup d‟avantages grâce à sa grande flexibilité et sa capacité d‟adaptation
avec les protocoles de VoIP.
 Asterisk est très flexible et on peut construire des réseaux de taille variable qui vont
du PBX connectant un seul téléphone analogique ou IP aux grands systèmes
connectant plusieurs téléphones analogiques et IP.
 Asterisk fusionne de façon transparente le trafic de la voix et des données sourdes
réseaux dispersés au moyen du protocole voix sur IP IAX. Il est possible, au moyen
de paquets de données vocales, de transmettre des données, telles que les adresses

33
URL et des images, alignées au trafic de la voix. C'est ce qui permet l'intégration
évoluée des données.
 Asterisk permet la réduction des coûts car étant un logiciel Open Source et ne
nécessitant pas de dispositif très important pour sa mise en œuvre.
 Évolutif, car les programmeurs Open Source participent au codage. Ainsi Asterisk
grossit rapidement avec de nouvelles fonctionnalités supplémentaires qui sont
quotidiennement ajoutées.

Pourtant ce logiciel présente deux grands inconvénients :


 Puis que la voix et le donnée passent par le même réseau, on devra avoir alors une
liaison de bonne qualité du réseau pour supporter les appels simultanés entre plusieurs
terminaux sans les rejetés et assurer les bons fonctionnements des services offertes.
 Dépendant du réseau électrique, car le serveur et certains des terminaux sontliés non pas
au réseau téléphonique comité (RTC), mais au réseau informatique. Donc, dès qu‟il y a
coupure d‟électricité, le serveur devient indisponible.

1.6Conclusion

On a pu voir jusqu‟ici la partie théorique du projet qui nous a aidé à savoir dans quel domaine
notre projet se penchera-t-il, et les prérequis ou les connaissances globales sur les points
essentiels que notre étude exige dans ce domaine exploitant le protocole IP. De plus, dans ce
premier chapitre on a déjà entamé la présentation du logiciel Asterisk mais le détail technique
sera donné dans les chapitres qui suivent.

Pour le chapitre suivant on entrera plus profondément sur l‟application résultante de la


communication par la voix IP ce que l‟on appelle IPBX.

34
CHAPITRE 2
PRESENTATION D’UN IPBX

Dans ce chapitre on présentera les informations sur l‟IPBX en donnant en détail le cœur ou la
base d‟un autocommutateur par IP ce que l‟on appelle Dialplan et on finira sur les
fonctionnalités globales du logiciel que l‟on exploitera pour la mise en place du serveur.

2.1 Introduction

Avant toute exploitation technique, il convient dans un premier temps, de présenter la


téléphonie sur IP. La ToIP est de plus en plus utilisée dans les entreprises. En effet, ses
multiples atouts font de cette technologie une solution attirante pour les administrateurs, tant au
niveau de la prise en charge qu'au niveau financier. La téléphonie sur IP utilise une technologie
de transmission de la voix sur le réseau IP qui s‟appelle VoIP. La VoIP est une technologie
permettant de communiquer à travers Internet ou n‟importe quel réseau IP. Ce que ne permet
pas la téléphonie standard analogique. [11][12][13]
Actuellement, plusieurs entreprises gèrent encore deux réseaux séparés :
 un réseau informatique de données : concrètement IP sur Ethernet

 un réseau téléphonique analogique centré autour d‟un autocommutateur, le PABX.

Ces deux réseaux sont généralement administrés par deux équipes différentes. Le réseau
téléphonique engrange, en général, une plus grosse facture auprès des opérateurs que la
transmission de données.

Avec la ToIP, ces deux réseaux peuvent utiliser le même câblage, et donc finalement le même
réseau. C‟est à dire, que la téléphonie peut être vue et transportée comme des données. Plus
précisément, la voix est transformée en données numériques et est découpée en paquets que
l‟on envoie sur le réseau de données. Des applications et des matériels spécifiques sont alors
mis en œuvre sur le réseau de données pour router les appels vers la bonne destination.

Au lieu de disposer et de gérer deux réseaux différents, l‟entreprise simplifie donc son
système d‟information. Les réseaux informatiques actuels offrent suffisamment de débit et de
qualité de service pour permettre de transférer de manière fiable des données en temps réel.

35
La téléphonie sur IP est possible grâce à des protocoles fiables et une gamme d‟équipements
complète. Cette nouvelle technologie permet désormais aux entreprises de réduire leurs coûts et
de rendre la gestion du système de téléphonie plus flexible. Le passage à la téléphonie sur IP
s‟accompagne donc d‟une nouvelle génération de moyens de communication incluant bien
entendu des logiciels de gestion, des passerelles et des serveurs (proxy, registrer…). Un
puissant gestionnaire de communication doit pouvoir interagir avec tous les éléments
précédemment cités. La convergence de la voix et des données est l‟option vers laquelle se
dirigent de plus en plus de sociétés même si une telle convergence au sein d‟un réseau unique
peut s‟avérer difficile parfois.
Le déploiement d‟une solution de téléphonie sur IP est simplifié quand il s‟intègre à un réseau
existant sans trop modifier celui-ci. La solution doit pouvoir desservir des milliers d‟employés
situés sur des sites distants dans le cas d‟une grande entreprise multi sites.
La nouvelle génération d‟équipements et de logiciels est assez robuste et mature pour répondre
aux attentes des très grandes organisations internationales comprenant des dizaines de milliers
d‟employés. La fiabilité de tels systèmes sera éprouvée lors des maintenances de ceux-ci.
Les solutions de téléphonie sur IP sont des solutions flexibles qui ne perturbent pas les
environnements de travail déjà installés au sein des entreprises.

L'une des solutions qui marquent le boom de la voix sur IP au sein des entreprises est
l‟IPBX. Il s'agit brièvement de l'équivalent des PABX traditionnels mais utilisés dans un réseau
IP. Le concept de l'IPBX est basé autour d'un serveur qui gère les communications
(gestionnaire d'appels) au sein d'une entreprise. En effet, les téléphones au sein d'une même
entreprise connectés à un tel central téléphonique, communiquent désormais entre eux via le
réseau IP. Cette solution qui séduit de plus en plus les entreprises, a un coût beaucoup moins
élevé que les traditionnels PABX.

Les IPBX offrent les mêmes fonctionnalités que les PABX dit traditionnels, voir plus: Transfert
d'appel, Numérotation interne, Voice-mail, Identification du numéro, Rejet d'appel, Blocage
des appels des utilisateurs, Rapport sur les appels, Mise en attente, Renvoi d'appels (sans
réponse - occupés), Messagerie unifiée, Notification par e-mails…

2.1.1Services offertes par un IPBX


L'avantage principal du standard téléphonique IPBX est la réduction des coûts due à l'utilisation
de la téléphonie sur IP :
36
 Le standard téléphonique IPBX est généralement moins cher à l'utilisation (appels
téléphoniques) qu'un standard PABX.
 L'IPBX permet une réduction des coûts d'exploitation (maintenance et communications)
de 25 à 50 % qu‟un standard PABX.
Au-delà de cette différence, les fonctionnalités d'un standard téléphonique IPBX sont
généralement les mêmes que pour un standard téléphonique PABX.
Seul le réseau utilisé pour acheminer les données est différent : réseau téléphonique traditionnel
pour le PABX et Internet pour l'IPBX.

Voici un tableau présentant les services offertes pour un standard téléphonique IPBX :
Fonctionnalités Description
Vocale  Chaque poste téléphonique a sa
propre messagerie vocale et a la
possibilité de stocker les messages
vocaux.
 La boîte vocale est consultable en
Messagerie externe (à l'aide de la SDA*).

Unifiée  Elle joue le même rôle que la


messagerie vocale, mais avec des
mails.
 Vos messages vocaux ou fax
atterrissent directement dans votre
boîte mail de réception.

Numérotation abrégée Possibilité d'appeler en externe (fixe ou


collective mobile) en tapant un préfixe spécifique sur
tous les postes raccordés au standard
Numérotation téléphonique. Exemple: le 588 pour
contacter la société de maintenance.

Plan de numérotation Préfixes à taper pour différentes


fonctionnalités voulues avant un appel.

Numérotation abrégée Possibilité d'appeler en externe (fixe ou


individuelle mobile) à l'aide d'un préfixe spécifique par
poste. Il s'agit généralement d'une
manipulation de l'utilisateur.

37
Identification de l‟appelant Sur votre ordinateur, les données de la
(Automatic Number Identification) personne appelant apparaissent juste
avant son appel grâce à une base de
données.
Sélection Directe à l‟Arrivée (SDA) Un appel peut être orienté vers un
poste interne sans avoir besoin de
passer par l'accueiltéléphonique de
l'entreprise.
Divers Serveur vocal interactif La personne qui appelle est dirigée
vers une sorte de standard automatique
qui lui demande de composer un
chiffre ou de parler pour identifier le
poste vers lequel il veut être redirigé.
Attentetéléphonique La personne qui appelle est mise en
attente de façon automatique
(messages d'accueil) avant d'entrer en
contact avec son correspondant.

Tableau 4.01: Service offerte par un IPBX

2.1.2IPBX open source


Derniers venus dans le monde de la téléphonie sur IP, l‟IPBX open source propose un accès
libre et gratuit aux IPBX. [12]

L‟implantation de la téléphonie sur IP que nous avons décidé d'utilisée est basée sur la solution
ASTERISK sous un environnement Linux (DEBIAN). Ce type de solution a pour but de
remplacer et d'améliorer les fonctionnalités offertes par les PABX classiques pour un coût très
faible.

L‟utilisation d'un environnement Open Source basé sous un noyau Linux permet de tirer profit
des avantages bien connus de pérennité, extensibilité, flexibilité et de sécurité propres à ce
type de solution.

38
2.2Spécifications techniques

2.2.1Asterisk sous linux


Asterisk a tout d‟abord été développé sur GNU/LINUX pour x/86 développé par Mark
spencer de Digium anciennement Linux Support Service, Inc. Il tourne également sous
GNU/LINUX pour un PC équipé d‟OpenBSD, FreeBSD et le Mac OS X Jaguar. Pour celui qui
en a le temps et la compétence, il est raisonnablement facile de porter Asterisk sur d‟autres
plates-formes et Systèmes d‟exploitation standard semblables à UNIX. L'Asterisk fonctionne
avec la plupart des distributions de Linux. Beaucoup de distributions telles que RedHat,
Fedora, Debian, Mandrake, Slackware et Gentoo tous ont été employés avec succès par les
développeurs.

2.2.2Les principales fonctionnalités


2.2.2.1Architecture [8]
Asterisk a été soigneusement conçu pour une flexibilité maximale. Les APIs (Interface de
Programmation d‟Application) spécifiques sont définies autour d'un système PBX central.
C‟est un noyau avancé qui manipule l‟interconnexion interne selon des protocoles spécifiques,
des codecs et des interfaces matérielles de téléphonie. Cela permet à Asterisk d'utiliser
n'importe quel matériel approprié et technologie disponible (maintenant ou à l'avenir) pour
exécuter ces fonctions essentielles, en connectant le matériel et les applications. [4]

Architecture de l’Asterisk
 PBX SwitchingCore

39
Système de commutation de central téléphonique privé, reliant ensemble les appels entre divers
utilisateurs et des tâches automatisées. Le noyau de commutation relie d'une manière
transparente des appels arrivant sur divers interfaces de matériel et de logiciel.

 Application Launcher
Lance les applications qui assurent des services pour des usagers, tels que la messagerie vocale,
la lecture de messages et le listage de répertoires (annuaires).

 Codec Translator
Utilise des modules de codec pour le codage et le décodage de divers formats de compression
audio utilisés dans l'industrie de la téléphonie. Un certain nombre de codecs sont disponibles
pour pallier aux divers besoins et pour arriver au meilleur équilibre entre la qualité audio et
l'utilisation de la bande passante.

 Schedule& I/O Manager


Ils traitent la planification des tâches de bas niveau et la gestion du système pour une
performance optimale dans toutes les conditions de charge.

 Dynamics module loader :


C‟est l‟entité qui traite le chargement dynamique des quatre modules APIs.

 Les APIs :
 Asterisk Application API :
Elle autorise différents modules de tâches à être lancé pour exécuter diverses fonctions.
Communication, audioconférence, pagination, liste d'annuaire, messagerie vocale, transmission
de données intégrée, et n'importe quelle autre tâche qu'un système PBX standard exécute
actuellement ou exécuterait dans l'avenir, sont mises en œuvre par ces modules distincts.

 Asterisk Translator API


Charge les modules de codec pour supporter divers formats de codage et de décodage audio tels
que le GSM, la Mu-Law, l'A-Law, et même le MP3.

 Asterisk Channel API


Cette API gère le type de raccordement sur lequel arrive un appelant, que ce soit une connexion
40
VoIP, un RNIS, un PRI, une signalisation de bit dérobé, ou une autre technologie. Des modules
dynamiques sont chargés pour gérer les détails de la couche basse de ces connexions.

 Asterisk File Format API


Elle permet la lecture et l'écriture de divers formats de fichiers pour le stockage de données
dans le file system.
Sa particularité modulaire permet à Asterisk d‟intégrer de façon continue le matériel de
commutation téléphonique actuellement mise en œuvre, et les technologies de Voix par paquet
en constante augmentation, émergeant aujourd'hui.
La capacité de charger des modules de codec permet à Asterisk d‟être compatible avec le codec
extrêmement compact nécessaire à la Voix sur IP sur des connexions lentes comme un modem
téléphonique tout en maintenant une haute qualité audio sur des types de connexion moins
"étroites".

2.2.2.2Gestions d‟appels
Un IPBX sous Asterisk offre des possibilités dans les gestions des appels en tant que
autocommutateurs. Cette gestion est liée au traitement, l‟acheminement, transfert des appels.
Le contrôle total des flux d‟appel repose dans cette capacité parmi lesquelles :

 Contrôle d’appel
Cette fonction autorise ou non un utilisateur ou un téléphone à appeler le numéro demandé.
Pour cela, elle contrôle le numéro demandé ainsi que les droits de l‟utilisateur.
Un même appel peut faire sonner simultanément plusieurs postes. Celui qui décroche en
premier prend l‟appel.

 Transfert d’appel
Les utilisateurs peuvent, désigner un téléphone vers lequel seront transférer leurs appels.Le
transfert d‟appel parallèle ou série est possible vers des numéros internes ou externes.

 Mise en attente
Un téléphone peut transférer un appel vers le service de mise en attente qui joue une musique
d‟attente. Un autre téléphone peut rapatrier cet appel en utilisant un préfixe spécial. Les appels
peuvent être mis en attente puis récupérés.
41
2.2.2.3Dialplan
Le dialplan est vraiment le cœur de n'importe quel système IPBX, car il définit comment le
système traitera les appels entrant et sortant. En un mot, il se compose d'une liste d'instructions
ou d'étapes que le système suivra. À la différence des systèmes de téléphone traditionnels, le
plan de numérotation d‟un IPBX est entièrement configurable. Pour installer avec succès
IPBX, on devra comprendre le dialplan.
Il fonctionne comme suit : Quand un client appelle, il se connecte d'abord à Asterisk. Asterisk
regarde dans un premier temps le contexte du client qui appelle, ensuite il regarde le numéro
d'extension appelé et son «context». Puis il consulte le fichier /etc/asterisk/extensions.conf si le
numéro appelé est bien disponible depuis le contexte de l'appelant. Il va ensuite voir au
contexte approprié et exécute ce qu'il y a écrit pour l‟extension qui est appelé. [14]

Le plan de numérotation se compose de quatre concepts principaux: contextes par lesquels


contiennent l‟extension, priorités, et applications. Dans les sections à venir, nous couvrirons
chacune de ces pièces et expliquerons comment elles fonctionnent ensemble.

Contextes
Les Dialplans sont définis dans les sections appelées « context ». Ces derniers sont des suites
d‟instructions qui atteignent plusieurs objectifs.
Les contextes gardent différentes parties du Dialplan d'agir l'un sur l'autre entre eux.
L‟extension définie dans un contexte en est complètement isolée à d'autre extension des autres
contextes, à moins ce qui permet spécifiquement l'interaction.
Comme exemple simple, imaginons que nous avons deux compagnies A et B partageant un
serveur.
Si nous plaçons les plans de numérotation de chaque compagnie dans son propre contexte, ils
sont efficacement séparés de l'un à l'autre. Ceci nous permet de définir indépendamment ce qui
se produira quand par exemple un visiteur compose le 0 ce qui permet d'obtenir le
réceptionniste de la compagnie A défini préalablement dans son plan de numérotation, et les
visiteurs composant 0 au menu du dialplan de la compagnie B obtiendront le réceptionniste de
la compagnie B. (cet exemple montre le transfert d'un appel aux réceptionnistes quand on
compose le 0). Un contexte est dénoté en plaçant le nom du contexte à l'intérieur d'un crochet
(« [ ] »).

42
L‟extension :
Dans le monde des télécommunications, le mot "extension" se rapporte habituellement à un
numéro donné à une ligne ou plus précisément à un téléphone. Dans le plan de numérotation,
cependant, une extension définit une série d'étapes à suivre (chaque étape inclue une
application) que le système prendra à travers un appel. Dans chaque contexte, nous pouvons
définir autant de (ou peu) extension comme requis. Quand une extension particulière est
déclenchée (par un appel d'arrivée ou par des chiffres étant composés sur un canal), le système
suivra les étapes défini pour cette extension. C'est l'extension, donc, qui indique la voie
empreinte par un appel.
Bien que les extensions puissent être certainement employées pour indiquer le numéro attribué
à un téléphone dans le sens traditionnel, dans un dialplan, ils prennent plus d‟envergure.
Une extension est défini à partir de la syntaxe « exten » suivi d‟un signe égal (« = ») et le signe
de comparaison supérieur (« > ») et est présenté comme suit : « exten => ».Ceci est suivi du
nom (ou du nombre) de l'extension. Dans des systèmes téléphoniques traditionnels, les
extensions ne représentent que les numéros que l'on compose pour faire un appel. Le nouveau
système propose une nouvelle possibilité comme par exemple, les noms de l'extension peuvent
être n'importe quelle combinaison des nombres et des lettres.

Une extension complète se compose de trois composants:


 Le nom (ou nombre) de l'extension
 La priorité (chaque extension peut inclure des étapes multiples; l'étape s'appelle "
priorité")
 L'application (ou commande) qui effectue une certaine action à l'appel

Ces trois composants sont séparés par des virgules, comme ceci:
exten = >nom priorité application ()
Voici un exemple simple derrière de quelle vraie prolongation pourrait ressembler:
exten = > 123, 1, Answer()
Dans cet exemple, le nom de l'extension est 123 la priorité est 1 et l'application est Answer ()
Maintenant, on va voir sur les 2 derniers points du dialplan.

Les priorités
Chaque extension peut avoir des étapes multiples, appelées les priorités Chaque priorité est
numérotée séquentiellement, commençant par 1, et exécute une application spécifique. Comme
43
dans cet exemple, l'extension suivante répondrait au téléphone (dans la priorité le numéro 1), et
raccrochent après(dans priorité numéro 2):
exten = > 123, 1, Answer()
exten = > 123, 2, Hangup ()
Le problème se pose sur le cas d‟un plusieurs priorité comme par exemple plus de 15 priorités
dans un dialplan d‟où l‟utilisation du type de priorité appelé « next » noté par la lettre
« n ».Chaque fois que le système rencontre une priorité appelée n il prend le nombre de la
priorité précédente et additionne 1. Ceci facilite les changements du dialplan, car on n'est pas
obliger de continuer à renuméroter toutes les instructions à exécuter.

Les applications
Les applications sont les éléments actifs du dialplan. Chaque application exécute un détail
action sur le canal concerné, tel que jouer un musique de fond, acceptant la tonalité de la
touche, composer un canal, raccrocher un appel, et ainsi de suite. Dans l'exemple précédent,
on a vu deux applications simples: Answer() et Hangup ().
Quelques applications, telles qu‟Answer () et Hangup() n'ont besoin aucunes autres
instructions pour s'exécuter. D'autres applications exigent des informations additionnelles. Ces
informations, sont appelés argument et ces derniers sont placés dans la parenthèse suivante nom
de l'application, et chaque argument est séparé par un virgule. De temps en temps, on peut
également utiliser le caractère (« | ») comme un séparateur entre les arguments, au lieu d'une
virgule.

2.2.2.4Fonctionnalité de la messagerie
La messagerie vocale permet de gérer les messages vocaux: transfert avec ajout de
commentaires, accès à distance, auto-login, notification des appels reçus, personnalisation des
messages d‟accueil, etc.…Par exemple on peut attribuer à chaque utilisateur une boîte vocale
où l‟appelant peut être dirigé pour laisser un message lorsque le correspondant souhaité n‟est
pas disponible. Dans ce cas, le SVI joue le rôle de répondeur téléphonique. Ces boîtes vocales
sont consultables à distance, à partir d‟un téléphone. Une autre fonction caractéristique des
messageries vocales est la possibilité au sein du groupe d'utilisateurs de la messagerie de
réexpédier un message, de l'annoter, et surtout d'envoyer un message à plusieurs destinataires.

La messagerie unifiée centralise la gestion des messages vocaux, e-mails et fax. L‟accès à ces
différents messages peut s‟effectuer via un téléphone fixe ou mobile. L‟utilisateur peut écouter
44
ses messages vocaux, avoir une lecture de ses e-mails grâce à la technologie Text-To-Speech
(Synthèse vocale), éditer un fax et profiter de toutes les fonctionnalités de sa boîte vocale. La
consultation à distance est donc simplifiée. La messagerie unifiée joue le même rôle que la
messagerie vocale mais en complément détecte dernière qui se limite aux messages vocaux,
elle centralise et permet de consulter tout type de messages (électroniques, vocaux et parfois
fax) à partir d‟une interface unique (téléphone ou logiciel de messagerie).

2.2.2.5IVR [10]

Définition 2.02
Un Serveur Vocal Interactif (SVI) ou Interactive Voice Response (IVR) est une plateforme ,
un ensemble logiciel et/ou matériel, qui sert de répondeur vocal contrôlé par l'ensemble des
touches du téléphone ou des technologies de reconnaissance vocale, permettant d'échanger de
manière automatique des informations divers (messages, fax, etc....).

L‟accès à cette application se fait par un simple numéro de téléphone ou par un numéro
spécialisé dont la demande s'effectue auprès d'un opérateur téléphonique. Plus précisément, un
SVI est chargé de la délivrance d'informations courtes et simples. Il permet également
d'identifier les appelants, de les aiguiller vers des services automatiques ou des téléopérateurs
compétents. Le SVI est un serveur vocal permettant d‟interroger une base de données dans le
système d‟Information (SI), il est interactif dès lors qu'une réponse à une question posée par
l'appelant entraîne un traitement particulier de la part du serveur, d‟où son nom. Les SVI sont
adaptés à une large gamme de services et fonctions. Permet également d'identifier les appelants,
de les aiguiller vers des services automatiques ou des téléopérateurs compétents. Le SVI est un
serveur vocal permettant d‟interroger une base de données dans le système d‟Information (SI),
il est interactif dès lors qu'une réponse à une question posée par l'appelant entraîne un
traitement particulier de la part du serveur, d‟où son nom. Les SVI sont adaptés à une large
gamme de services et fonctions. On peut considérer le serveur vocal comme un agent
automatique, capable de fournir des informations complexes et de prendre des décisions
d'orientation.

Rôle d‟un IVR


Auparavant, le rôle du SVI se limitait à la gestion intelligente du temps d'attente. Maintenant,
nous assistons à une mutation du rôle des serveurs vocaux, grâce notamment à la synthèse
45
vocale qui a profondément modifié le fonctionnement de la messagerie et de l'accueil. En
même temps, le couplage téléphonie-informatique a révolutionné les centres d'appels en
donnant un nouveau rôle aux serveurs vocaux interactifs. Les réseaux téléphoniques acceptant
la numérotation en fréquence vocale, celle qui permet d'envoyer les signaux DTMF (Dual Tone
Multi Frequency) avec les touches du combiné, ont offert la possibilité de communiquer à
distance avec les serveurs interactifs.

Actuellement, la téléphonie est indispensable pour le développement d'une entreprise. Plus le


nombre d‟appels reçus par l‟entreprise croît et plus celle-ci doit assurer un meilleur accueil à
ses clients potentiels. Dans ce cas, l‟entreprise doit gérer au mieux les files d‟attente. Dans les
années 1990, la prise de conscience que l'image d'une entreprise dépend de la qualité de son
accueil téléphonique va engendrer une multitude d'investissements. Ainsi, l'acquisition d'un
serveur vocal qui répond immédiatement aux appels et limite le nombre d'appels non aboutis,
vise à améliorer l'image de l'entreprise dans un premier temps, puis le contact client/entreprise.
Concrètement, la fonction première d'un SVI consiste à répondre aux appels reçus avec un
niveau de qualité optimale, en s'appuyant sur les atouts intrinsèques de l'automate. Avec un
serveur vocal interactif, fini les longues attentes dans les périodes d'encombrement du standard,
une voix vous guide et vous permet d'accéder directement au service correspondant à votre
demande. Placé en frontal des centres d‟appels, le SVI permet de traiter une partie des
demandes et de suppléer aux centres d‟appels pendant les heures de fermeture. Le SVI est aussi
en mesure de faire un filtrage d'appels en limitant les appels polluants.
En résumé, un SVI offre une solution pour le traitement des appels entrants qui se résume à la
devise : " Etre disponible lorsque les clients appellent ".

Types de base d‟un IVR


Les SVI se regroupent en trois types d'utilisation standards: la borne d'informations, le standard
téléphonique et l'utilisation d'un SVI en liaison avec une base de données ou CTI (Couplage
Téléphonie Informatique).

 La borne d‟information
Cette fonction constitue la fonction de base d‟un SVI. Elle permet à l‟appelant d‟être guidé
dans une arborescence afin de trouver les informations qu‟il cherche. Il passe d‟un menu à
l‟autre par simple choix. Le SVI diffuse des messages répétitifs, plus précisément des
informations pratiques, sans intervention humaine. Les SVI bornes d'informations sont
46
quelques fois utilisées en cas de "débordement d'appels" c'est à dire quand le service de
réception assuré par du personnel est saturé.

 Le standard téléphonique
Le standard téléphonique se charge de l‟accueil de l‟appelant et lui propose par des choix dans
des menus vocaux d‟accéder à son correspondant. Les choix s‟effectuent par fréquence vocale
sur le clavier téléphonique de l‟appelant ou parfois par reconnaissance vocale. Le standard
téléphonique permet de transférer les appels, les guider vers les différents services et
correspondants, les filtrer en cas de besoin. Le SVI doit alors faire suivre l'appel, et pour cela il
doit commander le PABX qui à son tour peut conduire des appels sans interposition manuelle
en se basant entièrement sur le numéro composé, c‟est un outil très puissant et très flexible en
terme de mécanisme de routage.

 Le CTI
La notion de CTI est la réunion et l'intégration des mondes de la téléphonie et de l'informatique
sur une plateforme commune. Le CTI donne la possibilité d‟interroger une base de données,
d‟y stocker des informations saisie par l‟appelant mais aussi de lui diffuser des informations qui
lui sont propres. Pour parvenir à cela, il faut intégrer la base de données dans le logiciel de
gestion du SVI. Ce qui différencie ces SVI des autres ne se situent pas au niveau matériel, mais
plutôt au niveau logiciel. Le logiciel employé n'est plus un logiciel aux fonctions limitées mais
un progiciel. Ce sont par exemple les SVI de type prise de commandes, consultations de
comptes bancaires, etc.…. En effet, le couplage téléphonie informatique (CTI) permet
notamment l‟utilisation de bases de données qui contiennent les traces des appels (nombre,
durée, qualité, agent, etc.) et facilitent une approche statistique pour aider à la décision. Les
fonctions du CTI permettent d‟effectuer le chargement de la fiche du demandeur sur l‟applicatif
métier lors de la présentation de l‟appel à l‟opérateur. Grâce au CTI les messages vocaux sont
des fichiers informatiques que l‟on peut à souhait placer dans des scénarios où naviguent les
interlocuteurs.

2.3Comparaison avec d’autres IPBX open source

2.3.1SIPx
SIPX fut tout d‟abord un produit commercial de la société PingTel. En 2004, PingTel adopte un
modèle Open Source et offre tous les codes sources à la communauté Open Source

47
SIPFoundry. Cette communauté développe alors SIPxPbx, mais aussi d‟autres produits basés
sur SIP comme SIPxPhone, SIPxRegistry ou SIPxVxml. Elle met aussi gratuitement à
disposition des «User Agent Software Development Kit» permettant aux développeurs de
programmer leur propre softphone, hardphone ou logiciel de messagerie instantanée. Elle offre
aussi des «SIP protocolstack» permettant d‟implémenter le protocole SIP dans des Gateway ou
proxy. [12]
Avec SIPX, Asterisk n'est plus le seul projet IPBX open source en course. SIPX est en effet le
plus gros concurrent d‟Asterisk.
Une brève comparaison avec son aîné Asterisk révèle que SIPX dispose d'une interface
graphique d'administration complète, qui faisait défaut à Asterisk. Il est certain que désormais
avec l‟interface graphique FreePbx a largement rattrapé ce retard.
L‟implémentation de SIP est très fidèle aux RFC (Request for Comments) de l‟IETF (Internet
Engineering Task Force). SIPFoundry participe activement au développement de SIP auprès de
l‟IETF.
SIPX possède toutes les fonctionnalités que l‟on attend d‟un IPBX.

Voici les caractéristiques de SIPX :


 Les codecs :Tous les codecs supportés par les téléphones sont tolérés par SIPX. Le
serveur de médias utilise le codec G. 711.
 Planification de sauvegarde :Le serveur de configuration apporte une solution
automatisée de sauvegarde de la configuration du serveur et des messages de la boite
vocale.
 Sélection automatique des routes :Ceci est utilisé lors de l‟utilisation de Gateway et est
implémenté dans le serveur de communication.

2.3.2Yate
YATE est un logiciel d‟origine Roumaine dont l‟acronyme signifie Yet Another Telephony
Engine. Développé en C++ pour Windows, il a été porté sur les systèmes Linux.
La dernière version de YATE est la 0.9.0.
Le développement de YATE est subventionné par la société Sangoma Tech. Ce qui a eu
comme conséquence que YATE ne sait fonctionner qu‟avec des cartes d‟interface de cette
marque.

48
YATE peut être utilisé à la fois en tant que client ou serveur. Le mode client est un softphone
écrit en java. Il peut réaliser la fonction de passerelle entre le réseau public et le réseau IP ou
entre un PC et un téléphone. Pour cela, il s‟interface sur le réseau RNIS.

Au niveau des protocoles, Yate supporte :


 H323 (basé sur OpenH323)
 ·SIP (basé sur une pile SIP propre à YATE)
 ·IAX et IAX2 (basé sur une partie de libIAX).
 RTP.

2.3.3Bayonne
Le projet d‟IPBX Bayonne est un projet jeune mais basé sur le projet ACS
(AdjunctCommunication Server) plus ancien. Le projet ACS a été repris par le GNU project
qui œuvre pour développer un système d‟exploitation et des logiciels complètements gratuits
basés sur Unix. Le nom Bayonne vient du nom du célèbre pont qui relie la ville de Bayonne
dans le New Jersey avec l‟île de Staten Island dans l‟état de New York. L‟auteur a ainsi voulu
montrer que son logiciel était un « pont » entre le monde de l‟informatique et le monde de la
téléphonie.
Bayonne ne possède pas de fonction IP-PBX dans sa version 1. La version 2 prend en compte
cette fonctionnalité.
Bayonne possède pour le moment beaucoup trop d‟inconvénients, notamment parce que le
logiciel n‟est pas complet. Ce projet étant très peu suivi par la communauté Internet, il est très
difficile de trouver de la documentation.
Bayonne supporte SIP et H323. Les autres caractéristiques de Bayonne sont difficilement
trouvables.
En faisant des études dans ces différentes solutions proposées on peut conclure comme suit :
Bayonne et Yate sont douteux car la documentation est difficile qui peut engendrer des soucis
dans la réalisation du projet.
Seuls Asterisk et SIPx me semblent intéressants. Nous préconisons donc l‟IPBX Asterisk, nous
pensons que le projet est plus mûr. Il a de plus larges possibilités protocolaires SIP, MGCP, …
et possède une possibilité d‟administration globale qui facilite sa configuration. Asterisk est le
logiciel libre le plus répandu et qui possède une communauté extrêmement importante.

49
2.4Conclusion

Un IPBX est donc la technologie qui offre les mêmes fonctionnalités qu‟un PABX
traditionnel voire même plus grâce à la technologie que l‟on exploite avec (la VoIP). Il peut
être intégrer directement sur l‟infrastructure réseau présent sans modifier celle-ci. On constate
aussi que la maîtrise du cœur de ce système favorise son bon fonctionnement qui est le
Dialplan. Au choix du système, l‟administrateur a le champ libre et vaste au divers software
open source disponible.

50
CHAPITRE 3
MISE EN PLACE DU SERVEUR

3.1Architecture

L‟architecture que l‟on a adoptée pour ce projet, dépendait des matériels que la société Micro-
H avait en main. Nous avons utilisé les équipements suivants :
 Un PC pour le serveur
 Un IP-Phone.
 Une carte Digium comme passerelle à la RTC et les téléphones analogiques existants.
 Les ordinateurs existants dans l‟entreprise dans lesquels on a installé des softphones ou
téléphones logiciels permettant d‟accéder au service du serveur.

Pour cela la structure finale est présentée comme la montre la figure 3.01 ci-dessous :

Figure 3.01 : Architecture

Serveur ToIP : c‟est le serveur Asterisk qui contrôle les appels. C‟est le PC serveur.

51
Tous les équipements sont sous contrôle du serveur c'est-à-dire la configuration se fait à partir
du serveur (Softphone, passerelle,….).
LAN représente le réseau local de l‟entreprise.
La passerelle qui est une carte Digium pour l‟interconnexion avec des téléphones analogiques
et pour faire communiquer le serveur au monde extérieur.
Les différents terminaux utilisés sont : Téléphone analogique, IP-phone, Softphones.
RTC représente le réseau téléphonique classique analogique filaire du TELMA.
Dans le paragraphe suivant, on entrera dans les détails techniques des matériels mis en place
pour définir le système à préparer.

3.2Fiches techniques des équipements

3.2.1Le serveur

Pour le choix du PC, Asterisk n‟exige pas un matériel haute gamme car il suffit que la machine
puisse supporter la plateforme linux qui est un logiciel très léger. Asterisk utilise le processeur
d‟un PC pour traiter les voix ; c‟est pour cela que le processeur devrait être capable de faire le
calcul supportant les appels simultanés.
Pour un système simple où le serveur ne supportera au maximum que 5 lignes, Asterisk requiert
un processeur au moins de 300MHz avec 256 Mo de RAM. Pour l‟espace du disque dur 100Mo
seulement sera occupé après une installation et configuration complète du système.
Pour notre cas, on avait à notre disposition un PC de 3.02Ghz, 512 Mo de RAM qui satisfont
bien la configuration minimale que le logiciel requiert.

3.2.2Le Hardphone CiscoLinksys spa 942

Figure 3.02 : Cisco linksys spa 942

52
C‟est le seul hardphone à notre disposition. Il est représenté sur la figure 3.01par IP-phone.
Cet appareil dispose 2 ports RJ45 l‟un pour la connexion au réseau LAN et l‟autre pour un PC
car il peut aussi jouer un rôle de Switch entre le réseau et un ordinateur pour une question
d‟économie de port utilisée.
Voici les détails techniques de l‟appareil :
 Boutons multifonctionnel sur le côté de l‟écran
 Codecs: G711a, G711μ, G726, G729a, G723.1.
 Configuration: HTTP, TFTP, Menu de configuration.
 Switch Intégré: Oui.
 Alimentation: Externe.
 Multi ligne: Oui .Il peut supporter 4 lignes.

3.2.3La passerelle : la carte Digium TDM 410P [15]

The Zapata Telephony Project ou Zaptel project:


Le projet de téléphonie Zaptel selon le nom d‟un révolutionnaire mexicain du 20ième Siècle du
nom d‟Emiliano Zapata, souligne la nature révolutionnaire du projet.

Zaptel est le raccourci de "Zapata Telephony". Il fait référence à l'API des drivers matériels
libres de téléphonie informatique. Tout d'abord les drivers ont été développés pour Unix BSD
et les cartes d'interface DIY série T1. Digium a ensuite produit des cartes d'interfaces
améliorées et a porté les drivers Zaptel sur plateforme Linux. Digium a ensuite ajouté des
drivers respectant l'API Zaptel pour d'autres matériels téléphoniques. Les pilotes sont
spécifiques à Linux.
En fait, l'interface Zaptel est un module noyau qui présente un pont entre les pilotes matériel et
le module Zapata dans Asterisk. On peut ainsi modifier le pilote sans aucun changement dans
les sources d'Asterisk.
C‟est la carte d‟interface installée dans le serveur.

Notre carte TDM410P

La carte TDM 410P permet d'interconnecter le serveur Asterisk avec le réseau RTC (Réseau
Téléphonique Commuté). La carte est insérée dans un port PCI du serveur.

53
Figure 3.03 : La carte TDM410P

Une alimentation de 12V est requise pour les modules FXS mais pas pour les modules FXO,
un connecteur donnant la tension requise se trouve à l‟arrière de la carte.

La référence utilisée pour la carte Digium TDM 4XYP est comme suit :
 TDM : Time Division Multiplexing, mode circuits
 4 : 4ports disponibles sur la carte.
 X : FXS (Foreign Exchange Station) - Branchement de Téléphone(s) analogique(s). Le
module associé est de couleur VERT sur la carte.
 Y : FXO (Foreign Exchange Office) - Connexion à la ligne RTC d'un opérateur
téléphonique. Le module associé est de couleur ROUGE sur la carte.

Voici la réalisation physique de l‟architecture de la figure 3.01 :

Figure 3.04 : Arichitecture implementée


54
3.3Installation du Système d’exploitation

Nous avons choisi Debian avec le Kernel 2.6 pour installer Asterisk. Le choix est justifié par la
popularité de la distribution et la facilité de travailler avec et surtout c‟est la distribution appuyé
par Digium.
L‟installation s‟est faite à partie d‟un CD bootable comportant la source du Debian. Les étapes
sont les même que pour toutes les distributions linux, mais à la fin de l‟installation il faut bien
se souvenir du nom du super utilisateur avec son mot de passe et l‟adresse IP du système pour
accès total à l‟administration du serveur.
Après que l‟on ait fini de placer le système d‟exploitation avant d‟entrer dans la mise en place
du serveur, Debian doit se préparer c‟est-à-dire il existe un prérequis qu‟il faut respecter
En voici la liste :
 gcc3.0
 c++
 librairies de headers C
 lib openssl
 zlib
 doxygen (pour générer les documentations)
 libmysqlclient15-dev (pour pouvoir compiler Asterisk –addons)
Si l‟un de ces paquets n‟est bien implanté, la suite de l‟installation du serveur ne peut pas
aboutir.

3.4Configuration de base

Les sources d‟installation sont utiles au système afin qu‟il sache où il doit récupérer les paquets
dont il pourrait avoir besoin. Pour définir les différentes sources d'installation, on peut utiliser
la commande apt-setup ou bien modifier directement le fichier /etc/apt/sources.list ou encore
en ajoutant des serveurs FTP comme serveur miroir et le serveur de Debian pour les différentes
mises à niveau du système.

 Configuration de l’interface réseau

Il faut tout d‟abord fixer l‟adresse IP du serveur.la configuration s‟effectue dans le fichier
/etc/network/interfaces, on donnera l‟adresse 192.168.5.33 avec le masque 255.255.255.0.

55
Pour que la configuration soit être considéré par le serveur il a fallu redémarrer le service
réseau par le commande /etc/init.d/networking restart.

3.5Mise en place des services de l’IPBX

3.5.1Installation des paquets de base


Le système d‟exploitation est maintenant installé et l‟interface réseau est correctement
configurée. Maintenant, il est temps de voir les paquets essentiels pour le fonctionnement du
serveur Asterisk. Ce dernier est composé de trois paquets principaux : le paquet pour le
programme de l‟ « Asterisk »principal, le pilote pour le Zapata telephony drivers
(anciennement « Zaptel » mais remplacé par Dahdi) pour les équipements analogiques et
numériques. Enfin, La bibliothèque « libpri » est facultative à moins que vous employez des
interfaces RNIS, et on pourra économiser un peu de RAM si on ne le charge pas, mais nous
avons choisi qu'il soit installé en conjonction avec le paquet de Dadhi pour la perfection.

Le code source d'Asterisk peut être obtenu par ftp ou par le CVS. Nous vous montrerons
comment acquérir la source avec les deux méthodes, bien qu‟on ait seulement employé un
d‟elles pour rechercher les paquets (le ftp est la méthode préférée pour un système de
production) :
 Soit en les téléchargeant directement via le serveur FTP par le lien ftp://ftp.digium.com.
Toutes les dernières versions stables des paquets y sont disponibles.
 via le serveur CVS qui est un dépôt central où sont disponible les codes sources
récemment modifié par les développeurs. Son plus grand avantage c‟est que l‟on peut
faire du « roll-back » en cas d‟erreur ou de la fausse manipulation durant l‟installation
et la configuration du paquet c'est-à-dire de revenir à la version originale. Ce serveur est
donc utilisé dans le domaine d‟exploitation sur les codes sources déjà existants.

Pour obtenir directement les paquets si on a une bonne connexion, il existe aussi un accès direct
par le site web de l‟Asterisk http://www.asterisk.com.C‟est cette méthode que nous avons
utilisé.
Ces fichiers obtenus sont au format .tar.gz.
Voici les listes des paquets qu‟on a obtenus et qui sont nécessaire pour notre serveur :
 Asterisk-1.8.tar.gz
 Asterisk-addons-1.4.tar.gz

56
 Asterisk-sounds-1.4.tar.gz
 Libpri-1 .4.tar.gz
 Dahdi-1.8.tar.gz
Ces paquets sont des fichiers compressés, après décompression par l‟utilisation de la
commande « tar xzvf _nom_ du paquet » il faut compiler chacun d‟eux par la commande
« make _argument ».

3.5.2Configuration de base de l’Asterisk

3.5.2.1Ajout de client
La configuration de nouveaux clients SIP se fait dans le fichier /etc/sip.conf dans lequel on
ajoute une entrée pour chaque client.
Plusieurs options permettent de définir et de paramétrer un client : [16]
 type : Type de client (peer, user ou friend)
 username : Identifiant de l'utilisateur
 secret : Mot de passe de l'utilisateur
 host : Méthode pour trouver le client (dynamique, nom d'hôte ou adresse IP)
 callerid : Identité de l'utilisateur
 language : Langue par défaut pour l'utilisateur.
Description des paramètres :
Pour chacun des paramètres précédents, plusieurs valeurs sont disponibles selon la
configuration désirée.
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 auprès du serveur
 nom d'hôte : Nom d'hôte du client
 adresse IP : Adresse IP du client
language :
 us : Langue par défaut
 fr : Langue française
Pour changer la langue en français il faut installer le paquet « asterisk-prompt-fr ».
57
Le contenu du fichier sera donné dans l‟annexe.

3.5.2.2Attribution de numéros d‟appel

Chaque utilisateur créé doit avoir un numéro pour être actif, l‟attribution du numéro se fait dans
le fichier /etc/asterisk/extensions.conf. La règle pour attribuer le numéro suit le système de
création d‟un Dialplan expliqué précédemment dans le Chapitre2 paragraphe 2.2.2.3.
Mais on va donner les fonctions possibles que l‟on peut utiliser pour effectuer la configuration
des différentes extensions :
Answer () : Répondre à un appel.
Background (nom_fichier) :Lire un fichier son en tâche de fond. C‟est généralement la
fonction qui est utilisée pour les menus IVR.
Dial (type/identifiant [timeout][options][url]) : Engager une connexion en fonction du type
(ici SIP) vers un identifiant particulier. On peut également passer un timeout (en secondes) en
paramètre, qui sera le temps maximal d‟attente pour la réponse.
Options :
 A (fichier_audio) : faire entendre le fichier audio_file à l‟appelé ;
 C : réinitialiser les données CBR (Call Detail Record), ces informations sont utilisées
pour la facturation ;
 D (code_dtmf) : permet l'envoi de codes DTMF à l'appelé lorsqu'il acceptera l'appel ;
 f : force le CallerID à être défini comme l‟extension ;
 g : continuer dans l'exécution du contexte lorsque l'appelé raccroche ;
 h : autoriser l'appelé à raccrocher en pressant la touche * ;
 H : autoriser l'appelant à raccrocher en pressant la touche * ;
 L (limite [: alerte] [: répétition]) : mettre en place une limite de durée (en
millisecondes) pour l‟appel. Il est possible de définir un temps d‟alerte au bout duquel
une alerte sera donnée, ainsi que spécifier une répétition ;
 m : jouer la musique d‟attente à la place de la sonnerie standard ;
 M (macro) : exécuter une macro lorsque la connexion s‟établie ;
 P () : demander le numéro de l‟appelant si aucun CallerID n‟est envoyé ;
 r : génère une tonalité pour l'appelant (par exemple : ligne occupée) ;
 S (timer) : définir une durée maximale de communication, le timer démarre lorsque
l‟appelé prend l‟appel ;
 t : autoriser l'appelé à transférer l'appel ;
58
 T : autoriser l‟appelant à transférer l‟appel ;
 w : autoriser l‟appelé à démarrer l‟enregistrement en pressant *1 ;
 W : autoriser l‟appelant à démarrer l‟enregistrement en pressant *1 ;

3.6IVR

3.6.1Descriptif des fonctions [16]


Le fichier nécessaire pour le fonctionnement est dans le /etc/asterisk/extensions.conf. Pour
effectuer la configuration des différentes extensions d‟Asterisk nous n‟avons utilisé que
quelques fonctions du serveur définies dans ce fichier. Celles-ci vont être définies ci-après avec
les options pour une utilisation standard de téléphone sur IP.
Background(nom_fichier) : Lire un fichier son en tâche de fond. C‟est généralement la
fonction qui est utilisée pour les menus IVR.
Goto ([contexte][extension]priorité) :Se rendre à une priorité d‟extension précise d‟un
contexte. Les paramètres contexte et extension sont facultatifs. Dans le cas où ils ne sont pas
spécifiés le contexte et extension actuels sont utilisés.
MusicOnHold() : Jouer une musique d‟attente indéfiniment.
Playback(nom_fichier,options) : Lire un fichier son (il ne faut pas spécifier l‟extension)
entièrement avant de rendre le contrôle,contrairement à la fonction Background() précédente.
Ringing() : Obtenir une tonalité sur le canal.
VoiceMail(numero_boite@contexte): Laisser un message à un ou plusieurs correspondants.
L‟appelant est alors invité à laisser sonmessage.
VoiceMailMain([s]numero_boite@contexte):Accéder à la messagerie d‟un correspondant. Si
le paramètre s‟est ajouté en début de chaîne,aucun mot de passe ne sera demandé.
Wait(durée) : Définir une durée d‟attente avant de passer à la commande suivante.

3.6.2Mise en place du menu IVR

Pour le menu on a effectué à partir de ce que l‟entreprise a besoin à partir de ces fonctions que
l‟on vient de définir ci-dessus.
L‟entrée principale du menu est celle à laquelle on attribue un numéro d‟appel du serveur
vocal, dans notre cas on lui a attribué le numéro 9001.

59
Pour accéder au menu l‟utilisateur doit d‟abord taper le numéro 9001 ensuite un menu vocal
préenregistré lancé après que le serveur répond l‟appel pour indiquer les actions que l‟appelant
peut effectuer :
 1 pour appeler une extension
 0 pour revenir au menu principal
 4 pour savoir le propos du projet
 5 pour établir une conférence
 * pour se retirer ou décrocher directement

En général, c‟est au rôle du réceptionniste d‟utiliser ce menu pour mettre en liaison les appels
venant de l‟extérieur avec le correspondant voulu.

3.7Messagerie vocale

Le service de messagerie se met en place très simplement via la configuration de seulement


trois fichiers : le premier permet de définir les paramètres du compte de messagerie vocale, le
deuxième d‟accéder à la boîte vocale créée, et le troisième de signaler à un utilisateur tout
nouveau message vocal reçu. [4]

3.7.1Créer un compte de messagerie

La première étape consiste à créer les boîtes vocales. Le fichier VoiceMail.conf comporte à cet
effet deux sections distinctes : [general], qui permet de paramétrer les options des comptes, et
[default], qui décrit les comptes à créer.

Dans la section [general] pour créer un compte plusieurs paramètres sont nécessaire à définir en
voici les détails :
Format : définit le format d‟encodage des messages audio enregistrés (par défaut
wav49, gsm et wav).
maxmessage : spécifie la durée maximale (en secondes) d‟un message. La valeur par défaut est
0, signifiant qu‟il n‟y a pas de durée maximale.
minmessage : spécifie la durée minimale (en secondes) d‟un message. La valeur par défaut est
0, signifiant qu‟il n‟y a pas de durée minimale.
maxmsg : spécifie le nombre maximal de messages qui peuvent être laissés sur la boîte vocale.
La valeur par défaut est 100.
60
review : autorise l‟appelant à écouter et modifier le message laissé. La valeur par défaut est no.
attach : indique si les messages vocaux laissés sur une messagerie sont également envoyés par
e-mail aux utilisateurs concernés. La valeur par défaut est no.
maxlogins : indique le nombre maximal de tentatives d‟accès infructueuses autorisé.
emailsubject : mentionne le sujet de l‟e-mail notifiant le message vocal.
mailcmd : indique chemin de la commande utilisée pour l‟envoi des e-mails. La valeur par
défaut est usr/sbin/sendmail –t.
fromstring : spécifie un nom avec lequel l‟e-mail notifiant le message vocal est envoyé.

La valeur par défaut est Asterisk PBX.


emailbody : indique le contenu de l‟e-mail signalant la réception de nouveaux messages
vocaux. Il est possible d‟utiliser des variables dans la définition de ce paramètre.
Dans la section [default], il spécifie les comptes crées et leur propriétés. Ces derniers indiquent
le nom d‟utilisateur pour laquelle sont destiné la boite vocale, le mot de passe pour y accéder et
l‟adresse où sera placé le message de l‟utilisateur.

3.7.2Laisser et consulter ses messages


La fonction à utiliser pour cela est VoiceMail, qui prend comme argument le numéro de la boîte
vocale, ainsi que, optionnellement, le contexte associé. Cet argument est donné sous la forme
numéro_de_boite_vocale@contexte_associé.
La fonction VoiceMailprend en charge le service de répondeur en invitant l‟appelant à parler et
en enregistrant le message. Ce dernier est accessible par l‟appelé en consultant sa boîte vocale.

Pour gérer la consultation des messages, il suffit de mettre en place un numéro


d‟appelspécialement dédié à la consultation de la messagerie. La fonction
VoiceMailMainpermet de lancer la messagerie souhaitée. Comme la fonction VoiceMail, elle
prend pourargument le numéro de boîte vocale et optionnellement le contexte associé.
La fonction VoiceMailMain prend en charge le service de consultation en demandant
notamment le mot de passe de l‟utilisateur, puis en lançant la lecture, la suppression et plus
généralement la gestion des messages.
Pour signaler aux utilisateurs la présence d‟un nouveau message audio dans leur boîte vocale, il
suffit d‟associer cette dernière au compte d‟un utilisateur. Par exemple, si un utilisateur utilise
le protocole de signalisation SIP, son compte est créé dans le fichier sip.conf, il suffit d‟ajouter
dans sa section la ligne mailbox=numero@contexte.
61
3.8Clients

3.8.1Softphone
3.8.1.1X-lite
Pour composer un numéro, il suffit de cliquer sur les chiffres du pavé numérique virtuel de
X-lite. On raccroche et on décroche avec les boutons respectivement Rouge à droite et Vert
gauche. On peut régler le volume d'entrée et de sortie avec les petits ronds à déplacer de haut en
bas, situés à gauche et à droite du pavé numérique.[4]
Il existe le button qui ajuste le volume.
Le bouton HOLD lorsqu‟on passe un appel sert à mette la ligne en attente (pour utiliser l'autre
en cas de doubleappel par exemple). RECORD permet d'enregistrer la conversation (dans
C:\Documents and Settings\<NOM>\Mes Documents\X-Lite).

Le bouton Answer sert à répondre automatiquement en cas d'appel (attention aux mauvaises
surprises!), et au contraire, DND (Do Not Disturb, ne pas déranger) permet de passer en statut
d'occupé pour envoyer les appels sur la messagerie (si elle existe) sur le serveur SIP.
Le bouton CONF (Conference) permet de créer une mini conférence audio à 3 en mettant en
relation les deux lignes téléphoniques de votre softphones X-Lite, permettant ainsi le dialogue à
3.

Enfin, le bouton AC (Auto Conference) permet de passer directement en mode conférence en


cas de double appel.
Voici son aperçu :

62
Figure 3.05 : Aperçu du X-lite

3.8.1.2Windows Messenger
C‟est un logiciel de messagerie instantanée et de visioconférence développé par Microsoft et
n‟existe pas sous Linux. Il est compatible avec SIP et permet de communiquer avec un serveur
type Asterisk.
Configuration du client en protocole SIP :
 Cocher Service de communications SIP au démarrage du logiciel
 Aller dans le menu Outils _ options _ comptes _ Avancé et renseigner le nom ou
l‟adresse IP du serveur en précisant le protocole UDP
Pour passer un appel :
Aller dans Actions _ démarrer une conversation vocale et dans le champ adresse de messagerie
on renseigne l‟ID (ou le nom) de l‟appelant et l‟adresse IP ou le nom du serveur Asterisk.

3.8.1.3SJPhone

SJphone est un softphone de VoIP qui vous permet de parler avec n'importe quel autre
softphone fonctionnant sur un PC/PDA, n'importe quel IP-téléphone autonome, ou employant
le fournisseur de service de VoIP avec n'importe quel mobilophonie de câble ou traditionnel. Il
soutient les normes SIP et H.323 et est entièrement inter-fonctionnel avec la plupart des
fournisseurs de VoIP et fournisseurs de service principaux.
Voici son aperçu :

63
Figure 3.06 : Aperçu du SJPhone

N° de l‟appelé (Call to) : Saisissez ici l‟adresse IP, le nom, le surnom ou le numéro de
téléphone de votre correspondant.
Etat (Call to) : état du téléphone et de vos communications.
Clavier (Dial Keypad « >> ») : permet de composer le numéro du correspondant.
Décrocher – Composer : Prendre un appel ou valider un numéro précédemment saisi dans le
champ « N° de l‟appelé ». Il existe aussi un raccourci clavier (Alt + D ou Appuyer sur
ENTREE).
Raccrocher (Hang up) : met fin à la communication en cliquant dessus. Il existe aussi un
raccourci clavier (Alt + H ou Appuyer sur ENTREE).
Conférence : Cliquez sur ce bouton pour sélectionner dans la liste des contacts, les gens que
vous voulez inviter à la conférence.
Attente (Hold) : Mise en attente du correspondant
Transfert (Transfer) : transfert d‟appel vers un autre correspondant. Apres avoir cliqué sur ce
bouton, vous pouvez rentrer le numéro de téléphone vers lequel vous voulez rediriger vos
appels.
Contacts : Liste de vos contacts
Répondeur (Voice Mail) : répondeur vocal.
Options : Cliquez sur ce bouton au centre, et il apparaîtra un poste de contrôle pour configurer
votre interface, votre numéro de téléphone, etc.
Coupure Son (Mute) : Pour couper votre micro.

64
Volume (Speaker) : Indique le niveau sonore. En cliquant sur la barre, vous pourrez
l‟augmenter ou le diminuer.

3.8.2Comparatif

Ce tableau montre, pour chaque IPBX Open Source de cette étude, s‟ils sont compatibles
avecles critères du projet.
X-LITE SJphone Windows
Messenger
Mode conférence OUI OUI NON
Gestion de l’IVR OUI OUI NON
Carnet de contact NON NON OUI
Gestion de la OUI OUI NON
messagerie
Messagerie OUI NON OUI
Qualité D’écoute + ++ -
Simplicité ++ + -

Tableau 3.01: Tableau comparatif des softphone

3.9Amélioration et suite de l’étude

3.9.1Gestion d’utilisateur en temps réel

Il existe d'autres façons de définir ses utilisateurs que par l'intermédiaire du fichier sip.conf,
notamment grâce à users.conf ou en modifiant extconfig.conf afin de pouvoir bénéficier de la
gestion des utilisateurs en temps réel.

Par défaut, Asterisk lit les droits des utilisateurs au chargement du logiciel, ou si l'on tape la
commande:CLI >sipreload
On remarquera que si l'on modifie les droits d'un utilisateur (par exemple si on le supprime), cet
utilisateur pourra continuer d'appeler et de recevoir des appels tant que les fichiers de
configuration n'auront pas été rechargés. On comprend aussi que l'on ne peut pas tout le temps
recharger le protocole SIP grâce à la dernière commande, car aucune utilisation du téléphone
n'est possible pendant le temps de chargement. Pour remédier à cela, il faut utiliser la gestion
en temps réel des utilisateurs grâce à la fonction Realtime de Asterisk.

65
3.9.2Interconnexion inter site

Dans cette deuxième point d‟amélioration que l‟on a pu atteindre pour le projet c‟est-à-dire on
a placé le serveur dans un site qui contient une ligne téléphonique pour passer les appels vers
l‟extérieur, la gestion des utilisateurs en ce moment, se fait à partir d‟un site différent ce qui
permet une communication entre les deux sites différents par le protocole SIP. Mais
l‟inconvénient de cette technique est la saturation du seul serveur qui est utilisé. D‟où
l‟exploitation du protocole IAX2.

3.9.3Interconnexion entre deux serveurs Asterisk par le protocole IAX2

IAX est un protocole développé par l'équipe d'Asterisk afin de faire communiquer plusieurs
serveurs entre eux. Par exemple une entreprise ayant plusieurs locaux géographiquement
distants peut configurer Asterisk afin que les appels à destination d'une autre agence ne passent
pas par une ligne téléphonique ou un opérateur GSM et permet ainsi d'économiser le prix des
communications.

3.10Conclusion

En résume, on peut dire que ces étapes de mise en place sont toutes importantes à chaque point
de passage. Les fichiers de configurations devront être suivis à la lettre pour le bon
fonctionnement du serveur et un test ou vérification à chaque configuration serait un atout pour
le configurateur. Le serveur mis en place nous permet maintenant d‟exploiter les services qui
s‟y trouvent. Le chapitre suivant parlera d‟une réalisation d‟un serveur IPBX par le biais d‟une
installation d‟une plateforme de simulation.

66
CHAPITRE 4
REALISATION D’UN SERVEUR IPBX VIA VM WARE

4.1Les logiciels mise en jeux

4.1.1Le Virtual Machine VMware Workstation

VMware Workstation est un logiciel bureautique destiné aux développeurs et aux


professionnels de la technologie de l'information. Il permet d'exécuter simultanément plusieurs
systèmes d'exploitation pour serveurs et ordinateurs de bureau de type x86 sur un même PC,
dans des machines virtuelles portables en réseau, sans avoir à redémarrer le système ni à
partitionner les disques durs. Ainsi, on réduit les coûts matériels et on a accès plus rapidement à
différents environnements informatiques. Par ailleurs, VMware Workstation permet aux
utilisateurs d'éviter tout verrouillage de plate-forme et de déployer librement les plates-formes
les plus adaptées à leurs besoins. [17]

Avec VMware Workstation, on consacrera moins de temps aux tâches d‟approvisionnement et


de configuration ce qui nous laisse plus de temps pour les tests et le déploiement. Plus de trois
millions de professionnels de la technologie de l'information, de l'assurance qualité et du
développement logiciel du monde entier, considèrent VMware Workstation comme un outil
indispensable.

 Système d'exploitation hôte

VMware Workstation est disponible pour les systèmes d'exploitation Windows et Linux.
Système d'exploitation hôte Windows (32 bits)
 Windows Server 2003 Web Edition, Windows Server 2003 Standard Edition,Windows
Server 2003 Enterprise Edition
 Windows XP Professionnel et Windows XP Édition familiale Service Pack 1 ou 2.
Windows 2000 Professionnel Service Pack 3 ou 4, Windows 2000 Server ServicePack 3 ou 4,
Windows 2000 Advanced Server Service Pack 3 ou 4.

Systèmesd'exploitationLinux
Les distributions et les noyaux pris en charge sont répertoriés ci-dessous :
Prise en charge actuelle de plusieurs noyaux 2.6

67
Mandrake Linux 10
Mandrake Linux 9.0 stock 2.4.19
Red Hat Enterprise Linux 2.1 stock 2.4.9-e3
Red Hat Linux Advanced Server 2.1 stock 2.4.9-e3
RedHat Linux 9.0 stock 2.4.20-8, mise à niveau 2.4.20-20.9
Red Hat Linux 8.0 stock 2.4.18
Red Hat Linux 7.3 stock 2.4.18
RedHat Linux 7.2 stock 2.4.7-10, mise à niveau 2.4.9-7, mise à niveau 2.4.9-13, mise à niveau
2.4.9-21, mise à niveau 2.4.9-31.

4.1.2Le système d’exploitation Linux : Debian


La philosophie et la méthodologie Debian combinées avec les outils GNU, le noyau Linux et
certains logiciels libres importants, forment une distribution logicielle unique appelée Debian
GNU/Linux.[18]
Cette distribution est composée d‟un grand nombre de paquets logiciels. Chaque paquet de la
distribution contient des exécutables, des scripts, de la documentation, des informations de
configuration ; il possède un gestionnaire de paquet dont la principale charge est de tenir le
paquet à jour, de suivre les rapports de bogues. Grâce au très grand nombre d‟utilisateurs et au
système de suivi des bogues, les problèmes sont détectés et résolus très rapidement.
Le souci du détail permet à Debian d‟être une distribution paramétrable, stable et de grande
qualité. On peut facilement programmer le système d‟installation pour qu‟il installe aussi bien
un simple pare-feu qu‟un poste de travail scientifique ou un serveur réseau.
La fonctionnalité qui distingue le plus Debian des autres distributions Linux est son système de
gestion des paquets. Ces outils donnent à l‟administrateur d‟un système Debian un contrôle
complet sur les paquets installés sur le système ; c‟est, par exemple, la possibilité d‟installer un
seul paquet ou celle de mettre à jour l‟ensemble du système. Certains paquets peuvent aussi être
protégés contre une mise à jour. Nous pouvons même dire au système quels paquets nous
avons compilés nous-mêmes et quelles dépendances ils nécessitent. Ce sont ces avantages qui
nous ont poussés à utiliser cette distribution car chaque paquet utilisé exige une gestion très
étroite.
Pour le projet, on a utilisé la dernière version de la distribution qui est le Debian 6.0, que l‟on
peut télécharger à partir du page Web www.debian.org/distrib.

68
4.2Mise en œuvre du serveur

Dans le chapitre précèdent, on a pu mettre en place le serveur avec toutes les configurations et
les installations effectuées correctement, la mise en œuvre peut donc être décrite.

4.2.1Plateforme installé

Grâce au VMware (voir annexes 2 pour installation) et au Debian on a pu mettre en place des
serveurs d‟appels virtuels fonctionnant sur un Windows Seven d‟une machine physique. Ces
derniers sont donc des serveurs Asterisk sous plateforme Linux.
En voici la structure montrant les éléments constitutifs du serveur :

Figure 4.01 : Structure de la plateforme

4.2.2Le serveur en marche

4.2.2.1Côté Administrateur
Tout d‟abord, les tâches à réaliser sont les suivantes :

Créer les comptes client sur le serveur (en mode console)


L‟administrateur doit suivre les étapes de configuration de client dans le chapitre 3 paragraphe
3.5.2.1.

La figure suivante montre la console qui indique les utilisateurs déjà enregistré dans le serveur :

69
Figure 4.02 : Console montrant les utilisateurs enregistrés

La figure 4.02 montre qu‟il existe déjà 3 clients prêts à l‟emploi (8001, 8002, 8003) dont deux
sont déjà en actifs (8002, 8003). Ces deux possèdent des adresses IP.

Configurer le logiciel client


La configuration se passe par les étapes montrées sur les figures suivantes :

 Lancer le softphone /enregistrer un compte SIP

Figure 4.03 : Le logiciel Client

Après le lancement on voit qu‟aucun numéro n‟est attribué à ce softphone, ensuite la figure
4.03 montre la fenêtre où on active un compte.

70
 Un client enregistré sera comme montre la figure 4.04

Figure 4.04 : Softphone Disponible

On voit que la touche de numérotation est actif qui n‟est pas le cas s‟il est en mode inactif.
Donc ici, le logiciel client est prêt à être employer et apte de demander tous les services au
serveur d‟appel.
 Réaliser un contrôle de flux d‟appel (grâce à la consultation des données du
CDR)
Mais grâce à une interface graphique que nous avons réalisée par la suite de l‟étude, cette
visualisation devient plus facile et rapide.

4.2.2.2Côté Client
Une fois le softphone configuré, le client peut maintenant bénéficier de tous les services de
l‟IPBX. Voici les listes de ces services :

 Passé un appel vers un autre poste, il composera un numéro de quatre chiffres


commençant par 8XXX en fonction des numéros disponible et actif.
71
 Consulter son boites vocales il composera 8000 et suivre les instructions données.
 Faire sortir les appels vers un autre serveur il composera le numéro 6XXX en fonction
du site où il se situe. (utilisation du canal IAX).
 Consulter le standard automatique il appelle le 9001 des instructions automatisées lui
seront données.

4.2.2.3Configuration d‟un client IAX2


Le logiciel client : « IDEFISK »
Idefisk est un softphone spécialement conçu pour Asterisk et supporte le protocole IAX. Ce
logiciel nous permet de la réaliser une connexion entre deux serveurs Asterisk.
Son aperçu est donné à la figure 4.05 :

Figure 4.05 : IDEFISK

Les enregistrements des comptes IAX sont les mêmes que les comptes SIP mais seul le fichier
de configuration est différent.
En voici la vérification des comptes sur un des deux serveurs mise en place en mode console.

Figure 4.06 : Console de vérification des comptes IAX

La figure 4.06 montre que le compte 2001 est le client du serveur1 portant l‟adresse IP
192.168.111.133 et enregistré sur le machine portant l‟adresse IP 192.168.111.1.

72
Mise en service de l‟IDEFISK
La configuration d‟un compte au softphone est identique à celle de X-lite.
On entre dans le menu options, ensuite, dans l‟IAX accounts et les informations concernant le
compte IAX défini dans le serveur sont affichés.
La figure 4.07 montre la fenêtre de configuration.

Figure 4.07 : Fenêtre de configuration

4.3Interface graphique à l’Administration du Serveur

Pour faciliter l‟administration, on a conçu une interface web pour visualiser le flux d‟appel que
le serveur traite. De plus, cette amélioration a été apporté pour configurer en temps réels les
utilisateurs SIP et de consulter les listes des comptes disponibles.
L‟accès au site se fera à partir de l‟adresse IP du serveur via un explorateur d‟internet.
L‟aperçu de l‟interface est montré à la figure 4.08.

73
Figure 4.08 : Interface d’administration

Les différentes peuvent être expliquées comme suit :


 Accueil :
Dans cet onglet on trouve l‟environnement de travail.

 Configuration :
Par cet onglet on accèdera à la page de configuration d‟un client SIP en complétant
correctement les champs qui n‟ont pas des valeurs par défaut. Par contre pour ceux qui en ont,
on ne les change pas. Ceci a été fait pour faciliter l‟Administration.

74
La figure 4.09 montre la fenêtre de Configuration avec ses différents champs .

Figure 4.09 : Fenêtre de configuration

Les différents champs à remplir ont les mêmes paramètres que ceux expliqués dans le
paragraphe 3.5.2.1. Le champ est l‟ID de l‟utilisateur dans la base de données.
 Liste :
Cet onglet permet d‟afficher la liste des utilisateurs enregistrés dans le serveur plus précisément
dans sa base de données.

75
Tableau 4.01: Liste des utilisateurs enregistrés
 CDR
Ce dernier onglet permet d‟afficher la liste des appels émis avec leurs différentes
caractéristiques. C‟est une sorte d‟analyseur.

Tableau 4.02: Listes des appels effectués

76
4.4Conclusion

Ce dernier chapitre nous permet d‟avoir une vue synoptique du serveur. Avec les
configurations nécessaires venant de l‟administrateur, chaque client pourrait bénéficier des
services offerts en fonctions de leurs privilèges.
La combinaison des deux softphone permet d‟exploiter en même temps les deux principaux
protocoles qu‟Asterisk peut supporter.
La mise en place d‟une interface graphique aidera beaucoup l‟administrateur qui ne sera pas
forcément un informaticien pour gérer les utilisateurs et le flux d‟appel.

77
CONCLUSION GENERALE

Au terme de ce rapport, on peut conclure que ce stage de fin d‟études m‟a donné une occasion
opportune me permettant de confronter l'acquis théorique à l'environnement pratique.
En effet, ce stage m'a permis de prendre certaines responsabilités, et de montrer de plus en plus
mes connaissances théoriques et pratiques. C‟est là que réside la valeur d‟un tel projet de fin
d‟études qui joint les exigences de la vie professionnelle aux cotés bénéfiques de
l‟enseignement théorique que j‟ai eu au sein de notre l‟Ecole.

Nous avons tout au long, de stage, conçu et développé un serveur d‟appel IPBX basé sur un
softswitch open source „Asterisk‟.
Dans ce rapport, on a essayé de retracer les différentes étapes de notre travail en partant de
l‟étude de l‟état d‟art de l‟IPBX tout en mettant l‟accent sur l‟émergence du VoIP dans ce
domaine. Ensuite on s‟est penché profondément sur le noyau de notre travail qui est Asterisk.
Il fallait bien comprendre son fonctionnement et les méthodes de sa configuration. Cette
période de test a été bien longue et on a su profiter des différentes expériences déjà vécus
concernant ce domaine grâces aux forums ainsi qu‟aux contacts en messageries instantanées.
Dans le dernier chapitre on a donné une vue globale par simulation des étapes de conception et
de développement de notre produit.
Sur le plan financier, on peut dire que ce projet est le moins coûteux qu‟une entreprise peut
faire pour migrer son système de communication vers un système intégré et bénéfique par
rapport à un emplacement d‟un PABX traditionnel. La suite de l‟étude se penchera à intégrer le
serveur dans un cybercafé pour offrir aux clients une possibilité de passer un appel international
moyennant un compte SIP provenant d‟un provider. On pense que le coût de la mise en place
sera vite récupéré par le service que l‟on offrira aux clients après une étude de tarif à établir.
Bon nombre d‟améliorations sont à envisager notamment au niveau de l‟interface pour l‟aide à
l‟administration personnalisée utilisées dans les serveurs. En effet, ce dernier doivent être
l‟objet d‟une étude approfondie, surtout si elles doivent être en fonction de ce que l‟entreprise a
besoin.
Nous avons de ce fait constaté que le logiciel libre Asterisk pouvait faire de l‟ombre aux gros
centraux téléphoniques. Il peut être envisagé de l‟implanter chez nous pour une réduction
massive de coût de communication que ça soit locale ou internationale.

78
Sur le plan humain, j‟ai apprécié le fait de travailler seul sur cette partie puisque je connais
chaque partie de l'installation dans les moindres détails et cela me permet de savoir rapidement
d'où viennent les problèmes qui surviennent.

Quoi qu'on puisse en penser, passer ses journées devant un écran d'ordinateur est fatiguant
mais c‟est passionnant lorsqu‟on apprécie ce qu‟on fait.

79
ANNEXES

80
ANNEXE1
INSTALLATION DU DEBIAN

Voici les étapes pour l‟installation du système d‟exploitation DEBIAN :


Etape 1 : booter la machine à partir du CD d‟installation
Etape 2 : sélectionner la langue qu‟on utilisera pour notre cas on a choisi le french
Etape 3 : sélection du pays
Etape 4 : la disposition du clavier pour nous FR
Etape 5 : le nom d‟hôte, on donné le nom « Asterisk »
Etape 6 : nom du domaine (facultatif)
Etape 7 : Partition des disques durs
Etape 8 : choisir l‟option « all files one partition »
Etape 9 : choisir « finish partitioning and write changes to disk » pour confirmer le changement
effectué sur le disque dur.
Etape 10 : confirmer
Etape 11 : accepter le GRUB
Etape 12 : installation terminé
Etape 13 : redémarrer la machine, après redémarrage:
Etape 14 : « no » pour le réglage d‟horloge des matériels
Etape 15 : choisir le « time zone » GMT+3
Etape 16 : mot de passe du super utilisateur ou « root »
Etape 17 : création d‟un nom d‟utilisateur
Etape 18 : mot de passe de l‟utilisateur
Etape 19 : « no » pour le scan d‟autre CD
Etape 20 : Puisque ce serveur est utilisé uniquement pour Asterisk , on laisse vide les options
sur le « debian software selection »
Pour faciliter d‟intégration de « voice-mail et e-mail », il est nécessaire de choisir le « internet
site; mail is sent and receivedusing SMTP » dans la configuration du type de mail. Mettre les
mails sur le compte de l‟utilisateur.

81
ANNEXE2
INSTALLATION DU VM WARE WORKSTATION

Les premiers pas avec VMware Workstation sont simples. Les principales étapes sont les
suivantes :
A2.1 Installation de Workstation sur un hôte Windows
Connectez-vous à votre hôte Microsoft Windows en tant qu'administrateur ou membre du
groupe des administrateurs de Windows.
Sur un ordinateur hôte Windows XP ou Windows Server 2003, vous devez vous connecter en
tant qu'administrateur local (c'est-à-dire, sans connexion au domaine) pour installer VMware
Workstation.

Bien que vous deviez vous connecter en tant qu'administrateur pour installer VMware
Workstation, un utilisateur doté de droits utilisateur classiques peut exécuter le programme
après son installation. N'oubliez pas qu'une licence est requise par utilisateur.

Si on installe le logiciel à partir d'un CD, dans le menu Démarrer, sélectionnez Exécuter, puis
entrez D:\setup.exe, D: correspondant à la lettre attribuée à votre lecteur de CD-ROM.
Si on installe le logiciel à partir du fichier téléchargé, on sélectionne Exécuter dans le menu
Démarrer, accédez au répertoire dans lequel on a enregistré le fichier d'installation téléchargé,
puis exécutez le programme d'installation (le nom de fichier est identique
àVMwareWorkstation-<xxxx>.exe, <xxxx> correspondant à une série de nombres représentant
la version et le build).
La boîte de dialogue Welcome apparaît. Cliquez sur Nextet suivre les indications qui
successivement à l‟écran.

82
Figure A2 .01 : Fenêtre Installation

Lancez VMware Workstation, puis taper le numéro de série.


Une fois le logiciel installé, on peut procéder à l‟étape suivant.

A2.2 Création d'une nouvelle machine virtuelle


Procédez comme suit pour créer une machine virtuelle utilisant un disque virtuel.
1. Lancez VMware Workstation.
Hôtes Windows : cliquez deux fois sur l'icône de VMware Workstation sur le bureau ou passez
par le menu Démarrer : Démarrer > Programs (Programmes) > VMware > VMware
Workstation.

2. Si vous lancez VMware Workstation pour la première fois et que vous n'avez pas entré le
numéro de série à l'installation du produit (option disponible sur un hôte Windows), vous êtes
invité à le faire. Le numéro de série est mentionné dans me keygen, fournie dans le package.
Entrez le numéro de série, puis cliquez sur OK.
Installez le système d'exploitation client (XP, Linux) sur la nouvelle machine virtuelle. Pour ce
faire, vous avez besoin du support d'installation (CD-ROM) dédié à votre système
d'exploitation client.
On peut commencer à utiliser la machine virtuelle.
83
Lancez l'assistant New Virtual Machine Wizard.
Lorsqu‟on démarre VMware Workstation, on peut ouvrir une machine virtuelle existante ou en
créer une nouvelle. Sélectionnez File > New > Virtual Machine pour commencer la création
d'une machine virtuelle.
L'assistant New Virtual Machine Wizard comprend plusieurs écrans que l‟on parcourt à l'aide
des boutons Next et Prev présents en bas de chaque écran.
Observez les instructions figurant dans chaque écran, puis cliquez sur Next pour passer à
l'écran suivant.

Figure A2 .02 : Fenêtre Virtual Machine

Sélectionnez la méthode à utiliser pour configurer la machine virtuelle.

84
Figure A2 .03 : Fenêtre configuration

Si on sélectionne Typical, l'assistant vous invite à indiquer ou à accepter les paramètres par
défaut des éléments suivants :
 Système d'exploitation client
 Nom de la machine virtuelle et emplacement des fichiers de la machine
virtuelle
 Type de connexion réseau
 Allocation de tout l'espace d'un disque virtuel au moment de sa création
 Sélection ou non du partitionnement d'un disque virtuel en fichiers de
2Go.
Si on sélectionne Custom, vous pouvez également indiquer comment vous souhaitez définir le
disque (création d'un nouveau disque virtuel, utilisation d'un disque virtuel existant ou d'un
disque physique) et indiquez les paramètres requis pour le type de disque sélectionné. Une
option vous permet également de créer un disque virtuel hérité à utiliser dans des
environnements avec d'autres produits VMware.

Sélectionnez Custom si vous souhaitez


 créer une machine virtuelle héritée compatible avec Workstation 4.x, GSX

85
Server 3.x, ESX Server 2.x et ACE 1.x.
 créer un disque virtuel dont la taille est supérieure ou inférieure à 4 Go.
 enregistrer les fichiers du disque virtuel dans un emplacement particulier.
 utiliser un disque virtuel IDE avec un système d'exploitation client pour lequel un disque
virtuel SCSI aurait dû être créé par défaut.
Pour notre cas on a sélectionné le chemin de configuration Typical. La suite de la création sera
comme suit :
Sélectionnez un système d'exploitation client.

Figure A2 .04 : Choix de système d’exploitation

Cet écran vous invite à indiquer le système d'exploitation que vous envisagez d'installer sur la
machine virtuelle. Sélectionnez un système d'exploitation et une version. L'assistant New
Virtual Machine Wizard utilise ces informations pour :
 sélectionner les valeurs par défaut, comme la quantité de mémoire requise.
 attribuer un nom aux fichiers associés à la machine virtuelle.
 ajuster les paramètres pour disposer de performances optimales.
 contourner des comportements spéciaux et des bogues à l'intérieur du système d'exploitation.
Si le système d'exploitation que vous souhaitez utiliser n'est pas répertorié, sélectionnez Other
pour le système d'exploitation client et sa version.

86
Les étapes restantes supposent que vous envisagez d'installer un système d'exploitation client
Windows XP Professionnel.

Attribuez un nom et sélectionnez un dossier pour la machine virtuelle.

Figure A2 .05 : Nom de la machine virtuelle

Le nom indiqué ici est utilisé si vous ajoutez cette machine virtuelle à la liste
Favorites de VMware Workstation. Ce nom est également attribué au dossier dans lequel sont
enregistrés les fichiers associés à cette machine virtuelle.
Chaque machine virtuelle doit posséder son propre dossier. Tous les fichiers associés, comme
le fichier de configuration et le fichier disque, sont placés dans ce dossier.
Configuration des fonctions de mise en réseau de la machine virtuelle.

87
Figure A2 .06 : Choix du type de réseau
Si votre ordinateur hôte est en réseau et que votre machine virtuelle possède une adresse IP
distincte (ou peut en obtenir une automatiquement à partir d'un serveur DHCP), sélectionnez
Use bridged networking.
Si votre machine virtuelle ne dispose pas d'une adresse IP distincte et que vous souhaitez
malgré tout vous connecter à Internet, sélectionnez Use network address translation (NAT).
NAT permet de partager des fichiers entre la machine virtuelle et le système d'exploitation
hôte.
Si vous avez sélectionné le chemin de configuration Typical, cliquez sur Finish.
L'assistant installe les fichiers requis pour la machine virtuelle.

A2.3 Installation d'un système d’exploitation client


Une nouvelle machine virtuelle est similaire à un ordinateur physique dont le disque dur est
vierge. Avant de pouvoir l'utiliser, vous devez partitionner et formater le disque
virtuel, puis installer un système d'exploitation. Le programme d'installation du système
d'exploitation peut gérer les étapes de partitionnement et de formatage à votre place.
L'installation d'un système d'exploitation client sur une machine virtuelle VMware
Workstation est pour l'essentiel identique à la même opération sur un ordinateur physique. Les
étapes de base pour un système d'exploitation type sont les suivantes :
 Lancez VMware Workstation.
Insérez le CD-ROM ou la disquette d'installation du système d'exploitation client.

88
Sur certaines configurations hôte, la machine virtuelle ne peut pas s'initialiser à partir du CD-
ROM d'installation. Vous pouvez contourner ce problème en créant un fichier image ISO à
partir du CD-ROM d'installation. À l'aide de l'éditeur Virtual Machine Settings, connectez le
lecteur de CD de la machine virtuelle au fichier image ISO, puis activez la machine virtuelle.
Activez la machine virtuelle en cliquant sur le bouton Power On.
Observez les instructions fournies par l'éditeur du système d'exploitation.

89
ANNEXE3
CAPACITE DE L’ASTERISK

En termes de ses conditions de ressource, les besoins de l'Asterisk sont semblables au type,
d'application en temps réel. C'est dû dans la grande partie de son besoin d'avoir un accès
prioritaire sur le processeur et le système. C'est, donc, impératif que toutes les fonctions sur
le système lié directement aux tâches de l'acheminement d'appel de l'Asterisk soit exploité à
une basse priorité.
Sur des systèmes plus réduits et des systèmes de « hobby system », on ne tient pas compte de
ce contrainte. Cependant, sur les systèmes de grande capacité, les imperfections d'exécution ne
se manifesteront que par les problèmes de qualité pour des utilisateurs, souvent éprouvés par
les échos.
À mesure que les charges augmentent, le système aura une difficulté de raccordement. Pour
un PBX, une telle situation nécessite d'une grande maîtrise de ressource.

La capacité d'un système d'Asterisk n'est pas dictée réellement par le nombre des utilisateurs
ou des ensembles, mais plutôt par le nombre d'appels simultanés à commuter ou plus
précisément au nombre de canal à traiter.
Le tableau A3.01 montre les caractéristiques minimum recommandées en fonction du système
à installer.

Système à installer Nombre de canal Configuration PC


recommandée
Hobby system Moins de 5 400 MHzx86, 256 Mo RAM

SOHO system 5 à 10 1 GHz x86, 512 Mo RAM

Small business system Maximum 25 3 GHz x86, 1 GB RAM

Medium to large system Plus de 25 Dual cores ou utilisation des


serveurs multiples dans
l‟architecture
Figure A3 .01 : Directives des conditions de système

90
ANNEXE4
LES CONTENUS DES FICHIERS DE CONFIGURATION L’ASTERISK

A4.1 Le Fichier de création d’un Client SIP:etc/asterisk/sip.conf

Extrait du fichier sip.conf : context [general].


[general]
context=default ; context par défaut pour les utilisateurs
bindport=5060 ; port UDP du protocole SIP
bindaddr=0.0.0.0 ; adresse IP de l’interface sur lequel le serveur va écouter le ; trafic 0.0.0.0
pour toutes les interfaces
language=fr ; messages vocaux en français
srvlookup=yes ; permet de faire des appels vasé sur des noms DNS
disallow=all ; Codes non autorisé pour une communications
allow=alaw ;

Extrait de fichier sip.conf : context [8001]

[8001]
type=friend
username=8001
secret=liva
host=dynamic
language=fr
defaultip=0.0.0.0
context=from-internal
mailbox=8001@mail

91
A4. 2 Le fichier de création d’un plan de numérotation
Voici un extrait du fichier /etc/asterisk/extensions.conf :
[general]
autofallthrough= yes ; raccrochage automatique après l’appel
static= yes ; en binome avec l'option suivante
writeprotect = no ; modification possible depuis la CLI

[from-internal]
language= fr
;include => default
;include =>parkedcalls
exten=> s,1,NoOp(Appel de ${CALLERID(num)} vers ${EXTEN} ) #Trace de l'appel en console
include =>parkedcalls; exten => _6XXXX,1,Dial(IAX2/2001,60,tTwW);utilise un canal iax
exten => _8XXX,1,Dial(SIP/${EXTEN},10,tr)
exten =>_8XXX,2,Voicemail(${EXTEN}@mail)
;conference
exten => 1234,1,Meetme(1234,i,123456)
exten => 1234,2,HangUp
;consulter mail perso
exten => 8000,1,VoiceMailMain(${CALLERIDNUM(ani)}@mail);ouvre le voicemail de
l.appelant
exten =>8000,2,HangUp
;ivr
exten => 9001,1,Answer()
exten => 9001,2,Goto(ivr,s,1)
[ivr]
include => from-internal
exten =>s,1,Answer()
exten =>s,n,Background(/var/msg/menu);ecoute de la menu préenregistrer
exten =>s,n,WaitExten()
exten => 1,1,Dial(SIP/8001&SIP/8002,30,tr) ; fait sonner 8001
exten => 1,n,Hangup
exten => 2,1,Dial(SIP/8001,30,tr) ; fait sonner 8001
exten => 2,n,Voicemail(${EXTEN}@mail)
exten => 4,1,Background(/var/msg/projet);info sur le projet
exten => 4,n,Playback(/var/msg/projet)
exten => 5,1,Meetme(m)
exten => 0,1,Goto(ivr,s,1)
exten => *,1,HangUp()

;dire le temps en cours


exten => 777, 1, Answer
exten => 777, 2, SayUnixTime(,CET,kM)
exten => 777, 3, Hangup

;filtrage d'appel

trunk=IAX2/2001
[from-iax]
include => from-internal
…………………………..

exten => _6XX.,1,Dial(IAX2/2001,60,tTwW);utilize un canal iax pour lancer l.appel

92
ANNEXE5
EVALUATION DU COUT D’UN SERVEUR IPBX

Pour la mise en place d‟un serveur d‟appel IPBX, la partie logicielle est gratuite. Seul dans la
partie Hardware, fonction de l‟architecture adoptée qui aura un coût.
Pour notre cas dans l‟entreprise, le coût de la mise en place du serveur est listé dans le tableau
suivant sans compter la mise en place du réseau et l‟installation de la ligne téléphonique :

MATERIELS Caractéristiques Coût


3 machines clients Intel Pentium4 (ancien 1500.000 Ar
model)
1 machine pour le Intel Pentium 4 (model plus 800.000 Ar
serveur récent)
1 L’IP-phone Linksys SPA 942 237500Ar
1 Passerelle Carte TDM 410P 80.000 Ar
Internet Moov (ADSL) 600.000 Ar/mois
1 Ligne téléphonique Home (Telma) 186000 Ar/mois
TOTAL 3403500Ar

Tableau A5.01 : tableau d’évaluation.

Ce tableau nous montre que la mise en place d‟un serveur IPBX open-source est un projet le
moins coûteux qu‟une entreprise peut avoir pour sa communication interne ou extérieur.

93
BIBLIOGRAPHIE
[1] B.Kasse, « Etude et mise en œuvre d’un système de communicationVoIP », Mémoire de fin
d‟études pour l‟obtention du Master Professionnel d‟Informatique, université cheikh ANTA
DIOP de DAKAR,A.U. :2005-2006.

[2]Club de la sécurité de l‟information Français, « Moyens de communication Voix :


Présentation et Enjeux de sécurité », CLUSIF, Mars 2010.

[3] L. Ouakil, G.Pujolle, « La téléphonie IP », EYROLLES, 2007.

[4] D.Ourabah, Maxime Guillet, Léonard Lecouey, Vincent Batoufflet, William ZIVIC,
« Rapport de projet Asterisk »,Licence ISDRN Session2005/2006.

[5] S. Znatyet J.L. Dauphin, « SIP : Session Initiation Protocol », EFORT, 2005.

[6] B. Moinet, L. Nicolas, « Rapport du projet semestre 1 », université d‟Avignon, 2007.

[7]H. Raphaël, « cahier de l’Admin DEBIAN »,Eyrolles , Septembre 2008.

[8] R.Habibi, « Développement d’une solution « call center » à base de softswitch «


ASTERISK »», Rapport de Projet de fin d‟études, Ecole Supérieur de Communication de Tunis,
A.U. : 2005-2006.

[9]P. Sultan, « Cahier de l’AdminAsterisk », Eyrolles,2010.

[10] F.Sylla, «Etude et conception d’un serveur Vocal interactif : application à la gestion des
notes de la section Informatique », Mémoire de Fin d‟études en Master Professionnel, Section
Informatique de L‟université Cheikh AntaDiop De Dakar, A.U. : 2005-2006.

[11] Q. Hourlier, B. Henryon, R. Gegout, L. D. Lopez, « ToIP Asterisk »,http://


www.iuta.univnancy2.fr/lpinfo.

[12] D.Gaspar, « La Voix sur IP Études des solutions logicielles Open Source », mémoire
présenté en vue d'obtenir le diplôme d‟ingénieur C. N. A. M. en informatique, 2008.
94
[13] Chambre Monégasque des Nouvelles Technologies, Allavena Jean-Jacques, Datrier Gilles
et Merlin Olivier, « VOIP & TOIP », Le Livre blanc, 08 JUIN 2005.

[14] J. V.Meggelen, Leif Madsen, Jared Smith, « Asterisk the futur of telephony », O‟Reilly,
2006.

[15] J. Davis, « Analog telephony Cards », Digium Asterisk.

[16] nicolas.montavont@telecom-bretagne.eu, « TP Voix sur IP SIP et Asterisk ».

[17] « Guide de l'utilisateur Workstation5 », http:// www.vmware.com/support/.

[18] L‟équipe de l‟installateur Debian, « Manuel d’installation pour la distribution Debian


GNU/Linux », http://www.debian.org.

95
PAGE DE RENSEIGNEMENTS

Nom: RANDRIANARIJAONA

Prénom: Livarivony

Adresse: Lot VS 21 VAY, AnkatsoTanàna

Antananarivo 101

Madagascar

Tel: 0344192362

E-mail: livarivony@gmail.com

Titre de mémoire : MISE EN PLACE D‟UN SERVEUR D‟APPEL IPBX

Nombres de pages : 96

Nombres de tableaux : 07

Nombre de figures : 31

Mots clés : VoIP,ToIP,IPBX,SIP,Asterisk,Linux, IAX, Open-source

Directeur de mémoire : M. RATSIMBAZAFY Andriamanga

96
RESUME
Rien de plus agréable pour une entreprise que de réduire sa facture de communication.
L‟objectif de ce travail est de proposer une solution qui peut satisfaire ce désir. Suite à
l'explosion de la bande passante sur les réseaux IP et à l'avènement du haut débit chez les
professionnels comme chez les particuliers, de nouvelles techniques de communication sont
apparues ces dernières années. L'une des plus en vogue et des plus prometteuses actuellement,
est la « Voix sur IP ». Le développement de la VoIP est parti d'un simple constat : comment
faire en sorte d'utiliser les potentialités du réseau IP afin de téléphoner moins cher (voire
gratuitement) ?
C'est dans le but de convergence sur les réseaux qu'est apparu le protocole SIP. Il est souple,
évolutif et il est promis à un grand avenir. C'est le cas pour la solution proposée par Digium,
appelé Asterisk. Ce logiciel permet de mettre en place l'élément central d'un réseau de
téléphonie sur IP : un IPBX.

ABSTRACT
Nothing is more pleasant for a company than reducing its communication invoices.
To propose a solution which can fulfill this want is the aim of this work. Following the
explosion of bandwidth on IP networks and the advent of the broadband in both private
individual and professional, new techniques emerged in recent years. One of the most
fashionable and the most promising is “the voice over IP”. From a simple statement is
developed the VoIP: how to use IP network potentialities to make cheaper calls (even free
calls)?
It is the purpose of the network convergence that SIP protocol e appeared. It is flexible,
evolving and has a great future. It‟s the situation for solution proposed by DIGIUM called
ASTERISK. This software allows us to set up a central telephone network on IP telephony: an
IPBX.

97

Vous aimerez peut-être aussi