Vous êtes sur la page 1sur 62

This website uses cookies to ensure you get the best experience on our

website. Learn more
Got it!

Rechercher sur le
site: 
 
Recherche

Home | Publier un mémoire | Une page au hasard

Memoire Online > 
Informatique et Télécommunications

Etude et mise au point d'un systeme de


Disponible en
communication VOIP : application sur un PABX-IP mode multipage
open source "cas de l'agence en douane Getrak"
 ( Télécharger le fichier original )
par Yannick YANI KALOMBA
Université protestante de Lubumbashi - Ingénieur en réseaux et télécoms 2009
  

EPIGRAPHE
«  La connaissance du très saint, voila ce qu'est l'intelligence. »

Proverbe 9 : 10

DEDICACE
A Dieu tout puissant qui m'a fait grâce afin que je parvienne au terme de cette
longue et harassante étude.

A Suzanne MPOYO mon épouse, pour ton dévouement et tes sages conseils.

A vous mes frères et soeurs, NKULU KALOMBA Honorine,


MUTONKOLE KABANZA nana, KAYUMBA NKULU Charlotte, KAZADI
KALOMBA Trésor, ILUNGA NDALAMBA Jacques, KITWA KABANZA Yannick,
ILUNGA NDALAMBA Patricia, ILUNGA KIKUMBI Clémence, TSHIKOMBA Jean-
Luc, pour votre assistance morale et votre abnégation.

A Gertrude KAYUMBA NKULU ma mère, artisane en amont de cette oeuvre et


unique témoin de sa réalisation après la disparition de mon père Robert KAZADI
KALOMBA.

A tous les miens pour tout ce dont je vous suis redevable.

IN MEMORIAM
A mon père Robert KAZADI KALOMBA.

Artisan inlassable ayant oeuvré en amont pour que cette oeuvre grandiose se réalise
aujourd'hui.

Dans votre repos éternel dans la maison du Père céleste, recevez l'hommage déférent
et l'expression profonde de gratitude de votre digne fils.

AVANT PROPOS
Il est de coutume qu'avant d'aborder le vif de notre dissertation de mémoire, nous
puissions rédiger quelques lignes à titre liminaire pour essayer tant soit peu de centrer les
contingences qui ont émaillé l'élaboration de cette étude.

Une telle oeuvre serait une chimère en absence du concours de l'expertise et même de la
grande disponibilité de Monsieur Raphael BUKASA en sa qualité de co-directeur du
présent mémoire. Son savoir a été d'un grand atout pour cette oeuvre.

La réalisation de cette oeuvre a nécessité des moyens matériels et financiers considérables


que nous n'avons pas disposés en totalité. Aussi, avons nous bénéficié de l'assistance de
certaines personnes généreuses à l'égard de qui nous exprimons également notre gratitude.

N'étant pas en mesure de les citer toutes nommément au risque d'en oublier certaines,
qu'elles trouvent à travers ces lignes toute notre reconnaissance et notre grande sympathie.

Nous terminons notre propos en rappelant que nous faisons partie des étudiants de la
première promotion depuis la création de la Faculté des sciences informatiques à
l'Université Protestante de Lubumbashi (année académique 2004 - 2005).
Nous saisissons cette occasion pour exprimer notre gratitude et notre reconnaissance à
l'égard de tous les professeurs, chefs de travaux, assistants et chargés de cours.

INTRODUCTION

I.1. Présentation du sujet

Les réseaux de données et de voix étaient clairement distincts, avec des câblages
différents, des protocoles différents et des fonctionnalités différentes. Aujourd'hui la
tendance a nettement changé. Les réseaux IP se sont démocratisés : on assiste à une
convergence des données, de la voix et même de la vidéo, à tel point que les principaux
moteurs de développement des réseaux sont la voix et la vidéo. La voix sur IP devient
aujourd'hui une solution incontournable pour les entreprises qui voudrait soit remplacer
l'ancien système PBX en faveur d'une place forme VoIP ou en créer un pour la réalisation
efficiente et efficace d'un système de communication basé sur IP.

Historiquement, les communications voix et data empruntent des réseaux séparés ; la voix
emprunte un réseau dit commuté, qui lui est réservé et le data emprunte un réseau IP. En
effet, pour chaque communication, le réseau voix commuté établit la connexion entre les
interlocuteurs. La VoIP fait d'une pierre deux coups dans la mesure où elle supprime cette
logique de connexion.

L'existence du réseau téléphonique et Internet a amené un certain nombre de personnes à


penser à un double usage pour unifier tous ces réseaux, en opérant une convergence voix -
données - vidéo, autrement appelé « triple play ». Les opérateurs, entreprises ou
organisations et fournisseurs devaient pour bénéficier de l'avantage du transport unique
IP, introduire de nouveaux services voix et vidéo. Ainsi, l'une des solutions qui marquent
le «boom» de la voix sur IP au sein des entreprises est la solution PABX-IP (Private
Automatic Branch eXchange IP).

Ainsi l'objectif de ce mémoire est d'arriver à la réalisation d'un système de communication


VoIP dans un environnement hostile, basé sur des logiciels libres. Dans ce travail, il
s'agira donc de développer des solutions de communications basées sur Asterisk qui est un
projet opensource basé sur des idées du projet (1(*)).

I.2. Choix et intérêt du sujet

L'intérêt porté sur le choix de ce sujet est le fruit d'une orientation scientifique que nous
nous sommes donnée. En effet le choix de ce thème trouve sa justification dans le fait que
la téléphonie au travers d'un réseau « par paquets » offre des avantages en termes de
réduction des coûts élevés de communication contrairement au réseau PABX traditionnel.
Parlant d'un PABX traditionnel on se rend compte qu'il coût énormément, ce marché,
longtemps dominé par des solutions propriétaires proposées par des entreprises
renommées (Cisco, 3Com, etc.) voit aujourd'hui, avec la maturité des technologies « Open
source», l'émergence d'une nouvelle génération IPBX développés en logiciels libres, peu
coûteux mais néanmoins performants.

Toutefois l'aspect financier n'est qu'une des raisons, mais aussi déterminante, qui peut
amener une entreprise à prendre une décision vers cette technologie.

Etant donné ces avantages qu'offre la VoIP, c'est ainsi que nous nous sommes dotés d'une
infrastructure téléphonique basée sur les solutions Open source Asterisk de Digium,
l'éditeur à l'origine du projet. Cette suite logicielle permet de transformer un PC sous
Linux en véritable PABX d'entreprise ; Asterisk est libre d'utilisation et peut être monté
dans un serveur virtuel, ce qui permet de « minimiser les coûts » de matériel. Dans cette
mesure on pourra diminuer les frais de communication et aussi simplifier la maintenance
du réseau, qui passe de deux (téléphonie et données) à un seul (données).

Sur le plan professionnel, comme toute recherche scientifique, ce travail nous permettra
d'enrichir nos connaissances dans le domaine informatique, précisément pour notre
travail ; la nouvelle technologie de la téléphonie IP, le logiciel Open source Asterisk et le
système d'exploitation linux.

I.3. Etat de la question

Pour étayer le problème à traiter, il nous a semblé utile de le situer par rapport aux études
antérieures ayant trait à notre recherche. Cela nous a poussés à fouiller les documents se
trouvant dans les différentes bibliothèques. Les travaux ci-après ont attiré notre attention :

Dorcas MASHINDA MUNYUNGU, Ecole supérieur d'informatique Salama, (2006-2007)


dont le titre est : « mise en place d'une infrastructure de vidéoconférence sur un réseau IP
étendu ».

I.4. Problématique et hypothèse

a. Problématique

La problématique est un ensemble de questions qu'une science ou une philosophie se pose


dans un domaine particulier (2(*)). Partant de cette approche nous allons établir un
questionnaire qui trouvera ses réponses tout au long du développement du travail.

- Peut-on fusionner le réseau informatique et téléphonique commuté (RTC), en un seul ?

- Comment peut-on réduire les coûts de communication dans une entreprise ?

- Peut-on renouveler un PABX traditionnel par une solution logicielle libre ou en créer un
pour une gestion des appels tant locaux qu'extérieur ?

Telles sont des questions auxquelles nous essayerons de répondre dans la suite du travail.
b. Hypothèse

L'hypothèse est définie comme étant une proposition ou supposition, dont la véracité n'est
pas encore prouvée, formant le fondement du raisonnement ou le point de départ d'une
enquête plus poussée (3(*)).

Comme proposition en rapport avec les préoccupations retenues, nous pourrions mettre
sur pied d'un système de communication de la voix sur IP.

A la question de savoir, si l'on peut fusionner le réseau informatique et téléphonique


commuté (RTC), nous disons que grâce à la Voix sur IP, l'entreprise pourra tout fusionner
sur un même réseau.

Nous dirons aussi qu'avec Asterisk de Digium, nous pouvons renouveler un PABX
traditionnel, ce logiciel permet de transformer un PC sous linux en un PABX d'entreprise.

I.5. Délimitation du sujet

Tout travail que se veut scientifique doit être examiné dans le temps tout comme dans
l'espace, pour bien cerner le contour du sujet et faciliter notre démarche scientifique que
nous abordons.

a. Délimitation spatial

Le choix de notre champ d'investigation a été porté sur l'agence en douane GETRAK situé
sur l'avenue du 30 juin commune de Lubumbashi ville de Lubumbashi.

b. Délimitation temporelle

La mise en marche d'une infrastructure de communication VoIP dans l'enceinte de la dite


agence voudrait l'accompagnée dans son développement durable à travers par exemple la
création d'autres succursales. C'est donc une implémentation qui se voudrait être durable
pour ne pas dire éternel.

I.6. Méthodes et techniques

a. Méthodes

Le recours à une ou plusieurs méthodes s'avère indispensable pour mener une étude
scientifique selon les exigences et la rigueur d'usage en vue d'aboutir à une issue heureuse.

« Le concept méthode » a été défini par plusieurs auteurs dont PINTO et GRAWITZ
comme étant : « l'ensemble des opérations intellectuelles par lesquelles une discipline
cherche à étudier les vérités qu'elle poursuit, les démontre, les vérifie»(4(*)).

Dans le cadre de notre mémoire, nous ferons usage de méthodes suivantes : la méthode
analytique et expérimentale, qui nous aidera à faire une analyse ainsi qu'une simulation de
la communication VoIP.

b. Techniques

La technique de recherche est définie comme : « un ensemble des procédés employés pour
obtenir un résultat déterminé »(5(*)).

Ainsi, à l'aide de ces outils de collecte et traitement des données, il est possible à tout
lecteur de mener efficacement ses investigations.

Dans le cadre de notre étude, nous ferons usage des techniques suivantes :

b.1. La technique documentaire

Cette technique va consister dans la récolte et l'analyse des données émanant des
différents textes, ouvrages, sites internet, articles de revues et autres documents ayant des
rapports plus ou moins directs avec le thème de notre étude.

Le recueil de la bibliographie que nous aurons à élaborer à la fin de notre mémoire va


renseigner avec précision la nature de tous les documents que nous aurons compulsés.

b.2. La technique de l'interview

Cette technique nous a facilité la récolte des données auprès des personnes mieux
informées dans le domaine.

I.7. Subdivision du travail

Hormis l'introduction et la conclusion, notre travail comprend deux grandes parties dont la
première intitulée « Généralités sur la téléphonie sur IP et les solutions logiciels libres», la
deuxième partie ; « Mise en place d'un PABX-IP avec Asterisk».

PREMIERE PARTIE :

GENERALITES SUR LA TELEPHONIE SUR IP

ET LES SOLUTIONS LOGICIELS LIBRES

CHAPITRE I : GENERALITES SUR


LA TELEPHONIE SUR IP

I.1. INTRODUCTION

La téléphonie sur IP (ToIP) utilise la technologie voix sur IP (VoIP). Cette dernière
transforme la voix en paquets de données et transmet les conversations via le même
réseau que celui utilisé pour envoyer des fichiers et du courrier électronique (6(*)).
Concrètement, l'entreprise doit remplacer ses postes téléphoniques traditionnels par des
téléphones IP.

La voix sur IP met en oeuvre les techniques télécoms sur un réseau à paquets. A cet égard,
une normalisation de la signalisation est donc nécessaire pour garantir l'interopérabilité
des équipements.

En 1996, une trentaine de logiciels de téléphonie ou visioconférence sur IP existaient.


Chacun ayant une signalisation propriétaire, les applications n'étaient évidemment pas
compatibles entre elles. Microsoft lance en 1996 le logiciel de visioconférence (7(*))
NetMeeting.

SECTION.1. DEFINITIONS DES CONCEPTS

1.1. La voix sur IP

La voix sur IP, ou « VoIP » est l'acronyme de Voice over Internet Protocol, est une
technique qui permet de communiquer par la voix via l' Internet ou tout
autre réseau acceptant le protocole TCP/IP. Cette technologie est notamment utilisée pour
supporter le service de téléphonie IP (« ToIP » pour Telephony over Internet Protocol)
(8(*)). La voix sur IP regroupe l'ensemble des techniques permettant de faire transiter de la
voix sur un réseau informatique.

La voix sur IP comprend ainsi les communications de PC à PC. Pour ce type de


communication, chaque utilisateur doit disposer d'un logiciel approprié. Si la connexion
passe par le réseau Internet, on parle alors de la téléphonie par internet. Deuxième
catégorie de voix sur IP, les communications de PC à téléphonie (PC to Phone). Dans les
deux cas, le PC communicant est appelé soft phone, terme qui insiste sur l'émulation du
PC en téléphone grâce à un logiciel.

1.2. La téléphonie classique

La téléphonie classique se contente de faire transiter analogiquement la voix d'un


utilisateur à un autre par la paire cuivrée le reliant au central téléphonique.

1.3. La téléphonie sur IP

La téléphonie sur IP (en anglais, telephony over IP ou IP telephony) est un mode de


téléphonie dans lequel la voix est numérisée puis acheminée par le protocole TCP/IP sous
forme de paquet de données (9(*)). Ce service de téléphonie est offert sur un réseau de
télécommunications, public ou privé utilisant principalement le protocole IP.

La téléphonie IP définit l'utilisation de liens Internet pour acheminer des appels


téléphoniques d'une personne à une autre. Un appel téléphonique de type IP diffère de la
téléphonie conventionnelle (RTC) dans l'encodage de la voix. Cette technologie repose
totalement sur un transport VoIP.

