]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 195162 via svnmerge from
authorEliel C. Sardanons <eliels@gmail.com>
Mon, 18 May 2009 15:13:34 +0000 (15:13 +0000)
committerEliel C. Sardanons <eliels@gmail.com>
Mon, 18 May 2009 15:13:34 +0000 (15:13 +0000)
https://origsvn.digium.com/svn/asterisk/trunk

........
  r195162 | eliel | 2009-05-18 10:45:23 -0400 (Mon, 18 May 2009) | 9 lines

  Warn about the use of the application WaitExten() within a Macro().

  Update applications documentation to warn the user about the use of the
  WaitExten() application within a Macro(). Recommend the use of Read()
  instead.

  (closes issue #14444)
  Reported by: ewieling
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@195167 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_dial.c
apps/app_macro.c
main/pbx.c

index 9f00347a77235e7447f836be3d21f176d3f36398..5658e9127e558410bea42c7bce8bb83cbf01ed86 100644 (file)
@@ -168,6 +168,8 @@ static char *descrip =
 "           You cannot use any additional action post answer options in conjunction\n"
 "           with this option. Also, pbx services are not run on the peer (called) channel,\n"
 "           so you will not be able to set timeouts via the TIMEOUT() function in this macro.\n"
+"           Be aware of the limitations that macros have, specifically with regards to use of\n"
+"           the WaitExten application. For more information, see the documentation for Macro()\n"
 "    n    - This option is a modifier for the screen/privacy mode. It specifies\n"
 "           that no introductions are to be saved in the priv-callerintros\n"
 "           directory.\n"
index bbef7683a32e0470d6e5537ac93988355824cbf0..f1d87b3540a3b8536e6f0646912ccdf38a3c56be 100644 (file)
@@ -42,6 +42,10 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 /* special result value used to force macro exit */
 #define MACRO_EXIT_RESULT 1024
 
+#define WAITEXTENWARNING "Use of the application WaitExten within a macro will not function as expected.\n" \
+       "Please use the Read application in order to read DTMF from a channel currently\n" \
+       "executing a macro.\n"
+
 static char *descrip =
 "  Macro(macroname,arg1,arg2...): Executes a macro using the context\n"
 "'macro-<macroname>', jumping to the 's' extension of that context and\n"
@@ -61,20 +65,23 @@ static char *descrip =
 "         Asterisk to crash earlier than this limit. It is advised that if you\n"
 "         need to deeply nest macro calls, that you use the Gosub application\n"
 "         (now allows arguments like a Macro) with explict Return() calls\n"
-"         instead.\n";
+"         instead.\n"
+WAITEXTENWARNING;
 
 static char *if_descrip =
 "  MacroIf(<expr>?macroname_a[,arg1][:macroname_b[,arg1]])\n"
 "Executes macro defined in <macroname_a> if <expr> is true\n"
 "(otherwise <macroname_b> if provided)\n"
-"Arguments and return values as in application Macro()\n";
+"Arguments and return values as in application Macro()\n"
+WAITEXTENWARNING;
 
 static char *exclusive_descrip =
 "  MacroExclusive(macroname,arg1,arg2...):\n"
 "Executes macro defined in the context 'macro-macroname'\n"
 "Only one call at a time may run the macro.\n"
 "(we'll wait if another call is busy executing in the Macro)\n"
-"Arguments and return values as in application Macro()\n";
+"Arguments and return values as in application Macro()\n"
+WAITEXTENWARNING;
 
 static char *exit_descrip =
 "  MacroExit():\n"
index 4c9ecb368e047d7f1c187f2023c4d30ee0d2eb87..b4e5f1189a4caa6962bc674024defbba6a61a6d5 100644 (file)
@@ -722,6 +722,9 @@ static struct pbx_builtin {
        "  Options:\n"
        "    m[(x)] - Provide music on hold to the caller while waiting for an extension.\n"
        "               Optionally, specify the class for music on hold within parenthesis.\n"
+       "Warning: Attempting to use this application from within a Macro will not work as\n"
+       "desired. The Read() application is recommended as an alternative to WaitExten when\n"
+       "used from a macro\n"
        "See Also: Playback(application), Background(application).\n"
        },
 };