|
Taille: 2219
Commentaire:
|
← Version 13 à la date du 2021-09-24 14:24:45 ⇥
Taille: 3695
Commentaire: no public
|
| Texte supprimé. | Texte ajouté. |
| Ligne 1: | Ligne 1: |
| ## page was renamed from CransTechnique/ServicesMineurs/AsteRisK ## page was renamed from CransTechnique/AsteRisK #acl +All:read |
|
| Ligne 4: | Ligne 7: |
| == 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). |
|
| Ligne 5: | Ligne 11: |
| Les fichiers utilisés au crans sont : | Les fichiers utilisés au crans sont : |
| Ligne 8: | Ligne 15: |
| * 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 |
* 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/ |
| Ligne 12: | Ligne 19: |
| {{{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}}} | |
| Ligne 13: | Ligne 21: |
| {{{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é : |
| Ligne 15: | Ligne 23: |
| 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 |
* {{{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 |
| Ligne 19: | Ligne 26: |
| 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. | |
| Ligne 20: | Ligne 28: |
| 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.) | /!\ 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. |
| Ligne 23: | Ligne 37: |
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 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.