extensions.conf
wie folgt aussehen:[general] [apfelmus] exten => 100,1,Answer() exten => 100,2,Playback(hello-world) exten => 100,3,Hangup() exten => 101,1,Answer() exten => 101,2,Playback(hello-world) exten => 101,3,Hangup() exten => 102,1,Answer() exten => 102,2,Playback(hello-world) exten => 102,3,Hangup() exten => 103,1,Answer() exten => 103,2,Playback(hello-world) exten => 103,3,Hangup() exten => 104,1,Answer() exten => 104,2,Playback(hello-world) exten => 104,3,Hangup() exten => 105,1,Answer() exten => 105,2,Playback(hello-world) exten => 105,3,Hangup() exten => 106,1,Answer() exten => 106,2,Playback(hello-world) exten => 106,3,Hangup() exten => 107,1,Answer() exten => 107,2,Playback(hello-world) exten => 107,3,Hangup() exten => 108,1,Answer() exten => 108,2,Playback(hello-world) exten => 108,3,Hangup() exten => 109,1,Answer() exten => 109,2,Playback(hello-world) exten => 109,3,Hangup()
[general] [apfelmus] exten => _10X,1,Answer() exten => _10X,2,Playback(hello-world) exten => _10X,3,Hangup()
_10X
beschreibt den Zahlenraum von 100 bis
109._
) vor
dem eigentlichen Suchmuster eingeleitet:exten => _Regular Expression,Prioritaet,Applikation
[ABC]
exten => _3[478],1,NoOp(Test)
[A-B]
exten => _3[1-5],1,NoOp(Test)(Zum Beispiel wäre auch
[25-8]
für folgende Ziffern
möglich: 2,5,6,7,8.)X
exten => _3XX,1,NoOp(Test)
Z
exten => _3Z,1,NoOp(Test)
N
exten => _3N,1,NoOp(Test)
.
exten => _0.,1,NoOp(Test)
_.
sollten Sie nicht verwenden!
Es trifft auch auf besondere Extensions wie i
,
t
oder h
zu. Benutzen Sie
stattdessen _X.
oder _X
falls
nötig.!
_
) eingegeben wurde.extensions.conf
der folgende Dialplan
steht:[general] [meine-telefone] exten => 23,1,Answer() exten => 23,2,Playback(hello-world) exten => 23,3,Hangup()
asterisk -r
gestartet werden kann) mit dem Befehl dialplan show
(auf Asterisk 1.2: show dialplan
) den aktuellen
Dialplan anzeigen:*CLI> dialplan show
[ Context 'default' created by 'pbx_config' ]
[ Context 'meine-telefone' created by 'pbx_config' ]
'23' => 1. Answer() [pbx_config]
2. Playback(hello-world) [pbx_config]
3. Hangup() [pbx_config]
[ Context 'parkedcalls' created by 'res_features' ]
'700' => 1. Park() [res_features]
-= 2 extensions (4 priorities) in 3 contexts. =-
*CLI>
features.conf
aktiviert und stört uns jetzt nicht
weiter). Wenn wir uns nur für den Dialplan für den Context
meine-telefone
interessieren, so können wir diesen mit
dialplan show meine-telefone
abrufen:*CLI> dialplan show meine-telefone
[ Context 'meine-telefone' created by 'pbx_config' ]
'23' => 1. Answer() [pbx_config]
2. Playback(hello-world) [pbx_config]
3. Hangup() [pbx_config]
-= 1 extension (3 priorities) in 1 context. =-
*CLI>
dialplan show
kann aber nicht nur ganze Contexte anzeigen, sondern auch sagen, was
passiert, wenn ich eine bestimmte Nummer wähle. Wenn ich mit einem
Telefon, das im Context meine-telefone
ist, die Nummer 25
anrufe, dann kann ich mit dialplan show
25@meine-telefone
anzeigen, was passiert:*CLI> dialplan show 25@meine-telefone
There is no existence of 25@meine-telefone extension
*CLI>
*CLI> dialplan show 23@meine-telefone
[ Context 'meine-telefone' created by 'pbx_config' ]
'23' => 1. Answer() [pbx_config]
2. Playback(hello-world) [pbx_config]
3. Hangup() [pbx_config]
-= 1 extension (3 priorities) in 1 context. =-
*CLI>
dialplan show
23@:
*CLI> dialplan show 23@
[ Context 'meine-telefone' created by 'pbx_config' ]
'23' => 1. Answer() [pbx_config]
2. Playback(hello-world) [pbx_config]
3. Hangup() [pbx_config]
-= 1 extension (3 priorities) in 1 context. =-
*CLI>
[general] [meine-telefone] exten => 23,1,Answer() exten => 23,2,Playback(hello-world) exten => 23,3,Hangup() [abteilung-z] exten => _2X,1,Answer() exten => _2X,2,Playback(hello-world) exten => _2X,3,Hangup()
dialplan show
23@
aus (vorher müssen wir natürlich Asterisk mit
reload
im CLI sagen, dass es den neuen Dialplan
einlesen soll):*CLI> dialplan show 23@
[ Context 'abteilung-z' created by 'pbx_config' ]
'_2X' => 1. Answer() [pbx_config]
2. Playback(hello-world) [pbx_config]
3. Hangup() [pbx_config]
[ Context 'meine-telefone' created by 'pbx_config' ]
'23' => 1. Answer() [pbx_config]
2. Playback(hello-world) [pbx_config]
3. Hangup() [pbx_config]
-= 2 extensions (6 priorities) in 2 contexts. =-
*CLI>
dialplan show 25@
aus:*CLI> dialplan show 25@
[ Context 'abteilung-z' created by 'pbx_config' ]
'_2X' => 1. Answer() [pbx_config]
2. Playback(hello-world) [pbx_config]
3. Hangup() [pbx_config]
-= 1 extension (3 priorities) in 1 context. =-
*CLI>
abteilung-z
. Sollten Sie also mit einem Telefon,
das im Context meine-telefone
arbeitet, die 25 wählen, so
werden Sie trotzdem kein hello-world hören, denn dies funktioniert nur
bei Telefonen, die auch im Context abteilung-z
arbeiten.[verkauf] exten => _12X.,1,NoOp{12X} exten => 12345,1,NoOp(12345} exten => _1234.,1,NoOp{1234.}
dialplan show
12345@verkauf
überprüfen:*CLI> dialplan show 12345@verkauf
[ Context 'verkauf' created by 'pbx_config' ]
'12345' => 1. NoOp(12345}) [pbx_config]
'_1234.' => 1. NoOp{1234.}() [pbx_config]
'_12X.' => 1. NoOp{12X}() [pbx_config]
-= 3 extensions (3 priorities) in 1 context. =-
*CLI>
Asterisk zeigt alle Treffer, aber priorisiert die Zeile, in
der 12345,1,NoOP{12345}
steht. Die höchste Priorität wird
immer ganz oben angezeigt.dialplan show 12346@verkauf
:*CLI> dialplan show 12346@verkauf
[ Context 'verkauf' created by 'pbx_config' ]
'_1234.' => 1. NoOp{1234.}() [pbx_config]
'_12X.' => 1. NoOp{12X}() [pbx_config]
-= 2 extensions (2 priorities) in 1 context. =-
*CLI>
show dialplan 12345@verkauf
lässt sich der Dialplan
für die gewählte Nummer 12345 im Context verkauf
auflisten.
So können Sie für spezielle Nummern überprüfen, ob auch die dafür
vorgesehene Regel matcht._.
bekommt in der Asterisk-Version 1.2 immer
die höchste Priorität!show
dialplan
zwar auch noch in der Version 1.4 funktioniert,
aber unerwünscht ist. Deshalb lauten die Aufrufe in der Version
1.2 show dialplan
und in der Version 1.4
dialplan show
._.
" aus:[verkauf] exten => _12X.,1,NoOp{12X} exten => 12345,1,NoOp(12345} exten => _1234.,1,NoOp{1234.} exten => _.,1,NoOp{Bingo}
dialplan show 12346@verkauf
in
der Version 1.4 folgende Ausgabe:*CLI> dialplan show 12346@verkauf
[ Context 'verkauf' created by 'pbx_config' ]
'_1234.' => 1. NoOp{1234.}() [pbx_config]
'_12X.' => 1. NoOp{12X}() [pbx_config]
'_.' => 1. NoOp{Bingo}() [pbx_config]
-= 3 extensions (3 priorities) in 1 context. =-
*CLI>
show dialplan
12346@verkauf
aber folgende Ausgabe:*CLI> dialplan show 12346@verkauf
[ Context 'verkauf' created by 'pbx_config' ]
'_.' => 1. NoOp{Bingo}() [pbx_config]
'_1234.' => 1. NoOp{1234.}() [pbx_config]
'_12X.' => 1. NoOp{12X}() [pbx_config]
-= 3 extensions (3 priorities) in 1 context. =-
*CLI>
_X.
benutzen. Der folgende Dialplan wird in den
Asterisk-Versionen 1.2 und 1.4 gleich behandelt:[verkauf] exten => _12X.,1,NoOp{12X} exten => 12345,1,NoOp(12345} exten => _1234.,1,NoOp{1234.} exten => _X.,1,NoOp{Bingo}
*CLI> dialplan show 12346@verkauf
[ Context 'verkauf' created by 'pbx_config' ]
'_1234.' => 1. NoOp{1234.}() [pbx_config]
'_12X.' => 1. NoOp{12X}() [pbx_config]
'_X.' => 1. NoOp{Bingo}() [pbx_config]
-= 3 extensions (3 priorities) in 1 context. =-
*CLI>
[9] Es gibt noch weitere Elemente, die im deutschen Sprachraum aber im Allgemeinen wenig Sinn machen. Aus diesem Grund werden sie hier nicht aufgeführt.