Académique Documents
Professionnel Documents
Culture Documents
UNIVERSITE D’ANTANANARIVO
----------------------
ECOLE SUPERIEURE POLYTECHNIQUE
-----------------------
DEPARTEMENT TELECOMMUNICATION
Président :
M. ANDRIAMIASY Zidora
Examinateurs :
M. RAKOTOMALALA Mamy Alain
M. RAKOTONDRAINA Tahina Ezéchiel
Mme. ANDRIANTSILAVO Haja Samiarivonjy
Je tiens également à remercier toutes les personnes qui ont contribué à la réalisation de ce
présent mémoire. Cordialement à :
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
iii
2.1.1 Services offertes par un IPBX ............................................................................................... 36
2.1.2 IPBX open source .................................................................................................................. 38
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
v
LISTE DES ABREVIATIONS
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
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
1.1.1Historique de la téléphonie
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
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.
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 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.
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.
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.
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
9
Figure 1.03 : Deuxième génération de la téléphonie IP
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.
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]
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.
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.
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).
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]
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.
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
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.
21
1.3.4Méthode et réponse SIP
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.
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.
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).
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 :
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.
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).
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.
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.
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.
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.
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]
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.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.
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.
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.
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
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…
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*).
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.
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
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.
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.
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]
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.
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.
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.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.
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.
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 :
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.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.
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.
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.
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.
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.
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.
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.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.
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
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
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é.
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.
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é ++ + -
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.
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
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.
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 :
4.2.2.1Côté Administrateur
Tout d‟abord, les tâches à réaliser sont les suivantes :
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.
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
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 :
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.
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.
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
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 .
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.
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
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
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.
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.
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.
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.
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.
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.
90
ANNEXE4
LES CONTENUS DES FICHIERS DE CONFIGURATION L’ASTERISK
[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()
;filtrage d'appel
trunk=IAX2/2001
[from-iax]
include => from-internal
…………………………..
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 :
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.
[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.
[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.
[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.
95
PAGE DE RENSEIGNEMENTS
Nom: RANDRIANARIJAONA
Prénom: Livarivony
Antananarivo 101
Madagascar
Tel: 0344192362
E-mail: livarivony@gmail.com
Nombres de pages : 96
Nombres de tableaux : 07
Nombre de figures : 31
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