Vous êtes sur la page 1sur 6

LP-ASR

Asterisk Base

- page 1 /6

Asterisk Base
I.

But
Installer et mettre en service un serveur Asterisk Mettre en service des tlphones IP Linksys de srie SPA Mettre en service des utilisateurs avec messagerie vocale et un standard automatique.

Le but de ce TP est de :

II.

Schma

IPBX Asterisk

Tlphone IP Tlphone IP Tlphone IP

Tlphone IP Tlphone IP

La tlphonie de lentreprise est gre par un serveur de tlphonie IP nomm Asterisk. Le serveur Asterisk est hberg dans une machine Linux sous Debian. Les tlphones IP sont des tlphones IP Linksys de la srie SPA. Le plan de numrotation sera le suivant :
Login John Fred Mike Mot de passe azerty azerty azerty

Le plan de numrotation sera comme suit :


Numro compos 1000 1001 1002 1020 1021 1022 1023 1050 Action Appeler John Appeler Fred Appeler Mike Appeler le groupe dappel John puis Fred Appeler John et Mike en mme temps Appeler lhorloge parlante Appeler le standard automatique Consulter la messagerie vocale

IUT Snart/Fontainebleau Dpartement GEII Avenue Pierre Point. 77567 Lieusaint

: julien_chamelot@yahoo.fr : http://www.lululaberlu.com
Dernire modification 10/11/2010

LP-ASR

Asterisk Base

- page 2 /6

III.

Cblage

Effectuez le cblage du banc de manipulation conformment au schma ci-dessus. Pour simplifier la configuration et obtenir des adresses IP automatiquement, vous brancherez un cble du switch au rseau du lyce.

IV.

Serveur Asterisk
Mise jour de la liste des paquets disponibles.

Linstallation dun serveur Asterisk se verra simplifier grce loutil : apt sous debian.

Debian#apt-get update

Installation dAsterisk et des voix franaises dAsterisk.

Debian#apt-get install asterisk-prompt-fr

Comme pour tous services sous Debian, nous avons la possibilit de le dmarrer, darrter ou autre avec lune des commandes suivantes. Rappel : il faut redmarrer le service chaque fois que lon veut que les modifications soient prises en compte.
/etc/init.d/asterisk stop /etc/init.d/asterisk start /etc/init.d/asterisk restart

V.

Configuration du fichier sip.conf

Avant de commencer, il faut effacer le contenu du fichier sip.conf. Ce fichier se trouve dans le rpertoire /etc/asterisk/sip.conf. Le fichier sip.conf doit commencer par la section gnrale comme suit :
[general] context=local bindport=5060 bindaddr=0.0.0.0 language=fr ; ; ; ; ; context par defaut pour les utilisateurs port UDP du protocole SIP adresse IP de linterface sur lequel le serveur va ecouter le trafic 0.0.0.0 pour toutes les interfaces messages vocaux en franais

Il faut ensuite ajouter une section par utilisateur comme suit :


[John] secret=azerty type=friend host=dynamic callerid="John" <200> ; ; ; ; ; ; obligatoire ; login SIP obligatoire ; mot de passe SIP obligatoire ; autorise les appels entrant et sortant obligatoire ; adresse IP du client facultatif ; nom affiche et numero affiche sur le telephone de l'appeler

Une fois les comptes utilisateurs crs, on peut configurer les tlphones pour quils senregistrent sur le serveur Asterisk.

IUT Snart/Fontainebleau Dpartement GEII Avenue Pierre Point. 77567 Lieusaint

: julien_chamelot@yahoo.fr : http://www.lululaberlu.com
Dernire modification 10/11/2010

LP-ASR

Asterisk Base

- page 3 /6

VI.

Configuration du tlphone Linksys de la srie SPA

Avant de commencer la configuration, vous allez rinitialiser le tlphone IP et rcuprer son adresse IP. Pour les Linksys SPA-901, vous allez composer une srie de codes directement sur le clavier. Effacez la configuration en tapant **** puis sur 73738# et sur 1#. Le tlphone redmarre. Activez le site WEB intgr au tlphone en tapant **** puis 7932# puis sur 1# et 1. Rcuprez ladresse IP du tlphone en tapant **** puis 110#, et en coutant ladresse IP du poste.

