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ée. 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 :
Nom du codec
|
Débit
|
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.Asteriskdocs.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
|