From: Anthony Minessale Date: Thu, 3 Sep 2009 18:21:15 +0000 (+0000) Subject: allow profile to be specified sep from domain user@domain.com@myprofile X-Git-Tag: v1.0.6~1950 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7bc1c0e8d52d114b1b1292ad992091c32cf2ae8d;p=thirdparty%2Ffreeswitch.git allow profile to be specified sep from domain user@domain.com@myprofile git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@14756 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- diff --git a/src/mod/applications/mod_voicemail/mod_voicemail.c b/src/mod/applications/mod_voicemail/mod_voicemail.c index 76163c4101..7838ac6373 100644 --- a/src/mod/applications/mod_voicemail/mod_voicemail.c +++ b/src/mod/applications/mod_voicemail/mod_voicemail.c @@ -2614,7 +2614,7 @@ static switch_status_t deliver_vm(vm_profile_t *profile, static switch_status_t voicemail_inject(const char *data) { vm_profile_t *profile; - char *dup = NULL, *user = NULL, *domain = NULL; + char *dup = NULL, *user = NULL, *domain = NULL, *profile_name = NULL; switch_status_t status = SWITCH_STATUS_SUCCESS; int isgroup = 0, isall = 0; int argc = 0; @@ -2649,6 +2649,12 @@ static switch_status_t voicemail_inject(const char *data) domain = user; } + if ((profile_name = strchr(domain, '@'))) { + *profile_name++ = '\0'; + } else { + profile_name = domain; + } + if (switch_stristr("group=", user)) { user += 6; isgroup++; @@ -2662,8 +2668,10 @@ static switch_status_t voicemail_inject(const char *data) goto end; } - if (!(profile = get_profile(domain))) { - profile = get_profile("default"); + if (!(profile = get_profile(profile_name))) { + if (!(profile = get_profile(domain))) { + profile = get_profile("default"); + } } if (!profile) {