summaryrefslogtreecommitdiff
path: root/channels/chan_skinny.c
diff options
context:
space:
mode:
authorDamien Wedhorn <voip@facts.com.au>2012-12-14 01:55:43 +0000
committerDamien Wedhorn <voip@facts.com.au>2012-12-14 01:55:43 +0000
commitcb6e00b4086e34985d32a7c3f1564b594ef1e08a (patch)
tree67bade697f3c328a7f3eeb8ff65faf8f16416342 /channels/chan_skinny.c
parentb514659d1c94430dba0e6aa95735fd6c15a85b19 (diff)
Fix skinny to recognise vmexten in general section of conf
Fixup the vmexten so if globally set in general section will be honored by chan_skinny. Also get rid of the 'global_' part of variable name to match regexten. (closes issue ASTERISK-20790) Reported by: snuffy Tested by: snuffy, myself Patches: skinny-vm.diff uploaded by snuffy (license 5024) ........ Merged revisions 378010 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378011 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_skinny.c')
-rw-r--r--channels/chan_skinny.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c
index bd24c6a05..2e43411ab 100644
--- a/channels/chan_skinny.c
+++ b/channels/chan_skinny.c
@@ -202,7 +202,7 @@ static int keep_alive = 120;
static int auth_timeout = DEFAULT_AUTH_TIMEOUT;
static int auth_limit = DEFAULT_AUTH_LIMIT;
static int unauth_sessions = 0;
-static char global_vmexten[AST_MAX_EXTENSION]; /* Voicemail pilot number */
+static char vmexten[AST_MAX_EXTENSION]; /* Voicemail pilot number */
static char used_context[AST_MAX_EXTENSION]; /* placeholder to check if context are already used in regcontext */
static char regcontext[AST_MAX_CONTEXT]; /* Context for auto-extension */
static char date_format[6] = "D-M-Y";
@@ -4170,7 +4170,7 @@ static char *handle_skinny_show_settings(struct ast_cli_entry *e, int cmd, struc
ast_cli(a->fd, " Bindaddress: %s\n", ast_inet_ntoa(bindaddr.sin_addr));
ast_cli(a->fd, " KeepAlive: %d\n", keep_alive);
ast_cli(a->fd, " Date Format: %s\n", date_format);
- ast_cli(a->fd, " Voice Mail Extension: %s\n", S_OR(global_vmexten, "(not set)"));
+ ast_cli(a->fd, " Voice Mail Extension: %s\n", S_OR(vmexten, "(not set)"));
ast_cli(a->fd, " Reg. context: %s\n", S_OR(regcontext, "(not set)"));
ast_cli(a->fd, " Jitterbuffer enabled: %s\n", AST_CLI_YESNO(ast_test_flag(&global_jbconf, AST_JB_ENABLED)));
if (ast_test_flag(&global_jbconf, AST_JB_ENABLED)) {
@@ -7212,6 +7212,9 @@ static struct ast_channel *skinny_request(const char *type, struct ast_format_ca
}
ast_copy_string(regcontext, v->value, sizeof(regcontext));
continue;
+ } else if (!strcasecmp(v->name, "vmexten")) {
+ ast_copy_string(vmexten, v->value, sizeof(vmexten));
+ continue;
} else if (!strcasecmp(v->name, "dateformat")) {
memcpy(date_format, v->value, sizeof(date_format));
continue;
@@ -7653,6 +7656,10 @@ static struct ast_channel *skinny_request(const char *type, struct ast_format_ca
AST_EVENT_IE_NEWMSGS, AST_EVENT_IE_PLTYPE_EXISTS,
AST_EVENT_IE_END);
}
+
+ if (!ast_strlen_zero(vmexten) && ast_strlen_zero(l->vmexten)) {
+ ast_copy_string(l->vmexten, vmexten, sizeof(l->vmexten));
+ }
ast_mutex_unlock(&l->lock);