Dans le système traditionnel, la voix est encodée de façon analogique et numérique et


transmise sur un réseau de commutation de circuit alors que dans le système IP, la voix
est encodée en format numérique et mis en paquets sous format IP.

En fait, la téléphonie sur IP utilise la même méthode (processus) que pour la transmission
de l'information sur le réseau Internet. C'est-à-dire une fois la voix formatée, on peut la
transmettre sur un lien Internet commun ou encore l'envoyer sur des liens dédiés.

1.4. La ToIP Wi-Fi

La ToIP Wi-Fi désigne les réseaux de téléphonie IP s'appuyant sur la technologie de


mobilité Wi-Fi. Les paquets IP circulent par ondes radio plutôt que par câbles, ce qui rend
possible l'utilisation de terminaux mobiles, typiquement des téléphones portables (10(*)).

1.5. VPN ToIP 

Se chargent de sécuriser les communications distantes entre deux sites donnés. En effet,
pour relier deux points géographiquement éloignés, une entreprise peut choisir de recourir
à un réseau privé virtuel (VPN). Plutôt que de transiter sur un réseau public où elles
peuvent être interceptées et écoutées.

1.6. PSTN 

PSTN est l'abréviation du réseau téléphonique publique commuté, le « réseau des réseaux
téléphoniques », ou plus couramment « réseau téléphonique ». Tel internet qui
interconnecte tous les réseaux IP, le PSTN est le réseau résultant de l'interconnexion de
tous les réseaux téléphoniques commutés du monde entier. Une différence importante
avec internet est cependant la définition du « flux d'information ». En téléphonie (PSTN)
un flux d'information est un « appel téléphonique » dans son ensemble, contrairement à
internet pour lequel chaque paquet constitue un flux à lui tout seul.
1.7. PABX

Un PABX (Private Automatic Branch eXchange) ou PBX en Anglais, est un


autocommutateur privé, utilisé dans les entreprises pour assurer les communications
internes et le lien avec le réseau téléphonique commuté global (Public Switched
Telephone Network). Un PBX est capable de redirigé les appels entrant vers un téléphone
en particulier, ou de permettre aux téléphones de choisir une ligne en particulier pour
passer un appel. Comme un routeur sur internet est responsable de rediriger les paquets de
données d'une source vers une ou plusieurs destinations, un PBX redirige les appels
téléphoniques.

1.8. L'IPBX ou PABX - IP 

C'est un autocommutateur compatible avec la téléphonie sur IP. Il permet comme un


commutateur téléphonique standard, d'établir une communication téléphonique entre deux
abonnés distants. A l'intérieur d'une entreprise, l'IPBX définit le routage des paquets pour
que la communication parvienne au bon poste de l'entreprise. Un PABX-IP peut être soit
un autocommutateur auquel l'entreprise ajoute une carte d'extension IP, soit une machine
nativement IP. Un autocommutateur IP qui sert de serveur de messagerie, capable de
stocker l'historique des communications ou éventuellement des messages. IPBX c'est la
dernière génération de PABX, il s'intègre à la téléphonie sur IP.

Figure 1 : Architecture avec un IPBX Asterisk d'un centre appel

1.9. Passerelles IP 

Les passerelles IP servent de liens entre les réseaux téléphoniques commutés (RTC) et les
réseaux IP. Passerelle de voix sur IP est spécifiquement conçue pour permettre aux
messages vocaux provenant d'un réseau téléphonique traditionnel d'être transmis sur un
réseau utilisant le protocole IP, tout en leur offrant la possibilité d'effectuer le chemin
inverse.
Figure 2 : Architecture d'un Passerelle IP

SECTION 2 : FONCTIONNEMENT

2.1. Principe

Le principe de la téléphonie sur IP est la numérisation de la voix, c'est-à-dire le passage


d'un signal analogique à un signal numérique. Celui-ci est compressé en fonction des
codecs choisis, cette compression a comme but de réduire la quantité d'information qui est
transmise sur le réseau. Le signal obtenu est découpé en paquets, à chaque paquet on
ajoute les entêtes propres au réseau (IP, UDP, RTP....) et pour finir il est envoyé sur le
réseau.

A l'arrivée, les paquets transmis sont réassemblés en supprimant d'abord les entêtes. Le
signal de données ainsi obtenu est décompressé puis converti en signal analogique afin
que l'utilisateur puisse écouter le message d'origine.

2.2. Architecture de transmission VoIP

La technologie de la voix sur IP (VoIP pour Voice over IP) nous présente une architecture
découpée en 8 grandes étapes :
Figure 3 : 8 étapes de la voix à IP

2.2.1 Acquisition du signal

La VoIP suppose la transformation d'un signal continu analogique (la voix) en un signal
discret numérique (composé d'une série de chiffres). La première étape consiste
naturellement à capter la voix à l'aide d'un micro, qu'il s'agisse de celui d'un téléphone ou
d'un micro casque.

2.2.2 Numérisation

La voix passe alors dans un convertisseur analogique numérique qui réalise deux tâches
distinctes :

· l'échantillonnage du signal sonore, c'est-à-dire un prélèvement périodique de ce signal ;

· la quantification, qui consiste à affecter une valeur numérique (en binaire) à chaque
échantillon. Plus les échantillons sont codés sur un nombre de bits important, meilleure
sera la qualité (on parle de «résolution») de la conversion. Généralement, la voix est
échantillonnée à 8 kHz et chaque échantillon est codé sur 8 bits, ce qui donne un débit de
64 kbit/s (norme G711).

2.2.3 Compression

Le signal une fois numérisé peut être traité par un DSP (Digital Signal Processor) qui va
le compresser, c'est-à-dire réduire la quantité d'informations (bits) nécessaire pour
l'exprimer. Plusieurs normes de compression et décompression (Codecs) sont utilisées
pour la voix. L'avantage de la compression est de réduire la bande passante nécessaire
pour transmettre le signal.

2.2.4 Habillage des en-têtes

Les données «brutes» qui sortent du DSP doivent encore être enrichies en informations
avant d'être converties en paquets de données à expédier sur le réseau. Trois «couches»
superposées sont utilisées pour cet habillage :

La couche IP

La couche IP correspond à l'assemblage des données en paquets. Chaque paquet


commence par un en-tête indiquant le type de trafic concerné, ici du trafic UDP.

La couche UDP

La deuxième couche, UDP, consiste à formater très simplement les paquets. Si l'on restait
à ce stade, leur transmission serait non fiable : UDP ne garantit ni le bon acheminement
des paquets, ni leur ordre d'arrivée.

La couche RTP (Real Time Protocol) / RTCP (Real Time Control Protocol)

Pour palier l'absence de fiabilité d'UDP, un formatage RTP est appliqué de surcroît aux
paquets. Il consiste à ajouter des entêtes d'horodatage et de synchronisation pour s'assurer
du réassemblage des paquets dans le bon ordre à la réception. RTP est souvent renforcé
par RTCP qui comporte, en plus, des informations sur la qualité de la transmission et
l'identité des participants à la conversation.

2.2.5 Emission et transport

Les paquets sont acheminés depuis le point d'émission pour atteindre le point de réception
sans qu'un chemin précis soit réservé pour leur transport. Ils vont transiter sur le réseau
(réseau local, réseau étendu voire Internet) en fonction des ressources disponibles et
arriver à destination dans un ordre indéterminé.

2.2.6 Réception

Lorsque les paquets arrivent à destination, il est essentiel de les replacer dans le bon ordre
et assez rapidement. Faute de quoi une dégradation de la voix se fera sentir. Ce point sera
détaillé plus loin.
2.2.7 Conversion numérique analogique

La conversion numérique analogique est l'étape réciproque de l'étape 2, qui permet de


transformer les données reçues sous forme de série discrète en un signal électrique
«continu».

2.2.8 Restitution

Dès lors, la voix peut être retranscrite par le haut-parleur du casque, du combiné
téléphonique ou de l'ordinateur.

Section 3. MODES D'ACCES ET ARCHITECTURE

3.1. Les modes d'accès

Selon le type de terminal utilisé (un ordinateur ou un téléphone classique), on distingue


trois modes d'accès possibles de voix sur IP :

· La voix sur IP entre deux ordinateurs

· La voix sur IP entre un ordinateur et un téléphone

· La voix sur IP entre deux téléphones

Il est nécessaire de rappeler aux utilisateurs qu'ils doivent être dans le même réseau IP
(Internet ou Intranet de l'entreprise).

3.1.1. La voix sur IP entre deux ordinateurs

Figure 5 : Voix sur IP entre deux ordinateurs

C'est le cas le plus simple. Il suffit de disposer d'une carte son, de haut-parleurs et de
microphones pour chacun des interlocuteurs. Il faut également connaître l'adresse IP de
chacun des terminaux pour établir la communication.

Dans ce premier type de voix sur IP, les utilisateurs communiquent à partir d'un logiciel
de voix sur IP qu'on appel soft phone.

3.1.2 La voix sur IP entre un PC et un téléphone

Figure 6 : Voix sur IP entre PC et un téléphone

Ce cas nécessite une conversion des signaux entre le RTC et le réseau IP. En effet, ces
deux terminaux utilisant des technologies différentes (la commutation de circuits et la
commutation de paquets), l'échange des informations nécessite une passerelle.
L'utilisateur possédant un ordinateur et désirant appeler l'autre sur son téléphone doit se
connecter à un service spécial sur Internet, offert par un fournisseur de service (un ISP) ou
par son fournisseur d'accès à Internet (son IAP).

3.1.3 La voix sur IP entre deux téléphones

Figure 7 : Voix sur IP entre deux téléphones


C'est le cas le plus complexe car il nécessite deux conversions de signaux. On utilise des
passerelles analogues entre le réseau téléphonique et le réseau. Un utilisateur appelle le
numéro d'une passerelle et lui communique le numéro du correspondant qu'il cherche à
joindre.

SECTION 4 : LES PROTOCOLES DE


SIGNALISATION

Un protocole est un langage commun utilisé par l'ensemble des acteurs de la


communication pour échanger des données. Toutefois son rôle ne s'arrête pas là. Un
protocole permet aussi d'initialiser la communication, d'échanger de données. Il faut
distinguer plusieurs types de protocoles :

· Les protocoles de signalisation,

· Les protocoles de transport de la voix.

Les protocoles signalétiques, ont la charge de régir les communications, de déterminer les
appelés, de signaler les appelants, de gérer les absences, les sonneries etc... Mais aussi de
négocier quel codec pourra être utilisé.

Les protocoles de transport quand à eux, transportent l'information sur un réseau IP. Ce
type de protocoles est spécifique à la voix sur IP et aux applications nécessitant le transit
de l'information en temps réel comme par exemple, la vidéo conférence.

La Norme H323, SIP et MGCP, sont des normes dont les spécifications doivent être
respectées par les appareils de téléphonie sur IP pour assurer l'interopérabilité.

Notre étude sera basée sur les protocoles les plus utilisés : H323, SIP et IAX2

4.1. Le protocole H 323

H323 est en ensemble de protocole utilisé en voix sur IP. Il a été développé par l'Union
International des Télécoms (ITU). H323 est une dénomination pour désigner un ensemble
de protocoles, qui peuvent être regroupé en trois catégories : signalisation, négociation et
transport.

Lors d'un appel, il est utilisé en premier lieu le protocole H225 pour la signalisation de
l'appel. Puis vient le H245 pour la négociation, et enfin le RTP pour le transport de la
voix. Ces trois protocoles sont de couches 5 et reposent sur le protocole TCP pour les
deux premiers et UDP pour le dernier.
Figure 6 : Pile de protocole H323

4.2. Le protocole SIP

Session Initiation Protocol (SIP) est un protocole développé par l'Internet Engineering
Task Force (IETF) permettant la négociation et l'établissement de sessions VoIP. SIP est
un protocole de couche 5 du modèle OSI, dite de session. Il s'appuie généralement sur une
couche de transport UDP, bien qu'il soit possible d'augmenter sa fiabilité en l'appliquant
sur du TCP. Le port par défaut de SIP est le 5060. SIP ne traite que l'établissement de
session. Il ne transporte pas les données échangées pendant la communication, ce rôle
étant joué par RTP (Real-time Transport Protocol). On distingue différents acteurs dans le
protocole SIP. Le plus évident est le User Agent. Il peut s'agir d'un téléphone IP, d'un
téléphone analogique relié à un boîtier ATA (Analog Telephony Adapter) ou encore d'un
softphone. C'est l'équipement manipulé par l'usager. Un élément fondamental est le
Registrar Server. Il établit la correspondance entre une adresse à long terme (une URI ou
un numéro de téléphone) et une adresse à court terme, typiquement une adresse IP.

Le dernier élément très important d'une architecture SIP est le serveur proxy. Il relaye les
messages des User Agents à leur destination. Sa raison d'être est que les User Agent ne
peuvent pas toujours joindre directement les autres périphériques, notamment les User
Agent hors de leur réseau.
Les messages utilisés par SIP sont volontairement similaires à ceux utilisés par le HTTP.
Ils sont codés en ASCII et utilisent des codes proches de ceux du HTTP. Différents
messages sont utilisés par SIP, les plus importants étant les suivants :

· REGISTER : Le client envoie ce message à son registrar pour s'enregistrer, c'est-à-dire


pour donner son URI et son adresse IP au registrar.

· INVITE : Ce message permet à un client de demander l'établissement d'une nouvelle


session. Il peut être utilisé également en cours de communication pour modifier la session.

· ACK : Le message ACK confirme l'établissement d'une session SIP, suite à un message
INVITE.

· CANCEL : Ce message annule une demande de session précédemment effectuée avec


un INVITE.

· BYE : termine une session en cours. Contrairement au message CANCEL, la session


SIP doit être active pour pouvoir envoyer un message BYE. Même si son comportement
peut sembler similaire à CANCEL, une différence fondamentale existe : le message BYE
représente un succès (la communication a eu lieu et est désormais terminée) alors que
CANCEL est, du point de vue de l'usager, un échec : l'appelé n'a pas répondu à temps,
l'appelant a donc raccroché, la session n'a donc pas abouti.

· Des codes de réponse : Des codes à trois chiffres, similaires à ceux du HTTP, sont
envoyés en réponse à un précédent message. Le premier chiffre détermine le type de
réponse, les deux suivants donnent une indication plus précise.

1xx - Réponse temporaire : la requête est en cours de traitement.

2xx - Succès : l'action demandée a été reçue, comprise et acceptée.

3xx - Redirection : une autre action auprès d'un autre équipement est nécessaire.

4xx - Erreur du client : la requête est mal formée

5xx - Erreur du serveur : le serveur n'a pas réussi à répondre correctement à la requête.

6xx - Autre erreur, problème global.

4.2.1 Les avantages et inconvénients du protocole SIP

Les avantages

L'implémentation de la VoIP avec le protocole de signalisation SIP (Session Initiation


Protocol) fournit un service efficace, rapide et simple d'utilisation. SIP est un protocole
rapide et léger.

Les utilisateurs s'adressent à ces serveurs Proxy pour s'enregistrer ou demander


l'établissement de communications. On peut s'enregistrer sur le Proxy de son choix
indépendamment de sa situation géographique. L'utilisateur n'est plus "attaché" à son
autocommutateur. Une entreprise avec plusieurs centaines d'implantations physiques
différentes n'a besoin que d'un serveur Proxy quelque part sur l'Internet pour établir "son"
réseau de téléphonique "gratuit" sur l'Internet un peu à la manière de l'émail.

Les inconvénients

L'une des conséquences de cette convergence est que le trafic de voix et ses systèmes
associés sont devenus aussi vulnérables aux menaces de sécurité que n'importe quelle
autre donnée véhiculée par le réseau.

En effet SIP est un protocole d'échange de messages basé sur HTTP. C'est pourquoi SIP
est très vulnérable face à des attaques de types DoS (dénis de service), détournement
d'appel, trafic de taxation, etc.

4.2.2 Etude comparative entre SIP et H3233

Les deux protocoles SIP et H323 représentent les standards définis jusqu'à présent pour la
signalisation à propos de la téléphonie sur Internet. Ils présentent tous les deux des
approches différentes pour résoudre un même problème.

H323 est basé sur une approche traditionnelle du réseau à commutation de circuits. Quant
à SIP, il est plus léger car basé sur une approche similaire au protocole http. Tous les deux
utilisent le protocole RTP comme protocole de transfert des données multimédia.

Au départ H323 fut conçu pour la téléphonie sur les réseaux sans QoS, mais on l'adopta
pour qu'il prenne en considération l'évolution complexe de la téléphonie sur internet.

La complexité de H323 provient encore du fait de la nécessité de faire appel à plusieurs


protocoles simultanément pour établir un service, par contre SIP n'a pas ce problème.

Les nouvelles versions de H323 doivent tenir compte des anciennes versions pour
continuer à fonctionner. Ceci entraîne pour H323 de garder un peu plus de codecs pour
chaque version. H323 ne reconnaît que les Codecs standardisés pour la transmission des
données multimédias proprement dit alors que SIP, au contraire, peu très bien en
reconnaître d'autres. Ainsi, on peut dire que SIP est plus évolutif que H323.

4.2.3. Déroulement d'un appel téléphonique sous SIP

Pour initier une session SIP, la procédure est la suivante. les messages ne transitent pas
par un proxy mais sont envoyés directement au User Agent concerné. L'appelant envoie
un INVITE à l'appelé. Au moyen du protocole SDP, il indique dans sa requête quels
médias il souhaite échanger audio/vidéo) et les codecs qu'il prend en charge.

