From 7bc1c0e8d52d114b1b1292ad992091c32cf2ae8d Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 3 Sep 2009 18:21:15 +0000 Subject: [PATCH] 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 --- src/mod/applications/mod_voicemail/mod_voicemail.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) 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) {