Sommaire

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...)
puce.PNG
Les arguments sont optionnels.

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 ...