mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-03 11:25:35 +00:00
Allow alternative extensions to be specified for a user.
(closes issue #12830) Reported by: jcollie Patches: astertisk-trunk-121496-alternate-extensions.patch uploaded by jcollie (license 412) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@124049 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1549,10 +1549,11 @@ static void pbx_load_users(void)
|
||||
struct ast_config *cfg;
|
||||
char *cat, *chan;
|
||||
const char *dahdichan;
|
||||
const char *hasexten;
|
||||
const char *hasexten, *altexts;
|
||||
char tmp[256];
|
||||
char iface[256];
|
||||
char dahdicopy[256];
|
||||
char *ext, altcopy[256];
|
||||
char *c;
|
||||
int len;
|
||||
int hasvoicemail;
|
||||
@@ -1643,6 +1644,17 @@ static void pbx_load_users(void)
|
||||
} else {
|
||||
ast_add_extension2(con, 0, cat, 1, NULL, NULL, "Dial", strdup("${HINT}"), ast_free_ptr, registrar);
|
||||
}
|
||||
altexts = ast_variable_retrieve(cfg, cat, "alternateexts");
|
||||
if (!ast_strlen_zero(altexts)) {
|
||||
snprintf(tmp, sizeof(tmp), "%s,1", cat);
|
||||
ast_copy_string(altcopy, altexts, sizeof(altcopy));
|
||||
c = altcopy;
|
||||
ext = strsep(&c, ",");
|
||||
while (ext) {
|
||||
ast_add_extension2(con, 0, ext, 1, NULL, NULL, "Goto", strdup(tmp), ast_free, registrar);
|
||||
ext = strsep(&c, ",");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
ast_config_destroy(cfg);
|
||||
|
Reference in New Issue
Block a user