Transcript
Page 1: Asterisk to ip_rapport

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.univ­nancy2.fr/lpinfo

ToiP Asterisk

Tuteur: M. Damien Maringer

Groupe: Quentin Hourlier, Benoit Henryon, Romain Gegout, Luis Dominguez Lopez

Page 2: Asterisk to ip_rapport

Sommaire

Sommaire1) 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'Asterisk­stat.................................................................................................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

Page 3: Asterisk to ip_rapport

Introduction

1) INTRODUCTION   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 open­source 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

Page 4: Asterisk to ip_rapport

Cahier des charges

2) CAHIER DES CHARGES   

Ci dessous le cahier des charges communiqué par M Damien Maringer.

I) Qu'est­ce 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

Page 5: Asterisk to ip_rapport

Qu'est ce que la ToIP

3) QU'EST CE QUE LA TOIP   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 triple­play 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

      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

Conversionanalogique->numérique

compressionSuppression

silenceAjout entêtes IP Réseau

Page 6: Asterisk to ip_rapport

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, X­Lite... (qui présentent l'inconvénient d'être propriétaires et non open­source) et il y a les open­sources (Ekiga, Twinkle ...)

Quelques exemples de softphone:

SKYPE X­LITE EKIGA TWINKLE

Rapport Asterisk 6/49

Page 7: Asterisk to ip_rapport

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

Page 8: Asterisk to ip_rapport

Qu'est ce que la ToIP

Avantages et inconvénients de la VoIP

Avantages Inconvénients

1 ­ Économiser sur la facture télécom2 ­ Pérenniser l'investissement3 ­ Simplifier les infrastructures4 ­ Faciliter l'administration et la mobilité5 ­ Homogénéiser les services téléphoniques sur différents sites6 ­ Faciliter l'intégration avec le système d'information7 ­ Évoluer plus facilement8 ­ Regrouper les équipes et se passer d'un prestataire

1) Fiabilité2) Qualité de son 3) Améliorer l'utilisation4) Localisation5) Standards6) Support administratif

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,   celui­ci   peut   donc  être   utilisé   de   façon   illimitée   sans   surcoût   pour   les communications VoIP.

Motivations Pourcentage

Réduction de coûtsNécessité de standardiser l'équipementHausse de la productivité des employésAutres bénéfices de productivitéHausse du volume d'appels à traiterAutres facteurs

75 %66%65%64%46%50%

Présentation du protocole SIPLe 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 (Real­time 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

Page 9: Asterisk to ip_rapport

Installation d'Asterisk sur Linux

4) INSTALLATION D'ASTERISK SUR LINUX   

– 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 asterisk­1.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 libncurses5­dev 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

Page 10: Asterisk to ip_rapport

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

Page 11: Asterisk to ip_rapport

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 celui­ci lancé.

– en mode client (en accédant à une console permettant de dialoguer avec le serveur).

Syntaxe: $ asterisk -rCette 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 ceux­ci (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

Page 12: Asterisk to ip_rapport

Les principaux fichiers de configuration

5) CONFIGURATION MINIMALE AVEC QUELQUES COMPTES SIP   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é dial­plan (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/AsteriskDans un premier temps, les 2 fichiers qui vont nous intéresser sont 'sip.conf' et 'extensions.conf'

sip.confIl 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 sipcontext=line1 ...[quentin]  //  paramétrage pour le sip de Quentintype = friend secret = topsecrethost = dynamiccontext = default

[luis] type = friend context=line1 secret = defunes host=192.168.1.106 

Rapport Asterisk 12/49

Page 13: Asterisk to ip_rapport

Les principaux fichiers de configuration

extensionsconfCe 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

Page 14: Asterisk to ip_rapport

Les principaux fichiers de configuration

la prioritédéfini l'ordre dans lequel les règles sont appliquées.On peut mettre 'n' pour numérotation automatique.

l'applicationdéfinit l'action a entreprendre pour appliquer le service sollicité par l'utilisateur appelant.

Mise en pratique les informations déjà à notre disposition pour mettre en place un service de VoIP sur un réseau local grâce auquel il sera possible de passer des appels entre 3 clients SIP.

­Pré requis: Asterisk est installé sur le serveur. Un client SIP (cf §x...) est installé et configuré sur chaque poste de travail.

Rapport Asterisk 14/49

Page 15: Asterisk to ip_rapport

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] type = friend  host = dynamic context = default secret = quentin 