L'appelé lui indique qu'il traite la requête par un code de réponse "100 rying". Une fois la
requête traitée, il envoie un code "180 Ringing" pour indiquer que le téléphone appelé est
en train de sonner. Les réponses 100 et 180 sont généralement envoyées à quelques
millisecondes d'intervalle seulement. Pour comprendre la réelle utilité du message "100
Trying", il faut considérer le cas ou l'appelé à besoin de plus de temps pour traiter la
requête, par exemple s'il doit demander une autorisation avant d'accepter l'appel.

Lorsque l'usager appelé répond, une réponse définitive est envoyée à l'appelant dans une
message "200 OK". Ce message contient des informations de sessions grâce à SDP.
Contrairement au SDP du message INVITE, celui-ci ne contient qu'un seul codec car
l'appelé a choisi le plus approprié dans la liste proposée par l'appelant.

L'appelant termine par un message ACK, indiquant que la session est établie et que les
deux parties sont maintenant en communication.

4.3. Le protocole IAX

Le protocole d'Echange Inter-Asterisk (Inter-Asterisk eXchange, IAX) version 2 (IAX2)


propose une alternative aux protocoles de signalisation tels que SIP. IAX2 a été crée dans
le cadre du projet de PBX Open source Asterisk. Contrairement à SIP qui utilise 2 paires
de flux (l'une pour la signalisation, l'autre pour la voix), IAX utilise une seule paire de
flux pour communiquer entre les extrémités de la ligne (téléphone ou central
téléphonique). La signalisation comme les données (la conversation vocale) sont
transmises sur le même canal, par opposition à SIP qui utilise un second canal (« out-of-
band ») pour les flux de données (RTP) transportant la voix.

De  plus, IAX2  permet  à plusieurs   appels  d'être   rassemblés  dans  un  seul   ensemble
de paquets   IP, puisque qu'un seul paquet peut transporter des informations concernant
plusieurs appels en cours.

Ce mécanisme se nomme « trunking ». Avec IAX2, le « trunking » permet des économies


de bande passante. Le concept de « trunking » nous l'expliquons comme ceci : imaginez
que vous ayez à envoyer cinq lettres à des destinataires vivant dans un autre pays. Vous
pouvez utiliser une enveloppe par lettre, ou inclure les cinq lettres dans une seule
enveloppe et inclure le nom du destinataire final en première ligne de chacune des lettres.
Le « trunking » opère de façon similaire et permet d'envoyer plusieurs lettres (appels)
dans une seule enveloppe (paquet IP). En résumé, IAX2 présente les caractéristiques
suivantes :

Minimise la bande passante par appel

Réduit la consommation de bande passante pour un ensemble d'appels (par l'utilisation du


« trunking »).

En bref, la simplicité, la rapidité et la légèreté d'utilisation, tout en étant très complet, du


protocole SIP sont autant d'arguments qui pourraient nous permettre d'opter pour son
choix. De plus, ses avancées en matière de sécurité des messages sont un atout important
par rapport à ses concurrents.
SECTION 5 : LES CODECS

Codec est une abréviation pour Codeur/Décodeur. Un codec est basé sur un algorithme
qui permet la compression des données qu'on lui donne. Il s'agit d'un procédé permettant
de compresser et de décompresser un signal, de l'audio ou de la vidéo, le plus souvent en
temps réel, permet une réduction de la taille du fichier original. Le codec numérise et
compresse la voix de l'émetteur, ainsi les données numériques sont encapsulées dans des
paquets IP et acheminées vers le destinataire. A l'arrivés au destinataire, ce dernier grâce
au même codec décompresse et restitue le son. Il On distingue des codecs à pertes et
codecs sans pertes. Un codec à pertes distingue les parties moins importantes des
informations et les supprime pour gagner en taille.

Une fois le signal numérisé et encodé, il est prêt à être transmis. Le transport des données
peut se faire par l'intermédiaire de plusieurs protocoles dont notamment RTP et RTCP, le
contrôle du flux se faisant via les autres protocoles nommés plus haut. Arrivé du coté du
récepteur, le signal est décodé en utilisant le même codec et ensuite restitué.

L'objectif d'un codec est la transformation d'un signal analogique vers un signal
numérique et vice-versa. Ici, le codec transforme donc le signal de la voix en données
numériques facilement transportables sur un réseau. Après de transport, le même codec se
charge de reconvertir le signal numérique vers un signal analogique.

Il existe une différence majeure permettant de classer les codecs existants dans deux
catégories : les codecs sans pertes (lossless) et les codecs avec pertes (lossy).

Dans un codec lossless, tout le signal est transformé en binaire et le décodage restitue des
données parfaitement identiques à celles données en entrée. Ce type de codecs est utilisé
quand la qualité de la restitution est importante.

Dans un codec lossy, certaines parties du signal sont écartées et supprimées. Dans
l'exemple de la voix, l'oreille humaine rencontre ses limites lorsqu'il s'agit d'écouter des
fréquences trop basses ou trop hautes. Les codecs avec pertes (aussi appelés destructeurs)
tirent parti de ce phénomène. Les sons dans les fréquences hautes ou basses sont tronqués
pour diminuer la quantité d'information à transmettre. L'exploitation des particularités de
l'oreille humaine s'appelle la psycho acoustique.

- Qualité de la voix :

Dans la téléphonie sur IP, les différents codecs retransmettent plus ou moins bien le signal
original. Pour mesurer la qualité de la voix restituée, on parle de score MOS (Mean
Opinion Score). C'est une note comprise entre 1 et 5 et attribuée par des auditeurs jugeant
de la qualité de ce qu'ils entendent. Pour la VoIP, plusieurs codecs peuvent servir. Voici
leurs détails :

G.711 : Ce codec est le premier à avoir été utilisé dans la VoIP. Même si il existe
maintenant des codecs nettement plus intéressants, celui ci continue d'être implémenté
dans les équipements à des fins de compatibilité entre marques d'équipements différentes.

G.722 : A la différence du G.711, ce codec transforme le spectre jusqu'à 7kHz ce qui


restitue encore mieux la voix. Les débits que ce codec fournit sont 48,56 ou 64kbit/s. Une
des particularités est de pouvoir immédiatement changer de débit. Ceci est fortement
appréciable lorsque la qualité du support de transmission se dégrade.

G.722.1 : Dérivé du codec précédent, celui ci propose des débits encore plus faibles (32
ou 24kbit/s). Il existe même des versions propriétaires de ce codec fournissant un débit de
16kbit/s.

G.723.1 : C'est le codec par défaut lors des communications à faible débit. Deux modes
sont disponibles. Le premier propose un débit de 6,4kbit/s et le deuxième un débit de
5,3kbit/s.

- Compression du silence :

Une des méthodes utilisées par les codecs pour réduire la quantité de données à
transmettre et de détecter les silences. Dans une conversation téléphonique, chaque
locuteur ne parle que 1/3 du temps en moyenne. Ce qui fait que 1/3 du temps d'une
conversation est constitué de silence facilement reproductible et donc non codé par le
codec. Ce mécanisme s'appelle VAD (Voice Activity Détection - DAV : Détection
d'activité de la voix).

- Génération de bruits de confort :

Pendant une conversation où les silences sont effacés, l'absence de bruit chez le récepteur
peut vite se révéler inconfortable. Dans cette optique, les codecs disposent d'un générateur
de bruits de confort visant à simuler des bruits de fond pour améliorer le confort des
utilisateurs.

- Robustesse sur la perte de paquets :

Si les conditions de circulations sur le réseau se dégradent, certains paquets contenant de


l'information peuvent se perdrent ou arriver trop tard. Ce problème est en partie compensé
par l'utilisation des buffers, mais la gigue peut être telle que le codec soit obligé de
retransmettre au récepteur un paquet, alors qu'il n'est pas arrivé. Il existe plusieurs
méthodes pour palier à ce problème : Il est possible par exemple de simplement répéter le
contenu du dernier paquet pour combler le vide. On peut aussi répartir l'information sur
plusieurs paquets de façon à introduire une redondance des données. En cas de pertes de
paquets, le codec dispose ainsi d'une copie du paquet à retransmettre.

SECTION 6 : LES CONTRAINTES DE LA


TELEPHONIE SUR IP

La téléphonie est un service vital pour l'entreprise, les questions de qualité de service QoS
« quality of service » sont donc particulièrement importantes.

La QoS a pour vocation d'assurer la disponibilité de la téléphonie en tout temps et


d'assurer une transmission des conversations dans de bonnes conditions. La qualité du
transport de la voix est affectée par les paramètres suivants :

Ø La qualité du codage

Ø Le délai d'acheminement (delay)

Ø La gigue (jitter)

Ø La perte de paquets (packet loss)

Ø L'écho

Toutes ces contraintes déterminent la QoS (Quality of Service ou Qualité de service en


français). Le transport de la voix sur IP implique l'utilisation de nombreux protocoles :
RTP, RTCP, H245, H225,...

Des normes ont vu le jour afin que les équipements de différentes entreprises puissent
communiquer entre eux. Le premier fut H.323, puis arriva la norme SIP.

Qualité du codage

Généralement, plus le taux de compression est élevé par rapport à la référence de 64 Kb/s
(G711), moins la qualité de la voix est bonne. Toutefois, les algorithmes de compression
récents permettent d'obtenir des taux de compression élevés, tout en maintenant une
qualité de la voix acceptable.

L'acceptabilité par l'oreille humaine des différents algorithmes est définie selon le critère
MOS (Mean Operationnal Score), défini par l'organisme de normalisation internationale
ITU (International Télécommunication Union / Union internationale des
Télécommunications). Dans la pratique, les deux algorithmes les plus utilisés sont le
G.729 et le G.723.1.

Le tableau ci-après montre une liste de codecs avec leur débit correspondant :

Débit
Nom du codec
G.711 64kbps
G.726 32kbps
G.726 24kbps
G.728 16kbps
G.729 8kbps
G.723.1 MPMLQ 6.3 kbps
G.723.1 ACELP 5.3k kbps

Tableau n°1: Correspondance entre les débits et les codecs

Délai d'acheminement : latence (Delay)

Selon la norme ITU G114, le délai d'acheminement permet :

- Entre 0 et 150 ms, une conversation normale

- Entre 150 et 300 ms, une conversation de qualité acceptable

- Entre 300 et 700 ms, uniquement une diffusion de voix en half duplex (mode talkie-
walkie)

- Au-delà, la communication n'est plus possible

Précisons que le budget temps (latence) est une combinaison du délai dû au réseau et du
délai lié au traitement de la voix par le codec (algorithmes de compression/décompression
de la voix). Dans la pratique, si l'on enlève le temps dû aux algorithmes de compression, il
est impératif que le réseau achemine la voix dans un délai de 100 à 200 ms. Or, la durée
de traversée d'un réseau IP est dépendante du nombre de routeurs traversés ; le temps de
traversée d'un routeur étant lui-même fonction de la charge de ce dernier qui fonctionne
par file d'attente.

Gigue (Jitter)

