Asterisk
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.
Fichiers de configurations
Les fichiers utilisés au crans sont :
- sip.conf pour tout ce qui concerne les comptes sip
- voicemail.conf pour les paramètres de la messagerie
manager.conf pour les paramètre de AMI Asterisk Manager Interface. Le fichier asterisk.py dans /usr/scripts/sip/ fourni, via la classe Manager un binding simple pour contrôler à distance asterisk. Il convient d'ajouter une fonction par action lorsque cela est nécessaire et d'éviter d'utiliser en production la fonction action.
- extensions.conf pour le plan de munérotation
Les scripts AGI
AGI est l'acronyme de Asterisk Gateway Interface. Ils se trouvent dans le dossier /var/lib/asterisk/agi-bin est permettent de faire plein de choses compliquée (jouer ou enregistrer du son, envoyer du texte, lire les chiffre tapée au clavier, etc.) comme le montre le fichier agi-test.agi
Les scripts agi du crans sont dans /usr/scripts/sip/agi/ et ne font rien de bien compliqué :
history permet de mettre à jour le journal d'appel dans django et de vérifier les quota d'appel
sms_delay de garder un message textuel en attendant que son destinataire se connecte
Il est préférable d'utiliser la commande AGI d'asterisk plutôt que la commande SHELL au sens où cette première est sensée être plus sûr : il est assurée qu'asterisk attende la fin de l'exécution de la commande avant de faire quoi que ce soit (raccrocher, fermer des canaux, etc.)
Messagerie
Mettre un message personnalisé à la main
il suffit de mettre un fichier temp.EXT où EXT correspond au format du fichier (mp3, wav, alaw, gsm…) dans le dossier /var/spool/asterisk/voicemail/666/ID/ où ID est l'identifiant asterisk.