Asterisk
Source de la documentation : http://denisrosenkranz.com/tuto-installer-asterisk-13-sur-debian-7/ et http://wiki.freepbx.org/display/FOP/Installing+FreePBX+13+on+Debian+8.1.
Procédure validée sur Debian 8
Installation d'une infrastructure Asterisk
Asterisk est un autocommutateur téléphonique (PABX) logiciel destiné aux systèmes GNU/Linux. Il permet la prises en charge de diverses fonctionnalités d'appels tels que les messageries vocales, les menu vocaux interactifs et les groupes d'appels.
Nous allons voir ici comment installer Asterisk sur un servuer Debian Jessie en récupérant les sources et les compiler afin d'avoir une version plus récente que celle disponible dans les dépôts publics Debian.
Installation des dépendances
Exécutez la commande suivante avec les droits super-utilisateur :
echo "deb http://ftp.fr.debian.org/debian/ jessie-backports main" >> /etc/apt/sources.list apt-get update apt-get upgrade apt-get -y install build-essential libxml2-dev libncurses5-dev linux-headers-`uname -r` libsqlite3-dev uuid-dev libjansson-dev libssl-dev ffmpeg
Téléchargement des sources Asterisk
Exécutez les commandes suivante avec les droits super-utilisateur :
cd /usr/src wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-14-current.tar.gz
Compilation et installation d'Asterisk
Exécutez les commandes suivante avec les droits super-utilisateur :
cd /usr/src tar xvfz asterisk-14-current.tar.gz rm -f asterisk-14-current.tar.gz cd asterisk-* contrib/scripts/get_mp3_source.sh contrib/scripts/install_prereq install ./configure make menuselect
Une fenêtre de sélection des modules à compiler vous sera affiché. Cochez format_mp3 pour la gestion du format MP3 pour les musiques d'attente.
make make install make samples make config ldconfig
Installation des sons en français
Nous allons utiliser les sons en encodés WAV et G722. Pour cela, exécutez les commandes suivante avec les droits super-utilisateur :
cd /var/lib/asterisk/sounds wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-fr-wav-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-fr-wav-current.tar.gz tar xvf asterisk-core-sounds-fr-wav-current.tar.gz rm -f asterisk-core-sounds-fr-wav-current.tar.gz tar xfz asterisk-extra-sounds-fr-wav-current.tar.gz rm -f asterisk-extra-sounds-fr-wav-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-fr-g722-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-fr-g722-current.tar.gz tar xfz asterisk-extra-sounds-fr-g722-current.tar.gz rm -f asterisk-extra-sounds-fr-g722-current.tar.gz tar xfz asterisk-core-sounds-fr-g722-current.tar.gz rm -f asterisk-core-sounds-fr-g722-current.tar.gz
Démarrage du démon Asterisk
Exécutez la commande suivante avec les droits super-utilisateur :
service asterisk restart
Vous pouvez démarrer la console Asterisk en entrant la commande suivante :
asterisk -cvvvvvvvvvvr
Ajout d'un poste téléphonique
Afin d'ajouter un poste téléphonique, il est nécessaire d'éditer deux fichiers. Nous allons déclarer l'utilisateur dans le fichier /etc/asterisk/users.conf et y ajouter les lignes suivantes (à adapter en fonction des besoins) :
[antoine] callerid="antoine" username=antoine type=friend host=dynamic context=from-internal secret=MostSecret
Nous allons ensuite affecter un numéro de téléphone à cet utilisateur. Pour cela, ajoutez la ligne suivante au fichier /etc/asterisk/extensions.conf, dans la section [from-internal]
:
exten => 100,1,Dial(sip/antoine)
Ajout d'un message en cas de faux numéro
Nous allons mettre en œuvre ici un message diffusé à toute personne souhaitant joindre un numéro non attribué. Nous allons utiliser un message enregistré par nos soins :
cd /var/lib/asterisk/sounds wget https://exemple.com/no-number.wav wget https://exemple.com/no-number.g722
Ajoutez enfin ceci au fichier /etc/asterisk/extensions.conf, dans la section [from-internal]
:
exten => _.,1,Answer exten => _.,2,Playback(no-number) exten => _.,3,Hangup
Enregistrer son propre message
Il est possible d'enregistrer votre propre message en respectant les caractéristiques suivantes :
- Format
- WAV
- Type
- Mono
- Fréquence d'échantillonage
- 8 000 Hz
Un fois le message produit, copiez-le dans le dossier /var/lib/asterisk/sounds et convertissez-le à l'aide de la commande suivante :
ffmpeg -i sound.wav -ar 16000 -acodec g722 sound.g722
Exécuter une commande shell associée à un numéro
Ici, nous verrons comment exécuter une commande shell sur le serveur lors de l'appel d'un numéro. Pour cela, ajoutez ceci au fichier /etc/asterisk/extensions.conf, dans la section [from-internal]
:
exten => 4000,1,Answer exten => 4000,2,System(echo "Hello world" >> /tmp/test) exten => 4000,3,Hangup
Créer un groupe d'appel
Nous allons voir comment créer un groupe d'appel dans lequel plusieurs utilisateurs sont joignables \textit{via} le même numéro de téléphone. Pour cela, ajoutez ceci au fichier /etc/asterisk/extensions.conf, dans la section [from-internal]
:
exten => 200,1,Dial(sip/antoine&sip/arnaud)