Make pbx_config.c use Gosub instead of Macro call for stdexten.
authorRichard Mudgett <rmudgett@digium.com>
Thu, 5 Jan 2012 23:06:17 +0000 (23:06 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Thu, 5 Jan 2012 23:06:17 +0000 (23:06 +0000)
Users created by users.conf with hasvoicemail=yes have been documented as
using a Gosub to stdexten since v1.6.0.  However, the code still generates
dialplan to access stdexten as a Macro as documented in v1.4; which does
not work with the newer extensions.conf.sample file.

* Make generated dialplan access the stdexten dialplan with the documented
Gosub instead of the older Macro style.

(closes issue ASTERISK-18809)
Reported by: Jay Allen
Patches:
      gosub_patch-pbx_config.patch (license #6323) patch uploaded by Jay Allen (modified)
Tested by: rmudgett

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

UPGRADE.txt
pbx/pbx_config.c

index 90aa4a3..a876d07 100644 (file)
@@ -49,6 +49,11 @@ SIP
  - A new option "tonezone" for setting default tonezone for the channel driver
    or individual devices
 
+users.conf:
+ - A defined user with hasvoicemail=yes now finally uses a Gosub to stdexten
+   as documented in extensions.conf.sample since v1.6.0 instead of a Macro as
+   documented in v1.4.
+
 From 1.8 to 10:
 
 cel_pgsql:
index 91cfe04..15b3cc8 100644 (file)
@@ -1743,8 +1743,8 @@ static void pbx_load_users(void)
                        ast_add_extension2(con, 0, cat, -1, NULL, NULL, iface, NULL, NULL, registrar);
                        /* If voicemail, use "stdexten" else use plain old dial */
                        if (hasvoicemail) {
-                               snprintf(tmp, sizeof(tmp), "stdexten,%s,${HINT}", cat);
-                               ast_add_extension2(con, 0, cat, 1, NULL, NULL, "Macro", strdup(tmp), ast_free_ptr, registrar);
+                               snprintf(tmp, sizeof(tmp), "%s,stdexten(${HINT})", cat);
+                               ast_add_extension2(con, 0, cat, 1, NULL, NULL, "Gosub", strdup(tmp), ast_free_ptr, registrar);
                        } else {
                                ast_add_extension2(con, 0, cat, 1, NULL, NULL, "Dial", strdup("${HINT}"), ast_free_ptr, registrar);
                        }