reload now
bzw. dialplan reload
forciert werden.exten =>z. B.:Extension
,Priorität
,Applikation
()
exten => 123,1,Answer()
Answer()
Answer()
-Applikation dient dazu, einen
Verbindungsversuch zu akzeptieren. Wenn ein Channel klingelt, dann
kann Answer()
den virtuellen Hörer abnehmen (siehe auch
Abschnitt C.10, „Answer()
“).Hangup()
Hangup()
ist das Gegenstück zu
Answer()
. Die Verbindung wird getrennt, und der
virtuelle Hörer wird aufgelegt (siehe auch Abschnitt C.68, „Hangup()
“).Playback(Soundfile)
Playback()
kann man Sounddateien abspielen.
Diese finden sich, wenn kein anderes Verzeichnis angegeben worden
ist, im Verzeichnis /var/lib/asterisk/sounds/
.
Die Dateiendung wird dabei nicht angegeben (Asterisk sucht sich den
optimalen Codec selbstständig heraus; siehe auch Abschnitt C.117, „Playback()
“).Wait(Zahl)
Wait()
kann man eine Pause abrufen. Die Zahl
in der Klammer gibt die Anzahl der zu wartenden Sekunden an (siehe
auch Abschnitt C.188, „Wait()
“).NoOp(String)
NoOp()
macht nichts.
„NoOp“ steht für No Operation. Sie ist
aber ein praktisches Tool, um Dialpläne zu debuggen. Der Inhalt des
übergebenen Strings wird auf dem CLI ausgegeben. Im CLI muss dafür
aber der Verbose-Level auf mindestens 3 eingestellt sein. (Geben Sie
einfach im CLI core set verbose 3
ein; siehe auch
Abschnitt C.107, „NoOp()
“.)VoiceMail(Voicemailbox,u)
VoiceMail()
gibt dem Anrufer die
Möglichkeit, eine Sprachnachricht auf der Voicemailbox zu
hinterlassen, die als erster Parameter bestimmt wird (siehe auch
Abschnitt C.186, „VoiceMail()
“).VoiceMailMain()
VoiceMailMain()
gibt dem Anrufer
Zugang zum Voicemail-System. Wer über eine Voicemailbox verfügt,
kann diese dort abhören (siehe auch Abschnitt C.187, „VoiceMailMain()
“).apfelmus
die Nummer 8888 anruft. Asterisk
nimmt dann ab, spielt den Sprachbaustein
hello-world
ab und legt auf.[apfelmus] exten => 8888,1,Answer() exten => 8888,2,Playback(hello-world) exten => 8888,3,Hangup()
n
zu belegen. Der n-Zähler fungiert hierbei als ein automatischer
Programmzeilenzähler. Jedes Mal, wenn die Programmsteuerung auf die
n-Priorität stößt, addiert sie 1 zum letzten Wert der Priorität. Dies
ist dann hilfreich, falls Sie viele aufeinanderfolgende Regeln
definiert haben und eine weitere Regel einfügen möchten, denn dann
müssen Sie nicht mehr die Zähler der nachfolgenden Regeln neu
nummerieren. Wenn eine normale Extension wie folgt aussieht:exten => 1234,1,Answer() exten => 1234,2,Wait(2) exten => 1234,3,Playback(hello-world) exten => 1234,4,Wait(2) exten => 1234,5,Hangup()
exten => 1234,1,Answer() exten => 1234,n,Wait(2) exten => 1234,n,Play(hello-world) exten => 1234,n,Wait(2) exten => 1234,n,Hangup()
exten => 1234,1,Answer() exten => 1234,2,Wait(2) exten => 1234,3,Play(hello-world) exten => 1234,n,Wait(2) exten => 1234,n,Hangup()
[7] Eine Ausnahme stellt hier die Asterisk RealTime Architecture (ARA) dar. In einem ARA-System wird der Dialplan in einer Datenbank (z. B. MySQL) abgespeichert und dort von Asterisk bei jedem Anruf neu eingelesen (also nicht nur einmal beim Starten von Asterisk). So können Dialpläne auch im laufenden Betrieb ständig geändert werden. Allerdings hat diese Variante viele Nachteile. Nährere Informationen zu ARA finden Sie unter http://www.voip-info.org/wiki/view/Asterisk+RealTime.
[8] Ein typisches Henne-Ei-Problem. Man kann eine Applikation nur verstehen, wenn man die Programmierung eines Dialplans versteht, und umgekehrt.