Pour les Linksys SPA-922 vous avez accs un menu de configuration directement sur lafficheur du tlphone en pressant la touche marque dun fichier. Vous pouvez maintenant configurer le tlphone en ouvrant la page WEB du tlphone. Cliquez sur Admin login puis sur advanced et ouvrez longlet Ext1.

Notez ladresse de votre serveur Asterisk dans le champ proxy, notez le login et le mot de passe de John dans les champs User ID et Password comme suit :

Le champ Dial plan est indispensable : il permet de spcifier au tlphone le format des numros de tlphone. Dans cet exemple, le tlphone composera les numros trois chiffres.

Il vous suffit de cliquer sur Submit all change pour que les paramtres soient pris en compte. Le tlphone redmarre et devrait vous afficher que la ligne Ext1 est registred.

IUT Snart/Fontainebleau Dpartement GEII Avenue Pierre Point. 77567 Lieusaint

: julien_chamelot@yahoo.fr : http://www.lululaberlu.com
Dernire modification 10/11/2010

LP-ASR

Asterisk Base

- page 4 /6

VII.

Vrification de lenregistrement des tlphones

A partir du serveur il est possible de vrifier ltat des tlphones. Loutil rasterisk permet dafficher les messages derreurs en direct, ltat des tlphones, ltat des liens trunk et plein dautres choses. Pour vrifier lenregistrement des tlphones, la commande sip show peers permet dafficher ltat des utilisateurs. Dans lexemple suivant Fred est enregistr alors que Mike ne lest pas.
# rasterisk *CLI> sip show peers Name/username Host Dyn Nat ACL Port Status Fred/Fred 192.168.10.6 D 5060 Unmonitored Mike (Unspecified) D 5060 Unmonitored 3 sip peers [Monitored: 0 online, 0 offline Unmonitored: 3 online, 0 offline]

VIII.

Configuration des appels

Le fichier /etc/asterisk/extensions.conf est utilis pour router les appels vers un utilisateur ou vers sa messagerie. Par exemple, les appels provenant de comptes SIP dont le contexte est local sont traits dans lextension local du fichier extensions.conf. Les instructions exten sont utilises comme suit :
Numro appel 200, Ordre dinstruction 1, Action effectue Dial(SIP/John, Temps en secondes avant de passer linstruction suivante (en fonction de laction) 10)

exten =>

1) Routage dappel vers un utilisateur Dans lexemple suivant, les appels arrivant sur le serveur Asterisk destination du numro 200 sont envoys vers le tlphone de John pendant 10 secondes puis sont envoys sur la messagerie de John.
[local] exten => 200, 1, Dial(SIP/John, 10)

2) Routage dappels vers un groupe dutilisateurs Dans lexemple suivant, les appels arrivant sur le serveur Asterisk destination du numro 205 sont envoys vers le tlphone de John puis vers le tlphone de Fred. Remarque : linstruction Goto() permet de renvoyer lappel o lon veut dans le fichier extensions.conf. Dans notre cas, lappel basculera du tlphone de John au tlphone de Fred jusqu ce quun des deux dcroche.
[local] exten => 205, 1, Dial(SIP/John, 10) exten => 205, 2, Dial(SIP/Fred, 10) exten => 205, 3, Goto(local,205, 1)

3) Routage vers plusieurs tlphones en mme temps Lexemple suivant montre comment faire sonner deux tlphones en mme temps. Quand on compose le 206, les tlphones de John et de Fred sonnent.
[local] exten => 206, 1, Dial(SIP/John&SIP/Fred, 10)

IUT Snart/Fontainebleau Dpartement GEII Avenue Pierre Point. 77567 Lieusaint

: julien_chamelot@yahoo.fr : http://www.lululaberlu.com
Dernire modification 10/11/2010

LP-ASR

Asterisk Base

- page 5 /6

4) Messagerie vocale a) sip.conf Pour activer la messagerie vocale, commencez par associer une bote vocale un utilisateur dans le fichier /etc/asterisk/sip.conf comme suit :
[John] mailbox=200@default

b) voicemail.conf Ensuite, il faut diter le fichier /etc/asterisk/voicemail.conf comme suit :


[general] format=gsm attach=yes emailsubject=Nouveau message vocal provenant de ${VM_CIDNAME} emailbody=\n\tBonjour ${VM_NAME},\n\n\t Tu as un message de la part de ${VM_CIDNAME} d'une dure de ${VM_DUR} datant du ${VM_DATE}

