diff --git a/apps/app_dial.c b/apps/app_dial.c index 9f00347a77..5658e9127e 100644 --- a/apps/app_dial.c +++ b/apps/app_dial.c @@ -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" diff --git a/apps/app_macro.c b/apps/app_macro.c index bbef7683a3..f1d87b3540 100644 --- a/apps/app_macro.c +++ b/apps/app_macro.c @@ -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" diff --git a/main/pbx.c b/main/pbx.c index 4c9ecb368e..b4e5f1189a 100644 --- a/main/pbx.c +++ b/main/pbx.c @@ -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" }, };