La gigue (variation des délais d'acheminement des paquets voix) est générée par la
variation de charge du réseau (variation de l'encombrement des lignes ou des équipements
réseau) et donc à la variation de routes dans le réseau. Chaque paquet est en effet
susceptible de transiter par des combinaisons différentes de routeurs entre la source et la
destination. Pour compenser la gigue, on peut utiliser des buffers (mémoire tampon) côté
récepteur, afin de reconstituer un train continu et régulier de paquets voix.

Toutefois, cette technique a l'inconvénient de rallonger le délai d'acheminement des


paquets. Il est donc préférable de disposer d'un réseau à gigue limitée.

Perte de paquets (packet loss)

Lorsque les routeurs IP sont congestionnés, ils libèrent automatiquement de la bande


passante en se débarrassant d'une certaine proportion des paquets entrants en fonction de
seuils prédéfinis.

La perte de paquets est préjudiciable, car il est impossible de réémettre un paquet voix
perdu, compte tenu du temps dont on dispose. Le moyen le plus efficace de lutter contre la
perte d'informations consiste à transmettre des informations redondantes (code correcteur
d'erreurs), qui vont permettre de reconstituer l'information perdue. Des codes correcteurs
d'erreurs, comme le Reed Solomon, permettent de fonctionner sur des lignes présentant un
taux d'erreur de l'ordre de 15 ou 20 %. Une fois de plus, ces codes correcteurs d'erreurs
présentent l'inconvénient d'introduire une latence supplémentaire.

Certains, très sophistiqués, ont une latence très faible.

Echo

L'écho est un phénomène lié principalement à des ruptures d'impédance lors du passage
de 2 fils à 4 fils. Le phénomène d'écho est particulièrement sensible à un délai
d'acheminement supérieur à 50 ms. Il est donc nécessaire d'incorporer un équipement ou
logiciel qui permet d'annuler l'écho.

CHAPITRE II : LES SOLUTIONS


LOGICIELS LIBRES

II.1. DEFINITION

II.1.1. Logiciels libres

Un logiciel libre est un logiciel dont l'utilisation, l'étude, la modification, la duplication et


la diffusion sont universellement autorisées sans contrepartie.(11(*))

Le logiciel libre a fait une incursion remarquée dans le monde de la téléphonie, par le
biais de solutions PC-PBX (un ordinateur de type PC muni de cartes d'interface
spécifiques) tournant sous Linux (ou un autre système libre) et équipées de logiciels Open
source comme Asterisk, Yate, VOCAL, etc. Nous décrivons ici les forces et faiblesses de
ces différentes plateformes afin de choisir en fonction des besoins exprimés, la solution
qui sera implémentée.

II.1.2. Asterisk

Asterisk est un PABX logiciel libre, multiplateforme, publié sous licence GPL par Mark
Spencer de la société Digium. Asterisk permet, entre autres, la messagerie vocale, la
conférence, les serveurs vocaux, la distribution des appels. Asterisk implémente les
protocoles H323 et SIP, ainsi qu'un protocole spécifique nommé IAX (Inter-Asterisk
eXchange). Ce protocol IAX permet la communication entre client et serveur Asterisk
ainsi qu'entre deux serveurs Asterisk. Asterisk peut également jouer le rôle de registrar et
passerelle avec les
réseaux publics (RTC, GSM, etc.).(12(*))

Architecture interne

Figure 6 : architecture interne d'Asterisk

Asterisk est un système flexible grâce à sa structure interne constitué de quatre APIs
(Application Programming Interface) spécifiques autour du « central core system ». Celui-
ci manie les connexions internes du PBX en faisant abstraction des protocoles, des
codecs, des interfaces téléphoniques et des applications (d'où la possibilité d'utiliser
n'importe quel hardware et n'importe quelle technologie).

Asterisk joue le rôle de middleware (intergiciel) entre les technologies de téléphonie et les
applications (conférence, messagerie vocale, IVR).

Le coeur contient 5 moteurs ayant chacun un rôle essentiel et critique dans les opérations :

- La commutation de PBX (PBX Switching Core) : fonction primaire, commute de


manière transparente les appels.

- Lanceur d'applications (Application Launcher) : lance les applications qui exécutent


des services pour les utilisateurs.

- Traducteur de codec (Codec Translator) : code et décode la voix, plusieurs codecs


sont utilisés pour trouver l'équilibre entre la qualité audio et l'usage de la bande passante.

- Planificateur Manager d'I/O (Scheduler and I/O Manager) : planifie en bas niveau
et gère les entrées/sorties pour des performances optimales.

- Dynamic Module Loader : charge les pilotes (lors de la 1ère exécution d'Asterisk, il
initialise les pilotes et fait le lien avec les APIs appropriés). Après que les pilotes soient
chargés (DML), les appels commencent à être acceptés (PBXSC) et redirigés en faisant
sonner les téléphones (AL).

L'abstraction matérielle et protocolaire passe par l'utilisation de 4 APIs :

1. L' API Canal (Asterisk Channel API)

Cette API gère le type de raccordement sur lequel arrive un appelant, que ce soit une
connexion VoIP, un RNIS, ou une autre technologie.

2. L' API application (Asterisk Application API)

Elle autorise différents modules de tâches à être lancé pour exécuter diverses fonctions.
Communication, audio-conférence, messagerie vocale et n'importe quelle autre tâche
qu'un système PBX standard exécute actuellement, sont mises en oeuvre par ce module.

3. L'API traducteur de Codec (Codec Translator API)

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

4. L'API de format de fichier (Asterisk File Format API)

Elle permet la lecture et l'écriture de divers formats de fichiers pour le stockage de


données dans le file system.

En utilisant ces APIs Asterisk réalise une abstraction complète entre ces fonctions noyau
de serveur PBX et les diverses technologies existantes (ou en développement) dans le
domaine de la téléphonie.

II.1.3. Les terminaisons d'Asterisk

AsteriskGUI et Free PBX

AsteriskGUI, GUI pour Graphique User Inter face (Inter face utilisateur graphique) se
trouve être une inter face graphique et l'outil d'administration d'AsteriskNOW. Free PBX
est aussi une interface d'administration créée pour la gestion des serveurs Asterisk. Ces
interfaces permettent à chacun de simplifier l'utilisation et l'administration de votre IPBX
en le rendant plus accessible.

Asterisk at Home

Cette déclinaison d'Asterisk est destinée à être intégré au sein de très petites structures
comme les réseaux domestiques. L'objectif de cette distribution est de simplifier
l'intégration d'un serveur de téléphonie sur IP et de proposer une version light d'Asterisk
sous forme de package.

Asterisk for Windows

Cette plate-forme d'Asterisk est une déclinaison destinée à permettre la mise en oeuvre de
la solution Asterisk sous Windows pour les allergiques à Linux. Cette déclinaison dispose
des mêmes fonctionnalisées que ses homologues sous linux.

SipXecs

SipXecs est une solution IPBX gratuite pouvant être mise en oeuvre au sein
d'infrastructure de différentes tailles. Elle peut être intégrée dans des infrastructures de
très petites tailles à des infrastructures allant jusqu'à 6000 d'après les développeurs de la
communauté. Ce produit a pour particularité de supporter uniquement le protocole SIP.

SipXecs doit sa création à la société Pingtel Corp qui réalisa le développement du produit
en 1999. Ce produit a été développé à par tir des langages C/C++ et basé sur une interface
d'administration WEB afin de réaliser la gestion des différents services offerts par le
produit tel que le plan de numérotation, les utilisateurs ou bien les téléphones. Il permet
une intégration complète d'un système de messagerie unifié pour Microsoft Outlook.

CallWeaver

CallWeaver est un IPBX qui a été développé autour du projet Asterisk. Ce produit est
basé sur une licence de type GPL. Callweaver est capable de s'interfacer sur plusieurs
types de réseaux, tel que le raccordement à un réseau téléphonique traditionnel ou IP. Ce
produit a été conçu de sorte à ce qu'il puisse gérer un ensemble de protocoles de
signalisation de Voix sur IP (H323, IAX2, MGCP, SIP...). Call weaver permet
d'administrer le serveur, comme une inter face WEB plus simple pour les adeptes de
l'interface graphique.

La version stable actuellement en ligne de Callweaver est la version 1.2.0.1. Ci-dessous


une présentation des principales caractéristiques de l'outil :

· Interconnexion au réseau RTC (FXS/FXO, ISDN, PRI , E1, T1),

· Gère plusieurs protocoles de Voix sur IP (H.323, IAX2, MGCP and SIP and SCCP),
· Supporte le protocole STUN pour les communications SIP,
· Support du FAX via T.38. (Fax over IP),

· Serveur vocal interactif,

· Gestion des conférences,

· Gestion des fils d'attentes.

FreeSwitch

Freeswitch est une solution Open source de téléphonie sur IP, sous une licence MPL
(Mozilla Public License), développé en C. Elle permet la mise en place de
communications vers un téléphone virtuel via un commutateur virtuel. Freeswitch peut
être utilisé comme un simple commutateur, un PBX, une passerelle ou un serveur
d'applications IVR (Interactive Voice Response) en utilisant des scripts ou des fichiers
XML permettant d'automatiser certaines taches et de développer de nouveaux services.

Freeswitch fonctionne sur plusieurs systèmes d'exploitation, notamment Windows, Mac


OS X, Linux, BSD et sur les deux plates-formes Solaris (32 bits et 64 bits). Une Inter face
Web pour Freeswitch est disponible sous le nom Wiki PBX.

La configuration de Freeswitch peut s'effectuer de deux manières :

· En ligne de commande (CLI),

· En Inter face graphique (Web).

GNU Bayonne

GNU Bayonne est le serveur d'applications téléphoniques du projet GNU, c'est-à-dire


orienté Open source basé sur une licence libre. Cette solution offre un environnement
gratuit permet tant aux petites et grandes infrastructures de développer, de déployer et de
gérer des solutions de téléphonie intégrées à leur réseau informatique afin d'exploiter une
ou plusieurs lignes téléphoniques.

GNU Bayonne2 permet de développer des applications IVR (Interactive Voice Response)
grâce à un simple langage de script. La version 1.x gère la VoIP grâce au couplage avec le
logiciel GNU oSIP Stack. GNU Bayonne se décline sous deux versions :

· Bayonne 1 : version développée en 1998 pour succéder au système ACS,

· Bayonne 2 : version développée en 2005 avec un accent particulier sur l'utilisation du


protocole SIP.

Bayonne est basé sur le projet ACS (Adjunct Communication Server). Le projet ACS a
été repris par le projet GNU qui oeuvre 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 cet te fonctionnalité.
Ce projet étant peu suivi par la communauté Internet, il est très difficile donc de trouver
de la documentation. Actuellement GNU Bayonne est un projet de petite envergure mais
il a le mérite d'avoir fait partie des précurseurs dès 1998.

Le fonctionnement de GNU Bayonne repose sur plusieurs composants que l'on doit lui
associer pour pouvoir l'exploiter et le mettre en place.

· GNU Common C++,

· GNU ccScript (Machine virtuelle),

· GNU ccAudio (Gestion des flux audio),

· GNU oSIP Stack (Pile SIP),

· Libhoard (librairie additionnelle),

· Voicetronix PCI (pilote).

Bayonne dispose d'un interpréteur de scripts qui peut être étendu grâce à des applications
TGI (Telephony Gateway Inter face), c'est-à-dire une Passerelle d'Interfaçage
Téléphonique permet tant de simplifier l'intégration de GNU Bayonne.

La solution peut être utilisée aujourd'hui complètement sous GNU/Linux avec une variété
grandissante de matériels téléphoniques compatibles. Bayonne est portable et peut être
compilé sur la plupart des systèmes d'exploitation.

GNU Bayonne se caractérise par la multitude de services qu'il offre, notamment GNU
Bayonne2 qui utilise le protocole SIP et H323 offrant des services avancés IP, bien connu
des solutions PBX Open source. Certains utilisateurs de Bayonne avouent que sa
configuration est difficile à mettre en place.

La première étape consiste à disposer d'un système d'exploitation Open source, par
exemple Debian.

La seconde étape consiste à compiler et installer GNU Bayonne2 puis, les modules et
enfin les fichiers de configuration pour les différents services que vous souhaitez mettre
en place pour configurer vos services.

YATE

YATE est un logiciel créé par une communauté originaire de Roumanie, le nom donné à
la solution est un acronyme signifiant Yet Another Telephony Engine. Il a été développé
en C++ par la société Null Team qui a été fondée en 2004, après quelques années
d'expérience dans le domaine de la téléphonie et de la création de logiciel. Yate se
distingue sous deux versions : YATE 1 et YATE 2.

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, afin de réaliser l'acheminement des communications ver le réseau de
l'opérateur.
Figure 7 : Tableau synthèse des logiciels libres

DEUXIEME PARTIE :

MISE EN PLACE D'UN PABX-IP

AVEC ASTERISK

I. INTRODUCTION

Après avoir rédigé toutes ces théories, il nous sera facile de déployer un PABX-IP.

II. CHOIX DES EQUIPEMENTS ET LOGICIELS

Asterisk peut supporter plusieurs types de téléphones :

· Les téléphones IP : Nous avons plusieurs types de téléphones IP parmi les quels nous
avons les téléphones CISCO, qui utilisent le protocole SCCP (Skinny Client Control
Protocole). Il existe également des téléphones GSM/WIFI, qui fonctionnent avec le
protocole SIP, son interconnexion avec le réseau IP se fait via à un ACCES POINT. Dans
notre implémentation nous avons fait usage d'un téléphone IP de marque Grandstream.

· Les téléphones analogiques ou traditionnels qui utilisent le protocole SIP, sa


connexion dans le réseau IP se fait via à une passerelle utilisant ce même protocole. Il
existe des solutions propriétaires telle que Linksys adapter qui est une passerelle SIP
contenant deux modules FXS pour deux téléphones analogiques et un port RJ45 pour la
relier au réseau IP. Nous avons choisi un Linksys.

· Les stimulateurs téléphoniques appelés softphones, qui sont des logiciels qui jouent
un rôle de téléphone. Ces logiciels (Xten, Xlite, gromemeeting, NetMeeting etc.) peuvent
être installés sur des systèmes différents (windows, linux, mac, etc.). Nous avons choisi à
l'occasion Xlite.

Notre infrastructure de test comprend :

Ø Un PC tournant sous Linux et équipé d'une carte réseau faisant office d'un serveur.

