Document réalisé à partir d'une ressource fournie par Herve De Charrière (Lycée Turgot - Limoges).
Asterisk est un autocommutateur téléphonique privé (PABX) open source et propriétaire (publié sous licence GPL et licence propriétaire) pour systèmes GNU/Linux. Il permet, entre autres, la messagerie vocale, les files d'attente, les agents d'appels, les musiques d'attente et les mises en garde d'appels, la distribution des appels. Il est possible également d'ajouter l'utilisation des conférences.
Développeur | Mark Spencer Digium Contributeurs |
Dernière version | 11.6.1 (16 décembre 2013) |
Langage | Écrit en C |
Environnement | GNU/Linux |
Type | Voix sur IP (VoIP) |
Licence | Double licence: GNU GPLv2 et propriétaire |
Site web | asterisk.org |
D'après le tutoriel http://www.tux89.com/telephonie/configuration-pour-utiliser-asterisk-en-francais/
# apt-get update # apt-get -f -y install build-essential linux-headers-$(uname -r) libxml2-dev libncurses5-dev libgtk2.0-dev libnewt0.52 libnewt-dev libssl-dev libsqlite3-dev
# cd /usr/srv # wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gz
# cd /usr/src/asterisk* # ./configure
# make menuselect
# make # make install # make config
Cela permet notamment à ajouter Asterisk au démarrage du Linux.
# make samples
Maintenant Asterisk est installé ! Il ne reste plus qu'à le démarrer:
# /etc/init.d/asterisk start
# cp /etc/asterisk/sip.conf /etc/asterisk/sip_old.conf # cp /etc/asterisk/extensions.conf /etc/asterisk/extensions_old.conf
Schéma de notre réseau téléphonique à réaliser :
# nano /etc/asterisk/sip.conf
Rappel : avec nano, pour sauvegarder : CTRL+O, pour quitter:CTRL+X
Dans le fichier sip.conf on va placer les lignes suivantes pour la configuration de base :
[general] language=fr context=default dtmfmode=rfc2833
[tel1] type=friend username=tel1 secret=pass1 host=dynamic callerid=X Lite W7
Différentes possibilités pout type :
A vous de définir les lignes nécessaires pour configurer les autres téléphones
Il faut ensuite indiquer à l'autocom Asterisk comment envoyer un appel vers ce téléphone.
# nano /etc/asterisk/extensions.conf
[default] exten => 101,1,Dial(SIP/tel1)
Quand Asterisk recevra une demande d'appel vers le numéro 101 (exten⇒101), la première action qu'il fera (,1) sera d'envoyer le signal d'appel (Dial) vers le téléphone qui s'est authentifié par le protocole SIP avec le compte tel1 (SIP/tel1)
* Compléter pour que les appels vers 102 aux téléphones tel2.
Dans une autre console, tapez la commande suivante en “root” pour voir en temps réel les activités du serveur (enregistrement d'un poste, appel abouti ou échoué, etc)
# asterisk -rc -vvvv
On obtient une interface CLI (prompt CLI>) dans laquelle on peut taper un ensemble de commandes.
Toutes les commandes disponibles sont ici : http://www.asteriskguru.com/tutorials/cli_cmd_14.html
Quand on a modifié la configuration, il faut dire à Asterisk de la relire avec la commande :
CLI> reload
Pour vérifier que la config est valide (et plus tard si le téléphone associé est actif) on peut taper la commande
CLI> s-ip show peers
X Lite est un SoftPhone, un logiciel qui joue le rôle d'un téléphone. X Lite est gratuit.
Sous Windows 7, télécharger X Lite de ConterPath :
http://www.counterpath.com/x-lite.html
Ouvrir la configuration :
Ici l'utilisateur est 6001, cette configuration est donc à modifier (remplacer 6001 par tel1), ajuster les autres paramètres.
Dans le fichier extensions.conf, il est possible de gérer le déroulement des appels :
Exemple 1 : On appelle le 102, le téléphone 2 sonne pendant 20“, si personne ne décroche, l'appel est dirigé vers tel3.
exten => 102, 1, Dial(SIP/tel2,20) exten => 102, 2, Dial(SIP/tel3)
*Exemple 2 : On appelle le 102, le téléphone 2 sonne pendant 20”, si personne ne décroche, l'appel est dirigé vers tel3 pendant 20 “, puis retourne vers tel2… <code> exten ⇒ 102, 1, Dial(SIP/tel2,20) exten ⇒ 102, 2, Dial(SIP/tel3,20) exten ⇒ 102, 3, Goto(default,101,1) </code> Exemple 3** : Horloge parlante
exten => 999,1,Answer() exten => 999,2,SayUnixTime(,Europe/Paris,AdBY kM) exten => 999,3,HangUp()
Variante :
exten => 999, 1, Answer() exten => 999, 2, SayUnixTime(,Europe/Paris,AdBY kM) exten => 999, 3, Wait(5) exten => 999, 4, Goto(default,999,1)
Horloge parlante Objectif : Fournir un numéro spécial pour l'horloge parlante.
exten => 999,1,Answer() exten => 999,2,SayUnixTime(,Europe/Paris,AdBY kM) exten => 999,3,HangUp()
Codes :
Alternativement, les fichiers sonores peuvent être téléchargés du site de Digium situé à l’adresse suivante : http://downloads.asterisk.org/pub/telephony/sounds/
Les fichiers sonores sont regroupés dans une archive nommée : asterisk-core-sounds-fr-gsm-current.tar.gz
Effectuez simplement les lignes de commandes suivantes afin de mettre en place les fichiers sonores :
cd /var/lib/asterisk/sounds wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-fr-gsm-current.tar.gz gunzip asterisk-core-sounds-fr-gsm-current.tar.gz tar xvf asterisk-core-sounds-fr-gsm-current.tar find . -print -exec chown asterisk:asterisk {} \; find . -type d -print -exec chmod 775 {} \; shutdown –r now