Bei mir ist *97 unbekannt und asterisk quittiert das mit: Unknown extension
...da wird also nichts mit umgangen.
Das "Pattern Matching" folgt einer Logik der Prioritäten.
Wobei _X. immer die unterste Priorität bekommt, wenn eine andere Extension genauer trifft.
Die hat dann immer Vorrang.
Das macht besonders dann Sinn, wenn bestimmte Kontexte inkludiert werden.
Beispiel (welche Extension bekommt die höchste Priorität wenn zwei ** als Präfix gewählt werden)
asterisk -rvvvvv
Code:
osmc*CLI> dialplan show **799@osmc
[ Context 'osmc' created by 'pbx_config' ]
'_**.' => 1. NoOp(Fritz!Box internal Codes) [pbx_config]
2. TrySystem(/etc/asterisk/osmc_notify.sh \"${CALLERID(name)} (${CALLERID(num)})\" "${EXTEN}") [pbx_config]
3. Dial(SIP/${EXTEN}@fbfgateway9,90) [pbx_config]
4. Goto(s,${DIALSTATUS}) [pbx_config]
-= 1 extension (4 priorities) in 1 context. =-
Antwort: Nur Eine
Nächster Versuch, 200 eine Zeitansage...
Code:
osmc*CLI> dialplan show 200@osmc
[ Context 'osmc' created by 'pbx_config' ]
'200' => 1. Verbose(Zeitansage) [pbx_config]
2. TrySystem(/etc/asterisk/osmc_notify.sh \"${CALLERID(name)} (${CALLERID(num)})\" "${EXTEN}") [pbx_config]
3. Gosub(Zeitansage) [pbx_config]
4. Gosub(Zeitansage) [pbx_config]
5. Goto(moh,start) [pbx_config]
[ Included context 'Zeitansage' created by 'pbx_config' ]
'_X.' => 40000. NoOp(Zeitansage: ${EXTEN}) [pbx_config]
40001. SayUnixTime(,UTC-2,akM) [pbx_config]
40002. Return(0) [pbx_config]
[ Included context 'ANI' created by 'pbx_config' ]
'_X.' => 50000. NoOp(ANI: ${EXTEN}) [pbx_config]
50001. Wait(0.25) [pbx_config]
50002. Answer() [pbx_config]
50003. Playback(vm-from) [pbx_config]
50004. SayDigits(${CALLERID(ani)}) [pbx_config]
50005. Wait(1.25) [pbx_config]
50006. SayDigits(${CALLERID(ani)}) [pbx_config]
50007. Return() [pbx_config]
-= 3 extensions (16 priorities) in 3 contexts. =-
Die 200 ist exakt definiert worden und bekommt deshalb die höchste Priorität.
Die zwei inkludierten _X. treffen dabei nicht, aber eine davon wird trotzdem ausgeführt, nämlich aus der Extension 200 heraus ( Gosub(Zeitansage) ).
Also immer schön die Pattern testen, dann gibt es auch keine unliebsamen Überraschungen.
Das gilt auch und insbesondere für die als Öffentliche Kontexte deklarierten:
default und/oder
public
Die sind für die eingehenden Anrufe zuständig und verdienen besondere Beachtung.