Ø Un pc tournant sous Windows équipés d'une carte son, d'une carte réseau, d'un casque,
d'un microphone et d'un soft phone.

Ø Deux Téléphones IP et un téléphone analogique

Il est aussi a noté que le champ d'expérimentation se fera sur un LAN constitué de câble
UTP RJ45, un câble RJ11 et un Switch.

Les fonctionnalités que nous avons eues à implémenter :

Ø Appels entre terminaux : ils fonctionnent comme les appels classiques. Pour appeler, il
suffit de composer son numéro. Les terminaux peuvent être un PC, un téléphone IP.

Ø Interconnexion du réseau IP avec le réseau RTC

III. PROJET DE CONCEPTION DU RESEAU DE


L'AGENCE GETRAK

Nous présentons sur la figure 8, notre solution de VoIP appliquée au réseau LAN de
GETRAK. Cependant, le schéma ci-dessous est l'architecture d'une implémentation
d'Asterisk :
Figure 8 : Design-asterisk-GETRAK

IV. INSTALLATION D'ASTERISK SUR FEDORA

Nous avons choisi cette distribution compte tenu des ces fonctionnalités suivantes :

- Distribution récente utilise un noyau récent (2.6)

- Utilisation de l'outil YUM qui est un gestionnaire des paquets très puissant dans la
mesure où il vous permet entre autre de retrouver automatiquement un paquetage sur
internet de le télécharger, de le décompresser et de l'installer pour vous.

QUELQUES COMMANDES DE BASE DU SERVEUR ASTERISK

Une fois Asterisk installé correctement, l'étape suivante est de nous


familiariser avec quelques unes des commandes de base :

· Exécuter Asterisk (qui se placera en arrière plan) :
# /etc/init.d/Asterisk (start|stop)

· Exécuter le serveur Asterisk en mode « bavard » 

( vvv), et ouvrir une « console » cliente ( c)

(la console cliente, ou CLI, permet de contrôler ce qui se passe dans le serveur Asterisk)

# Asterisk -vvvc

Si le serveur est déjà lancé, ouvrir un terminal client et se connecter au serveur pour contr
ôler son statut ( r) :

# Asterisk -r

· Recharger tous les fichiers de configuration ;

#CLI> reload

· Activer les informations de diagnostique pour SIP 

#CLI> SIP debug

· Désactiver les informations de diagnostique pour SIP 

#CLI> SIP nodebug

· Afficher le statut des utilisateurs, pairs et canaux pour SIP 

#CLI> sip show users

#CLI> sip show peers

#CLI> sip show channels

V. CONFIGURATION DU SERVEUR

En guise de configuration de notre serveur nous avons eu a édité deux fichiers de base :

- sip.conf

- extensions.conf

