ich würde gerne in einer Asterisk-Expression eine Oder-Verknüpfung verwenden. Wie ist die Syntax in dem Fall?
Derzeit versuche ich es so:
($ ${MDC_DIALCALLERNUM:1:8} = 052721234 ] | $ ${MDC_DIALCALLERNUM} = 31 ])
das scheint aber nicht ganz korrekt zu sein.
In der CLI gibt es eine entsprechende Warnmeldung:
Executing [9001@sub_main-9001:11] Set(“SIP/OUCyxEDKg79102f-0000007c”, “MDC_EXPRESSION-1=(0 | 1)”) in new stack
[Oct 4 16:19:51] WARNING[1168][C-00000039]: pbx.c:1618 pbx_exec: The application delimiter is now the comma, not the pipe. Did you forget to convert your dialplan? (Set(MDC_EXPRESSION-1=(0 | 1)))
Ziel ist es, dass die Expression wahr (1) zurück liefert, wenn eine der Bedingungen zutrifft.
Im Prinzip kannst Du ja beliebig viele Oder-Bedingungen hintereinander fortführen. Sollte dann so aussehen (ungetestet):
$[ ${MDC_DIALCALLERNUM:1:8} = 052721234 | ${MDC_DIALCALLERNUM} = 31 | ${MDC_DIALCALLERNUM} = noch irgendeineNummer | ${MDC_DIALCALLERNUM} = noch eine weitere Nummer]
Gruß
Michael
alles hier beschriebene sollte möglich sein, wichtig ist auf die Klammern aufzupassen. Hier könnte mich ein Entwickler Lügen strafen, aber ich glaube alles ungleich 0 wird als wahr angesehen ( falls nicht zumindest alles größer 0, falls auch das nicht dann darauf achten das 0 oder 1 dabei rauskommt )