[romain] type = friend host = dynamic context = default secret = romain 

[ben] type = friend host = dynamic context = default secret = ben 

exten => 101,1,Dial(SIP/quentin,30) 

exten => 103,1,Dial(SIP/romain,30)

exten => 102,1,Dial(SIP/ben,30) 

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

Page 16: Asterisk to ip_rapport

Fonctionnalités

6) FONCTIONNALITÉS   

6.1 AppelL'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 = friendhost = dynamiccontext = defaultsecret = quentin; Le deuxième utilisateur[benoit]type = friendhost = dynamiccontext = defaultsecret = benoit...

Modification du fichier extensions.conf :

...exten => 101,1,Dial(SIP/quentin,30)exten => 102,1,Dial(SIP/ben,30)...

Rapport Asterisk 16/49

Page 17: Asterisk to ip_rapport

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

Page 18: Asterisk to ip_rapport

Fonctionnalités

6.4 Transfert d’appelLa 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érenceAsterisk 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 => 900conf => 901conf => 902...

Rapport Asterisk 18/49

Page 19: Asterisk to ip_rapport

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

Page 20: Asterisk to ip_rapport

Fonctionnalités

6.6 Mise en place de communication vidéoAsterisk 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, Eye­Beam(version payante d'Xlite), ...

Modification du fichier sip.conf :

...videosupport=yesallow=all...

Il faut au moins autoriser les codecs h263 et h263p, dans l'exemple ci­dessus 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’appelL’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=1callgroup=1...

6.8 Renvoi d’appelLe 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

Page 21: Asterisk to ip_rapport

Fonctionnalités

6.9 Log des appels en base MySQLAvec 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 'mot­de­passe'; USE asterisk; 

CREATE TABLE `cdr` ( `calldate` datetime NOT NULL default '0000­00­00 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

Page 22: Asterisk to ip_rapport

Fonctionnalités

Il faut maintenant créé un utilisateur asterisk. On crée le fichier user­mysql 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=localhostdbname=asteriskpassword=mysqluser=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 databaseload => cdr_addon_mysql.so...

On redémarre maintenant asterisk:$ /etc/init.d/asterisk restart

Rapport Asterisk 22/49

Page 23: Asterisk to ip_rapport

Fonctionnalités

6.10Messagerie 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 : Apacheun serveur SMTP : Postfixun serveur IMAP : Courier­imapun programme filtrant les courriers électronique : procmailune interface Web pour consulter les courriels : Squirrelmail

Le hostname du serveur de mail est «serv2­debian»  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):serv2­debian 

Dans le fichier '/etc/hosts' (nom de domaine):127.0.0.1  serv2­debian.asrall.fr  serv2­debian  localhost

10.3 Installation et configuration des différentes applications nécessaires à la messagerie

Installation d'Apache :

$ apt-get install apache2La configuration par défaut est suffisante, il n'y a rien à rajouter.

Rapport Asterisk 23/49

Page 24: Asterisk to ip_rapport

Fonctionnalités

Installation et configuration de Postfix :Par défaut, le serveur SMTP installé sur une distribution Debian est Exim4. Lorsqu'on installe Postfix, celui­ci 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 : serv2­debian 

l ­ le domaine réseau : serv2­debian.asrall.fr  serv2­debian  localhost

Ajout et modification dans le fichier /etc/postfix/main.cf :

...home_mailbox = Maildir/myhostname = serv2­debian.asrall.fr mydestination = serv2­debian.asrall.fr , localhost.asrall.fr , localhostmynetworks = 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 courier­imap :$ apt-get install courier-imap

Dans le fichier '/etc/default/courier' vérifier qu'on a bien:MAILDIR="Maildir"

Rapport Asterisk 24/49

Page 25: Asterisk to ip_rapport

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

Page 26: Asterisk to ip_rapport

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 elles­mêmes, et parmi celles­ci 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, optionsUne 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@serv2­debian.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

Page 27: Asterisk to ip_rapport

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},\n\nVous avez un nouveau message sur votre boite vocale ${VM_MAILBOX}:\n\n\tDe:\t${VM_CALLERID}\n\tDuree:\t${VM_DUR} secondes\n\tDate:\t${VM_DATE}\n\nNumero ${VM_MSGNUM}) dans la boite mail.\n\nComposez 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@serv2­debian.asrall.fr

[default] ; Messagerie Vocale de chaque utilisateur 101 => 101, quentin, quentin@serv2­debian.asrall.fr,,attach=yes|saycid=no|envelope=no|delete=no 102 => 102, ben, benoit@serv2­debian.asrall.fr,,attach=yes|saycid=no|envelope=no|delete=no 103 => 103, romain, romain@serv2­debian.asrall.fr,,attach=yes|saycid=no|envelope=no|delete=no 104 => 104, luis, luis@serv2­debian.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

Page 28: Asterisk to ip_rapport

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 squirrelmailLien 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/webmailOn 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

Page 29: Asterisk to ip_rapport

Fonctionnalités

6.11Menu 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 interactifexten => 4000,1,Goto(ivr,s,1); menu vocal interactif[ivr]exten => s,1,answer();exten => s,1,background(enter­ext­of­person) exten => s,n,playback(1)exten => #,1,Playback(demo­thanks)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(demo­echotest)exten => 600,2,Echo()exten => 600,3,Playback(demo­echodone)exten => 600,4,Goto(s,1)

exten => t,1,Goto(#,1)

Rapport Asterisk 29/49

Page 30: Asterisk to ip_rapport

Fonctionnalités

6.12Gestion 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(hotline­iut)exten => 701,1,RemoveQueueMember(hotline­iut)exten => 702,1,Goto(queue­hotline,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

Page 31: Asterisk to ip_rapport

Fonctionnalités

Modification dans le fichier queue.conf :

[general]persistentmembers = yes[hotline­iut]maxlen = 7;lorsque la file est vide d'agent faire :joinempty = yesleavewhenempty = no;stratégie de sonneriestrategy = roundrobin;durée de la sonnerietimeout = 10retry = 15;délai accordé avant un nouvel appelwrapuptime = 30musiconhold = 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 secondesannounce­frequency = 15;estimation du temps d'attente à 7 secondes prèsannounce­holdtime = yesannounce­frequency = 7

On peut voir que le contexte [hotline­iut] 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

Page 32: Asterisk to ip_rapport

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 est­ce dû à notre softphone ou à une option non ajoutée).

Modification dans le fichier queue.conf :

...[queue­agent­decroche] member => Agent/501 member => Agent/503...

Rapport Asterisk 32/49

Page 33: Asterisk to ip_rapport

Fonctionnalités

Modification dans le fichier agents.conf :

...exten => 555, 1, AgentLogin(501)exten => 556, 1, AgentLogin(503)exten => 515, 1, Queue(queue­agent­decroche)...

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 hotline­iut :CLI > queue show hotline-iutPour retirer un agent de la file d'attente :CLI > queue remove member SIP/romain from hotline-iut

Rapport Asterisk 33/49

Page 34: Asterisk to ip_rapport

Fonctionnalités

6.13Mise en place d'Asterisk­statL'outil asterisk­stat 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/asterisk­stat.

6.14Pré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 voix­sur­IP– 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

Page 35: Asterisk to ip_rapport

Fonctionnalités

partition native en démarrant le serveur sur le lecteur cdrom. (Trixbox ne dispose pas d'outil de partitionnement et utilisera la totalité du disque du PC).

A l'issue de l'installation, l'IP du serveur est affichée à l'écran, Trixbox est fonctionnel, le serveur Apache est lancé ainsi que tous les services web.

On peut dès lors se connecter à distance sur un navigateur internet en utilisant l'IP donnée:

Rapport Asterisk 35/49

Page 36: Asterisk to ip_rapport

Fonctionnalités

Asterisk se paramètre par le menu 'PBX/PBX Settings'. En particulier, on peut paramétrer les téléphones SIP en cliquant sur 'extensions'.

Rapport Asterisk 36/49

Page 37: Asterisk to ip_rapport

Fonctionnalités

Voici quelques captures d'écran de certaines des fonctionnalités offertes par Trixbox:

Log des appels. (Exports possibles vers pdf ou csv. Différents filtrages possibles):

Rapport Asterisk 37/49

Page 38: Asterisk to ip_rapport

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 call­center par exemple. Les clients se voient mis en attente dans une file affectée à un opérateur.

Rapport Asterisk 38/49

Page 39: Asterisk to ip_rapport

Présentation de distributions dédiées

7) PRÉSENTATION DE DISTRIBUTIONS DÉDIÉES   Il existe des distributions Linux clé­en­main 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 TrixboxTrixbox 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 open­source.

Rapport Asterisk 39/49

Page 40: Asterisk to ip_rapport

Présentation de distributions dédiées

7.2 ElastixElastix 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 open­source « 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

Page 41: Asterisk to ip_rapport

Présentation de distributions dédiées

7.3 Asterisk@home Asterisk@home est un logiciel libre open­source. 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

Page 42: Asterisk to ip_rapport

Présentation de distributions dédiées

7.4 VoiceBuntu

VoiceBuntu est une distribution Linux développée par l'équipe Voiceone, qui peut fonctionner grâce à une clé USB.

Rapport Asterisk 42/49

Page 43: Asterisk to ip_rapport

Présentation de distributions dédiées

7.5 AstLinuxAst  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

Page 44: Asterisk to ip_rapport

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  astlinux­trunk (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 Asterisk­GUI FreePBX FreePBX

Logiciel de communication

Asterisk/Freeswitch/OpenSIP Asterisk Asterisk Asterisk Asterisk

Distribution d'origine Gentoo Ubuntu CentOS CentOS CentOS

Langues supportées 1(Anglais) 1(Anglais) 9 6 22

NAT x ­ x ­ ­

Live­CD ­ 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

Page 45: Asterisk to ip_rapport

Conclusion

8) CONCLUSION   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ération­Linux' qui le mettra  en ligne prochainement.

Pour conclure, Asterisk présente l'avantage d'être open­source. 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 open­source 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

Page 46: Asterisk to ip_rapport

Bibliographie et Webographie

9) BIBLIOGRAPHIE ET WEBOGRAPHIE   

