Ce premier AsteriskLABs propose d’établir un appel entre deux postes et de jouer un répondeur vocal basique à partir de fichiers de configuration vierges sur un serveur PBX VoIP Asterisk. Dans le cadre du protocole SIP, on mettra en oeuvre des concepts tels que périphérique (device), canal (channel), extension, application, plan d’appel (dialplan). L’idée usuelle d’utilisateur associé à un numéro de téléphone est le résultat courant mais limité de cette mise en oeuvre.
Lectures préalables.
Leif Madsen, Jim Van Meggelen, and Russell Bryant, Asterisk™: The Definitive Guide, 2011 :
Guides de configuration de téléphones IP.
Topologie.
Ordinateurs portables, Netbooks, smartphones et tablettes seront utiles dans un laboratoire disposant d’une connexion Wi-Fi. Le serveur SIP Asterisk est lancé dans une machine virtuelle. Les deux périphériques téléphoniques doivent être enregistrés. Le laboratoire permet de faire un test avec un softphone et une machine virtuelle sur un seul PC dans un LAN. On suppose qu’un serveur DHCP ou RA est activé.
Arrière-plan.
Les périphériques s’enregistrent dans le fichier sip.conf ou iax.conf. Chaque périphérique est associé à un contexte. Chaque contexte est décrit dans le fichier extensions.conf. Ce fichier consitute ce que l’on appelle le plan d’appel (dialplan). Un contexte est composé d’une série d’extensions. Ces extensions déclenchent une série d’actions.
Soit dans notre laboratoire un périphérique enregistré 0000FFFF0001 sur un PBX Asterisk compose le numéro 101. Son appel sera dirigé vers le périphérique 0000FFFF0002.
Objectifs.
Il s’agit ici d’établir un plan d’appel avec trois extensions dont l’une pour un test vers un répondeur vocal et deux autres pour désigner un appel entre des périphériques SIP matériels ou logiciels (softphone).
Exercice.
Etape 1 : Ouverture des consoles Linux et Asterisk.
1.a. Avec le logiciel putty, ouvrez une console Linux et lancez la console d’Asterisk.
asterisk -r
1.b. Vérifier la version
*CLI> core show version Asterisk 1.8.7.1 built by root @ asterisklab on a i686 running Linux on 2011-11-16 13:45:24 UTC
1.c. Ouvrez une seconde session Linux dans laquelle vous travaillerez sur les fichiers sip.conf et extensions.conf.
Etape 2 : Création des téléphones SIP.
2.a : renommez le fichier /etc/asterisk/sip.conf en /etc/asterisk/sip.conf.bak dans la console Linux :
mv /etc/asterisk/sip.conf /etc/asterisk/sip.conf.bak
2.b : Ecrivez le fichier des périphériques SIP :
Dans la console Linux, ouvrez le fichier /etc/asterisk/sip.conf avec le logiciel nano :
nano /etc/asterisk/sip.conf
et collez la configuration suivante :
[general] context=unauthenticated allowguest=no srvlookup=yes udpbindaddr=0.0.0.0 tcpenable=no [office-phone](!) type=friend context=LocalSets host=dynamic nat=yes secret=s3CuR#p@s5 dtmfmode=auto disallow=all allow=ulaw allow=alaw [0000FFFF0001](office-phone) [0000FFFF0002](office-phone)
2.c. Identifiez les quatres sections, leur contenu et leur fonction.
- [general],
- [office-phone](!),
- [0000FFFF0001] (office-phone) et
- [0000FFFF0002] (office-phone).
Remarquez le contexte « LocalSets ».
2.d. Enregistrez et quittez en appuyant sur la touche F2, en répondant “O” pour Oui et en validant le chemin et le nom du fichier.
Etape 3 : Rechargement et vérification de la configuration du canal SIP.
3.a. Dans la console Asterisk, rechargez le canal SIP :
*CLI> module reload chan_sip.so
ou encore :
*CLI> sip reload
3.b. Vérifiez la configuration du canal SIP :
*CLI> sip show users Username Secret Accountcode Def.Context ACL ForcerPort 0000FFFF0001 s3CuR#p@s5 LocalSets No Yes 0000FFFF0002 s3CuR#p@s5 LocalSets No Yes
Etape 4 : Configuration et vérification des téléphones.
4.a. Configurez les téléphones en leur attribuant une adresse IP, en spécifiant nom d’utilisateur, mot de passe et serveur SIP. Vous pouvez vous référer à l’article « Guides de configuration de téléphones IP« .
4.b. Relevez leur adresse IP :
Adressse IP du téléphone 0000FFFF0001 : ________.________.________.________
Adressse IP du téléphone 0000FFFF0002 : ________.________.________.________
4.c.Vérifiez l’enregistrement des téléphones dans la console Asterisk :
*CLI> sip show peers Name/username Host Dyn Forcerport ACL Port Status 0000FFFF0001/0000FFFF0001 192.168.1.8 D N 57228 Unmonitored 0000FFFF0002/0000FFFF0002 192.168.1.3 D N 37102 Unmonitored 2 sip peers [Monitored: 0 online, 0 offline Unmonitored: 2 online, 0 offline]
Etape 5 : Conception d’un plan d’appel basique.
5.a. Renommez le fichier /etc/asterisk/extensions.conf en /etc/asterisk/extensions.conf.bak
Dans la console Linux :
mv /etc/asterisk/extensions.conf /etc/asterisk/extensions.conf.bak
5.b. Ecrivez le fichier du plan d’appel
Dans la console Linux, ouvrez le fichier /etc/asterisk/extensions.conf avec le logiciel nano :
nano /etc/asterisk/extensions.conf
et collez la configuration suivante :
[LocalSets] exten => 100,1,Dial(SIP/0000FFFF0001) exten => 101,1,Dial(SIP/0000FFFF0002)
exten => 200,1,Answer() same => n,Playback(hello-world) same => n,Hangup()
5.c. Examinez chaque entrée et expliquez la logique des extensions, des priorités, des applications en langage courant.
5.d. Enregistrez et quittez en appuyant sur la touche F2, en répondant “O” pour Oui et en validant le chemin et le nom du fichier.
Etape 6 : Rechargement et vérification de la configuration du plan d’appel.
6.a. Rechargez le plan d’appel dans la console Asterisk :
*CLI> dialplan reload
6.b. Vérifiez le contenu du plan d’appel dans la console Asterisk :
*CLI> dialplan show
6.c. Établissez un appel vers 101 et vers 200 pour vérification.
Diagnostic.
1. Sur le serveur PBX Asterisk.
a. Vérifiez la console en mode verbeux.
b. Vérifiez la connectivité IP et DNS de votre système.
c. Utilisez les dernières versions mises à jour disponibles sur http://www.asterisk.org/downloads.
2. Sur les périphériques SIP.
a. Consultez la documentation du fabriquant ou du concepteur.
b. Vérifier les paramètres d’authentification de part et d’autre; revoyez la cohérence des étapes 2 et 4.
c. Testez plusieurs types de périphériques soft, matériels ou embarqué.



