## page was renamed from CransTechnique/ServicesMineurs/AsteRisK ## page was renamed from CransTechnique/AsteRisK #acl +All:read = 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. == Installation == La version d'asterisk utilisé par le crans est celle des dépot de jessie (actuellement testing et de numéro de verison 11.5). La raison première est l'apport de plusieurs fonctionnalités intéressantes (comme le support des messages instantanés hors canal de communication préétabli). == 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ètres de {{{AMI}}} ({{{Asterisk Manager Interface}}}). Le fichier {{{asterisk.py}}} dans {{{/usr/scripts/sip/}}} fournit, 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 numérotation. Un graphe de ce dernier est disponible à cette adresse : http://doc.crans.org/asterisk/ == Les scripts AGI == {{{AGI}}} est l'acronyme de {{{Asterisk Gateway Interface}}}. Ils se trouvent dans le dossier {{{/usr/share/asterisk/agi-bin}}} et permettent de faire plein de choses compliquées (jouer ou enregistrer du son, envoyer du texte, lire les chiffres tapés 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 quotas d'appel * {{{sms_delay}}} permet 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é qu'asterisk attende la fin de l'exécution de la commande avant de faire quoi que ce soit (raccrocher, fermer des canaux, etc.) et ne l'interrompe pas. /!\ Les scripts AGI doivent être dans le dossier {{{/usr/share/asterisk/agi-bin}}} pour qu'asterisk puisse y accéder. Il convient donc de mettre des liens symboliques entre les scripts AGI de {{/usr/scripts/sip/agi/}} et {{{/usr/share/asterisk/agi-bin}}}. Lors d'une réinstallation d'asterisk on peut utiliser la commande ci-dessous pour mettre un lien symbolique pour tous les scripts. {{{ sudo ln -s /usr/scripts/sip/agi/* /usr/share/asterisk/agi-bin/ }}} == Les autres scripts == D'autres scripts dans {{{/usr/scripts/sip/agi/}}} sont appelés en utilisant la commande {{{SHELL}}} et leur résultat est stocké dans une variable coté asterisk. Ils effectue également des choses relativement simple : par exemple traduire un alias en numéro canonique de téléphone (dans le plan de numérotation du crans), donner un code impression ou dire si un utilisateur existe dans la base ldap. == 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.