20.1. Datenströme
Für AGI-Skripte ist ein Verständnis des Unix-Datenstrom-Models
unabdingbar. Im Anhang dieses Buches finden Sie Informationen zu diesem
Prinzip.
20.1.1. STDIN
Das AGI-Skript bekommt über den „standard input“
(STDIN) einige Informationen von Asterisk. Das Format sieht
folgendermaßen aus:
agi_request: programmname.php agi_channel: Zap/1-2 agi_language: de agi_callerid: Hans Beispiel agi_context: extern agi_extension: 1234 agi_priority: 2Nach dem Übergeben dieser Grundinformationen sendet Asterisk noch eine Leerzeile, um dem AGI-Skript mitzuteilen, dass die Übertragung beendet ist.
AGI-Header
Die folgende Aufstellung listet alle von Asterisk
weitergegebenen Header auf:
agi_request
Der Dateiname des aufgerufenen AGI-Programmsagi_channel
Der Channelagi_language
Die eingestellte Sprache (z. B.en
für Englisch oderde
für Deutsch)agi_type
Die Channel-Art (z. B.sip
für SIP oderzap
für ISDN)agi_uniqueid
Eine im System unique (einmalige) ID für das Gesprächagi_callerid
Die Caller-ID (z. B.Hans Meier <2000>
)agi_context
Der Ursprungs-Contextagi_extension
Die Ursprungs-Extensionagi_priority
Die Priorität in der Extension beim Aufruf des AGI-Skriptsagi_accountcode
Abrechnungscodeagi_calleridname
Name aus der Caller-ID (z. B.Hans Meier
)agi_callingpres
Die Caller-ID im ZAP-Channel
20.1.2. STDOUT
Nachdem das AGI-Skript die Grundinformationen von Asterisk
erhalten hat, beginnt es mit seiner Arbeit und gibt Befehle über
„standard out“ (STDOUT) zurück an Asterisk. Um sich diese
Kommunikation anzuschauen, kann man im CLI mit
set verbose
5
den Verbosity-Level entsprechend hochsetzen.20.1.3. STDERR
„Standard error“ (STDERR) ist der formale Weg, um
Fehler- oder Debug-Meldungen vom AGI-Skript auf die Console (das CLI)
von Asterisk zu bringen.