La Mise en Place D'une Plate F - KHADDAM ALLAH Asmae - 1343
La Mise en Place D'une Plate F - KHADDAM ALLAH Asmae - 1343
La Mise en Place D'une Plate F - KHADDAM ALLAH Asmae - 1343
Préparé par
Intitulé
Encadré par :
Pr Najia ES-SBAI (FSTF)
Pr Fatima ERRAHIMI (FSTF)
Mr Brahim MOUNTAHI (Sigmatel)
Pr .N .ES-SBAI…………………….………: Encadrant
Pr F.ERRAHIMI………….. .…….……...: Encadrant
Pr Z.KARTIT…………………………… : Examinateur
Pr N.EL AMRANI……………………… : Examinateur
Pr M.LAHBABI………………………… : Examinateur
ANNEE UNIVERSITAIRE 2009- 2010
Remerciements
Tout d’abord je tiens à remercier le directeur Général de Sigmatel qui m’a offert la
possibilité de passer ce stage ainsi que tout le corps administratif et technique qui nous a aidé
et soutenu pendant cette période.
L’objectif est la mise en place d’un serveur Asterisk sous Linux, puis l’implémentation de
nouvelles fonctionnalités telles que la boite vocale, la conférence, la messagerie électronique,
et la music d’attente. Finalement la réalisation d’une interconnexion de deux IPBX via le
protocole IAX qui est propre à Asterisk afin de permettre aux utilisateurs de deux serveurs de
communiquer entre eux.
Asterisk : est un PABX open source pour systèmes UNIX originellement créé en 1999
par Mark Spencer fondateur de la société Digium.
DSP : Digital Signal Processor, est un microprocesseur optimisé pour les calculs. Son
application principale est le traitement du signal numérique.
FXS : Foreign eXchange Subscriber, une carte qui permet le branchement d’un
téléphone analogique sur le serveur Asterisk.
FXO : Foreign eXchange Office, est une carte qui permet le branchement du serveur
Asterisk sur une ligne téléphonique classique.
IMAP : Internet Message Access Protocol, est un protocole utilisé par les serveurs de
messagerie électronique, fonctionnant pour la réception.
POP : Post Office Protocol, C'est le point de connexion à l'Internet, les fournisseurs
d'accès proposent plusieurs POP répartis sur le territoire, pour réduire la facture
téléphonique des internautes.
PHP : est un langage de scripts libre principalement utilisé pour produire des pages
Web dynamiques.
VPN: Virtual Private Network, le réseau privé virtuel, Un réseau Vpn repose sur un
protocole appelé "protocole de tunneling". Ce protocole permet de faire circuler les
informations de l'entreprise de façon cryptée d'un bout à l'autre du tunnel. Ainsi, les
utilisateurs ont l'impression de se connecter directement sur le réseau de leur
entreprise.
Introduction générale............................................................................................................... 1
CHAPITRE 1 :PRESENTATION DE L’ORGANISME D’ACCEUIL ............................. 2
I. PRESENTATION DE L’ENTREPRISE........................................................................ 3
1. Organigramme................................................................................................................. 3
2. Equipe Sigmatel .............................................................................................................. 4
II. ACTIVITE DE L’ENTREPRISE.................................................................................... 5
1. Aménagement de sites Informatiques et Télécom .......................................................... 5
2. Infrastructures Réseaux et Télécom ................................................................................ 6
3. Infrastructures Systèmes et Sécurité ............................................................................... 8
CHAPITRE 2 : GENERALITES SUR LA TELEPHONIE SUR IP .................................. 9
I. LES AVANTAGES DE LA TOIP ................................................................................. 11
II. LES INCONVENIENTS DE LA TOIP ........................................................................ 13
III. PRINCIPE DE LA VOIX IP ........................................................................................ 14
IV. EQUIPEMENTS UTILISES DANS LA VOIX SUR IP ............................................ 16
1. L’autocommutateur de la voix ...................................................................................... 16
2. La passerelle .................................................................................................................. 16
3. Le gatekeeper ................................................................................................................ 16
4. Les téléphones IP .......................................................................................................... 17
5. Les convertisseurs ATA ................................................................................................ 17
V. PROTOCOLES DE LA VOIX SUR IP ........................................................................ 17
1. La signalisation ............................................................................................................. 17
2. Le protocole SIP............................................................................................................ 18
3. Le protocole IAX .......................................................................................................... 21
VI. LES CODECS ................................................................................................................ 23
VII. ASTERISK OPEN SOURCE IPBX ............................................................................. 25
1. Présentation d’Asterisk ................................................................................................. 25
2. Fonctionnalités .............................................................................................................. 25
3. Principaux modules du logiciel Asterisk....................................................................... 27
4. Avantages d’Asterisk .................................................................................................... 27
5. Inconvénients ................................................................................................................ 28
6. Configuration ................................................................................................................ 28
La facture téléphonique est parmi les plus grosses charges d’une entreprise. Les appels
non réglementés vers des destinations à tarifs très onéreux, la multiplicité des lignes afin de
permettre à un certain nombre de cadres de passer des appels, les appels inter-agences pour le
cas des entreprises à structure fragmentée (banques, école, université, chaines de
supermarchés….) : sont des situations où les communications téléphoniques sont quasi-
obligatoires et très fréquentes ce qui engendre un coup exorbitant étant donné les tarifs que
proposent les opérateurs téléphoniques ainsi, grâce à l’intégration de la téléphonie sur IP le
coût de l’appel devient pratiquement nul.
Mon travail de mémoire de fin d’études s’inscrit dans ce cadre, il s’intitule « la mise en
œuvre d’une plate forme de téléphonie sur IP et l’interconnexion de deux sites distants ».
L’objectif est de proposer un IPBX open source de technologie IP compatible avec des
terminaux SIP qui sera doté des services tels que : Conférences téléphoniques,
Vidéoconférence, Messagerie Vocale, Music d’attente ainsi qu’ajouter d’autre application et
l’interconnexion de deux sites distants.
Le présent rapport est structuré de la manière suivante :
-Le premier chapitre présentera l’organisme d’accueil.
-Le deuxième chapitre donnera un aperçu global sur la téléphonie sur IP et l’IPBX open
source Asterisk utilisé.
- Le dernier chapitre présentera la mise en œuvre d’une plate forme de téléphonie sur IP basée
sur Asterisk, les fonctionnalités ajoutées et l’interconnexion de deux sites distants.
Je finirai ce rapport par une conclusion générale.
PRESENTATION DE L’ENTREPRISE
D’ACCEUIL
1. Organigramme
2. Equipe Sigmatel
Audit, Étude et Conseil sur réseau existant pour identifier besoins des clients
Étude préalable à l’installation permet de définir avec précision l’ensemble des contraintes
techniques
Alimentation en énergie
Câblage Informatique :
Electricité et Electrification :
Aménagements Intérieurs :
Téléphonie Classique et IP
Accueil téléphonique,
Appels entrants
Mobilité
Taxation et plafonnement
Enregistrement
Centres de Contacts
Enregistrement multimédia
Visioconférences
Solution de sauvegarde
Audit de sécurité : évaluation précise du niveau de sécurité actuel et le taux de risque &
recensement des possibilités d’optimisation
Dès 1996, et grâce à la technologie VOIP, l’envoi de la voix à travers des réseaux
purement IP est devenue possible. En plus de la diminution du coût d’investissement et de
facturation qu’elle a offert, cette nouvelle technologie a ouvert la porte à d’autres nouvelles
perspectives telle la télévision sur IP. Ceci grâce aux techniques développées du traitement de
la voix, à la gamme diversifiée des codecs et protocoles utilisés.
La Téléphonie sur IP correspond à la transmission de la voix et des données sur une seule
infrastructure IP. L’objectif donc est d’utiliser un réseau existant IP qui n’est pas dédié à la
téléphonie pour effectuer des conversations vocales grâce au protocole IP, Il s’agit de coupler
les deux réseaux téléphoniques et informatiques pour faire un seul, comme le montre la
figure 8 :
Avant on avait un réseau de données (notre accès à Internet), et un autre réseau de voix
séparément; actuellement avec la voix sur IP on aura un seul réseau à la fois pour les données
et pour la voix, d’où son succès.
La téléphonie IP est devenue importante pour les entreprises. L'enjeu est de réussir à faire
converger le réseau de donnée IP et le réseau téléphonique actuel. Voici les principales
motivations pour déployer la téléphonie sur IP (Source Sage Research 2003, sondage auprès
de 100 décisionnaires IT).
Réduction de coûts 75 %
Nécessité de standardiser 66 %
l'équipement
Autres facteurs 50 %
Convergence : quel que soit le type de données véhiculées, le réseau est unique: les
flux de voix, de vidéo, de textes et d’applicatifs transitent sur le même réseau. Les
utilisateurs peuvent, par exemple, envoyer un compte rendu d’activité en même temps
qu’ils téléphonent à leur correspondant. Pour les administrateurs, un seul réseau est à
administrer, ce qui simplifie grandement la gestion.
Optimisation des ressources : le réseau RTC, qui est à commutation de circuits, des
ressources sont dédiées pour toute la durée de la communication, qu’elles soient
utilisées ou non. Les réseaux RTC doivent allouer pour chaque intervenant des canaux
différents, l’un en émission, l’autre en réception (full-duplex). C’est pourquoi la
réservation effectuée dans les réseaux RTC représente un coût nettement supérieur à
celui des réseaux IP.
Coût de transport quasiment nul : Grâce à l’intégration de la téléphonie parmi de
nombreuses autres applications, le coût du transport devient pratiquement nul.
Services exclusifs : Certains services sont propres aux réseaux IP. Par exemple, le
service de présence, consistant à détecter si un utilisateur est connecté au réseau ou
non, ne nécessite aucune réservation de ressources dans un réseau IP.
Voir le tableau
Etape 1 : Acquisition :
La personne envoie des ondes sonores (acoustiques) qui se propagent dans l’air, ces dernières
seront captées par un microphone et seront converties en un signal électrique analogique.
Etape 2 : Numérisation
Notre signal sera transmis sur un lien numérique (le réseau Internet ou celui local
généralement Ethernet), donc on doit convertir notre signal original analogique en numérique.
Pour se faire on fait appel au convertisseur analogique/numérique (CAN).
Convertisseur 001010101010
100101101110
analogique
numérique 10011001
Le choix des algorithmes de compression et de codage est très important, du fait qu’il faut
choisir un algorithme qui à la fois minimise l’utilisation de la bande passante du réseau et
assure une bonne qualité de voix.
L’utilisation du DSP en cette étape est obligatoire, vu que les communications se font en
général en temps réel, donc on aura besoin d’un équipement assez puissant et rapide pour la
compression de la voix.
Après avoir numérisé et compressé notre signal, on doit l’envoyer sur un lien IP, donc lui
ajouter les en-têtes IP afin qu’il puisse être véhiculé sur le réseau.
Etape 6 : Réception
Réception du signal par notre correspondant, puis décompression du signal avec le même
algorithme utilisé pour la compression.
001010101010
Convertisseur
100101101110
numérique
10011001 analogique
Etape 8 : Restitution :
Conversion du signal électrique en une onde acoustique audible par l’intermédiaire d’un
écouteur.
1. L’autocommutateur de la voix
On l’appelle aussi PABX (Private Automatic Branch eXchange). C’est le serveur qui va
héberger le logiciel dédié à la voix sur IP dans notre cas Asterisk, et qui représentera le cœur
du système de la téléphonie. Il possède plusieurs fonctionnalités :
Elle présente une interface entre un réseau téléphonique classique (RTC, RNIS) et le
réseau IP. Sa présence dans le réseau peut être justifiée par le fait que dans les réseaux
téléphoniques traditionnels, les terminaux sont constitués, entre autres, de téléphones
analogiques et/ou de téléphones RNIS et tous les signaux provenant de ces appareils
nécessitent un passage par cette passerelle afin d’être transformés en paquets IP pour ensuite
être transportés via le réseau IP.
3. Le gatekeeper
C’est un élément fonctionnel distinct de la passerelle mais qui est souvent mis en œuvre
sur la même plate-forme matérielle. Un « gatekeeper » fournit essentiellement trois types de
services :
La translation d’adresses entre les alias des terminaux et les adresses. Les alias
peuvent être de type E.164 (numéro de téléphone) ou un identifiant tel qu’un nom de
machine ou une adresse email.
4. Les téléphones IP
Ce sont des téléphones adaptés aux réseaux IP, qui permettent l’établissement des appels.
Ils se divisent en deux catégories :
Se sont des équipements matériels comme les téléphones traditionnels, mais qui sont adaptés
aux réseaux IP. Ils possèdent une prise réseau Ethernet (RJ45). Ils permettent l’établissement
des appels sans la nécessité d’utiliser un ordinateur.
Ils représentent une alternative aux hard phones, mais nécessitent l’utilisation d’un
ordinateur : se sont des logiciels qui permettent l’établissement des appels dans des réseaux
IP.
Analogue Telephone Adapter, appelés aussi des adaptateurs FXS sont des équipements
qui permettent aux téléphones analogiques traditionnels d’affranchir le monde IP : ils
présentent une interface entre les téléphones analogiques, et le réseau informatique.
SIP (Session Initiation Protocol) : qui est un standard IETF (Internet Engineering Task
Force) décrit dans le RFC 3261.
H323 : englobe un ensemble de protocoles de communication développés par l’UIT‐T
(Union Internationale des Télécommunications-secteur de la normalisation des
Télécommunications).
MGCP (Media Gateway Control Protocol) : standarisé par l’IETF (RFC 3435).
SCCP (Skinny Client Control Protocol) : est un protocole propriétaire CISCO.
IAX (Inter-Asterisk eXchange) : est un protocole de voix sur IP issu du projet de
PABX open source Astrisk. Ce protocole permet la communication entre deux
serveurs Asterisk ainsi qu'entre client et serveur
La voix sur IP, offre une gamme diversifiée de protocoles. Notre choix de protocoles s’est
orienté vers le SIP et IAX, pour la complémentarité offerte par leurs services et
fonctionnalités et aussi parce qu'ils sont supportés par Asterisk.
2. Le protocole SIP
a. Historique
SIP (Session Initiation Protocol) a été normalisé par le groupe de travail WG MMUSIC
(Work Group Multiparty Multimedia Session Control) de l’IETF. La version 1 est sortie en
1997, et une seconde version majeure a été proposée en mars 1999 (RFC 2543). Cette
dernière a elle-même été largement revue, complétée et corrigée en juin 2002 (RFC 3261).
Des compléments au protocole ont été définis dans les RFC 3262 à 3265.
b. fonctionnement
SIP permet de mettre en place une communication. Pour cela avant que la connexion soit
établie, il se charge d’envoyer plusieurs paquets entre les postes afin de définir le début et la
fin de la conversation, son type, et sa composante (type d’encodage utilisé pour l’audio). Ces
requêtes sont répertoriées sous divers codes :
1xx : Requete Information, une requête a été reçue par le destinataire et continue à être traitée
(ex : 180 = 'en train de sonner').
3xx : Redirection, une autre action doit avoir lieu afin de valider la requête.
4xx : Erreur du client, la requête contient une syntaxe fausse ou bien elle ne peut pas être
traitée par ce serveur (ex : 404 = 'Not found').
5xx : Erreur du serveur, le serveur n’a pas réussi à traiter une requête qui semble être correcte.
6xx : Echec général, la requête ne peut être traitée par aucun serveur.
Mode Point à point : communication entre deux postes ; Le mode point à point est
donc une communication simple entre deux sans passer par une passerelle.
Pour ouvrir une session, un utilisateur émet une invitation transportant un descripteur
de session permettant aux utilisateurs souhaitant communiquer de s’accorder sur la
comptabilité de leur média. L’appelant et l’appelé doivent être identifiés via son URL
SIP qui est du même type qu’une URL mailto (utilisateur@machine).
Pour le mode point à point on utilise donc l’adresse IP du poste à joindre dans le
logiciel de communication : sip:nom@adresseip .
Pour ouvrir une session, l’appelant envoie une requête contenant l’URL SIP du
destinataire.
Mode diffusif : Contrairement au mode point à point, utilise une passerelle pour
réaliser une communication entre deux éléments. Les clients sont enregistrés sur un
serveur qui va les identifier par rapport à un numéro. Lorsqu’un client veut appeler
quelqu’un, il ne va donc plus utiliser l’adresse IP mais sont identifiant.
Invite : Permet d’informer le destinataire qu’une communication veut être établie avec
lui et l’appelant.
Trying : Essai d’établir la connexion,
Ringing : Emet une sonnerie en attendant le décrochage du combiné distant.
OK : Permet d’acquitter une fois le combiné distant décroché.
ACK : Cette requête permet de confirmer que le terminal appelant a bien reçu une
réponse définitive à une requête Invite.
RTP : protocole qui définit Le numéro de séquence pour la remise en ordre des
paquets ; Un champ horodatage (timestamp) pour la restauration de la base de
temps ; détection de la perte des paquets pour informer la source dans des délais
compatibles avec le service; identifier le contenu des données et permettre leur
IAX est un protocole qui permet à plusieurs serveurs Asterisk de communiquer entre eux,
il permet également la communication client serveur.
Le protocole IAX a été mis au point par la société Digium. Il est important de noter que ce
protocole n’est pas seulement limité à un usage avec Asterisk, mais c’est un standard supporté
par d’autres projets télécom open source, et bon nombre d’operateurs et constructeurs l’ont
implémenté dans leurs équipements.
b. Requêtes
La bande passante utilisée par IAX est moins importante que celle utilisée par d’autre
protocoles, SIP par exemple, et cela revient au fait que les messages sont en binaire.
En IAX, la signalisation et les données doivent toujours passer par le serveur IAX, il n’est pas
possible d’effectuer une communication de bout en bout, ce qui augmente la bande passante
nécessaire pour le serveur IAX lorsqu’il ya plusieurs appels simultanés, mais qui assure aussi
un niveau de sécurité plus important.
Échange des flots de données (AUDIO): Deux genres de trames transitent entre les
terminaux : F (Full frames) qui sont acquittées et qui incluent des informations de
synchronisation, et M (Mini frames) non acquittées et qui optimisent l’utilisation de la
bande passante.
Le protocole IAX permet 3 types de mots de passe pour l'authentification des clients /
serveurs :
Plain text : Cette méthode est déconseillée, car les mots de passe sont écrits en clair dans les
fichiers de configuration.
MD5 : Les mots de passe sont écrits cryptés à l'aide de la méthode MD5 dans les fichiers de
configurations, donc difficilement décryptables (difficile mais pas impossible).
RSA : L'authentification RSA (Rivest Shamir Adleman) utilise deux clés partagées, une clé
publique ainsi qu'une clé privée. Généralement, ces clefs ont une longueur entre 1024 et 2048
bits.
Codec est construit d'après les mots codeur et décodeur, et fait souvent appel à la
COmpression et DÉCompression des données. 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.
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é au destinataire,
ce dernier grâce au même codec décompresse et restitue le son. Le signal de la voix, après
avoir été numérisé, pourra être transmis directement, comme il pourra faire l’objet d’une
compression. Ceci selon la bande passante disponible. Si le signal a été compressé à la
transmission, il devra être décompressé à la réception.
Cette tâche de compression/décompression est réalisée par ce qu’on appelle les codecs
(compresseurs/décompresseurs). Ils peuvent être sous forme matérielle (cartes spécifiques à
installer dans le serveur), ou logicielle (programmes).
G.711 : codec gratuit présent sous deux variantes : utilisée aux Etats Unis, et
A utilisée dans le reste du monde. Il utilise une bande passante élevée
(64Kb/s), consomme peu en ressources, et offre une qualité de voix excellente
semblable à celle offerte par le RTC.
G.723 : codec payant utilisé uniquement en cas de transcodage. Il fonctionne à
5,3kb/s ou 6,3kb/s donc très intéressant dans le cas des faibles bandes
passantes.
G.726 : codec gratuit, utilise différents débits: 16, 24, 32Kb/s. Il est supporté
par Asterisk uniquement dans sa version 32 bits. Il offre un bon rapport de
qualité sonore/utilisation CPU.
G.729 : il réduit la consommation d’un appel à 8kb/s. Il est utilisé avec
Asterisk, il réduit la bande passante nécessaire. Sa licence est payante, et il
nécessite beaucoup de ressources sur le processeur du serveur ( processus de
compression oblige.)
GSM : c’est le codec d’Asterisk, il ne requière pas de licence. Il utilise une
bande passante de 13kb/s, et consomme beaucoup moins de ressource que
G.729, mais la qualité du son reste minime par rapport à celle offerte par
G.729. C’est un codec très performant.
ILBC : ce codec est aussi supporté par Asterisk, il est libre de droits;
fonctionne à 13,3kb/s ou à 15,2kb/s, mais il n’est pas encore imposé comme
standard, et pas implémenté par certain téléphones IP. Il consomme en
ressources mais rend le son à une bonne qualité.
Le MOS
Le MOS (Mean Opinion Score), est un indicateur qui permet de mesurer la qualité de la
voix restituée par un système de téléphonie, incluant l’ensemble des contraintes de codage,
compression et transport. C’est le résultat de la notation de différents signaux voix réalisée par
un groupe d’écouteurs sur une échelle de 1 à 5 comme montré ci-dessous :
Le tableau ci- dessous présente le MOS des différents codecs cités ci-dessus.
G.711 64 4,1
G.726 32 3,85
G.729 8 3,92
Dahdi : Reconnu dans les anciennes versions par zaptel, ce paquetage contient les
pilotes permettant de prendre en charge les cartes d’interface avec les réseaux non-IP,
et nécessaire pour la synchronisation temporelle pour les conférences et la musique en
attente
Libpri: Cette bibliothèque est utilisée pour assurer l’interface avec différents types de
réseaux non-IP, mais il reste tout de même recommandé qu’elles soient installées en
conjonction avec le package Dahdi pour des raisons de complémentarité.
Asterisk-sounds : qui donne accès à un nombre important de sons qui peuvent être
utilisés dans des messages d’accueil ou pour signaler à l’appelant diverses
informations.
4. Avantages d’Asterisk
Le logiciel Asterisk a été sollicité pour se libérer des contraintes économiques dues à la
cherté des équipements téléphoniques, des contrats de licences et de maintenance vis-à-vis des
constructeurs. Asterisk permet d'implémenter un PABX logiciel, c'est à dire un
autocommutateur téléphonique puissant, sur un ordinateur. Il supporte pratiquement tous les
protocoles qu’utilise la VoIP et est compatible avec les réseaux téléphonique commuté (RTC),
et numérique à intégration de service (RNIS). La réduction des coûts des communications
internes d’un réseau et entre les serveurs Asterisk décentralisé est aussi parmi les avantages
principaux de l’IPBX Asterisk.
[contexte]
Conclusion
La téléphonie reste une des applications dominantes du monde des réseaux, et ce pour
encore de nombreuses années, en raison notamment de l’émergence de nouveaux et immenses
marchés. L’application de téléphonie ne représente plus mi-2008 que 30 % en moyenne du
chiffre d’affaires des opérateurs, tout en n’occupant que 4 % du débit total des
communications.
À cette même date (mi-2008), la TOIP mobilise près de 65 % des débits téléphoniques
dits terrestres (excluant les mobiles).
Cependant, la qualité est très variable en fonction des efforts effectués par les
gestionnaires de réseaux d’entreprise et les opérateurs de réseaux de télécommunications. Les
problèmes à résoudre sont nombreux et parfois complexes. La TOIP n’est pas une application
simple à mettre en œuvre dans le contexte de l’intégration de tous les services de
télécommunications sur le même réseau.
La deuxième phase a pour objectif de relier les deux serveurs via le protocole IAX pour
que les utilisateurs enregistrés sur le premier serveur puissent appeler et recevoir les appels
des utilisateurs enregistrés sur le deuxième serveur distant.
Et finalement une application de messagerie électronique qui va être lié à Asterisk pour
consulter les messages vocaux.
L’architecture adoptée consiste à relier deux sites distants (par exemple entre Casablanca
et Rabat) en liant les deux serveurs par le protocole IAX ensuite une liaison VPN va relier les
deux réseaux.
Cette architecture est composée d’un serveur Asterisk installé sous une distribution Linux, un
Switch, et des terminaux qui peuvent être des téléphones IP ou des soft phones installés sur
des PC.
Pour le projet, j’ai choisi d’utiliser la distribution linux Debian du fait que Debian est
connue pour être une distribution stable, fiable et riche. Elle est caractérisée par de nombreux
avantages:
Libnewt-dev Apt-get install libnewt- Util pour monter zttool, qui est Dahdi
dev un utilitaire pour montrer l’état
de la carte Digium.
Ces packages sont nécessaire pour le bon déroulement de l’installation du serveur, et par
la suite son bon fonctionnement.
Il reste à noter que je vais utiliser le repertoire /usr/src/ pour extraire et compiler le code
source d’Asterisk, pour cela, l’accès en root est obligatoire non seulement pour avoir le droit
d’écriture dans le répertoire /usr/src/, mais aussi pour installer Asterisk et ses paquets de
dépendance.
4. Installation d’Asterisk
Afin d’obtenir le dernier code source Asterisk via la commande wget, on tape les
commandes suivantes :
#cd /usr/src
#wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.6.2-current.tar.gz
#wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-
complete-current.tar.gz
#wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-addons-1.6.2-
current.tar.gz
Ces paquets sont des archives compressés qui contiennent le code source, on doit les
extraire avant compilation, pour la décompression, on utilise les commandes suivantes :
#cd /usr/src/
Installation de Dahdi :
Ce paquetage contient les pilotes permettant de prendre en charge les cartes d’interface
avec les réseaux non-IP. Pour l’installation on procède comme suit :
#cd dahdi-linux-complete-2.3.0+2.3.0
#make all
#make install
#make config
Installation de libpri :
Cette bibliothèque est utilisée pour assurer l’interface avec différents types de réseaux
non-IP. Pour l’installation on suit les étapes suivantes :
Installation d’Asterisk :
Asterisk est compilé à l’aide de gcc via l’utilisation du programme make, pour
commencer la compilation, on tape les commandes suivantes :
#cd asterisk-1.6.2.6
#./configure
#make
#make install
#make samples
Et finalement,
#make config
Les Addons forment un supplément qui permet d’effectuer des requêtes SQL à l'intérieur
d'un plan de numérotation.
#cd asterisk-addons-1.6.2.0
#./configure
#make
#make install
#reboot
La section [general] est dédiée pour la définition des paramètres qui vont s’appliquer sur
toutes les extensions, et dans l’extension [100] on définit les paramètres propres à l’utilisateur
qu’on déclare comme un utilisateur SIP.
[general]
srvlookup=yes
language=fr
disallow=all
allow=gsm
allow=alaw
allow=ulaw
allow=h263
allow=h263p
[100]
type=friend
regexten=100
secret=100
host=dynamic
callerid=standard <100>
mailbox=100@default
canreinvite=yes
nat=yes
context=appels
language=fr
[101]
type=friend
regexten=101
secret=101
host=dynamic
callerid=directeur <101>
mailbox=101@default
canreinvite=yes
nat=yes
context=appels
language=fr
Et de la même façon nous avons ajouté les comptes : directeur avec l’extension [102] et
sécurité avec [103].
Pour chacun des paramètres précédents, plusieurs valeurs sont disponibles selon la
configuration désirée, les paramètres les plus utilisés pour la définition du compte sont
récapitulés dans ce tableau.
Paramètre Description
Callerid Nom de l’utilisateur, entre guillemets, suivi de son extension téléphonique.
Secret Mot de passe associé au compte.
Type Indique le type de compte, et les restrictions associées. On distingue trois
types de comptes :
– Friend : permet d’appeler et d’être appelé (autorise les appels entrants et
sortants).
– User : permet seulement d’être appelé (appels entrants).
– Peer : permet de définir une liaison entre deux terminaux seulement.
Host Spécifie une adresse IP à partir de laquelle l’utilisateur peut accéder à son
compte. La valeur dynamic autorise une adresse IP fournie dynamiquement,
par un serveur DHCP notamment. Cette valeur est donc moins restrictive.
2. Plan de numérotation
Après avoir générer les comptes des utilisateurs, il faut ensuite déterminer de quelle
manière ils vont communiquer, c’est-à-dire, d’abord, quel est le numéro de téléphone attribué
à chaque terminal, mais aussi comment les appels et les services s’effectuent. La notion de
plan de numérotation correspond précisément aux règles de routage des appels qui régissent le
fonctionnement du système. Il convient de les programmer en spécifiant la manière de réagir
aux appels. Un fichier unique définit le plan de numérotation (extensions.conf), lequel peut
éventuellement appeler d’autres fichiers par inclusion.
[general]
static= yes
writeprotect=no
autofallthrough=yes
language=fr
[globals]
; Music
[appels]
; attribuer pour chaque utilisateur son numéro pour qu’il soit joignable et définir ce que doit
faire le serveur si l’utilisateur n’est pas disponible ou occupé
; test d'echo
Application Description
Answer() répond à un canal qui sonne. Elle est souvent utilisée comme première
application à une extension.
1. Conférence
Deux étapes suffisent pour mettre en place une conférence avec Asterisk : créer les salons
de conférence virtuelle (fichier meetme.conf) et y inviter des participants. Pour créer des
salons de conférences, il suffit de configurer le fichier meetme.conf en ajoutant à la section
[rooms] une entrée comme celle-ci pour chaque numéro de conférence :
meeteme.conf
; Conférence
extensions.conf
; Conférence
exten=>888,1,Answer()
exten=>888,2,MeetMe(888,icpds)
Les options concernant l’application MeetMe sont nombreuses et les principales sont les
suivantes :
Option Description
m Active le mode monitor : les participants peuvent écouter, mais pas parler.
t Active le mode talk : les participants peuvent parler, mais ne pas écouter.
q Mode silencieux (quiet) : aucun son n’est émis lorsque des utilisateurs entrent
dans la conférence ou en sortent.
2. Visiophonie
Donc on ajoute dans la section générale du fichier sip.conf les lignes suivantes :
videosupport=yes
allow=h263
allow=h263p
3. La musique d’attente
Afin que les utilisateurs qui se retrouvent dans un état d’attente d’un service puissent avoir
le droit à la musique d’attente, on modifie le fichier musiconhold.conf. Ce fichier contient les
directives pour la mise en place de la fonctionnalité de musique d’attente dont les principales
sont dans la section [default]
[default]
mode=files
directory=/var/lib/asterisk/moh
random=yes
La première ligne mentionne le dossier par défaut contenant les fichiers audio de musique.
La 3ème mentionne un autre répertoire contenant des fichiers audio à utiliser. Enfin, la ligne
avec la fonction random permet de générer une lecture aléatoire d’un morceau à chaque appel.
4. La boîte vocale
Pour mettre en œuvre la boite vocale on édite le fichier voicemail.conf en ajoutant des
extensions pour activer la boite, et aussi pour la consulter.
[general]
format=wav49|gsm|wav
attach=yes
maxsecs=180
minsecs=11
maxsilence=10
sendvoicemail=yes
[default]
[default]: contient les boîtes vocales et chaque boîte est déclarée de la façon suivante :
Email : est l’email sur lequel une notification de la réception de nouvel email sera faite.
Options :
Les fichiers audio par défaut sont en anglais pour changer en français, il suffit de
télécharger les fichiers audio français et les placer dans le dossier /var/lib/asterisk/sounds/
[general]
Country=fr
Le numéro que j’ai choisi d’utiliser pour accéder au service vocal interactif est 111. Tout
appel entrant vers ce numéro sera alors traité selon l’algorithme suivant :
Le fichier extensions.conf
[global]
compteur=3
[ivr]
; description des fichiers audios et des prefixes pour les noms des files
;Début d'ivr
;choix de la langue
;si l’appelant appui une touche non valide pour le choix de la langue
[francais]
; message d’aurevoir
[anglais]
[arabe]
8. Répertoire téléphonique
Pour les clients SIP j’ai utilisé des Soft phones X-lite, ce client est un des plus abouti en
termes de fonctionnalités, de fiabilités et de simplicité.
On clique sur « Menu », puis après sur « Sip Acount Setting » et on va avoir cette
fenêtre :
On clique sur Add, une fenêtre comme celle ci apparaîtra, il faut la remplir selon la
configuration déjà faite au niveau d’Asterisk comme suit :
On clique sur OK et c’est bon, maintenant on peut passer des appels vers les autres
utilisateurs.
Maintenant, qu’on a configuré le serveur Asterisk d’un site, une entreprise peut disposer
de plusieurs sites géographiquement distants et qui sont tous connectés au réseau Internet. On
désire avoir un plan de numérotation global, de façon que les appels entre les utilisateurs
externes se fassent comme les appels de même site. La solution est d’interconnecter les
serveurs des sites via les protocoles SIP ou IAX2.
Le protocole IAX2 est plus performant que le protocole SIP dans le cas du NAT (Network
Address Translation) car le premier utilise un seul port pour la signalisation et les données.
Par contre le protocole SIP utilise deux voies, ce qui donne des difficultés dans le cas du
NAT. De plus le protocole IAX2 est plus sécurisé qui celui de SIP. Pour ces raisons, j’ai opté
pour le protocole IAX2.
a. Objectif :
Il faut que chaque client d’un serveur connaisse et peut appeler et recevoir des appels
des clients connecté du l’autre serveur distant. La première phase du travail consiste à lier
les deux serveurs Asterisk via le protocole IAX.
Les deux serveurs ont les mêmes extensions pour cela j’ai ajouté des suffixes 1 et 2 au
début de l’extension pour distinguer le chemin de chaque appel est donc dès qu'un utilisateur
du serveur1 composera un numéro commençant par 2 suivi de l’extension , exemple : 2100 le
numéro ici est 100, il sera directement redirigé vers le serveur2 via le protocole IAX et par la
suite redirigé vers le compte d’extension 100.
Et dès qu'un utilisateur du serveur2 composera un numéro commençant par 1XXX (exemple :
1102), il sera directement redirigé vers le serveur1 via le protocole IAX.
Astgenkey –n key
L'utilitaire "astgenkey" génère deux clés, une clé publique à mettre sur le poste client
et une clé privée à garder sur le serveur. L’option –n sert à mémoriser le mot de passe de sorte
que le serveur ne la demande pas à chaque redémarrage.
Après la génération des clés pour les deux serveurs il faut transférer la clé publique dans
l’autre serveur. Pour cela, j’utilise le serveur SSH qui est déjà installé si non on tape la
commande suivante :
Dans le fichier IAX.conf du serveur 1. Il faut créer un compte [serveur2] comme suit :
[general]
trunk=yes
[serveur2]
type=friend
; l’adresse ip du serveur 2
host=192.168.3.11
inkey=keyserveur2.pub
outkey=keyserveur1.pub
user=serveur2
context=appels
disallow=all
allow=gsm
le codec choisi est le GSM parce qu’il a le taux le plus élevé de compression et vu
qu’il s’agit d’une liaison distante, à moins d’être sûr de la bande passante ou bien du QOS
pour maintenir une qualité des communications relativement bonne de bout en bout et tout au
long des appels, il vaut mieux choisir un codec assez léger.
[appels]
;${EXTEN:1} pour qu'il élimine le 2, exemple 2100 seul 100 sera passé en paramètre
au serveur B
;nous avons aussi des users iax donc il faut aussi leur permettre d'être
Les appels sortants et entrants sont alors correctement routés entre les deux serveurs qui
s’authentifient mutuellement via les clés RSA générées.
2. Tunnel VPN
Pour relier les deux réseaux distants avec une liaison sécurisée je propose de mettre en
place un tunnel chiffré VPN (réseau privé virtuel) à travers l’internet pour relier les deux
réseaux privés distants.
Une entreprise implémentant une connexion VPN pour relier ces filiales à son centrale
ne paye que l’accès à Internet via son fournisseur d’accès et non une communication
national ou le cas d’un forfait pour une liaison spécialisé LS, ce qui entraine une économie par
rapport à ces deux types de connexions.
Les VPN s’appuient sur des technologies de chiffrement et de cryptographie très solides de
plus la génération des clés est sous le contrôle de son propriétaire, ce qui assure ainsi un
niveau de confidentialité très haut.
Sigmatel dispose des routeurs qui supporte la liaison VPN et la configure via une interface
web donc avec deux routeurs de ce type on peut facilement créer un tunnel VPN entre deux
réseaux, ce qui veut dire qu'on pourra accéder aux machines de l'autre réseau comme s'il
faisait partie du réseau où on se trouve.
Cette méthode est sécurisée et rend très difficile toute intrusion ou capture des données
échangées par le réseau internet qui n'est pas protégé lui-même.
1. Objectif
La messagerie vocale est un service offert par Asterisk et qui permet aux utilisateurs de
laisser des messages pour leurs destinataires lorsque ceux-ci ne répondent pas. Elle est en
quelque sorte un répondeur/enregistreur.
Mais vue que la consultation des messages peut parfois être fastidieuse depuis un
téléphone, Asterisk peut envoyer également le message laissé dans la boite vocale vers la
boite de messagerie électronique de l’utilisateur, ceci en attachant le message vocal laissé au
mail sous format wav.
2. Outils utilisés
Postfix
Postfix est un serveur de messagerie électronique SMTP mais n'est pas un serveur de
messagerie complet, mais ne permet pas aux clients messagerie de lire les emails.
Il faut pour cela un service POP3 ou IMAP, donc il faut installer un logiciel complémentaire
à Postfix, comme Dovecot.
Le SMTP (Simple Mail Transfer Protocol), est le protocole qui se charge du transfert
des courriers électroniques d’un serveur de messagerie à un autre dans une liaison point à
point, ou d’un client à un serveur. Il fonctionne en mode connecté.
Dovecot
Dovecot est un logiciel libre de serveur IMAP et POP3 pour Linux / UNIX, Dovecot
est un excellent choix pour les installations de petites et grandes tailles.
Le protocole POP
Le protocole IMAP
Le IMAP (Internet Message Access Protocol), est une alternative du protocole POP3 mais qui
offre beaucoup plus de possibilités:
Squirrelmail est un webmail c'est-à-dire une interface web pour consulter son courrier
électronique, écrit en PHP4. Il supporte les protocoles IMAP et SMTP.
3. Présentation de l’application
#adduser nom_utilisateur
emailbody= vous avez un nouveau message sur votre boite vocale ${VM_MAILBOX} de la
part de ${VM_CALLERID}. Composez 123 pour accéder à votre boite
Le message vocal est attaché à l’email qu’on peut l’écouter ou l’enregistrer, pour sortir de
l’application il suffit de cliquer sur Sign out.
Conclusion
Ce stage a été enrichissant, aussi bien au niveau recherche que professionnel et sera un
atout pour mon entrée dans la vie active. Il m’a apporté de nouvelles connaissances tant
méthodiques, organisationnelles que techniques et m’a permis d’améliorer mes connaissances
en réseaux téléphoniques et informatiques, administration Linux, administration d’un PABX,
sécurité des réseaux.
Parmi les fonctionnalités que j’ai pu implémenter après avoir installer l’IPBX open
source Asterisk, je peux citer :
Les 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.
La messagerie vocale, cela donne la possibilité à celui qui cherche à nous contacter de nous
laisser un message si nous sommes déjà en communication ou si nous sommes absents.
Conférence audio, cela permet la communication entre plusieurs correspondants qui se
trouvent dans divers endroits sans se déplacer.
Music d’attente, cela permet aux utilisateurs qui se retrouvent dans un état d’attente d’un
service puissent avoir le droit à la musique d’attente.
L’interconnexion de deux serveurs Asterisk distants pour que les utilisateurs de chaque site
puissent communiquer entre eux.
Application pour la messagerie électronique, cela permet aux utilisateurs de récupérer leurs
messages vocaux en consultant leurs boites de messagerie électronique.
Options
Pour ajouter un client, vous cliquez sur Options, et une fenêtre comme celle-ci apparaîtra :
Puis vous cliquez sur Add new SIP Account ou IAX Account selon le protocole utilisé, et
vous aller avoir la fenêtre suivante :
Entrez le nom de l’utilisateur, dans notre cas c’est directeur, puis cliquez sur OK.
Vous allez avoir la fenêtre suivante, puis vous la remplissez en fonction des paramètres de
l’utilisateur:
La mise en œuvre du tunnel VPN est simple, mais il faudra faire très attention à
paramétrer les deux machines de la même façon sinon ça ne marchera pas
Les routeurs Zyxel utilisés possèdent un firewall intégré qu'il faudra configurer pour pouvoir
utiliser le VPN. Si on ne sait pas comment faire, il est possible de désactiver ce pare-feu, mais
c'est fortement déconseillé.
On va cliquer sur VPN dans la liste sécurité pour afficher la liste des VPN existants ou à
créer
Si on n'a pas encore créé de tunnels VPN, la liste est vide et on clique alors sur le 1 sinon on
prend le premier qui est libre
On se trouve devant une fenêtre avec toute une série de paramètres possibles. On va
les remplir comme suit:
On commence par donner un nom à la connexion VPN, ensuite dans Local on va fixer les
adresses IP des machines auxquelles ce réseau pourra accéder.
Il y a deux protocoles VPN, le ESP et le AH, on utilise préférentiellement le ESP qui permet
une plus grande sécurité car il utilise un algorithme de cryptage. Ce cryptage peut être de deux
type : DES permet un cryptage de 56 bits, 3DES permet un encryptage de 128 bits plus sûr
encore. Ce cryptage sera basé sur une clé partagée par les deux routeurs.
Le seul problème c'est que le VPN a besoin d'une bonne bande passante. Avec une connexion
de 56 k c'est très lent, il faut au moins du 128 k pour pouvoir travailler de façon raisonnable.
On commence par créer une nouvelle connexion dans My Connections et on lui donne
un nom.
Dans Connection Security on choisit Secure et on peut mettre la coche dans Only Connect
Manually si on veut, sinon la connexion se fera automatiquement.
Dans Remote Party Identity and Addressing: on choisit de s'identifier par IP, et on va mettre
l'adresse IP fixe du routeur à contacter.
http://www.asteriskguru.com
http://www.debian-ressources.org/node/129
http://postfix.traduc.org/
http://fr.wikipedia.org
http://wapiti.telecom-
lille1.eu/commun/ens/peda/options/ST/RIO/pub/exposes/exposesrio2009-
ttnfa2010/riem-hayot/presentation_technique.htm
http://downloads.asterisk.org/pub/telephony/sounds/
http://www.frameip.com/toip/
http://www.supinfo-projects.com/fr/2003/voip/
Livre
Forum de discussion
http://www.asterisk-france.net/