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

Obwohl wir im Buch erst später über Variablen (siehe „Variablen") und Funktionen (siehe Funktionen im Dialplan) sprechen, stellen wir zwei sehr einfache und intuitive Elemente schon hier vor: die Systemvariable ${EXTEN} und die Funktion $\{CALLERID(num)}.

${EXTEN}

In der Systemvariable ${EXTEN} speichert Asterisk die gewählte Rufnummer. Man kann also statt

exten => 2000,1,Dial(PJSIP/2000)

auch

exten => 2000,1,Dial(PJSIP/${EXTEN})

schreiben. Bei einer einzelnen Zeile ist das noch wenig sinnvoll — in Kombination mit Pattern Matching (siehe Pattern Matching) spart es aber viel Tipparbeit und macht die Konfiguration kompakt.

Um alle SIP-Telefone mit den Durchwahlen 2000 bis 2999 wählbar zu machen, genügt eine Zeile:

exten => _2XXX,1,Dial(PJSIP/${EXTEN})

Voraussetzung ist, dass die entsprechenden Endpoints in pjsip.conf existieren.

Eine ausführliche Beschreibung zum Thema Variablen finden Sie unter „Variablen".

$\{CALLERID(num)}

$\{CALLERID(num)} liefert die Nummer des Anrufers. Besonders praktisch ist das bei VoiceMailMain(): Der erste Parameter ist dort die gewünschte Mailboxnummer — mit $\{CALLERID(num)} hört der Benutzer automatisch seine eigene Mailbox ab:

exten => 99,1,VoiceMailMain(${CALLERID(num)}@default,s)

Eine ausführliche Beschreibung der Funktion CALLERID() finden Sie in der offiziellen Dokumentation unter https://docs.asterisk.org.