Programmation AGI
AGI (Asterisk Gateway Interface) est
une interface permettant de faire communiquer le plan de numérotation
(extensions.conf) avec des programmes extérieurs à Asterisk, écrits avec
des langages de programmation aussi divers que PHP, Perl, Python, C, shell
Linux.
1. Principe
AGI est matérialisé par l’écriture de scripts qui sont exécutés
dans le plan de numérotation.
À chaque lancement d’un script AGI, Asterisk envoie au script un
ensemble de variables avec leurs valeurs. Lorsque toutes les variables
sont émises, Asterisk envoie une ligne vide pour préciser au script
qu’il peut commencer ce pourquoi il a été écrit (suite
d’instructions).
Le script envoie les commandes et Asterisk renvoie au script, pour
chaque commande émise, une réponse.
2. Appel du script AGI
Par défaut, les scripts sont créés et stockés dans
/var/lib/asterisk/agi-bin (cela permet de ne pas mentionner le chemin
complet d’appel des scripts). Il faudra toujours que les scripts
disposent du droit d’exécution (chmod ugo+x monscript.agi).
Ensuite, le script se lance de la manière suivante :
exten => 777, 1, Answer()
exten => 777, 2, AGI(monscript.agi|argument1|argument2...)
3. Étapes dans la rédaction du script monscript.agi
La syntaxe du script doit suivre le langage de programmation
utilisé.
a) Récupération des variables ...