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:
Tilghman Lesher
2008-06-19 19:22:59 +00:00
parent 249ac33ab0
commit 122486b263
3 changed files with 21 additions and 1 deletions

View File

@@ -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);