3.5. Die Variable ${EXTEN} und die Funktion ${CALLERID(num)}

Obwohl wir im Buch erst später über Variablen (siehe Abschnitt 6.1.2, „Variablen“) und Funktionen (siehe Anhang D, Funktionen im Dialplan) sprechen, möchte ich zwei sehr einfache und intuitiv zu benutzende Elemente schon hier vorstellen. Es handelt sich um die Systemvariable ${EXTEN} und die Funktion ${CALLERID(num)}.

3.5.1. ${EXTEN}

In der Systemvariable ${EXTEN} wird von Asterisk automatisch die gewählte Rufnummer (also die Extension) gespeichert. Mann kann also in der extensions.conf anstatt
exten => 2000,1,Dial(SIP/2000)
auch einfach
exten => 2000,1,Dial(SIP/${EXTEN})
schreiben. Bei einer Zeile ist das natürlich noch wenig sinnvoll, aber wenn man diese Funktionalität mit Pattern Matching (siehe Abschnitt 3.3.1, „Syntax“) kombiniert, dann kann man sehr viel Zeit und Aufwand sparen und bekommt zusätzlich auch noch eine viel übersichtlichere Konfiguration.
Um somit alle SIP-Telefone mit den Durchwahlen 2000 bis 2999 in der extensions.conf anwählbar zu machen, reicht folgende Zeile:
exten => _2XXX,1,Dial(SIP/${EXTEN})

Tipp

Eine ausführliche Beschreibung zum Thema Variablen finden Sie unter Abschnitt 6.2, „Variablen“.

3.5.2. ${CALLERID(num)}

Der Funktionsaufruf ${CALLERID(num)} gibt als Ergebnis die Nummer des Anrufers aus. Dies ist besonders bei der Applikation VoiceMailMain() praktisch, da man dort als ersten Parameter die gewünschte Mailboxnummer angeben kann. So könnte man mit folgendem Dialplan-Eintrag eine komfortable Abfrage der Voicemailbox realisieren:
exten => 99,1,VoiceMailMain(${CALLERID(num)})

Tipp

Eine ausführliche Beschreibung zur Funktion ${CALLERID(num)} finden Sie unter Abschnitt D.8, „CALLERID().