9.1 Webographie :

• http://www.voip­info.org/   

• http://www.asterisk­france.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 978­2­7460­4044­1

• Téléphonie sur IP, Laurent Ouakil et Guy Pujolle, Eyrolles, ISBN 978­2212120998

Rapport Asterisk 46/49

Page 47: Asterisk to ip_rapport

Annexes

10)ANNEXES   

10.1Répartition des tâchesLa   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

Page 48: Asterisk to ip_rapport

Appel entre clients SIP Son d'attente Gestion files d'attente Mise en place IVR Transfert d'appel Interception d'appel Finalisation rapport

Luis Appel entre clients SIP Transfert d'appel étude distribution dédiée Finalisation rapport

Romain Appel entre clients SIP Transfert d'appel Gestion files d'attente Finalisation du rapport

Benoit Appel entre clients SIP Son d'attente Mise en place FOP Finalisation rapport

Quentin Réunion de lancement et définition des objectifs

Découverte théorique VoIP et Asterisk

Installation et configuration de base 

AsteriskTests Softphones

Mise en place conférences

Mise en place CDR/Asterisk stat

Réunion de lancement et définition des objectifs

Découverte théorique VoIP et Asterisk

Installation et configuration de base 

AsteriskTests Softphones Installation Trixbox messagerie trixbox annexe Twinkle

Réunion de lancement et définition des objectifs

Découverte théorique VoIP et Asterisk

Installation et configuration de base 

AsteriskTests Softphones

Création d'un son et mise en attente

Prise en main du dial plan

Mise en place messagerie unifiée

Réunion de lancement et définition des objectifs

Mise en place dotproject

Découverte théorique VoIP et Asterisk

Installation et configuration de base 

AsteriskTests Softphones

Rédaction 1er jet rapport / Bilan M. 

Maringer

Mise en place conférences

Installation Trixbox

Page 49: Asterisk to ip_rapport

Annexes

10.2Paramétrage du Softphone Twinkle pour AsteriskTwinkle 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


Top Related