Voici une liste des variables utilisables dans lobjet et le corps des emails : VM_NAME nom d'utilisateur VM_DUR dure du message VM_MSGNUM numro du message VM_MAILBOX numro de l'utilisateur VM_CIDNUM numro du l'appelant VM_CIDNAME nom de l'appelant VM_DATE date du message \n retour la ligne \t tabulation
[default] 200 = 123, John, john@sen-tr.fr 201 = 234, Fred

Dans le contexte default on peut crer des utilisateurs de la messagerie vocale. Dans cette exemple lutilisateur 200 a le mot de passe 123, son nom est John et son adresse mail est john@sen-tr.fr. c) extentions.conf Une fois les comptes crs, il faut router les appels vers la messagerie vocale. Pour faire, il faut utiliser la fonction voicemail() comme suit :
exten => 200, 1, Dial(SIP/John, 10) exten => 200, 2, VoiceMail(200)

Dans cette exemple, quand on compose le 200 le tlphone de John sonne pendant 10 secondes. Ensuite, lappel est dirig vers la messagerie vocale. A partir de ce moment, on peut laisser des messages aux utilisateurs, mais on ne peut pas consulter la messagerie. Pour consulter la messagerie, il faut utiliser la fonction VoiceMailMain() dans le fichier extentions.conf comme suit :

IUT Snart/Fontainebleau Dpartement GEII Avenue Pierre Point. 77567 Lieusaint

: julien_chamelot@yahoo.fr : http://www.lululaberlu.com
Dernire modification 10/11/2010

LP-ASR exten => 299, 1, VoiceMailMain()

Asterisk Base

- page 6 /6

d) Notification par mail Pour quAsterisk puisse envoyer les e-mails aux utilisateurs, il faut installer un serveur SMTP sur le serveur Debian. Nous allons installer et utiliser postfix avec la commande :
Asterisk:~# apt-get install postfix

Il faut maintenant configurer le relais SMTP, en spcifiant ladresse du serveur SMTP de votre FAI. Avec lditeur de texte pico, nous allons modifier le champ relayhost dans le fichier /etc/postfix/main.cf
relayhost = smtp.free.fr

Il ne reste plus qua redmarrer le service postfix avec la commande suivante :


Asterisk:~# /etc/init.d/postfix restart

5) Standard automatique Le standard automatique permet un utilisateur dcouter un message lui indiquant les choix possibles. Aprs, il lui suffit de presser une des touches pour effectuer laction voulue. Il est possible de combiner les menus pour dvelopper une architecture plus complexe. Dans lexemple suivant, quand lutilisateur compose le 210, il entend un message vocal qui linvite taper 1, 2 ou 9 sur son clavier. Sil tape 1, lappel est envoy John. Sil tape 2, lappel est envoy Fred. Sil tape 9, Asterisk raccroche. Si lutilisateur ne fait rien, le message est jou en boucle.
[local] exten => 210, 1, Goto(Menu,s,1) [Menu] exten => s, 1, Background(/var/msg/Menu) exten => s, 2, WaitExten(2) exten => s, 3, Goto(Menu,s,1) exten => 1, 1, SayNumber(1) exten => 1, 2, Goto(local,200, 1) exten => 2, 1, SayNumber(2) exten => 2, 2, Goto(local,201, 1) exten => 9, 1, SayNumber(9) exten => 9, 2, Hangup() ; appel du standard automatique ; standard automatique ; ; ; ; le message audio enregistr /var/msg/Menu.gsm et joue on attend 2 sec on recommence le tout

; 1 Appel John ; 2 Appel Fred ; 9 On raccroche

Astuce : pour enregistrer le message vocal au bon format, il vous suffit de laisser un message sur la bote vocale dun utilisateur et de copier le fichier dans le rpertoire /var/msg/ avec la commande suivante.
cp /var/spool/asterisk/voicemail/default/200/INBOX/msg0000.gsm /var/msg/Menu.gsm

Attention : il peut y avoir des problmes de droit sur le fichier audio. Asterisk doit avoir les droits en lecture sur le fichier.

IUT Snart/Fontainebleau Dpartement GEII Avenue Pierre Point. 77567 Lieusaint

: julien_chamelot@yahoo.fr : http://www.lululaberlu.com
Dernire modification 10/11/2010