Asterisk Gateway Interface

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 4. februar 2014; checks kræver 10 redigeringer .

AGI (fra det engelske  Asterisk Gateway Interface  - "Asterisk gateway interface") er et værktøjssæt til at køre programmer skrevet på næsten ethvert programmeringssprog fra Asterisk IP - telefoncentralserverens nummerplan . Kommunikation mellem programmet og Asterisk-serveren sker ved hjælp af standard input- og outputstrømme . Typisk bruges AGI-scripts til at implementere avanceret logik, oprette forbindelse til relationelle databaser og få adgang til andre eksterne ressourcer. Overdragelse af kontrollen til et eksternt AGI-script gør det muligt for Asterisk nemt at implementere opgaver, der ellers ville være vanskelige eller umulige. Den mest almindelige brug af AGI er at skrive komplekse IVR- systemer .

Softwaregrænseflader

Der er mange biblioteker, der i høj grad forenkler processen med at skrive AGI-scripts. Den mest interessante af dem:

  1. phpagi
  2. Perl AGI bibliotek
  3. CAGI
  4. NanoAGI
  5. PyST

Eksempel på brug

Eksempel på NanoAGI

#include "src/agi.h" int main () { AGI agi ; hvis ( agi . cmd ( "stream fil hej verden 0" ) < 0 ) { // cerr << agi.err; returnere -1 ; } agi . cmd ( "læg på" ); returnere 0 ; }

Den kompilerede binære skal placeres i mappen ${atagidir} . Tilføj derefter følgende linje til ${astetcdir}/extensions.conf og genindlæs opkaldsplanen:

exten => _100,1,AGI(script)

Links