Exec()

Führt eine Asterisk-Anwendung dynamisch aus.

Exec(Applikationsname(Argumente))

Erlaubt den Aufruf einer beliebigen Anwendung, selbst wenn er nicht fest im Wählplan einprogrammiert ist. Liefert den Wert zurück, den diese Asterisk-Anwendung zurückliefert, oder -2, wenn die aufgerufene Anwendung nicht gefunden werden kann. Die Argumente werden an die aufgerufene Anwendung durchgereicht.

Diese Anwendung erlaubt den dynamischen Aufruf von Anwendungen, die aus einer Datenbank oder externen Quelle gelesen werden.

exten => 123,1,Set(app=SayDigits(12345))
exten => 123,2,Exec(${app})
[Wichtig]

Bei einem negativen Rückgabewert wird die Ausführung des Dialplans beendet. Will man das nicht, verwendet man TryExec().

[Anmerkung]

Interner Hilfetext zu dieser Applikation in Asterisk 1.4: 

  -= Info about application 'Exec' =- 

[Synopsis]
Executes dialplan application

[Description]
Usage: Exec(appname(arguments))
  Allows an arbitrary application to be invoked even when not
hardcoded into the dialplan.  If the underlying application
terminates the dialplan, or if the application cannot be found,
Exec will terminate the dialplan.
  To invoke external applications, see the application System.
  If you would like to catch any error instead, see TryExec.

Differenz zum internen Hilfetext in Asterisk 1.2: 

5c5
< Executes dialplan application
---
> Executes internal application
10,14c10,12
< hardcoded into the dialplan.  If the underlying application
< terminates the dialplan, or if the application cannot be found,
< Exec will terminate the dialplan.
<   To invoke external applications, see the application System.
<   If you would like to catch any error instead, see TryExec.
---
> hardcoded into the dialplan. To invoke external applications
> see the application System. Returns whatever value the
> app returns or a non-zero value if the app cannot be found.

Siehe auch. ExecIf(), TryExec(), System()