* Mark the module deprecated.
* Disable the module by default.
* Produce a warning the first time a macro is used.
* Note deprecation related options in app_dial and app_queue.
ASTERISK-27350
Change-Id: I560ea043bacdbc5534a17d97854273d52c2f1bdc
--- Functionality changes from Asterisk 15 to Asterisk 16 --------------------
------------------------------------------------------------------------------
+app_macro
+------------------
+ * The app_macro module is now deprecated and by default it is no longer
+ built. Users should migrate to app_stack (Gosub). A warning is logged
+ the first time any Macro is used.
+
chan_sip
------------------
* New function SIP_HEADERS() enumerates all headers in the incoming INVITE.
New in 16.0.0:
+app_macro:
+ - The app_macro module is now deprecated and by default it is no longer
+ built. Users should migrate to app_stack (Gosub). A warning is logged
+ the first time any Macro is used.
+
New in 15.0.0:
Build System:
<warning><para>Be aware of the limitations that macros have, specifically with regards to use of
the <literal>WaitExten</literal> application. For more information, see the documentation for
<literal>Macro()</literal>.</para></warning>
+ <note>
+ <para>Macros are deprecated, GoSub should be used instead,
+ see the <literal>U</literal> option.</para>
+ </note>
</option>
<option name="n">
<argument name="delete">
*/
/*** MODULEINFO
- <support_level>core</support_level>
+ <defaultenabled>no</defaultenabled>
+ <support_level>deprecated</support_level>
<replacement>app_stack (GoSub)</replacement>
***/
char *save_macro_offset;
int save_in_subroutine;
struct ast_datastore *macro_store = ast_channel_datastore_find(chan, ¯o_ds_info, NULL);
+ static int deprecation_notice = 0;
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "Macro() requires arguments. See \"core show application macro\" for help.\n");
return -1;
}
+ if (!deprecation_notice) {
+ deprecation_notice = 1;
+ ast_log(LOG_WARNING, "Macro() is deprecated and will be removed from a future version of Asterisk.\n");
+ ast_log(LOG_WARNING, "Dialplan should be updated to use Gosub instead.\n");
+ }
+
do {
if (macro_store) {
break;
return res;
}
-AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Extension Macros");
+AST_MODULE_INFO_STANDARD_DEPRECATED(ASTERISK_GPL_KEY, "Extension Macros");
</parameter>
<parameter name="macro">
<para>Will run a macro on the called party's channel (the queue member) once the parties are connected.</para>
+ <note>
+ <para>Macros are deprecated, GoSub should be used instead.</para>
+ </note>
</parameter>
<parameter name="gosub">
<para>Will run a gosub on the called party's channel (the queue member) once the parties are connected.</para>