C.51. ExecIf()

Führt eine Asterisk-Anwendung unter bestimmten Bedingungen aus.
ExecIf(Ausdruck,Applikation,Argumente)
Ist Ausdruck (siehe Expression) wahr, wird die angegebene Applikation mit den Parametern Argumente ausgeführt, und deren Ergebnis zurückgeliefert. Siehe doc/README.variables (1.2) / doc/channelvariables.txt (1.4) für weiterführende Informationen über Standard-Asterisk-Ausdrücke.
Ist der Ausdruck nicht wahr (also false), wird die Ausführung mit der nächsten Priorität fortgesetzt.
exten => 123,1,ExecIf($[${CALLERID(num)} = 101],SayDigits,123)
exten => 123,n,SayDigits(678)
Asterisk-Versionen:
————————| 1.2 |————————| 1.4 |————————| 1.6 |————————
Interner Hilfetext zu dieser Applikation in Asterisk 1.4:
  -= Info about application 'ExecIf' =-

[Synopsis]
Executes dialplan application, conditionally

[Description]
Usage:  ExecIF (<expr>|<app>|<data>)
If <expr> is true, execute and return the result of <app>(<data>).
If <expr> is true, but <app> is not found, then the application
will return a non-zero value.
Differenz des internen Hilfetexts von Asterisk 1.2 zu 1.4:
--- in Asterisk 1.2
+++ in Asterisk 1.4
@@ -1,7 +1,7 @@
     -= Info about application 'ExecIf' =-

   [Synopsis]
-  Conditional exec
+  Executes dialplan application, conditionally

   [Description]
   Usage:  ExecIF (<expr>|<app>|<data>)
Differenz des internen Hilfetexts von Asterisk 1.4 zu 1.6:
--- in Asterisk 1.4
+++ in Asterisk 1.6
@@ -4,7 +4,7 @@
   Executes dialplan application, conditionally

   [Description]
-  Usage:  ExecIF (<expr>|<app>|<data>)
-  If <expr> is true, execute and return the result of <app>(<data>).
-  If <expr> is true, but <app> is not found, then the application
+    ExecIF (<expr>?<appiftrue>(<args>)[:<appiffalse>(<args>)])
+  If <expr> is true, execute and return the result of <appiftrue>(<args>).
+  If <expr> is true, but <appiftrue> is not found, then the application
   will return a non-zero value.