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_requestDer Dateiname des aufgerufenen AGI-Programmsagi_channelDer Channelagi_languageDie eingestellte Sprache (z. B.enfür Englisch oderdefür Deutsch)agi_typeDie Channel-Art (z. B.sipfür SIP oderzapfür ISDN)agi_uniqueidEine im System unique (einmalige) ID für das Gesprächagi_calleridDie Caller-ID (z. B.Hans Meier <2000>)agi_contextDer Ursprungs-Contextagi_extensionDie Ursprungs-Extensionagi_priorityDie Priorität in der Extension beim Aufruf des AGI-Skriptsagi_accountcodeAbrechnungscodeagi_calleridnameName aus der Caller-ID (z. B.Hans Meier)agi_callingpresDie 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.