[asterisk-commits] jpeeler: trunk r108639 - in /trunk: ./ apps/ doc/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Mar 13 18:12:59 CDT 2008


Author: jpeeler
Date: Thu Mar 13 18:12:59 2008
New Revision: 108639

URL: http://svn.digium.com/view/asterisk?view=rev&rev=108639
Log:
documenting changes as a result of adding TCP functionality to ExternalIVR

Modified:
    trunk/CHANGES
    trunk/apps/app_externalivr.c
    trunk/doc/externalivr.txt

Modified: trunk/CHANGES
URL: http://svn.digium.com/view/asterisk/trunk/CHANGES?view=diff&rev=108639&r1=108638&r2=108639
==============================================================================
--- trunk/CHANGES (original)
+++ trunk/CHANGES Thu Mar 13 18:12:59 2008
@@ -399,6 +399,8 @@
      or NOCHANNEL if the given channel was not found.
   * The silencethreshold setting that was previously configurable in multiple
      applications is now settable globally via dsp.conf.
+  * Added ability to communicate over a TCP socket instead of forking a child process for the 
+    ExternalIVR application.
 
 Music On Hold Changes
 ---------------------

Modified: trunk/apps/app_externalivr.c
URL: http://svn.digium.com/view/asterisk/trunk/apps/app_externalivr.c?view=diff&rev=108639&r1=108638&r2=108639
==============================================================================
--- trunk/apps/app_externalivr.c (original)
+++ trunk/apps/app_externalivr.c Thu Mar 13 18:12:59 2008
@@ -52,13 +52,13 @@
 static const char *synopsis = "Interfaces with an external IVR application";
 
 static const char *descrip =
-"  ExternalIVR(command[,arg[,arg...]]): Forks a process to run the supplied command,\n"
-"and starts a generator on the channel. The generator's play list is\n"
-"controlled by the external application, which can add and clear entries\n"
-"via simple commands issued over its stdout. The external application\n"
-"will receive all DTMF events received on the channel, and notification\n"
-"if the channel is hung up. The application will not be forcibly terminated\n"
-"when the channel is hung up.\n"
+"  ExternalIVR(command|ivr://ivrhost[,arg[,arg...]]): Either forks a process\n"
+"to run given command or makes a socket to connect to given host and starts\n"
+"a generator on the channel. The generator's play list is controlled by the\n"
+"external application, which can add and clear entries via simple commands\n"
+"issued over its stdout. The external application will receive all DTMF events\n"
+"received on the channel, and notification if the channel is hung up. The\n"
+"application will not be forcibly terminated when the channel is hung up.\n"
 "See doc/externalivr.txt for a protocol specification.\n";
 
 /* XXX the parser in gcc 2.95 gets confused if you don't put a space between 'name' and the comma */

Modified: trunk/doc/externalivr.txt
URL: http://svn.digium.com/view/asterisk/trunk/doc/externalivr.txt?view=diff&rev=108639&r1=108638&r2=108639
==============================================================================
--- trunk/doc/externalivr.txt (original)
+++ trunk/doc/externalivr.txt Thu Mar 13 18:12:59 2008
@@ -10,13 +10,21 @@
 
 The arguments to ExternalIVR() consist of the command to execute and
 any arguments to pass to it, the same as the System() application
-accepts. The external command will be executed in a child process,
+accepts. The external command can be executed in a child process,
 with its standard file handles connected to the Asterisk process as
 follows:
 
 stdin (0) - DTMF and hangup events will be received on this handle
 stdout (1) - Playback and hangup commands can be sent on this handle
 stderr (2) - Error messages can be sent on this handle
+
+The external command can also be executed on another host entirely
+(specified by the ivr:// prefix), with its standard file handles
+connected to the Asterisk process as follows:
+
+stdin (0) - DTMF and hangup events will be received on this handle
+stdout (1) - Playback and hangup commands can be sent on this handle
+There are no error messages available when using ExternalIVR over TCP.
 
 The application will also create an audio generator to play audio to
 the channel, and will start playing silence. When your application




More information about the asterisk-commits mailing list