2. Call Files

Call Files lassen sich am ehesten mit Batch-Dateien vergleichen. Sie werden ins Verzeichnis /var/spool/asterisk/outgoing/ verschoben und dort dann von Asterisk abgearbeitet.

[Wichtig]Wichtig

Ein mv (move) ist im Dateisystem ein atomarer Vorgang und deshalb für Call Files ideal geeignet. Bei einem cp (copy) wird dagegen die Datei Zeile für Zeile kopiert. Es kann also vorkommen, dass ein halbfertig kopiertes Call File von Asterisk bereits abgearbeitet wird.

Der ganze Mechanismus lässt sich anhand eines Beispiels besser erklären. Nehmen wir an, dass an einer Asterisk-Anlage ein SIP-Telefon mit der Nummer 2000 angemeldet ist. Weiterhin haben wir im Dialplan die folgende Extension eingetragen:

[call-file-test]
exten => 10,1,Answer()
exten => 10,n,Wait(1)
exten => 10,n,Playback(hello-world)
exten => 10,n,Wait(1)
exten => 10,n,Hangup()

Jetzt generieren wir im Verzeichnis /tmp/ die Datei ein-test.call mit folgendem Inhalt:

Channel: SIP/2000
MaxRetries: 2
RetryTime: 60
WaitTime: 30
Context: call-file-test
Extension: 10

Danach verschieben wir diese Datei mit mv /tmp/ein-test.call /var/spool/asterisk/outgoing/

root@molokai:~>mv /tmp/ein-test.call /var/spool/asterisk/outgoing/

Jetzt passiert Folgendes:

  • Asterisk überprüft ständig, ob sich im Verzeichnis /var/spool/asterisk/outgoing/ ein Call File befindet, und arbeitet dieses ab, sobald es da ist.
  • Asterisk öffnet eine Verbindung zum Telefon SIP/2000. Wenn das Telefon besetzt sein oder nicht rangehen sollte, dann versucht Asterisk das gleiche noch zwei Mal (siehe MaxRetries).
  • Geht der Benutzer des Telefons 2000 ran, dann startet Asterisk im Context [call-file-test] die Abarbeitung der Extension 10. Es wird also der Sprachbaustein hello-world abgespielt.

$Revision:473 $

Beta-Version!

2.0 Entwickler-Version des Asterisk Buches. Die 1.0 stabile Version ist natürlich noch online. Die 2.0er Version enthält viele Neuerungen, ist aber noch nicht 100% fehlerfrei. Im Zweifelsfall bitte auf die 1.0er Version gehen.

Bitte melden Sie Fehler und Feedback zur neuen 2.0er Version per E-Mail an den Autor.

Asterisk-Tag 2008

Lernen Sie Mark Spencer (den Erfinder von Asterisk) kennen! Viele Vorträge, Case-Studies und Workshops rund um die Themen VoIP und Asterisk. Asterisk-Tag.org

Werbung