Cependant sip.conf : contient les paramètres relatifs au protocole SIP pour l'accès au
serveur Asterisk, les clients doivent y figurer afin de pouvoir recevoir ou effectuer un
appel via le serveur.
Le fichier extensions.conf est la loge ou le lieu de stockage du Dialplan (plan de
numérotation qui est composé d'un ou plusieurs contexte d'extensions.

VI. LES CAPTURES DU SERVEUR ASTERISK

A. Fichier extensions.conf

B. Fichier sip.conf
DIFFICULTES RENCONTREES

Au cours de notre recherche qui a consisté dans un premier temps à récolter les
informations relatives à la nouvelle technologie de communication, nous avons noté des
difficultés suivantes :

· Rareté quant à la disponibilité des certains équipements tels que la carte TDM PCI, en
local.

· Absence d'ouvrages explicitement dédié au serveur Asterisk dans les bibliothèques de la


place.

· Difficultés de recueillir des informations sur le protocole d'inter-connectivité entre


Asterisk et un réseau GSM auprès des IT concernés (Zain, Tigo).

SUGGESTIONS

Après étude, nous avons découvert que le réseau GETRAK, regorgeait de l'équipement
minimal d'un réseau IP susceptible de permettre l'implémentation de la VoIP. A savoir :
switch D-link, Pcs, Lan opérationnel.

C'est ainsi que pour notre travail nous suggérons aux responsables administratifs de
l'entreprise GETRAK, de bien vouloir investir dans ce projet qui s'avère par ailleurs très
rentable pour pouvoir mettre à profit les atouts qu'offre un réseau IP.

CONCLUSION

Au terme de ce travail, nous n'avons pas prétendu exploiter la panoplie des enjeux
rencontrés dans l'implémentation d'une infrastructure de système téléphonique de type
VoIP.

Néanmoins nous avons tentés, par des multiples efforts, d'étayer cette étude de mise au
point de manière à proposer des réponses à notre problématique.

En effet, il a été possible de matérialisé la fusion d'un réseau informatique et téléphonique


en un, favorisant ainsi la réduction de cout de communication et de maintenance.

En ce qui concerne notre champ d'investigation en l'occurrence l'agence GETRAK ; celle-


ci pourra se doté d'une infrastructure de communication VoIP en toute aise tant à son
siège sociale qu'à ce succursale existante ou futur. Cependant la gestion de ce système
pourra favoriser son évolution sociaux économique toute au long de son existence.

BIBLIOGRAPHIE
I. OUVRAGES

1. Jim van M., Jared S., Leif M., Asterisk, the Future of Telephony, O'Reilly 2005;

2. Jerôme D., Comment trouver sa Voix sur IP, édition janvier 2006

3. Tim K., VoIP pour les nuls, Avaya 2005

III. LES COURS

1. KAPULULA, D., Transmission de donnée, l'shi, UPL, Grade II, 2009-2010

2. KATAMBA, S., Intelligence dans le réseau, l'shi, UPL, Grade II, 2009-2010

3. FIAMA, B., Séminaire linux, l'shi, UPL, Grade II, 2009-2010

IV. SITES INTERNET

1. Pour garder un oeil sur l'actualité de la téléphonie émergente :


http://www.oreillynet.com/etel/

2. Le site VoIP info est un énorme wiki regorgeant de conseils et d'astuces. Trouver ce
dont vous avez besoin peut cependant s'avérer
difficile. http://www.voipinfo.org/wikiAsterisk+tips+and+tricks

3. www.remichauchat.fr/projets/VoIP/Bureau%20d'etude%20-%20VoIP.pdf

4.
Asterisk est un projet opensource basé sur des idées du projet « Zapata Telephony » http://
www.Asteriskdocs.org/modules/tinycontent/index.php?id=10

5. http : //www.espacepourlesespaces.ca/glossaire/hi.htm.

6. www.guill.net/view.php?cat=3&pro=1&tcpip=29

7. http://fr.wikipedia.org/wiki/Voix_sur_r%C3%A9seau_IP

8. http://dictionnaire.phpmyvisites.net/definition-TELEPHONIE-IP-5109.htm

9. www.journaldunet.com/solutions/0501/050119_terminologie_toip.shtml

TABLE DES MATIERES


EPIGRAPHE I

DEDICACE II

IN MEMORIAM III

AVANT PROPOS IV

INTRODUCTION 1

I.1. PRÉSENTATION DU SUJET 1

I.2. CHOIX ET INTÉRÊT DU SUJET 2

I.3. ETAT DE LA QUESTION 3

I.4. PROBLÉMATIQUE ET HYPOTHÈSE 3

I.5. DÉLIMITATION DU SUJET 4

I.6. MÉTHODES ET TECHNIQUES 5

b.1. La technique documentaire 6


b.2. La technique de l'interview 6

I.7. SUBDIVISION DU TRAVAIL 6

CHAPITRE I : GENERALITES SUR LA TELEPHONIE SUR IP 8

I.1. INTRODUCTION 8

SECTION.1. DEFINITIONS DES CONCEPTS 8

1.1. La voix sur IP 8

1.2. La téléphonie classique 9

1.3. La téléphonie sur IP 9

1.4. La ToIP Wi-Fi 10

1.5. VPN ToIP 10

1.6. PSTN 10

1.7. PABX 11

1.8. L'IPBX ou PABX - IP 11

1.9. Passerelles IP 12

SECTION 2 : FONCTIONNEMENT 12

2.1. Principe 12

2.2. Architecture de transmission VoIP 13

2.2.1 Acquisition du signal 13

2.2.2 Numérisation 14

2.2.3 Compression 14

2.2.4 Habillage des en-têtes 14

2.2.5 Emission et transport 15

2.2.6 Réception 15

2.2.7 Conversion numérique analogique 15


2.2.8 Restitution 16

SECTION 3. MODES D'ACCES ET ARCHITECTURE 16

3.1. Les modes d'accès 16

3.1.1. La voix sur IP entre deux ordinateurs 16

3.1.2 La voix sur IP entre un PC et un téléphone 17

3.1.3 La voix sur IP entre deux téléphones 17

SECTION 4 : LES PROTOCOLES DE SIGNALISATION 18

4.1. LE PROTOCOLE H 323 18

4.2. LE PROTOCOLE SIP 19

4.2.1 Les avantages et inconvénients du protocole SIP 21

4.2.2 Etude comparative entre SIP et H3233 22

4.2.3. Déroulement d'un appel téléphonique sous SIP 22

4.3. LE PROTOCOLE IAX 23

SECTION 5 : LES CODECS 24

SECTION 6 : LES CONTRAINTES DE LA TELEPHONIE SUR IP 27

CHAPITRE II : LES SOLUTIONS LOGICIELS LIBRES 31

II.1. DEFINITION 31

II.1.1. Logiciels libres 31

II.1.2. Asterisk 31

II.1.3. Les terminaisons d'Asterisk 34

I. INTRODUCTION 41

II. CHOIX DES EQUIPEMENTS ET LOGICIELS 41

III. PROJET DE CONCEPTION DU RESEAU DE L'AGENCE GETRAK 43

IV. INSTALLATION D'ASTERISK SUR FEDORA 43


V. CONFIGURATION DU SERVEUR 45

VI. LES CAPTURES DU SERVEUR ASTERISK 46

DIFFICULTES RENCONTREES 47

SUGGESTIONS 48

CONCLUSION 49

BIBLIOGRAPHIE 50

TABLE DES MATIERES 51

GLOSSAIRE

· Autocommutateur : Standard téléphonique qui sert à relier les postes téléphoniques d'un
établissement (lignes internes) avec le réseau téléphonique public (lignes externes).

· Un ATA : Un ATA est un boîtier électronique qui permet à un téléphone analogique


traditionnel de réaliser des appels téléphoniques sur IP sans utiliser un ordinateur.

· Bande passante : Désigne la capacité de transmission d'une liaison de transmission. Elle


détermine la quantité d'informations (en bits/s) qui peut être transmise simultanément.

· IP (Internet Protocol) : Protocole de télécommunications utilisé sur les réseaux qui


servent de support à Internet et permettant de découper l'information à transmettre en
paquets, d'adresser les différents paquets, de les transporter indépendamment les uns des
autres et de recomposer le message initial à l'arrivée. Ce protocole utilise ainsi une
technique dite de commutation de paquets. Sur Internet, il est associé à un protocole de
contrôle de la transmission des données appelé TCP (Transmission Control Protocol) ; on
parle ainsi du protocole TCP/IP.

· IP CENTREX : Grâce à la technique de l'IP CENTREX, vous bénéficiez d'un standard


virtuel, hébergé chez un fournisseur externe. Vous vous débarrassez en plus de votre
abonnement téléphonique auprès de votre opérateur de téléphonie habituel.

· IPBX : Avec l'IPBX, vous remplacez vos téléphones par des téléphones IP relié par le
réseau IP interne au central de l'entreprise qui devient alors un IPBX.

· PABX : Un PABX (Private Automatic Branch eXchange) est un commutateur ou


standard téléphonique privé. Il sert principalement à relier les postes téléphoniques d'un
établissement (lignes internes) avec le réseau téléphonique public (lignes externes).

· PABX-IP : Avec un PABX-IP, vous bénéficiez des avantages de l'IP tout en conservant
un PABX physique dans votre entreprise. Il vous suffit pour cela d'ajouter une passerelle
IP au niveau de votre PABX.

· PCBX : Il s'agit d'un PC-serveur sur lequel des fonctionnalités logicielles liées à la
téléphonie ont été ajoutées, mais qui ne permettent pas de gérer de très gros flux et
volumes téléphoniques.

· Passerelle : La passerelle sert essentiellement à interconnecter différents serveurs entre


eux, tant au niveau local qu'à une échelle supérieure (par exemple, interconnexion de
différents opérateurs à l'échelle nationale ou internationale).

· Protocole : Règles et conventions qui déterminent la façon dont deux ordinateurs


dialoguent.

· Quality of Service (QoS) : La Qualité de Service (QoS) est la capacité à véhiculer dans
de bonnes conditions un type de trafic donné, en termes de disponibilité, débit, délais de
transit, taux de perte de paquets...

Son but est ainsi d'optimiser les ressources du réseau et de garantir de bonnes
performances aux applications critiques.

· Routeur : Equipement électronique qui établit la communication entre le serveur et les


ordinateurs qui en dépendent. Il permet aussi, d'interconnecter plusieurs réseaux,
notamment sur internet.

· RNIS : RNIS de Réseau Numérique à Intégration de Services ou (service) Numéris. En


anglais : Integrated Service Digital Network (ISDN) Le RNIS est proposé par France
Telecom sous le nom de Numéris.

· RTC : Réseau Téléphonique Commuté, réseau de téléphonie traditionnel. Serveur vocal


interactif (IVR) : Un serveur vocal interactif est un système permettant aux utilisateurs
d'extraire des données et d'exécuter des tâches spécifiques, ceci à travers un téléphone
fixe, mobile ou un softphone.

· SIP : SIP (pour Session Initiation Protocol) est un protocole standard ouvert de
télécommunications multimédia (son, image, etc.). Il est en 2006 le plus courant pour la
téléphonie par internet (la VoIP) et vise à devenir le standard.

· SOFTWARE TELEPHONE : Un software téléphone est un programme informatique


qui permet de réaliser des appels téléphoniques à partir d'un ordinateur ou tout autre
appareil informatique, comme un PDA ou un téléphone mobile. Ce logiciel peut le plus
souvent être utilisé indépendamment d'un hardphone. En effet, par l'intermédiaire d'un
casque avec micro connecté à l'ordinateur par exemple, le logiciel peut entièrement se
substituer au téléphone physique.

· Téléphonie IP, TOIP : La téléphonie IP consiste à mettre en place des services


téléphoniques sur un réseau IP en utilisant la technique de la voix sur IP. Les
communications vocales sont alors transmises via un réseau IP à partir de et à destination
de téléphones spéciaux. Les postes particuliers sont baptisés IP-Phone. Qu'est-ce qui les
distinguent des téléphones classiques ? Un téléphone IP doit être alimenté par courant. Il
est capable de numériser la voix pour la transmettre sur des réseaux IP et peut, à l'inverse,
rassembler les paquets entrants pour interpréter la voix reçue. La téléphonie sur IP circule
sur des réseaux privés - LAN ou VPN - ou publics.

· UDP : (User Datagram Protocol) protocole de diffusion sans contrôle d'erreurs.

· VoIP ( Voice Over IP ou téléphonie sur Internet) : Le principe consiste à encapsuler un


signal audio numérisé (en général, la voix) dans le protocole IP (Internet Protocol). La
principale application est la téléphonie internet (téléphonie IP).

* 1Asterisk est un projet opensource basé sur des idées du projet « Zapata Telephony » http://www.Asteriskd
ocs.org/modules/tinycontent/index.php?id=10 08/03/2010 à 10h03'

* 2 Le petit Larousse 2009

* 3 http : //www.espacepourlesespaces.ca/glossaire/hi.htm.08/03/2010 à 12h03'

* 4 R. PINTO et M. GRAWITZ, méthodes des sciences sociales, Paris, Dalloz, 1971 p.289

* 5 R.PINTO et M. GRAWITZ, op.cit., p.289

* 6 www.guill.net/view.php?cat=3&pro=1&tcpip=29 02/03/2010 à 11h45'

* 7 Idem

* 8 http://fr.wikipedia.org/wiki/Voix_sur_r%C3%A9seau_IP 02/03/2010 à 18h03'

* 9 http://dictionnaire.phpmyvisites.net/definition-TELEPHONIE-IP-5109.htm 20/02/2010 à 8h30'

* 10 www.journaldunet.com/solutions/0501/050119_terminologie_toip.shtml 06/03/2010 18h16

* 11 http://fr.wikipedia.org/wiki/Logiciel_libre#..AB_Logiciel_libre_..BB_et_..AB_open_source_..BB 3/06/2010
à 09h49'

* 12 http://www.voipfr.org/glossaire/byname,Asterisk.php

Rechercher sur le site:

Recherche
© Memoire Online 2000-2020
Pour toute question contactez le webmaster

LA TOIP EN OPEN SOURCE


Sommaire [Masquer]
 1 – Introduction à la ToIP en Open Source
 2 – La VoIP – ToIP
 3 – Les Principaux protocoles ToIP
o 3.1 – Les Protocoles ToIP de signalisation
o 3.2 – Protocole de transport
 4 – Les solutions IPBX open source
o 4.1 – Qu’est-ce qu’un IPBX ?
o 4.2 – Asterisk
o 4.3 – SipXecs
o 4.4 – CallWeaver
o 4.5 – FreeSwitch
o 4.6 – GNU Bayonne
o 4.7 – YATE
 5 – Synthèse
 6 – Glossaire
 7 – Les vidéos
 8 – Suivi du document
 9 – Discussion autour de la ToIP en Open Source
 Commentaire et discussion
 Laisser un commentaire

1 – Introduction à la ToIP en Open Source


Le monde de la téléphonie sur IP se porte bien, toujours en plein boum depuis ces dernières
années où cette technologie a révolutionné le monde des télécoms. En effet, la téléphonie sur IP
offre de nouvelles perspectives encore impossibles avec les systèmes télécoms traditionnels et plus
récemment, elle offre une simplicité d’exploitation par le biais d’interfaces graphiques intuitives que
vous avez peut-être déjà pu observer sur les nouvelles solutions ToIP Open Source, je vous
propose que l’on voit certaines de ces solutions afin de vous présenter un panel de solutions
gratuites en matière de téléphonie sur IP.
De leurs côtés, les opérateurs télécoms migrent tous leurs systèmes vers l’IP et certains opérateurs
DATA étendent leurs catalogues avec de multiples offres VOIX pour la plus grande joie de tout le
monde. Les professionnels ont rapidement pris conscience de l’importance de la téléphonie sur IP
et peuvent maintenant proposer des solutions simples et à moindre coût pour tous. L’exemple
typique que tous le monde connaît correspond à toutes les offres *BOX (LiveBox, FreeBox,
NeufBox…) qui vous proposent maintenant des offres « Triple-play », « quadruple-play » (Internet
+ TV + Téléphone + GSM Wifi) et bientôt des offres « Penta-play » qui vous permettrons de
regarder la TV sur votre mobile par le biais d’une simple connexion UMTS/WiMax comme le propose
aujourd’hui SFR par exemple.

Du côté des particuliers, la révolution du monde libre suit son cours et nous fait découvrir les
premières solutions de ToIP open source permettant d’avoir son propre IPBX à la maison et de
bénéficier des services avancés en matière de télécommunication comme dans votre entreprise,
voir mieux pour les utilisateurs avancés.

2 – La VoIP – ToIP


La première remarque à ce sujet consiste à ne pas faire l’amalgame entre la VoIP (Voice over
Internet Protocol) et la ToIP (Telephony over Internet Protocol).

La VoIP correspond à « la mise en paquets » de la voix en datagramme IP afin de transporter les


flux de la voix en « temps réel » par le biais de la technologie IP, principalement des connexions «
point à point » entre deux interlocuteurs ou plusieurs IPBX qui communiquent entre eux. La VoIP
transportant la voix par le biais de la « commutation par paquets » possède aussi la contrainte du
délai de transit identique à la « technologie par circuit » dite traditionnelle qui correspond au temps
qui s’écoule entre le moment où une personne parle et le moment où son interlocuteur entend la
phrase. Le transit de votre voix au travers de multiples équipements, d’internet et à destination de
l’étranger ou d’un mobile ne doit pas excéder 300ms, au-delà, votre conversation sera de
mauvaise qualité, hachée…C’est pourquoi, les opérateurs s’efforcent de « réserver » une bande
passante minimum pour votre téléphone connecté sur votre « *.box » par le biais d’une boucle
locale ADSL, bien que cette technologie ne propose pas en théorie une qualité de service garantie.

Les avantages de la VoIP sont multiples mais le principal avantage reste le prix car les opérateurs
sont aujourd’hui en mesure de vous proposer des forfaits illimités vers tous les fixes en France et
même pour certaines, illimités vers certains pays étrangers.

Lorsqu’on parle de ToIP, cela concerne le périmètre du concept, de l’architecture et des


équipements qui permettent d’utiliser la VoIP afin de bénéficier de tous ces avantages et des ces
nouvelles fonctionnalités associées à cette technologie.

3 – Les Principaux protocoles ToIP


En termes de ToIP téléphonie sur IP, il faut distinguer plusieurs types de protocoles :

 Les protocoles de signalisation.

 Les protocoles de transport de la voix.

Les protocoles signalétiques, ont la charge de régir les communications, de déterminer les appelés,
de signaler les appelants, de gérer les absences, les sonneries etc… Mais aussi de négocier quel
codec pourra être utilisé.
Les protocoles de transport quand à eux, transportent l’information sur un réseau IP. Ce type de
protocoles est spécifique à la voix sur IP et aux applications nécessitant le transit de l’information
en temps réel comme par exemple, la vidéo conférence.

Voici une liste des principaux protocoles de ToIP VoIP :

 SIP

 IAX

 MGCP

 H.323

 SCCP, propriétaire Cisco Systems anciennement Skinny.

 UA/NOE, propriétaire Alcatel.

 UNISTIM, propriétaire Nortel

Le SIP est certainement aujourd’hui le protocole le plus connu par le grand public principalement
dû à l’émergence de multiples solutions IPBX Open Source dont nous parlerons un peu plus loin
dans cet article.

Cependant, un petit nouveau a fait son entrée sur le marché de la ToIP VoIP. L’IAX encore inconnu
il y a quelques années, il rattrape son retard en s’affranchissant des problèmes de NAT, il n’est pas
une menace pour le SIP qui est maintenant très bien implanté mais il est en train de devenir une
alternative fiable.

Les protocoles propriétaires, sont des protocoles développés directement par les constructeurs et
qui ne sont pas « ouverts » (non compatible avec d’autres), ils fonctionnent donc uniquement avec
les équipements de leurs fabricants. Chacun des grands constructeurs a créé le sien afin d’adapter
leurs équipements et de fidéliser le client sur leurs solutions propriétaires.

3.1 – Les Protocoles ToIP de signalisation


3.1.1 – H323

Premier protocole VoIP, issue des technologies téléphoniques, il est développé par L’UIT-T, il est
couramment considéré lourd à mettre en place et ayant comme conséquence un prix du marché
fort. Ce protocole référencé H323 s’appel en réalité « Système de communication Multimédia
Fonctionnant en mode Paquet » est apparue dans sa version 1 en 1996, il est aujourd’hui
disponible en version 6.

H 323 permet la mise en place de réseaux téléphoniques IP étendus. Sa prétendue complexité le


réserve à un usage professionnel. Les majeures parties des FAI grand public en France utilisent
MGCP et/ou SIP.

3.1.2 – SIP

Le protocole SIP (Session Initiation Protocol) a été publié pour la première fois par l’IETF en 1997,
par la RFC 2543. Cette dernière un peu vague a été complétée au cours du temps pour finalement
arriver en 2002 à la RFC 3261.

SIP à l’origine était conçue pour être un protocole simple, mais afin d’offrir le même niveau de
service que H323, Le protocole s’est enrichie, le rendant plus complexe, même si le principe de
base reste, beaucoup plus simple que H323. Le SIP a longtemps été considéré comme le futur de la
ToIP, il est en tout cas un des protocoles majeurs sur le marché.
3.1.3 – MGCP

Le MGCP (Media Gateway Control Protocol) est un protocole de VoIP issu des premiers
développements du projet TIPHON (Telecommunication and Internet Protocol Harmonization Over
Network) par Telcordia et Level 3 Communications ensuite validé en 1998 par l’IETF par la RFC
2705. Ce protocole a été créé afin d’offrir une couverture plus large en fédérant toutes les
signalisations, qu’elles soient IP ou RTC entre autres. (SS7, H323, SIP…) car les passerelles
d’interconnexions en H323 des FAI étaient trop complexes et trop couteuses. 

Ce protocole est fortement utilisé sur le marché par les ISP (Internet Service Provider) afin
d’assurer le contrôle et l’administration à distance des boitiers « *Box » et il constitue la base des
offres IP Centrex des opérateurs.

3.1.4 – IAX/IAX2

Le protocole IAX (Inter-Astérisk eXchange) est issu du projet d’IPBX open source et de la
communauté « Astérisk », tout comme le SIP, c’est un protocole de ToIP VoIP qui permet de
communiquer entre client/serveur ou serveur/serveur.

La différence avec le SIP et le point fort de l’IAX, se base sur l’utilisation d’un  port UDP unique qui
est le port « 4569 » qui permet de s’affranchir des problématiques de NAT dans votre système
télécom.

Lorsque l’on parle d’IAX, on parle maintenant de la version 2 puisque la première version de se
protocole n’est quasiment plus utilisé (IAX 1= UDP 5036). Le protocole IAX n’est pas encore
standardisé. L’IAX2 support maintenant l’authentification par certificat (PKI), le mode « Trunking »
et possède aussi un « JitterBuffer » plus évolué que SIP, plus adapté aux boucles locales ADSL des
particuliers, ce qui permet d’obtenir une légère augmentation du niveau de qualité que le SIP dans
ces conditions.

Le seul Bémol de ce protocole est qu’il n’est pas encore standardisé donc le nombre d’équipement
supportant ce protocole reste faible.

3.2 – Protocole de transport


Aujourd’hui, le couple RTP/RTCP, s’utilise systématiquement dans les applications multimédias
interactives, pour la téléphonie, la vidéo, les jeux vidéo et même les premiers simulateurs de
réalité virtuelle. Ces protocoles applicatifs sont chargés de transporter une information multimédia
en temps réel au travers d’un réseau IP. Cependant, ce couple de protocole n’est pas utilisé pour la
réservation des ressources réseaux, ni pour fiabiliser les échanges, ni pour garantir les délais de
transit puisque certains paquets peuvent être retardés.

3.2.1 – RTP

Le RTP (Real Time Protocol) créé en 1996 dans la RFC 1889, rendu obsolète et standardisé par
l’IETF par la RFC 3550en 2003. Le RTP a été conçu pour transporter des flux IP ayant de fortes
contraintes temporelles, typiquement, des flux multimédias, il permet de reconstituer les flux IP
multimédia en temps réel en agissant à deux niveaux :

 La synchronisation des flux

 La reconstitution de l’ordre des paquets

Il est important de noter que les protocoles de signalisation comme les protocoles de transport
peuvent être utilisés entre les terminaux IP et l’IPBX, mais aussi directement entre les terminaux,
si ces derniers peuvent communiquer en IP, ces solutions présentent des avantages et
inconvénients qui sortent du cadre de cet article.

3.2.2 – RTCP

Le RTCP (Real Time Control Protocol) lui aussi publié par l’IETF dans la RFC 3550 en 2003, permet
un contrôle des flux RTP afin de garantir leurs intégrités ainsi qu’une supervision du réseau en
agissant comme une sonde qui informe l’utilisateur de l’état du réseau en temps réel. Les
protocoles RTP et RTCP sont indépendants mais néanmoins, leur association apporte une cohérence
dans le traitement de l’information en temps réel afin d’optimiser les conditions de transport des
flux IP multimédia ainsi que la qualité de service générale.

4 – Les solutions IPBX open source

4.1 – Qu’est-ce qu’un IPBX ?


Un IPBX ou PABX IP (Private Branch Exchange) est un équipement (autocommutateur)
téléphonique capable d’acheminer les appels sur un réseau via l’utilisation du protocole IP. Internet
Protocol permet à partir de l’identifiant d’une hôte (PC, téléphone) un identifiant appelé une
adresse IP d’acheminer des flux voix, données et images au sein d’un réseau informatique. Il gère
l’établissement des communications entre plusieurs postes à l’intérieur d’une entreprise, ainsi que
vers l’extérieur (réseau de public : PSTN). Pour établir une communication, les utilisateurs pourront
utiliser un softphone (logiciel installé sur un PC) où un hardphone (téléphone « matériel» qui utilise
les protocoles de voix sur IP – ToIP) compatibles avec l’IPBX utilisé. L’IPBX en fonction du niveau
d’intelligence, permettra de fournir l’ensemble des services lié à la gestion de la téléphonie de
l’entreprise.

Les IPBX offrent les mêmes fonctionnalités que les PABX dit traditionnels :

 Serveur vocal interactif (SVI ou IVR)

 Transfert d’appel

 Numérotation interne

 Voice-mail

 Identification du numéro

 Rejet d’appel

 Blocage des appels des utilisateurs

 Historique des appels

 Mise en attente

 Renvoi d’appels (sans réponse – occupés)

 Messagerie unifié

 Groupement d’appel

 Musique d’attente

 Notification d’e-mails

 Etc…

Le concept est simple, il vous suffit d’un pc tout ce qu’il y a de plus classique sur lequel vous
installez une solution de ToIP open source. Vous branchez ensuite votre IPBX maison directement à
la place de votre téléphone IP sur votre ****BOX sur le port dédié à la téléphonie qui correspond à
un « TrunkSip ». Aujourd’hui, très peu d’opérateur (excepté les offres ****BOX) vous propose des
solutions « TrunkSip », encore hors process et offre non commercialisée pour l’instant dans leurs
services, demain vous n’aurez plus de ligne analogique chez vous mais bel et bien un ou plusieurs
téléphone IP ainsi qu’un Fax IP.

Le « TrunkSip » n’est pas obligatoire pour utiliser un IPBX, vous pouvez aussi l’interconnecté avec
le PSTN par le biais d’une ligne T0 ou T2 mais il vous en coutera une carte Hardware T0 ou T2 ainsi
que sa configuration qui reste assez complexe …  Cette configuration vous permet ainsi de
personnaliser vos services de téléphonie sur IP et d’ajouter un grand nombre de poste IP
supplémentaire chez vous et par exemple de leur attribuer à tous un numéro interne et des règles
de filtrage définit.

Ces règles de filtrage vous permettront par exemple d’empêcher un poste IP précis de ne pas
appeler des numéros spéciaux et/ou de mobile pour vos enfants par exemple. Vous pouvez
autoriser les appels internationaux uniquement sur votre poste IP afin d’éviter l’explosion de vos
communications.

4.2 – Asterisk

Asterisk est la solution ToIP IPBX Open source la plus utilisée sur le marché de la téléphonie sur IP
à l’heure actuelle. Cette solution a notamment donnée naissance à plusieurs projets dont le but
était la conception d’IPBX Open source, même les leaders des télécommunications se sont mis à
développer des solutions autour de ce produit. Il est possible de citer certains projets Open Source
dont Asterisk à permit de donner naissance comme Bayonne, Callweaver, Freeswitch et d’autres
encore.

Ce produit doit sa conception au fondateur de la société Digium Mark Spencer qui en 1999 alors
qu’il était étudiant à l’université d’Auburn aux États-Unis (Alabama) décide de concevoir son propre
PBX sur la base d’une distribution linux. Le résultat de cette conception s’appelle Asterisk, outil qui
connaît aujourd’hui un grand succès dans son domaine. Le projet initial a été développé autour
d’une GNU/Linux sur une plate-forme de type x/86, actuellement cette solution est désormais
disponible sur une plus grande quantité de plates-formes ToIP. Asterisk est un PBX Open Source
qui est basé actuellement sur la licence GPL 2.0.

Ci-dessous plusieurs déclinaisons d’Asterisk :


4.2.1 – AsteriskGUI et Free PBX

AsteriskGUI, GUI pour Graphique User Interface (Interface utilisateur graphique) se trouve être
une interface graphique et l’outil d’administration d’asteriskNOW. Free PBX est aussi une interface
d’administration créée pour la gestion des serveurs Asterisk. Ces interfaces permettent à chacun de
simplifier l’utilisation et l’administration de votre IPBX en le rendant plus accessible.
4.2.2 – Asterisk at Home

Cette déclinaison d’Asterisk est destinée à être intégré au sein de très petites structures comme les
réseaux domestiques. L’objectif de cette distribution est de simplifier l’intégration d’un serveur de
téléphonie sur IP et de proposer une version « light » d’Asterisk sous forme de package.

4.2.3 – Asterisk for Windows

Cette plate-forme d’Asterisk est une déclinaison destinée à permettre la mise en œuvre de la
solution Asterisk sous Windows pour les allergiques à Linux. Cette déclinaison dispose des mêmes
fonctionnalisées que ses homologues sous linux.

Asterisk permet de fournir les fonctionnalités classiques d’un PBX. L’administration de la plate-
forme Asterisk peut se faire via une interface graphique de type WEB tel qu’AsteriskGUI, l’édition
des fichiers de configuration en mode texte ainsi qu’un mode d’administration via une console CLI
(Interface en ligne de commande).

Concernant la ToIP – VoIP en elle-même, l’outil est capable de gérer un certain nombre de
protocoles de signalisation de téléphonie sur IP, comme IAX, SIP, H323, MGCP, SCCP. Il est
également possible de raccorder des téléphones IP de différents constructeurs à un IPBX
Asterisk.Asterisk a été écrit avec le langage C. Cette solution fonctionne sur des systèmes
d’exploitation tels que Linux, OpenBSD, Windows, Mac OS X Jaguar. Asterisk fournit quatre API
(Interface de programmations d’application) modulaires permettant la modification liée aux
interfaces matériels, applications téléphoniques, traitement de format de fichier et des codecs.
Asterisk permet de mettre en oeuvre un certain nombre de fonctionnalités dont certaines sont
citées ci-dessous.

 Fournit un grand nombre de fonctionnalités lié à la gestion des appels comme les
transferts, interception, mise en attente des appels, musique d’attente…
 Permets de réaliser des conférences vocales à plusieurs.

 Service d’identification de l’appelant.

 Fournit des services vocaux interactifs (IVR Interative Voice Response)

 Interconnexion au réseau téléphonique traditionnel (FXS/FXO, ISDN, PRI, E1, T1) Cartes
Digium.
 Supporte une large gamme de protocoles TDM.

 Gère plusieurs protocoles de Voix sur IP (H.323, IAX, IAX2, MGCP and SIP and SCCP).

 Compatibilité avec plusieurs modèles de téléphones IP (Cisco, Nortel, Polycom ….).

 Utilisation de l’Inter-Asterisk eXchange (IAX) pour la communication entre deux serveurs


Asterisk.
 Ne nécessite pas de plate-forme matérielle spécifique (RJ45), sauf pour l’interconnexion au
réseau TDM.
 Possibilité d’intégrer du développement JAVA.

4.3 – SipXecs
SipXecs est une solution ToIP IPBX gratuite pouvant être mise en oeuvre au sein d’infrastructure
de différentes tailles. Elle peut être intégrée dans des infrastructures de très petites tailles à des
infrastructures allant jusqu’à 6000 d’après les développeurs de la communauté. Ce produit a pour
particularité de supporter uniquement le protocole SIP. À titre d’exemple Nortel Networks un des
leaders du marché des télécommunications a annoncé que sa dernière solution de communication
unifiée à destination des PME (SCS500) est totalement basée sur le code source de SipXecs. Nortel
a également annoncé par la même occasion son entrée dans la communauté du SIPfoundry en tant
que contributeur du projet.

Ce produit est prévu pour fournir des services de téléphonie sur IP (ToIP) même au sein de
structure de petite taille, avec une utilisation personnelle ou bien même au sein de très petites
entreprises souhaitant disposer d’une solution de messagerie unifié et de téléphonie sur IP (ToIP).

SipXecs doit sa création à la société « Pingtel Corp » qui réalisa le développement du produit en
1999. Sa création avait un objectif commercial avant d’aboutir en 2004 sur un modèle basé sur
l’Open source en participant à la création de la communauté SIPfoundry. SIPfoundry est une
communauté Open Source qui s’est basé sur le standard SIP (Session Initiation Protocol) pour
développer la solution IPBX SipXecs ayant comme fondement le respect du standard SIP. La
solution est basée sur la licence GNU Lesser General Public License 2.1

Ce produit a été développé à partir des langages C/C++ et basé sur une interface d’administration
WEB afin de réaliser la gestion des différents services offerts par le produit tel que le plan de
numérotation, les utilisateurs ou bien les téléphones. Ce serveur peut être intégré sur des serveurs
standards basés sur des plates-formes Intel, AMD ou power PC, le support de la technologie 64 bit
devrait suivre prochainement. Ce produit est capable de réaliser dynamiquement la découverte des
équipements comme les téléphones IP (ToIP). Il permet une intégration complète d’un système de
messagerie unifié pour Microsoft Outlook.

Ce produit est prévu pour être couplé à un service d’annuaire de type OpenLDAP ou Active
Directory en y ajoutant Microsoft Exchange 2007. SipXecs est conçu pour fonctionner uniquement
sur des plates-formes basées sur le système d’exploitation Linux (Centos, Debian, Fedora, Suse,
Gentoo et FreeBSD). Actuellement la dernière version stable en ligne de SipXecs est la version
3.10.

Exemple de services que SipXecs est capable de fournir :

 Messagerie vocale.

 Distribution des appels automatisés.

 Messagerie unifiée.

 Trunk RTC.

 Trunk SIP.

 Call Center Server.

 Intègre des mécanismes de haute disponibilité et de tolérance de panne.

 Interopérabilité avec tous les équipements respectant le standard SIP.


4.4 – CallWeaver

Callweaver est un IPBX qui a été développé autour du projet Asterisk. Ce produit est basé sur une
licence de type GPL. Callweaver est capable de s’interfacer sur plusieurs types de réseaux, tel que
le raccordement à un réseau téléphonique traditionnel ou IP. Ce produit a été conçu de sorte à ce
qu’il puisse gérer un ensemble de protocoles de signalisation de Voix sur IP (H323, IAX2, MGCP,
SIP …).

Anciennement connu sous le nom de projet openPBX, celui-ci est devenu le projet Ce projet a été
renommé Callweaver étant donné que le nom d’un produit développé par la société Voicetronix
portait le même intitulé. Ce produit est né en 2005, Callweaver est dérivé d’une autre plate-forme
Open Source, pour cela la solution avec laquelle « le Fork » a été réalisé, fût la version 1.2
d’Asterisk. La raison de la création de cette communauté est liée au fait que les développeurs
avaient une vision différente de celle de Digium.
Cette solution de ToIP étant dérivée d’Asterisk, les fichiers permettant la configuration sont
similaires. Un autre moyen permet d’administrer le serveur, comme une interface WEB plus simple
pour les adeptes de l’interface graphique. Cette solution utilise la librairie SpanDSP pour la gestion
des codecs ainsi que la gestion de la réception et de l’émission des FAX L’une des plus grosses
difficultés liées aux communications SIP par rapport à la NAT est liée à la modification des
informations d’adressage durant le transport des informations lors du passage à travers
l’équipement réalisant la translation d’adresse (NAT). Le support de STUN (Simple Traversal of UDP
trough NATs) a été développé par un des principaux organismes de standardisation (IETF) afin de
permettre la réalisation des communications SIP à travers une NAT (translation d’adresse d’un
réseau privé vers un réseau public).

Cette plate-forme est prise en charge par plusieurs types de systèmes d’exploitation (Linux,
FreeBSD, NetBSD, OpenBSD, MacOS X/Darwin, Open/Solaris). La version stable actuellement en
ligne de Callweaver est la version 1.2.0.1. Ci-dessous une présentation des principales
caractéristiques de l’outil :

 Interconnexion au réseau RTC (FXS/FXO, ISDN, PRI, E1, T1).

 Gère plusieurs protocoles de Voix sur IP (H.323, IAX2, MGCP and SIP and SCCP).

 Supporte le protocole STUN pour les communications SIP.

 Support du FAX via T.38. (Fax over IP)

 Serveur vocal interactif.

 Gestion des conférences.

 Gestion des fils d’attentes.

Pourquoi CallWeaver Forks Asterisk :

 La communauté à le contrôle du projet Callweaver, de sorte que pas une seule personne ou
entreprise peut arrêter le progrès.
 Utilisation des meilleures bibliothèques disponibles. (par ex SpanDSP, Unicall, Sofia SIP)

 Basé sur Asterisk 1.2, pas de remise en question des acquis du projet d’origine,
principalement axé sur l’ajout de modules complémentaire dans le but de développer de
nouveaux services avancés.
 Pas de double licence, uniquement GPL

 Pas d’intérêts commerciaux, communauté de développement libre

Liste non exhaustive des principales différences avec Asterisk :

 Plus d’utilisation des dépendances Zaptel pour le timing des conférences

 Séparation du serveur de daemon de la command-line interface (CLI)

 Support STUN (pour SIP NAT traversal & SIP communications)

 Remplacement de « Asterisk’s core DSP » par l’utilisation de « SpanDSP », plus efficace et


supporte T.38 Fax sur IP (STUN)
 Utilisation de SQLite pour sa base de données interne

 Utilise un « jitterbuffer » universel pour être utilisé avec tous types de canaux

 Utilisation du « Haching » pour le plan de numérotation donc plus rapide et plus efficace.
 Les variables et des applications dans « extensions.conf » sont sensibles à la casse, script
de conversion fournit
 Renommage de certaines fonctions natives, script de conversion fournit

 Fournit des scripts de conversion pour convertir les fichiers de configuration chaque fois
que des modifications sont apportées à la syntaxe ou le format
 Support for PostgreSQL en mode temps réel

4.5 – FreeSwitch

Freeswitch est une solution open source de téléphonie sur IP (ToIP), sous une licence MPL (Mozilla
Public License), développé en C. Elle permet la mise en place de communications vers un téléphone
virtuel via un commutateur virtuel. Freeswitch peut être utilisé comme un simple commutateur, un
PBX, une passerelle ou un serveur d’applications IVR (Interactive Voice Response) en utilisant des
scripts ou des fichiers XML permettant d’automatiser certaines taches et de développer de
nouveaux services.

Freeswitch fonctionne sur plusieurs systèmes d’exploitation, notamment Windows, Mac OS X,


Linux, BSD et sur les deux plates-formes Solaris (32 bits et 64 bits). Une Interface Web pour
Freeswitch est disponible sous le nom Wiki PBX.

Freeswitch supporte les caractéristiques standards et avancées du protocole SIP, permettant de


mettre en place un serveur de conférence, un serveur de Voicemail,… Il utilise aussi les protocoles
IAX2, Jingle et H323, et supporte le Fax via T.38. 

Freeswitch nécessite 50 Mo d’espace disque, 512 Mo de Ram et une sortie téléphonique (RJ 45).

Les langages de programmation supportés par cette solution sont :

 Javascript

 Python

 Perl

 Lua (langage de script libre)

La configuration de Freeswitch peut s’effectuer de deux manières :

 En ligne de commande (CLI)

 En Interface graphique (Web)

Exemple d’un fichier Freeswitch.xml standard :

<?xml version="1.0"?>

<document type="freeswitch/xml">

<X-PRE-PROCESS cmd="include" data="vars.xml"/>


<section name="configuration" description="Various Configuration">

<X-PRE-PROCESS cmd="include" data="autoload_configs/*.xml"/>

</section>

<section name="dialplan" description="Regex/XML Dialplan">

<X-PRE-PROCESS cmd="include" data="dialplan/*.xml"/>

</section>

<!-- mod_dingaling is reliant on the vcard data in the "directory" section. -->

<!-- mod_sofia is reliant on the user data for authorization -->

<section name="directory" description="User Directory">

<X-PRE-PROCESS cmd="include" data="directory/*.xml"/>

</section>

<!-- phrases section (under development still) -->

<section name="phrases" description="Speech Phrase Management">

<macros>

<X-PRE-PROCESS cmd="include" data="lang/*/*.xml"/>

</macros>

</section>

</document>

4.6 – GNU Bayonne

GNU Bayonne est le serveur d’applications téléphoniques du projet GNU, c’est-à-dire orienté open
source basé sur une licence « libre ». Cette solution offre un environnement gratuit permettant aux
petites et grandes infrastructures de développer, de déployer et de gérer des solutions de
téléphonie intégrées à leur réseau informatique afin d’exploiter une ou plusieurs lignes
téléphoniques. GNU Bayonne propose sur le marché des PBX Open source, un serveur applicatif
distribué complet, utilisable avec des cartes téléphoniques multiports de plusieurs fabricants et
fonctionnant sur des systèmes d’exploitation libres.

GNU Bayonne2 permet de développer des applications IVR (Interactive Voice Response) grâce à un
simple langage de script. La version 1.x gère la VoIP grâce au couplage avec le logiciel GNU oSIP
Stack.

GNU Bayonne se décline sous deux versions :


 Bayonne 1 : version développée en 1998 pour succéder au système ACS.

 Bayonne 2 : version développée en 2005 avec un accent particulier sur l’utilisation du


protocole SIP.

Bayonne est basé sur le projet ACS (Adjunct Communication Server). Le projet ACS a été repris
par le projet GNU qui oeuvre 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 ToIP.

Bayonne ne possède pas de fonction IP-PBX dans sa version 1. La version 2, prend en compte cette
fonctionnalité. Ce projet étant peu suivi par la communauté Internet, il est très difficile donc de
trouver de la documentation. Actuellement GNU Bayonne est un projet de petite envergure mais il
a le mérite d’avoir fait partie des précurseurs dès 1998.

Le fonctionnement de GNU Bayonne repose sur plusieurs composants que l’on doit lui associer pour
pouvoir l’exploiter et le mettre en place.

 GNU Common C++

 GNU ccScript (Machine virtuelle)

 GNU ccAudio (Gestion des flux audio)

 GNU oSIP Stack (Pile SIP)

 Libhoard (librairie additionnelle)

 Voicetronix PCI (pilote)

Bayonne dispose d’un interpréteur de scripts qui peut être étendu grâce à des applications TGI
(Telephony Gateway Interface), c’est-à-dire une « Passerelle d’Interfaçage Téléphonique »
permettant de simplifier l’intégration de GNU Bayonne. La solution peut être utilisée aujourd’hui
complètement sous GNU/Linux avec une variété grandissante de matériels téléphoniques
compatibles. Bayonne est portable et peut être compilé sur la plupart des systèmes d’exploitation. 

GNU Bayonne se caractérise par la multitude de services qu’il offre, notamment GNU Bayonne2 qui
utilise le protocole SIP et H323 offrant des services avancés IP, bien connu des solutions PBX Open
source. Certains utilisateurs de Bayonne avouent que sa configuration est difficile à mettre en
place.

La première étape consiste à disposer d’un système d’exploitation open source, par exemple
Debian.
La seconde étape consiste à compiler et installer GNU Bayonne2 puis, les modules et enfin les
fichiers de configuration pour les différents services que vous souhaitez mettre en place pour
configurer vos services. 

Voici un exemple de configuration du serveur et du pilote :

/etc/bayonne/server.conf 

[server]

user = bayonne

group = bayonne
language = en_us

voice = en/deborah

[engine]

driver = sip

/etc/bayonne/driver.conf 

[sip]

inband = true

dtmf = 101

interface = 10.0.1.116:5070 <- replace this with your server ip address

;rtp = 5074

4.7 – YATE

YATE est un logiciel créé par une communauté originaire de Roumanie, le nom donné à la solution
est un acronyme signifiant « Yet Another Telephony Engine ». Il a été développé en C++ par la
société Null Team qui a été fondée en 2004, après quelques années d’expérience dans le domaine
de la téléphonie et de la création de logiciel. Yate se distingue sous deux versions : YATE 1 et YATE
2.

Le développement de YATE est subventionné par la société Sangoma Tech. Cette solution est
intégralement compatible avec les cartes d’interface développées par Sangoma Tech, avec une
particularité pour YATE 1 qui prend en charge uniquement les cartes de type Sangoma Tech.

YATE peut être utilisé à la fois en tant que client ou serveur. Le mode client est un softphone
développé 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, afin de réaliser l’acheminement des communications ver le réseau de
l’opérateur.

Yate a été conçu de sorte à permettre son exploitation sur les OS Windows, Linux et Unix. Ce
logiciel accepte les scripts dans différents langages de programmation, tel que le PHP, Perl, Python.

Voici les éléments applicatifs que l’on retrouve dans la solution Yate :

 Un outil de supervision : YateGUI

 Une interface Web pour le client (disponible sur Windows et Linux) : YateClient

 Une interface d’administration : YateAdmin

 La possibilité de mettre en place un proxy : SIP – H323

Yate supporte les protocoles :


 H323 (basé sur OpenH323)

 SIP (basé sur une pile SIP propre à YATE)

 IAX et IAX2 (basé sur une partie de libIAX).

 RTP

Se décline sous différentes fonctionnement comme :

 Serveur de ToIP (téléphonie sur IP)

 Client VoIP

 PSTN VoIP Gateway

 PC2Phone et Phone2PC Gateway

 Gardien H.323

 Proxy H.323 <-> SIP

 Routeur SIP

 Serveur d’enregistrement SIP

 Serveur et/ou client IAX

 Call center serveur

On notera une faible documentation existante sur Yate.

5 – Synthèse

  Asterisk SipXecs Call Weaver Freeswitch Bayonne YATE

License GPL 2 GPL 2.1 GPL 2 MPL GPL GPL

H323 OUI NON OUI OUI OUI OUI

SIP OUI OUI OUI OUI OUI OUI

MGCP OUI NON OUI NON NON NON

IAX OUI NON OUI OUI NON OUI

Interface Web OUI OUI OUI OUI OUI OUI

Scripting, Scripting,
Scripting,
CLI, CLI, Scripting, CLI,
Scripting, CLI, Scripting, CLI, interface
interface interface interface WEB,
interface WEB, CLI, WEB, fichier
Configuration WEB, fichier WEB, fichier fichier de
fichier de Interface de
de de configuration
configuration texte Web configuration
configuration configuration texte
texte
texte texte

Codecs ADPCM,G.711.a G.711, G.729, G.722, G.711, G.711, G.729


G.722,
(A-Law) et
G.723.1, G.726,
G.711.u (µ-Law),
G.726, G.723.1,
G.722, G.723.1,
G.729, GSM, G.723.1 G.729, AMR, G.729
G.726, G.729,
iLBC, Linear, iLBC, speex,
GSM, iLBC, Linear,
LPC-10, LPC 10, DVI 14
LPC-10, Speex
Speex

Version 1.2.11
1.4 ou 1.6 3.10 1.2.0.1 1.0.0 2.0.0
(dernière) (Bayonne2)

Linux,
FreeBSD, Linux, FreeBSD 
NetBSD, Linux,
Linux,FreeBSD,Mac   Linux, Solaris, Windows,
Plateforme (OS) OpenBSD, Windows, BSD,
OS, Windows FreeBSD Unix, Linux Linux, Unix
MacOS Mac OS X,
X/Darwin, Solaris
Open/Solaris

Asterisk 1.2
origine Asterisk Asterisk Asterisk N/C N/C
> OpenPBX

Dimensionnement
500 à 1000 4 à 10 000 N/C N/C 2 à 120 N/C
(Nombres postes)

Haute
OUI OUI N/C N/C N/C N/C
disponibilité

Popularité sur ~ 26 500 000 ~142 000 ~248 000 ~102 000 ~172 000 ~310 000
Internet (Google) pages pages pages pages pages pages

Il a été indiqué auparavant que des solutions ont également été développées autour de la plate-
forme Asterisk, des équipementiers tels que ASTRA MATRA ou encore DELL qui s’est lancé dans la
conception d’Appliance à destination des TPE et PME. 

Le logiciel TrixBox (anciennement appelé Asterisk@home) est un ensemble de logiciels « open


source » qui permet de compléter le logiciel FreePbx (ex Asterisk) pour fournir l’ensemble des
fonctions nécessaires à un central téléphonique haut de gamme. TrixBox est sous Linux. Il est
possible d’utiliser le logiciel TrixBox sans connaissance de Linux à l’aide de nombreux guides qui
existent sur Internet.

En aparté sur le système telecom Asterisk :


Aujourd’hui Asterisk a fait ces preuves mais il doit continuer à évoluer et à développer des
solutions « Grand compte » qui doivent posséder une tolérance de panne, une répartition de
charge, des modules correspondant à des solutions métier (Call Center, Taxation…), etc…

De plus, il doit encore conquérir des parts de marché pour entrer véritablement comme une
alternative reconnue dans le monde des entreprises et pour cela, plusieurs sociétés
commercialisent des solutions de type Asterisk, même les plus grands ci mettent : Alliance Cisco –
Asterisk 

Par le biais de leurs solutions « Infoclip » qui utilise un IPBX Asterisk couplé avec les IP phones
Cisco.

Appliance destinée aux des PME de moins de 150 personnes à petit prix. Cette Appliance regroupe
un logiciel d’origine Fonality (trixbox Pro)

Il a annoncé la mise à disposition d’une gamme de quatre postes SIP, d’un téléphone Wifi et d’une
extension DEC-ToIP, dont il garantit l’interopérabilité avec Asterisk.

6 – Glossaire
TDM : Time Division Multiplexing ou Multiplexage à division temporelle est la technique utilisée sur
les réseaux de téléphonie traditionnels afin d’allouer des ressources nécessaires à l’acheminement
de la voix.

Codecs : Un codec est un algorithme permettant de coder et décoder un signal (la voix), à titre
d’exemple celui-ci permet de modifier le format d’un échantillon sonore dans le cadre de la voix sur
IP. Le codec est l’élément permettant de définir la qualité de la voix dans un fonctionnement
normal (environnement non perturbé) dans le domaine de la téléphonie.
Open Source : Ce terme source ouverte en référence au monde libre, les outils Open Source ont la
particularité d’êtres libre d’utilisation à condition de respecter les règles (exemple licences GPL)
faisant office de garde fou quand à l’utilisation des codes sources.

C/C++ : Langage de programmation pour la conception de logiciel très utilisé par les développeurs
d’application.

OpenLDAP: OpenLDAP est une solution base sur le protocole LDAP (Lightweight Directory Access
Protocol) afin de permettre l’interrogation d’un service d’annuaire.

Trunk PSTN ou RTC: Service permettant l’acheminement via un PABX des communications à
travers une liaison fournie par l’opérateur.

Trunk SIP: Service permettant l’acheminement via un IPBX des communications à travers une
liaison fournie par l’opérateur.

STUN : Mécanismes permettant de s’affranchir des problèmes liés à la translation d’adresse (NAT).

NAT : Mécanisme créé afin de permettre de faire la correspondance entre une adresse IP privée et
une adresse IP publique. Ceci permet d’attribuer des adresses privées pour un ensemble de
machine d’un réseau domestique ou d’entreprise et un équipement va réaliser la correspondance
entre ces adresses privées et l’adresse public correspondant à une adresse Internet. Ce mécanisme
a été créé afin d’améliorer la sécurité, les adresses IP privées ne sont pas accessible d’Internet
ainsi que de permettre d économiser des adresses IP public.
E1 : Techniques de transmission multiplexé utilisée en Europe permettant d’acheminer des
informations et permettre de transmettre des informations (voix, données) pour un débit de l’ordre
de 2 Mbit/s. 

T1 : Techniques de transmission multiplexée utilisée en Amériques du nord permettant


d’acheminer des informations et permettre de transmettre des informations (voix, données) pour
un débit de l’ordre de 1.544 Mbit/s.

FXO : Foreign eXchange Office, une passerelle permettant d’établir une connexion entre les lignes
téléphoniques analogues et un PABX-IP.

FXS : Foreign eXchange Subscriber, une passerelle FXS s’utilise pour connecter une ou plusieurs
lignes d’autocommutateur traditionnel au réseau téléphonique VoIP ou au fournisseur.

RTC : acronyme définissant Réseaux Téléphonique Commuté

T.38 : T.38 est le protocole de transmission de fax en temps réel normalisé par le groupe de travail
16 de l’UIT.

Fork : Terme utilisé pour définir la création d’un logiciel créé à partir d’un logiciel déjà existant. La
particularité est que le noyau du logiciel créé est identique à l’original.

7 – Les vidéos

8 – Suivi du document
Création et suivi de la documentation par _SebF

Publication de la documentation par le magazine Hacking9

 Publication de l’article dans le magasine d’octobre d’Hacking9

9 – Discussion autour de la ToIP en Open Source


Vous pouvez poser toutes vos questions, faire part de vos remarques et partager vos expériences à
propos de la ToIP en Open Source. Pour cela, n’hésitez pas à laisser un commentaire ci-dessous :