1. Licence Professionnelle :
‘Administration de systèmes, réseaux et applications à base de
logiciels libres’
IUT Nancy Charlemagne Département Informatique
2 ter, bd Charlemagne CS 5227 54052 Nancy Cedex
Tél : 03 83 91 31 06 – Fax : 03 83 91 32 01
www.iuta.univnancy2.fr/lpinfo
ToiP Asterisk
Tuteur: M. Damien Maringer
Groupe: Quentin Hourlier, Benoit Henryon, Romain Gegout, Luis Dominguez Lopez
2. Sommaire
Sommaire
1) Introduction...........................................................................................................................3
2) Cahier des charges................................................................................................................4
3) Qu'est ce que la ToIP............................................................................................................5
4) Installation d'Asterisk sur Linux..........................................................................................9
5) Configuration minimale avec quelques comptes SIP........................................................12
6) Fonctionnalités....................................................................................................................16
6.1 Appel.........................................................................................................................................16
6.2 Mise en attente(avec musique).................................................................................................17
6.3 Musique de prédécroché.........................................................................................................17
6.4 Transfert d’appel......................................................................................................................18
6.5 Conférence................................................................................................................................18
6.6 Mise en place de communication vidéo...................................................................................20
6.7 Interception d’appel.................................................................................................................20
6.8 Renvoi d’appel..........................................................................................................................20
6.9 Log des appels en base MySQL...............................................................................................21
6.10 Messagerie unifiée..................................................................................................................23
6.11 Menu vocal interactif(IVR)....................................................................................................29
6.12 Gestion des files d’attente(Centre d’appels).........................................................................30
6.13 Mise en place d'Asteriskstat.................................................................................................34
6.14 Présentation Trixbox et supervision des appels(FOP).........................................................34
7) Présentation de distributions dédiées..................................................................................39
7.1 Trixbox......................................................................................................................................39
7.2 Elastix........................................................................................................................................40
7.3 Asterisk@home ........................................................................................................................41
7.4 VoiceBuntu................................................................................................................................42
7.5 AstLinux....................................................................................................................................43
8) Conclusion...........................................................................................................................45
9) Bibliographie et Webographie............................................................................................46
9.1 Webographie :...........................................................................................................................46
9.2 Bibliographie :..........................................................................................................................46
10) Annexes..............................................................................................................................47
10.1 Répartition des tâches............................................................................................................47
10.2 Paramétrage du Softphone Twinkle pour Asterisk..............................................................49
Rapport Asterisk 2/49
3. Introduction
1) NTRODUCTION
I
La téléphonie sur IP (ToIP) connaît un essor considérable depuis une dizaine d'années. Aussi
bien pour les besoins de l'entreprise que du particulier, cette technologie à bouleversé notre usage
du téléphone. Les nouvelles fonctionnalités apportées ainsi que l'impact sur le coût des
communications fait que la ToIP s'implante massivement, et par conséquent, crée des emplois et des
entreprises spécialisées dans le domaine. Il peut être du ressort de l'administrateur système et réseau
de prendre en charge tout ou partie du système de ToIP de son entreprise. Des solutions open
source de logiciels ToIP sont largement utilisées et ont acquis une notoriété telle qu'ils est très
intéressant de les étudier.
Ce projet tuteuré va permettre, à travers l'étude du logiciel opensource Asterisk, de faire un
tour d'horizon de cette technologie et des possibilités offertes par cet outil. Par ailleurs cela nous
aura appris les notions de ToIP et d'utilisation d'Asterisk qui pourront être mise en avant lors de
notre future recherche d'emploi.
Rapport Asterisk 3/49
4. Cahier des charges
2) AHIER DES CHARGES
C
Ci dessous le cahier des charges communiqué par M Damien Maringer.
I) Qu'estce que la ToIP.
II) Présentation et installation d'Asterisk sur Linux.
III) Configuration minimale avec quelques comptes SIP.
IV) Prise en main du Dial Plan.
V) Fonctionnalités à tester
o Appel
o Musique de prédécroché
o Mise en attente (avec musique)
o Transfert d’appel
o Conférence à 3
o Interception d’appel
o Renvoi d’appel
o Log des appels en base MySQL (CDR)
o Messagerie unifiée (boîte vocale et envoi par mail du message en .WAV)
o Supervision des appels (FOP)
o Menu vocal interactif (IVR)
o Gestion des files d’attente (Centre d’appels)
Rapport Asterisk 4/49
5. Qu'est ce que la ToIP
3) U'EST CE QUE LA TOIP
Q
La téléphonie sur IP (ToIP) est un ensemble de technologies visant à utiliser un réseau
sous protocole TCP/IP pour y faire circuler des conversations téléphoniques. Ces technologies
connaissent un véritable essor depuis les premiers pas en 1996 et notamment depuis l'arrivée
dans les foyers des offres tripleplay des fournisseurs d'accès internet. Ces offres proposent
l'accès à internet, un flux vidéo pour les chaînes de télévision et un flux VoIP pour des
communications téléphoniques à des tarifs extrêmement avantageux). Les entreprises
basculent elles aussi massivement vers cette nouvelle technologie pour tous les avantages
qu'elle apporte (Début 2008, 46% des PME françaises avaient adopté une solution de ToIP,
aujourd'hui elles sont proches de 100% à avoir migré).
Schéma de principe pour transformer la voix en IP
Conversion Suppression
compression Ajout entêtes IP Réseau
analogique->numérique silence
Voix IP
Explications: La bande voix (qui est un signal électrique analogique) est d'abord échantillonnée
numériquement par un convertisseur puis compressée selon une certaine norme de compression
variable selon les codecs utilisés, puis ensuite on peut éventuellement supprimer les pauses de
silences observées lors d'une conversation, pour être ensuite habillée RTP,UDP et enfin en IP. Une
fois que la voix est transformée en paquets IP, ces paquets Ip identifiés et numérotés peuvent
transiter sur n'importe quel réseau Ip (ADSL, Ethernet, Satellite,routeurs, switchs, PC, Wifi, etc...)
Cette technologie permet de communiquer de façon très simple sur un réseau IP, mais
elle permet également d'établir des ponts avec le réseau téléphonique historique (nommé RTC
pour réseau téléphonique commuté). Il devient ainsi possible d'établir des communications
entre des personnes téléphonant depuis des réseaux différents. Pour cela, il faut installer des
cartes chargées de transformer les trames IP en signal pouvant transiter sur le réseau
classique. Ces cartes sont nommées carte PABX (Private Automatic Branch eXchange).
Rapport Asterisk 5/49
6. Qu'est ce que la ToIP
Les outils nécessaires à la mise en œuvre d'un réseau de VoIP.
En début de chaîne, l'utilisateur doit disposer d'un outil faisant office de téléphone.
deux alternatives se présentent:
–
Téléphone SIP:
Il s'agit d'un boîtier téléphonique physique avec un combiné et un clavier. Ce type de
téléphone a la particularité de disposer d'une prise réseau ainsi que d'une application
permettant de transformer la voix en IP.
Quelques exemples de téléphone IP:
Linksys SPA962 (+ de 200€) Linksys SPA942 (+ de 100€)
–
Softphone SIP .
Il s'agit d'un logiciel faisant office de téléphone, installé sur le PC de l'utilisateur, et qui se
chargera de transformer la voix capturée par la carte son en signal IP émis sur le réseau.
L'offre est assez vaste. Il y a les plus connu comme MSN Messenger, Skype, XLite... (qui
présentent l'inconvénient d'être propriétaires et non opensource) et il y a les opensources
(Ekiga, Twinkle ...)
Quelques exemples de softphone:
SKYPE XLITE EKIGA TWINKLE
Rapport Asterisk 6/49
7. Qu'est ce que la ToIP
Outre les terminaux téléphoniques (Téléphone ou Softphone), Une application
permettant le routage des appels et offrant divers services est indispensable. Il s'agit du
serveur VoIP. Ce serveur représente le cœur du système: Il connaît les téléphones de son
réseau d'utilisateur, il connaît le point d'accès vers le réseau commuté, il propose des services
tel que messagerie, renvoie d'appels, conférences à plusieurs etc... . Quelques serveurs SIP se
démarquent sur le marché (CISCO SIP Proxy Server, Eyeball SIP Proxy Server, Asterisk...).
Rapport Asterisk 7/49
8. Qu'est ce que la ToIP
Avantages et inconvénients de la VoIP
Avantages Inconvénients
1 Économiser sur la facture télécom 1) Fiabilité
2 Pérenniser l'investissement 2) Qualité de son
3 Simplifier les infrastructures 3) Améliorer l'utilisation
4 Faciliter l'administration et la mobilité 4) Localisation
5 Homogénéiser les services téléphoniques sur différents sites 5) Standards
6 Faciliter l'intégration avec le système d'information 6) Support administratif
7 Évoluer plus facilement
8 Regrouper les équipes et se passer d'un prestataire
Une étude (source: www.frameip.com ) nous donne les motivations de 100
responsables de systèmes informatiques d'entreprise pour migrer vers une solution VoIP. En
tête vient évidemment la réduction des coûts. Le flux internet étant généralement illimité dans
les abonnements, celuici peut donc être utilisé de façon illimitée sans surcoût pour les
communications VoIP.
Motivations Pourcentage
Réduction de coûts 75 %
Nécessité de standardiser l'équipement 66%
Hausse de la productivité des employés 65%
Autres bénéfices de productivité 64%
Hausse du volume d'appels à traiter 46%
Autres facteurs 50%
Présentation du protocole SIP
Le protocole SIP (Session Initiation Protocol) est un protocole ouvert standardisé par
l'IETF (décrit par le RFC 3261, 1996) qui a été conçu pour établir, modifier et terminer des
sessions multimédias. Il se charge de l'authentification et de la localisation des multiples
participants. Il se charge également de la négociation sur les types de médias utilisables par
les différents participants en encapsulant des messages SDP (Session Description Protocol).
SIP ne transporte pas les données échangées durant la session comme la voix ou la vidéo. SIP
étant indépendant de la transmission des données, tout type de données et de protocoles
peuvent être utilisés pour cet échange (VoIP, visiophonie, messagerie instantanée ou même
les jeux vidéos). Cependant le protocole RTP (Realtime Transport Protocol) assure le plus
souvent les sessions audio et vidéo. SIP remplace progressivement H.323.
Il fonctionne en mode client/serveur: le téléphone (client) envoie des requêtes au
serveur SIP (autocom) ou vers des autres clients SIP. Ces requêtes sont en fait des paquets de
données qui contiennent des informations à destination du serveur SIP.
Depuis 2004, SIP s'est imposé comme le protocole de choix en matière de VoIP en
raison de sa simplicité et de sa gratuité. Il est d'ailleurs implémenté dans la majorité des
matériels et logiciels fournis à ce jour par les constructeurs et éditeurs.
Rapport Asterisk 8/49
9. Installation d'Asterisk sur Linux
4) NSTALLATION D'ASTERISK SUR LINUX
I
– Installation par paquets.
Sur une distribution Debian/Ubuntu, les paquets de la dernière version stable se trouvent sur les
dépôts officiels. La commande $ apt-get install asterisk suffit pour installer le
logiciel.
– Installation par les sources.
Les sources du logiciel se trouvent sur le site officiel de l'éditeur: http://www.asterisk.org/
(A ce jour, la version la plus stable et documentée est la 1.4.x)
1 Télécharger l'archive asterisk1.4.23.1.tar.gz
2 Décompresser l'archive : $ tar -zxvf asterisk-1.4.23.1.tar.gz
3 Exécuter la commande : $ ./configure
(A ce moment un problème peut se poser si le paquet libncurses5dev n'est pas présent. La
solution est d'installer ce paquet: $ apt-get install libncurses5-dev)
4 La commande (optionnelle) $ make menuselect permet d'installer des modules
supplémentaires.
Rapport Asterisk 9/49
10. Installation d'Asterisk sur Linux
4) Lancer la commande $ make
(le message suivant indique que la procédure s'est bien déroulée).
5) Lancer la commande $ make install
(le message suivant indique que l'installation s'est bien déroulée).
6) Pour finir, la commande $ make samples (optionnelle) permet de créer des fichiers de
configuration de base. (elle peut être utile par la suite pour revenir à une configuration
d'origine d'asterisk).
Rapport Asterisk 10/49
11. Installation d'Asterisk sur Linux
Dès lors, asterisk peut être lancé de 2 manières:
– en mode serveur (usage normal, a l'écoute des requêtes des clients).
Syntaxe: $ asterisk -vvvc // chaque 'v' demande un degrés de verbosité, de verbose à
very very verbose. 'c' nous donnera accès à une invite de commande (nommée CLI pour
commande line interface) qui permettra de dialoguer avec le serveur une fois celuici lancé.
– en mode client (en accédant à une console permettant de dialoguer avec le serveur).
Syntaxe: $ asterisk -r
Cette console peut permettre d'obtenir des informations sur l'activité du serveur, comme par
exemple la liste des clients connectés (commande 'sip show peers' en l'occurrence).
Cette commande permet également de recharger les fichiers de configuration lorsque l'on a fait
des modifications sur ceuxci (en tapant 'reload' pour recharger tous les fichiers de configuration
ou en tapant 'reload nom_fichier' si on ne travaille que sur un fichier).
Rapport Asterisk 11/49
12. Les principaux fichiers de configuration
5) ONFIGURATION MINIMALE AVEC QUELQUES COMPTES SIP
C
Ce qu'il faut savoir pour commencer, 4 éléments essentiels composant un système basé sur
Asterisk doivent être configurés:
– Les utilisateurs (nom, mot de passe, authentification...)
– Le matériel (le serveur, les cartes de communication...)
– Le plan de numérotation nommé dialplan (les règles de routage des appels)
– Les services supplémentaires (serveur vocal, messagerie...)
Tous les fichiers de configuration pour paramétrer Asterisk se trouvent dans le répertoire
/etc/Asterisk
Dans un premier temps, les 2 fichiers qui vont nous intéresser sont 'sip.conf' et 'extensions.conf'
sip.conf
Il contient les informations relatives aux téléphones sip.
Il est composé de plusieurs sections:
– une section [general] qui va définir les propriétés générales pour l'ensemble des clients SIP.
– une section par client SIP dans lesquelles seront définit finement les propriétés de chaque poste.
Exemple de fichier sip.conf minimaliste:
[general] // paramétrage concernant tout les clients sip
context=line1
...
[quentin] // paramétrage pour le sip de Quentin
type = friend
secret = topsecret
host = dynamic
context = default
[luis]
type = friend
context=line1
secret = defunes
host=192.168.1.106
Rapport Asterisk 12/49
13. Les principaux fichiers de configuration
extensionsconf
Ce fichier est composé de plusieurs sections, nommées des 'contextes', dans lesquelles sont définis
les comportements à adopter lors d'appels entre clients.
Exemple de fichier extensions.conf minimaliste
[general]
static=yes
writeprotect=no
autofallthrough=yes
clearglobalvars=no
priorityjumping=no
[globals]
CONSOLE => Console/dsp
IAXINFO => guest
TRUNK => Zap/G2
TRUNKMSD => 1
[default]
exten => 101,1,Dial(SIP/quentin,30)
exten => 102,1,Dial(SIP/ben,30)
exten => 103,1,Dial(SIP/romain,30)
exten => 104,1,Dial(SIP/luis,30)
exten => 105,1,Dial(SIP/remi,30)
Dans le contexte nommé [general] sont définies les options généralement appliquées par le
serveur Asterisk au plan de numérotation. Par exemple 'clearglobalvars=no' indique au serveur
d'effacer toutes les variables utilisées par celui ci lors de sa fermeture.
Dans le contexte nommé [globals] sont définies les variables globales utilisées par le serveur.
Dans le contexte [default] nous avons défini les comportements pour chacun de nos
comptes SIP selon cette forme: exten => identifiant, priorité, application.
exten => 101,1,Dial(SIP/quentin,30) signifie ainsi qu'un appel vers le 101 aura une priorité 1 et sera
concrétiser par un appel vers quentin.
L'identifiant d'extension: généralement le numéro de la personne appelée.
Extension particulière:
's' comme start indique que le flux sera redirigé vers la règle mentionnée.
't' comme timeout exécute la règle après 10 sec (par défaut) d'inactivité.
'i' comme invalide si saisie d'une extension inconnue.
Filtre d'extension = +/ des regexp pour appliquer des règles a des groupes par exemple.
Rapport Asterisk 13/49
15. Les principaux fichiers de configuration
Le paramétrage d'Asterisk va consister à renseigner les fichiers 'sip.conf' (dans lequel on va
annoncer les 3 clients) et le fichier 'extensions.conf' dans lequel on va établir les règles concernant
ces 3 clients.
Sip.conf Extensions.conf
[quentin] exten => 101,1,Dial(SIP/quentin,30)
type = friend
host = dynamic exten => 103,1,Dial(SIP/romain,30)
context = default
secret = quentin exten => 102,1,Dial(SIP/ben,30)
[romain]
type = friend
host = dynamic
context = default
secret = romain
[ben]
type = friend
host = dynamic
context = default
secret = ben
On peut voir ici le lien qui se fait entre les 2 fichiers grâce au nom du client établi dans 'sip.conf'.
Rapport Asterisk 15/49
16. Fonctionnalités
6) ONCTIONNALITÉS
F
6.1 Appel
L'appel est très simple à mettre en œuvre, il suffit de créer au minimum deux comptes SIP et
l'extension d'appel correspondante.
Modification du fichier sip.conf :
...
; Le premier utilisateur
[quentin]
type = friend
host = dynamic
context = default
secret = quentin
; Le deuxième utilisateur
[benoit]
type = friend
host = dynamic
context = default
secret = benoit
...
Modification du fichier extensions.conf :
...
exten => 101,1,Dial(SIP/quentin,30)
exten => 102,1,Dial(SIP/ben,30)
...
Rapport Asterisk 16/49
17. Fonctionnalités
6.2 Mise en attente(avec musique)
On paramètre la mise en attente avec musique grâce à l'application 'MusicOnHold()' qu'on
spécifie dans le plan d'appel:
Modification du fichier extensions.conf
...
exten => 101,1,Answer()
exten =>101,2,MusicOnHold(ma_classe_de_musique)
exten => 101,3,Dial(SIP/quentin,30)
...
C'est le fichier 'musiconhold.conf' qui permet de paramétrer les musiques à passer, les
formats de fichiers supportés...'
Malgré la mise en place facile, nous n'avons pas trouvé cette fonction très utile, il faut
attendre la fin de la musique pour que l'appel soit effectué.
6.3 Musique de prédécroché
La musique de prédécroché est la musique que l'on entend avant de pouvoir parler à son
interlocuteur. Nous n'avions pas réussi à le faire fonctionner mais nous mettons quand même le
code qui devrait réaliser cette fonctionnalité.
Modification du fichier extensions.conf :
...
exten => 101,1,Answer()
exten => 101,n,PlayBack(NomFichierSon)
exten =>
101,n,Dial(SIP/101,30,m(ma_classe_de_musique))
...
On utilise ici l'application Playback() pour lire la musique, par défaut Asterisk inclus des
fichiers musicaux, on peut en rajouter dans le dossier par défaut.
Rapport Asterisk 17/49
18. Fonctionnalités
6.4 Transfert d’appel
La manipulation consiste à ajouter les options appropriées dans les fonctions d'appel dans le
fichier 'extensions.conf'. Les options t et T autorisent respectivement l’appelé et l’appelant à
transférer l’appel. Pour tester le transfert, il faut alors établir une communication. Puis, durant la
conversation, tapez # sur le poste. A ce moment, le serveur répond en prononçant « transfer ». On
saisit alors le numéro de téléphone de destination.
Modification du fichier extensions.conf :
...
exten => 101,1,Dial(SIP/quentin,30,tT)
...
6.5 Conférence
Asterisk permet de mettre en place des conférence facilement, chaque utilisateur peut donc
entrer dans un espace de communication dédié contenant plusieurs utilisateurs sans vraiment de
limite autre que matériel et pratique. Une conférence à 60 utilisateurs ne doit pas être aisément
compréhensible.
Chaque conférence peut être gérée par un administrateur qui peut agir sur les participants,
les rendre muets ou non, les expulser. On peut personnaliser les conférences en instaurant un mot de
passe d'accès, un système d'annonce d'utilisateurs, un compteur d'utilisateurs, mode discours, mode
écoute.
La mise en place de conférence passe par le paramétrage de 'meetme.conf' et la modification
du plan d'appel en conséquence, 'extensions.conf' :
Modification du fichier meetme.conf :
...
conf => 900
conf => 901
conf => 902
...
Rapport Asterisk 18/49
19. Fonctionnalités
Modification du fichier extensions.conf :
...
; Conference dynamique
exten => 900, 1, MeetMe(900,d)
exten => 900, 2, Hangup()
; Conférence avec annonce entrant/sortant, compte
exten => 901, 1, MeetMe(901,icp)
exten => 901, 2, Hangup()
;Conférence utilisateur
exten => 902, 1, MeetMe(900,dpm)
exten => 902, 2, Hangup()
;Conférence orateur
exten => 903, 1, MeetMe(900,dt)
exten => 903, 2, Hangup()
...
Pour le fonctionnement des conférences il est indispensable d'avoir installé les pilotes
Zaptel. En effet un module des pilotes est nécessaire au fonctionnement des conférences.
$ wget http://downloads.digium.com/pub/telephony/zaptel/zaptel...
$ ./install_prereq test
$ ./install_prereq install
$ ./configure
$ make
$ su make install
$ su make config
$ modprobe zaptel, ztdummy
On redémarre Asterisk :
$ /etc/init.d/asterisk restart
Rapport Asterisk 19/49
20. Fonctionnalités
6.6 Mise en place de communication vidéo
Asterisk permet facilement de mettre en place des communications vidéo. Pour cela il faut
que le protocole SIP soit paramétré avec le support de la vidéo et les codecs pour la vidéo.
L'utilisation se fait avec des clients compatibles vidéo: ekiga, EyeBeam(version payante d'Xlite), ...
Modification du fichier sip.conf :
...
videosupport=yes
allow=all
...
Il faut au moins autoriser les codecs h263 et h263p, dans l'exemple cidessus tous les codecs
sont activés.
Pour un meilleur fonctionnement de la vidéo sur une grande infrastructure il faut optimiser
les paramètres des clients, mettre en place un réseau de qualité avec de la QoS. Asterisk n'a pour but
d'être une plate forme de conférence vidéo.
6.7 Interception d’appel
L’interception d’appel intervient lorsqu’un téléphone sonne. Elle autorise la récupération de
l’appel destiné au poste qui sonne à partir d’un autre poste. Pour cela, il faut que l’intercepté
appartienne au groupe d’appel qui correspond au groupe d’interception de l’interceptant.
On ajoute donc le groupe d'appel et le groupe d'interception aux comptes SIP :
Modification du fichier sip.conf :
...
[nom_du_compte]
pickupgroup=1
callgroup=1
...
6.8 Renvoi d’appel
Le renvoi d'appel peut être paramétré dans le plan d'appel. On peut également utiliser les
fonctionnalités des softphones pour utiliser cette fonction.
Rapport Asterisk 20/49
21. Fonctionnalités
6.9 Log des appels en base MySQL
Avec une utilisation importante et pour une gestion plus facile des appels, Asterisk permet
de placer les enregistrements CDR(Call Detail Report) en base de données Mysql.
On crée la base asterisk et la table CDR, des index sont créés pour l'optimisation de la base :
Création du code SQL pour crée la base :
CREATE DATABASE asterisk;
GRANT INSERT
ON asterisk.*
TO asterisk@localhost
IDENTIFIED BY 'motdepasse';
USE asterisk;
CREATE TABLE `cdr` (
`calldate` datetime NOT NULL default '00000000 00:00:00',
`clid` varchar(80) NOT NULL default '',
`src` varchar(80) NOT NULL default '',
`dst` varchar(80) NOT NULL default '',
`dcontext` varchar(80) NOT NULL default '',
`channel` varchar(80) NOT NULL default '',
`dstchannel` varchar(80) NOT NULL default '',
`lastapp` varchar(80) NOT NULL default '',
`lastdata` varchar(80) NOT NULL default '',
`duration` int(11) NOT NULL default '0',
`billsec` int(11) NOT NULL default '0',
`disposition` varchar(45) NOT NULL default '',
`amaflags` int(11) NOT NULL default '0',
`accountcode` varchar(20) NOT NULL default '',
`userfield` varchar(255) NOT NULL default ''
);
ALTER TABLE `cdr` ADD `uniqueid` VARCHAR(32) NOT NULL
default '';
ALTER TABLE `cdr` ADD INDEX ( `calldate` );
ALTER TABLE `cdr` ADD INDEX ( `dst` );
ALTER TABLE `cdr` ADD INDEX ( `accountcode` );
Rapport Asterisk 21/49
22. Fonctionnalités
Il faut maintenant créé un utilisateur asterisk. On crée le fichier usermysql et on y insère le
code suivant, puis on le rend exécutable et on l'exécute :
$ mysql --user=asterisk --password=asteriskcdr asterisk < user-
mysql
Il faut maintenant paramétrer Asterisk pour qu'il utilise la base de donnée Mysql :
On crée le fichier /etc/asterisk/cdr_mysql.conf
[global]
hostname=localhost
dbname=asterisk
password=mysql
user=root
;port=3306
;sock=/tmp/mysql.sock
;userfield=1
On modifie 'module.conf' pour charger le module mysql au démarrage d'Asterisk :
...
; Enable these if you want to configure Asterisk in a database
load => cdr_addon_mysql.so
...
On redémarre maintenant asterisk:
$ /etc/init.d/asterisk restart
Rapport Asterisk 22/49
23. Fonctionnalités
6.10 Messagerie unifiée
10.1 Principe :
Un utilisateur qui dispose d'un numéro téléphonique, peut posséder une boîte vocale. Celui
ci peut l'activer en cas d'absence ou elle s'active au bout d'un certain temps d'indisponibilité. Si
l'appelant contact un utilisateur et que ce dernier ne répond pas, alors l'appelant entendra un
message d'indisponibilité ou d'occupation selon le cas. Puis l'appelant pourra laisser un message sur
le répondeur. De plus l'appelé peut recevoir le message de l'appelant sur sa messagerie électronique
sous la forme d'un fichier son en pièce jointe au format souhaité (si on le configure ainsi).
10.2 Nécessités techniques :
Pour mettre ce système en œuvre, il faut installé et configuré :
un serveur Web : Apache
un serveur SMTP : Postfix
un serveur IMAP : Courierimap
un programme filtrant les courriers électronique : procmail
une interface Web pour consulter les courriels : Squirrelmail
Le hostname du serveur de mail est «serv2debian» et le nom de domaine est « serv2
debian.asrall.fr ».
Voici l'emplacement de ces données :
Dans le fichier '/etc/hostname' (nom de la machine):
serv2debian
Dans le fichier '/etc/hosts' (nom de domaine):
127.0.0.1 serv2debian.asrall.fr serv2debian localhost
10.3 Installation et configuration des différentes applications nécessaires à
la messagerie
Installation d'Apache :
$ apt-get install apache2
La configuration par défaut est suffisante, il n'y a rien à rajouter.
Rapport Asterisk 23/49
24. Fonctionnalités
Installation et configuration de Postfix :
Par défaut, le serveur SMTP installé sur une distribution Debian est Exim4. Lorsqu'on installe
Postfix, celuici va supprimer Exim4.
On installe Postfix par la commande :
$ apt-get install postfix
Durant l'installation on nous demande de renseigner plusieurs champs dont :
le nom du serveur : serv2debian
l le domaine réseau : serv2debian.asrall.fr serv2debian localhost
Ajout et modification dans le fichier /etc/postfix/main.cf :
...
home_mailbox = Maildir/
myhostname = serv2debian.asrall.fr
mydestination = serv2debian.asrall.fr , localhost.asrall.fr , localhost
mynetworks = 127.0.0.0/8 192.168.10.0/24
...
Remarque :
Si on met « home_mailbox = Maildir/ », il est nécessaire d'enlever la valeur du champ
« mailbox_command » qui était : « procmail a "$EXTENSION" ».
MailDir permet d'attribuer un répertoire MailDir situé dans chaque home de l'utilisateur. Par défaut,
sur une Debian, tous les courriels sont stockés dans /var/mail au format mbox.
Il faut vérifier que les données saisies soient correctement intégrées dans le fichier de configuration
de Postfix : '/etc/postfix/main.cf'
Si on modifie la configuration de Postfix, il faut redémarrer le service :
$ /etc/init.d/postfix restart
Installation et configuration de courierimap :
$ apt-get install courier-imap
Dans le fichier '/etc/default/courier' vérifier qu'on a bien:
MAILDIR="Maildir"
Rapport Asterisk 24/49
25. Fonctionnalités
Installer Procmail puis lancer un script : $ apt-get install procmail
Voici le script qu'on utilise pour créer les répertoires dans chaque home des utilisateurs :
#!/bin/bash
#
# Script de création des boites aux lettres utilisateurs
#
# Création des répertoire "de base" (cur,new et tmp)
maildirmake /home/$1/Maildir
chown R $1 /home/$1/Maildir
# Copie du MDA procmail dans le compte de l'utilisateur
cp `whereis b procmail | awk '{print $2}'` /home/$1/.procmailrc
chmod 600 /home/$1/.procmailrc
chown $1 /home/$1/.procmailrc
sudo touch /var/log/procmailrc.log
sudo chmod 666 /var/log/procmailrc.log
Pour exécuter le script : $ ./scriptMailDir nom_utilisateur
Ce script crée un répertoire MailDir dans le home de l'utilisateur. Dans ce répertoire, ce script cré 3
répertoires (cur, new et tmp) où seront stockés les mail. Ce script copie le MDA procmail dans le
compte de l'utilisateur (fichier caché .procmailrc). Ce script crée aussi un fichier de log
/var/log/procmailrc.log.
Pour créer un nouvel utilisateur, il faut saisir la commande :
$ adduser nom_utilisateur ou $ useradd nom_utilisateur
On peut tester l'envoie d'un courriel avec une commande telnet.
Puis on peut relire ce mail en utilisant un éditeur de texte en ouvrant le courriel se situant dans le
répertoire : '/home/nom_utilisateur/Maildir/new/nom_du_courriel'.
Alors qu'auparavant, avec la configuration d'Exim4, le format utilisé était « mbox ». Pour lire ce
même courriel, on devait utiliser la commande mailq ou encore en éditant le fichier
'/var/mail/nom_utilisateur'.
Rapport Asterisk 25/49
26. Fonctionnalités
10.4 Configuration de la boîte vocale dans Asterisk :
On met en place la boîte vocale en modifiant le fichier '/etc/asterisk/voicemail.conf'.
Ce fichier est divisé en 3 sections :
– la section [general] qui contient les paramètres qui s'appliquent à toutes les boîtes vocales.
– la section [zonemessages] qui permet de gérer les zones horaires mais qu'on utilisera pas
– la section qui est dédiés aux boîtes vocales en ellesmêmes, et parmi cellesci on utilisera la
section [default].
La syntaxe d'une boîte vocale est :
numéro de la boîte vocale => mot de passe, nom de l'utilisateur, courriel, email pager, options
Une des options qui est importante est « attach=yes » qui permet d'attacher le message vocal au
courriel.
Ajout et modification dans le fichier voicemail.conf :
[general]
;;;; Voir contexte [default] à la fin ;;;;;;;;
format=wav49|gsm|wav
attach=yes
serveremail=voicemail@serv2debian.asrall.fr
fromstring=Messagerie Vocale IUT
maxmessage=180
minmessage=3
; How many milliseconds to skip forward/back when rew/ff in message playback
skipms=3000
; How many seconds of silence before we end the recording
maxsilence=5
;permettre à l'émetteur de ré entendre ou de réenregistrer son message
;avant de le sauvegarder
review=yes
; permet à l'appelant d'appuyer sur la touche 0 pour annuler le message
enregistré
operator=yes
; Silence threshold (what we consider silence: the lower, the more sensitive)
silencethreshold=128
; Max number of failed login attempts
maxlogins=3
Rapport Asterisk 26/49
27. Fonctionnalités
sendvoicemail=yes ; Context to Send voicemail from [option 5 from the
advanced menu]
; Voici le contenu du courriel qui sera généré et envoyé à l'appelé :
emailbody=Utilisateur ${VM_NAME},nnVous avez un nouveau message sur
votre boite vocale ${VM_MAILBOX}:nntDe:t$
{VM_CALLERID}ntDuree:t${VM_DUR} secondesntDate:t$
{VM_DATE}nnNumero ${VM_MSGNUM}) dans la boite
mail.nnComposez le 888 pour accéder a votre boite aux lettres.n
Ici on utilise l'un des différents format audio suivant :
format=wav49|gsm|wav
Le message laissé à l'appelé sera envoyé au format wav sur sa boîte mail.
On utilise l'option « attach=yes » pour que le message vocal soit joint au courriel de l'appelé.
On peut remarquer qu'on a spécifié le nom du serveur de mail utilisé :
serveremail=voicemail@serv2debian.asrall.fr
[default]
; Messagerie Vocale de chaque utilisateur
101 => 101, quentin, quentin@serv2debian.asrall.fr,,attach=yes|saycid=no|envelope=no|delete=no
102 => 102, ben, benoit@serv2debian.asrall.fr,,attach=yes|saycid=no|envelope=no|delete=no
103 => 103, romain, romain@serv2debian.asrall.fr,,attach=yes|saycid=no|envelope=no|delete=no
104 => 104, luis, luis@serv2debian.asrall.fr,,attach=yes|saycid=no|envelope=no|delete=no
C'est dans ce contexte [default], que l'on spécifie les adresses mail des différents utilisateurs.
Gestion de la messagerie dans le plan de numérotation (fichier 'extensions.conf') :
Il existe 2 applications spécifiques à la messagerie vocale :
– l'application VoiceMail() qui permet de laisser un message vocal
– l'application VoiceMailMain() qui permet de consulter sa propre boîte vocale en appelant le
numéro 888 qui a été défini dans le dial plan, puis de saisir son propre numéro de téléphone et
enfin saisir son mot de passe.
Rapport Asterisk 27/49
28. Fonctionnalités
Voici un exemple du contenu du dial plan (fichier 'extensions.conf') :
Modification dans le fichier extensions.conf :
; Messagerie unifiée
exten => 103,1,Dial(SIP/romain,15,rtT)
; Si romain est indisponible pendant 15 secondes, l'appelant entendra un
message d'indisponibilité (u = unavailable).
exten => 103,2,Voicemail(u103@default)
; romain peut appeler le 888 pour accéder à son répondeur et écouter ses
messages vocaux.
exten => 888,1,VoiceMailMain()
10.5 Installation de Squirrelmail :
Pour faciliter l'exploitation des boîtes mails sur le serveur, on installe le webmail
Squirrelmail.
$ apt-get install squirrelmail
Lien symbolique de l'emplacement de squirrelmail vers l'emplacement du serveur Web en le
renommant en webmail:
ln -s /usr/share/squirrelmail /home/quentin/Site-web/webmail
On peut enfin consulter si on a bien reçu un courriel contenant un message ainsi que le
fichier son contenant le message de la boîte vocale qui est joint au mail.
Pour réaliser ceci on peut se connecter à travers l'interface Web Squirrelmail dans un navigateur en
saisissant : http://192.168.10.12/webmail/
Rapport Asterisk 28/49
29. Fonctionnalités
6.11 Menu vocal interactif(IVR)
C'est une fonctionnalité forte du serveur de téléphonie Asterisk est l’IVR (Interactive Voice
Response). En français, cela peut se traduire par « menu vocal interactif ».
On peut réaliser des sous menus disposant chacun d'une numérotation, ainsi dans le menu
suivant, on y accède en entrant le 4000. Étant donné que nous sommes dans un autre contexte on
peut utiliser des numéro du contexte par défaut pour y attribuer d'autres fonctions. Ainsi ici on
redéfinit les appels vers les comptes SIP, vers le test echo. L'exemple ici abordé est très simple.
Modification dans le fichier extensions.conf :
; Menu vocal interactif
exten => 4000,1,Goto(ivr,s,1)
; menu vocal interactif
[ivr]
exten => s,1,answer()
;exten => s,1,background(enterextofperson)
exten => s,n,playback(1)
exten => #,1,Playback(demothanks)
exten => #,2,Hangup()
exten => 1,1,Dial(SIP/quentin,30,rtT)
exten => 2,1,Dial(SIP/ben,30,rtT)
exten => 3,1,Dial(SIP/romain,30,rtT)
exten => 4,1,Dial(SIP/luis,30,rtT)
exten => 5,1,Dial(SIP/remi,30,tT)
exten => 6,1,Dial(SIP/daneel,30,tT)
exten => i,1,Playback(invalid)
exten => 600,1,Playback(demoechotest)
exten => 600,2,Echo()
exten => 600,3,Playback(demoechodone)
exten => 600,4,Goto(s,1)
exten => t,1,Goto(#,1)
Rapport Asterisk 29/49
30. Fonctionnalités
6.12 Gestion des files d’attente(Centre d’appels)
Principe: un utilisateur peut utiliser n'importe quel téléphone mais il doit faire en sorte que le
téléphone auquel il se connecte s'enregistre dans la file d'attente (il a ainsi le statut d'agent). Les
appels entrants sont alors routés vers ce téléphone.
Pour réaliser ceci, les fichiers suivants doivent être modifiés :
– 'agents.conf' : défini les agents.
– 'queues.conf' : défini les files d'attentes et les agents qui leurs sont associés.
– 'extensions.conf' : numéro d'appel de la file d'attente.
Voici un exemple :
Modification dans le fichier extensions.conf :
...
exten => 700,1,AddQueueMember(hotlineiut)
exten => 701,1,RemoveQueueMember(hotlineiut)
exten => 702,1,Goto(queuehotline,s,1)
...
Signification des numéros :
– 702 : numéro de la file d'attente
– 700 : numéro pour entrer dans la file d'attente 702
– 701 : numéro pour sortir de la file d'attente 702
Dans cet exemple, on utilise la stratégie round robin qui permet de faire sonner tous les
postes correspondant aux utilisateurs enregistrés dans la file d'attente (= statut d'agent), mais les uns
après les autres.
Explication : les agents entrent dans la file d'attente en composant le 700. Un utilisateur qui
veut communiquer avec un agent doit composer le 702. S'il y a plusieurs agents présents dans la file
d'attente, et qu'un utilisateur tente de communiquer avec l'un d'entre eux, alors les téléphones des
agents vont sonner un par un jusqu'à ce que l'un d'entre eux réponde.
Si un agent souhaite quitter son poste, alors il compose le 701.
Rapport Asterisk 30/49
31. Fonctionnalités
Modification dans le fichier queue.conf :
[general]
persistentmembers = yes
[hotlineiut]
maxlen = 7
;lorsque la file est vide d'agent faire :
joinempty = yes
leavewhenempty = no
;stratégie de sonnerie
strategy = roundrobin
;durée de la sonnerie
timeout = 10
retry = 15
;délai accordé avant un nouvel appel
wrapuptime = 30
musiconhold = default
;indique le délai d'attente de l'appelant (A revoir)
reportholdtime = yes
;information à l'appelant de sa place dans la file d'attente toute les 15
secondes
announcefrequency = 15
;estimation du temps d'attente à 7 secondes près
announceholdtime = yes
announcefrequency = 7
On peut voir que le contexte [hotlineiut] est le nom de la file d'attente.
On peut aussi remarquer la présence de la stratégie roundrobin qui fait sonner les téléphones de
façon tournante:
strategy = roundrobin
Il existe 5 autres stratégies et entre autre :
– Ringall : fait sonner tous les téléphones disponibles jusqu'à ce que l'un des téléphones réponde.
– Random : fait sonner les téléphones de façon aléatoire.
– ...
Rapport Asterisk 31/49
32. Fonctionnalités
Gestion par agents
Principe :
Un agent doit être capable d'entrer et de sortir d'une file d'attente avec un mécanisme
d'authentification depuis un téléphone quelconque.
Comme un agent ne dispose pas d'un téléphone personnel, il faut définir un autre type de
numérotation : celle déjà mise en place (101 à 104) et une pour les agents (de 501 à 504).
La syntaxe à respecter est la suivante :
agent => numéro_agent, mot_de_passe_agent, nom_agent
Modification dans le fichier agents.conf :
[agents]
agent => 501, 501, quentin
agent => 502, 502, ben
agent => 503, 503, romain
agent => 504, 504, luis
Les deux types d'agents : il existe l'agent décroché et l'agent en rappel. On n'aborde que le premier
car on n'a pas réussi à mettre en place le second.
Agent décroché :
Une fois que l'agent s'est enregistré dans la file d'attente, sa ligne est décrochée. Si quelqu'un
appelle, un bip informe qu'un appel arrive. Il peut le prendre en appuyant sur la touche #. Durant
nos tests, les communications se font directement. Nous n'avons pas la possibilité d'appuyer sur la
touche # (peutêtre estce dû à notre softphone ou à une option non ajoutée).
Modification dans le fichier queue.conf :
...
[queueagentdecroche]
member => Agent/501
member => Agent/503
...
Rapport Asterisk 32/49
33. Fonctionnalités
Modification dans le fichier agents.conf :
...
exten => 555, 1, AgentLogin(501)
exten => 556, 1, AgentLogin(503)
exten => 515, 1, Queue(queueagentdecroche)
...
La fonction AgentLogin() permet de faire rentrer un opérateur sur le système des files d'attente.
Dans le cas où il n'y a qu'un seul agent (numéro 503) dans la file d'attente mais 2 utilisateurs
appelant l'agent:
– L'agent 503 entre dans le système des files d'attente en composant le 555 et doit rentrer son mot
de passe. Il a le statut d'opérateur de files. Lorsqu'un appel arrive sur la file 515, un bip va alors
être émis sur la ligne de l'agent 503. Ce dernier prend l'appel automatiquement. Si l'agent 503
est le seul dans la file d'attente et qu'il y a un autre utilisateur qui appelle pendant qu'il est en
ligne, alors cet utilisateur est mis en attente et l'agent sera connecté à ce nouvel utilisateur dès
que le premier utilisateur aura raccroché.
Utilisation de la CLI pour gérer la file d'attente:
Pour connaître les agents présents dans la file d'attente hotlineiut :
CLI > queue show hotline-iut
Pour retirer un agent de la file d'attente :
CLI > queue remove member SIP/romain from hotline-iut
Rapport Asterisk 33/49
34. Fonctionnalités
6.13 Mise en place d'Asteriskstat
L'outil asteriskstat permet de fournir, via une interface web différents rapports et graphiques
concernant le trafic des appels du serveur Asterisk. Il se base sur les enregistrements CDR, de base
dans le fichier 'master.csv', ou dans une base de donnée, mysql dans notre cas.
– Téléchargements de l'archive : $ wget http://www.areski.net/asterisk-stat-
v2/asterisk-stat-v2_0_1.tar.gz
– Copie du fichier dans le répertoire souhaité : $ tar -zxvf asterisk-stat-
v2_0_1.tar.gz
– Modification du fichier 'defines.php' :
webroot: url de l'application
fsroot: chemin qui contient l'application
host: nom du serveur de base de données
port: port de la base de données, 3306 pour une base Mysql
user: nom d'utilisateur pour l'accès à la base de donnée
pass: mot de passe de l'utilisateur
dbname: nom de la base de données
db_type: type de la base de données, mysql ou postgres
db_tablename: nom de la table contenant les CDR
L'accès se fait maintenant sur notre poste via l'url http://localhost/asteriskstat.
6.14 Présentation Trixbox et supervision des appels(FOP)
Trixbox est une distribution Linux CentOS orientée téléphonie sur IP. Elle contient Asterisk
mais également un package d'applications déjà configurées pour fonctionner de façon presque
automatique dès l'installation. Le serveur Asterisk fonctionne en arrière plan tandis qu'un serveur
apache basé sur une base Mysql offre la possibilité de s'y connecter à distance pour accéder à la
totalité des fonctionnalités via une interface web.
Parmi les applications disponibles en standard on trouve:
– Linux CentOS: Système d'exploitation
– MySQL: serveur de base de données
– Apache: Serveur Internet
– PHP: Langage de script orienté serveur
– Asterisk: PBX voixsurIP
– FreePBX: Interface graphique pour Asterisk
– Flash Operating System (FOP): Interface de supervision en flash
– (...)
Installation de Trixbox:
Télécharger l'image cd sur le site officiel (http://www.trixbox.org) puis graver l'image sur un cd.
Trixbox peut s'installer soit sur une partition virtuelle (avec Vmware ou Virtualbox), soit sur une
Rapport Asterisk 34/49
38. Fonctionnalités
Flash Operating System(FOP)
FOP permet d'avoir une vue sur l'ensemble des communications en temps réel.
Il permet surtout d'être administré par une personne (une standardiste par exemple) qui pourra
rediriger les appels vers des personnes ou des services (conférence, files d'attente...)
Ces applications trouvent leur utilité dans un callcenter par exemple. Les clients se voient mis en
attente dans une file affectée à un opérateur.
Rapport Asterisk 38/49
39. Présentation de distributions dédiées
7) RÉSENTATION DE DISTRIBUTIONS DÉDIÉES
P
Il existe des distributions Linux cléenmain incluant Asterisk préconfiguré ainsi que tout
l'environnement utile a une utilisation conviviale. Leur avantage est d'être abordable même pour un
novice en informatique, leur inconvénients est d'être gourmandes en ressources et d'être moins
fiables qu'une installation sur mesure.
7.1 Trixbox
Trixbox est une distribution du système d'exploitation Gnu/Linux basée sur CentOS,
qui nous permet d'installer un serveur PBX. Le paquet trixbox inclut en standard plusieurs
applications, autrefois propriétaires et chères telles que : envoi de messages vocaux par email,
conférences , menus de vocaux interactifs etc...
Trixbox est développé principalement par Fonality, mais c'est un projet opensource.
Rapport Asterisk 39/49
40. Présentation de distributions dédiées
7.2 Elastix
Elastix est une distribution de Serveur de Communications Distribuées créée en Équateur
qui inclut: VoIP PBX, Fax, Messagerie instantanée, Email, Collaboration.
Inteface web d'Elastix:
Elastix se base sur 4 programmes importants: Asterisk, Hylafax, Openfire et Postfix. Ceux
ci offrent les fonctions de PBX, Fax, Messagerie instantanée et Email. Il supporte bien la plupart
des marques de cartes PABX : OpenVox, Digium, Sangoma, Rhino Equipment, Xorcom, Yeastar.
La majorité de ces pilotes sont fournis pour le projet Zaptel ou des versions modifiées de ce dernier.
D'autres sont fournis par le projet mISDN ou d'autres.
Elastix est la première distribution qui offre un module opensource « call center » avec
marquage prédictif. Il est possible d'installer ce module depuis le chargeur de modules dans
l'interface d'Elastix. Le call center peut gérer des programmes d'appels entrants et sortants. Ce
module a les caractéristiques suivantes:
fonction blacklist
support des programmes d'appels entrants et sortants
association de formulaires pour programme
marquage prédictif
rapports avancés
Rapport Asterisk 40/49
41. Présentation de distributions dédiées
7.3 Asterisk@home
Asterisk@home est un logiciel libre opensource. Il permet de mettre en place des centraux
téléphoniques PBX. Asterisk@home est installé depuis une image iso du système d'exploitation
CentOS. Il contient une version entière de logiciel Asterisk et quelques outils d'administration web.
Pour l'administration sur le serveur via une interface web. Le login et le mot de passe par
défaut sont « admin » et « admin ».
On peut ajouter des comptes d'utilisateurs en utilisant le module AMP et en éditant les fichiers de
configuration 'sip.conf' et 'extensions.conf'.
Asterisk@Home possède des extensions avec lesquelles on peut réaliser diverses fonctions:
– Ring group: permet d'appeler en même temps tout les téléphones d'un groupe .
– File d'attente: l'appelant est mis en attente le temps que le correspondant soit libre.
Trunk est un circuit qui définit une configuration de connexion d'entrée ou de sortie.
OutBound rules: définit les routes ou les chemins que prendra un appel sortant .
DiD ou direct in dial : paramétrage du dial plan
– IVR.
– Mise à jour automatique
– Conférences
– FOP
– voicemail
(...)
Rapport Asterisk 41/49
43. Présentation de distributions dédiées
7.5 AstLinux
Ast Linux est une distribution développée par Kristian Kielhofner. Il se compose d'un
système Linux, Asterisk (incluant BriStuff ,mISDn et Zaptel) et d'outils additionnels. Actuellement,
AstLinux a un support pour des bases de données BDB , SQLite ,MySQL et un contrôleur
unixODBC. Le système complet occupe approximativement 40Mb et peut s'installer en partie sur
clé USB (les fichiers statiques tels que fichiers de conf, messages préenregistrés...)
Le système met en place UnionFS, un système de fichiers qui réplique en temps réel les
changements réalisés dans la CF sur , par exemple, le KeyDisk. On peut aussi y ajouter les systèmes
unis de disques externes.
Rapport Asterisk 43/49
44. Présentation de distributions dédiées
Actuellement, AstLinux possède deux versions « stables » avec Asterisk 1.4 et Zaptel 1.4:
AstLinux 0.4.8 et astlinuxtrunk (svn) à partir du commit 1500. La révolution de AstLinux est
donnée parce qu'elle s'installe principalement dans des dispositifs personnalisés comme hardware
Soekris et PC Engines Wrap/ALIX.
Tableau récapitulatif de ces distributions :
AstLinux VoiceBuntu Asterisknow Trixbox Elastix
Interface web FreePBX VoiceOne AsteriskGUI FreePBX FreePBX
Logiciel de Asterisk/Freeswitch
Asterisk Asterisk Asterisk Asterisk
communication /OpenSIP
Distribution
Gentoo Ubuntu CentOS CentOS CentOS
d'origine
Langues
1(Anglais) 1(Anglais) 9 6 22
supportées
NAT x x
LiveCD x
Mail server smtp postfix sendmail postfix postfix
mISDN x x x x
Zaptel x x x x x
Fax x x x x
FOP x x x x
Rapport Asterisk 44/49
45. Conclusion
8) ONCLUSION
C
Cette expérience dans le monde de la VoIP et en particulier d'Asterisk s'est montrée
très enrichissante pour chacun d'entre nous. En effet, nous ne connaissions absolument pas ce
domaine et n'avions pas la moindre idée des technologies mises en œuvre.
Nous avons pris conscience aux cours de nos recherches dans les livres et sur internet
de l'ampleur qu'à pris la VoIP et il nous semble difficile maintenant d'imaginer qu'un
informaticien ne soit pas un minimum aux faits de cette technologie (au point où nous nous
sommes dit que cela pourrait faire l'objet de quelques heures de cours dans le cadre de la
licence). Nous nous sommes vus confortés dans le choix que nous avions fait concernant le
sujet du projet tuteuré. Comme nous l'avions imaginé, cette expérience sera valorisable par la
suite car elle correspond à un véritable besoin sur le monde du travail.
Il n'en reste pas moins que les possibilités offertes par la VoIP et en particulier par
Asterisk et ses modules sont extrêmement vastes et que leur maîtrise demande un temps
d'apprentissage et d'adaptation assez long. Pour cette raison, aucun de nous quatre n'a pu
résister à la tentation d'installer chez lui son propre serveur Asterisk pour continuer à mener
ses propres expériences. Paradoxalement, la documentation en français n'est pas très fournie
sur internet. Plus précisément, les cas de figure sont tellement nombreux qu'il est assez
difficile de trouver des informations répondant exactement aux besoin que l'on peut avoir.
Pour cette raison entre autre, nous avons fait le choix de rendre ce rapport disponible à la
communauté et l'avons remis à l'administrateur du site 'générationLinux' qui le mettra en
ligne prochainement.
Pour conclure, Asterisk présente l'avantage d'être opensource. Cet avantage donne la
possibilité de pouvoir le modifier à son grès pour l'adapter finement à ses besoins. Un grand
nombre d'applications elles aussi opensource sont développées autour d'Asterisk. Il ne fait
pas de doute que cet outil est suffisamment abouti pour être déployé dans des environnements
d'envergure. Il n'en reste pas moins assez difficile à prendre en main car il n'est pas très
intuitif ni très convivial. Les modules de paramétrage via interface web (freePBX par
exemple) peuvent être un plus pour découvrir les capacités de cet outil.
Rapport Asterisk 45/49
46. Bibliographie et Webographie
9) IBLIOGRAPHIE ET WEBOGRAPHIE
B
9.1 Webographie :
•
http://www.voipinfo.org/
•
http://www.asteriskfrance.net/
•
http://www.unixgarden.com/
•
http://www.frameip.com/voip/
•
http://www.asteriskguru.com/
•
http://www.openmaniak.com/fr/trixbox.php
9.2 Bibliographie :
• VoIP et ToIP Asterisk, Sébastien DÉON, Eni Editions, ISBN 9782746040441
• Téléphonie sur IP, Laurent Ouakil et Guy Pujolle, Eyrolles, ISBN 9782212120998
Rapport Asterisk 46/49
47. Annexes
10)ANNEXES
10.1 Répartition des tâches
La mise en place d'un outil de gestion de projet (dotproject) nous a permis de
centraliser et organiser notre travail. Le tuteur avait un accès au site afin de suivre l'évolution
du projet. Cela demande un petit effort administratif mais au final cela nous a vraiment aidé
(pour suivre l'avancée du travail, partager des documents, avoir un point de rencontre en
dehors de l'établissement...). Et puis cela nous a permis de nous familiariser avec un tel outil.
Au final nous avons pu extraire un diagramme de Gantt. Bien qu'il ne soit pas
exhaustif à 100%, il permet de se rendre compte au premier coup d'œil de l'évolution du
travail.
Chacun de nous à manipuler un peu toutes les fonctionnalités que nous avons vu et
certains se sont orientés naturellement vers les manipulations qui les intéressaient davantage.
Rapport Asterisk 47/49
48. Installation et
Réunion de lancement et Découverte théorique Mise en place Mise en place
Quentin définition des objectifs VoIP et Asterisk
configuration de base Appel entre clients SIP Tests Softphones Son d'attente
conférences
Gestion files d'attente Mise en place IVR Transfert d'appel Interception d'appel
CDR/Asterisk stat
Finalisation rapport
Asterisk
Installation et
Réunion de lancement et Découverte théorique
Luis définition des objectifs VoIP et Asterisk
configuration de base Appel entre clients SIP Tests Softphones Transfert d'appel Installation Trixbox étude distribution dédiée messagerie trixbox annexe Twinkle Finalisation rapport
Asterisk
Installation et
Réunion de lancement et Découverte théorique Création d'un son et Prise en main du dial Mise en place
Romain définition des objectifs VoIP et Asterisk
configuration de base Appel entre clients SIP Tests Softphones
mise en attente plan
Transfert d'appel Gestion files d'attente
messagerie unifiée
Finalisation du rapport
Asterisk
Installation et Rédaction 1er jet
Réunion de lancement et Mise en place Découverte théorique Mise en place
Benoit définition des objectifs dotproject VoIP et Asterisk
configuration de base Appel entre clients SIP Tests Softphones Son d'attente rapport / Bilan M.
conférences
Mise en place FOP Installation Trixbox Finalisation rapport
Asterisk Maringer
49. Annexes
10.2 Paramétrage du Softphone Twinkle pour Asterisk
Twinkle est un logiciel libre uniquement disponible sous Linux. Son installation est
très simple car il fait partie des paquets disponibles sur les dépôts officiels.
Pour l'installer sur une distribution basée sur Debian: $ apt-get install twinkle
Après installation, se rendre dans le menu: Edition / Profil utilisateur puis saisir les
informations telles que paramétrées dans Asterisk.
Dans un deuxième temps les informations sur le serveur SIP à contacter :
Pour configurer les paramètres audio (correspondant à l'entrée micro et à la sortie
audio) il faut aller dans l'onglet « RTP Audio » pour choisir les réglages des pilotes du son
(dans certaines configurations, il faut que les autres logiciels qui utilisent la carte son soient
fermés.). Pour les réglages audio il est conseillé d'utiliser Alsa et non OSS pour une meilleure
qualité du son.
Rapport Asterisk 49/49