Hallo,
Ich beobachte gerade das Verhalten bei mehreren matchenden Patterns. Mir war das bisher nicht so 100% klar und auch die Dokus und Bücher gehen da für meinen Geschmack nicht viel darauf ein (oder ich habs nicht kapiert).
Jedenfalls bemerke ich folgendes Verhalten.
Beispiel (nicht besonders elegant, aber hilfreich um mein Anliegen darzustellen):
Laut show diaplan (hab hier eine Asterisk 1.2 Version) wird _test123. vor _test1234 priorisiert.
Wenn nun jemand test1234 anruft, dann werden diese beiden extensions quasi zusammengeführt. Nachdem die erste Priorität von _test123. ausgeführt wurde, wird in die zweite Priorität von _test1234 gesprungen. Die Priorität 1 von _test1234 wird nicht ausgeführt. Sieht dann so aus:
Was ich mich nun frage:
- Kann man davon ausgehen, dass man sich auf dieses Verhalten verlassen kann? Also auch in künftigen Versionen?
- Ist es sinnvoll mit diesem Verhalten zu taktieren? Zum Beispiel könnte man allen möglichen extensions sicherheitshalber ein paar "NoOp Prioritäten" voranstellen, um dann später mittels _. oder _X. mal so eben etwas einzufügen (Sipaddheader ist da eh ein gutes Beispiel).
Freu mich auf eure Meinungen und hoffe die Fragen sind nicht allzu blöd.
Ich beobachte gerade das Verhalten bei mehreren matchenden Patterns. Mir war das bisher nicht so 100% klar und auch die Dokus und Bücher gehen da für meinen Geschmack nicht viel darauf ein (oder ich habs nicht kapiert).
Jedenfalls bemerke ich folgendes Verhalten.
Beispiel (nicht besonders elegant, aber hilfreich um mein Anliegen darzustellen):
Code:
[beliebiger-kontext]
exten => _test123.,1,SipAddHeader(Remote-Party-ID: <sip:nur-zum-testen@hostname>)
exten => _test1234,1,noop(daswirdausgefuehrt)
exten => _test1234,2,noop(daswirdausgefuehrt2)
Laut show diaplan (hab hier eine Asterisk 1.2 Version) wird _test123. vor _test1234 priorisiert.
Wenn nun jemand test1234 anruft, dann werden diese beiden extensions quasi zusammengeführt. Nachdem die erste Priorität von _test123. ausgeführt wurde, wird in die zweite Priorität von _test1234 gesprungen. Die Priorität 1 von _test1234 wird nicht ausgeführt. Sieht dann so aus:
Code:
-- Executing SIPAddHeader("SIP/10-b5a05130", "Remote-Party-ID: <sip:nur-zum-testen@hostname>") in new stack
-- Executing NoOp("SIP/10-b5a05130", "daswirdausgefuehrt2") in new stack
Was ich mich nun frage:
- Kann man davon ausgehen, dass man sich auf dieses Verhalten verlassen kann? Also auch in künftigen Versionen?
- Ist es sinnvoll mit diesem Verhalten zu taktieren? Zum Beispiel könnte man allen möglichen extensions sicherheitshalber ein paar "NoOp Prioritäten" voranstellen, um dann später mittels _. oder _X. mal so eben etwas einzufügen (Sipaddheader ist da eh ein gutes Beispiel).
Freu mich auf eure Meinungen und hoffe die Fragen sind nicht allzu blöd.
Zuletzt bearbeitet: