C.55. ExternalIVR()

Startet eine externe IVR-Applikation.
ExternalIVR(Shell-Befehl[,Arg1[,Arg2[,...]]])
Forkt den Prozess und startet eine externe IVR[201]-Applikation. Diese Applikation erhält alle DTMF-Ereignisse, um darauf reagieren zu können. Sie wird beim Auflegen des Kanals benachrichtigt, muss sich aber selbst beenden. Das Kommunikationsprotokoll zwischen Asterisk und der Applikation wird in doc/externalivr.txt beschrieben.
Asterisk-Versionen:
————————| 1.2 |————————| 1.4 |————————| 1.6 |————————
Interner Hilfetext zu dieser Applikation in Asterisk 1.4:
  -= Info about application 'ExternalIVR' =-

[Synopsis]
Interfaces with an external IVR application

[Description]
  ExternalIVR(command[|arg[|arg...]]): Forks a process to run the supplied command,
and starts a generator on the channel. The generator's play list is
controlled by the external application, which can add and clear entries
via simple commands issued over its stdout. The external application
will receive all DTMF events received on the channel, and notification
if the channel is hung up. The application will not be forcibly terminated
when the channel is hung up.
See doc/externalivr.txt for a protocol specification.
Differenz des internen Hilfetexts von Asterisk 1.2 zu 1.4:
--- in Asterisk 1.2
+++ in Asterisk 1.4
@@ -4,11 +4,11 @@
   Interfaces with an external IVR application

   [Description]
-    ExternalIVR(command[|arg[|arg...]]): Forks an process to run the supplied command,
+    ExternalIVR(command[|arg[|arg...]]): Forks a process to run the supplied command,
   and starts a generator on the channel. The generator's play list is
   controlled by the external application, which can add and clear entries
   via simple commands issued over its stdout. The external application
   will receive all DTMF events received on the channel, and notification
   if the channel is hung up. The application will not be forcibly terminated
   when the channel is hung up.
-  See doc/README.externalivr for a protocol specification.
+  See doc/externalivr.txt for a protocol specification.
Differenz des internen Hilfetexts von Asterisk 1.4 zu 1.6:
--- in Asterisk 1.4
+++ in Asterisk 1.6
@@ -4,11 +4,18 @@
   Interfaces with an external IVR application

   [Description]
-    ExternalIVR(command[|arg[|arg...]]): Forks a process to run the supplied command,
-  and starts a generator on the channel. The generator's play list is
-  controlled by the external application, which can add and clear entries
-  via simple commands issued over its stdout. The external application
-  will receive all DTMF events received on the channel, and notification
-  if the channel is hung up. The application will not be forcibly terminated
-  when the channel is hung up.
+    ExternalIVR(command|ivr://ivrhosti([,arg[,arg...]])[,options]): Either forks a process
+  to run given command or makes a socket to connect to given host and starts
+  a generator on the channel. The generator's play list is controlled by the
+  external application, which can add and clear entries via simple commands
+  issued over its stdout. The external application will receive all DTMF events
+  received on the channel, and notification if the channel is hung up. The
+  application will not be forcibly terminated when the channel is hung up.
   See doc/externalivr.txt for a protocol specification.
+  The 'n' option tells ExternalIVR() not to answer the channel.
+  The 'i' option tells ExternalIVR() not to send a hangup and exit when the
+    channel receives a hangup, instead it sends an 'I' informative message
+    meaning that the external application MUST hang up the call with an H command
+  The 'd' option tells ExternalIVR() to run on a channel that has been hung up
+    and will not look for hangups.  The external application must exit with
+    an 'E' command.


Interactive Voice Response