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;
domain = user;
}
+ if ((profile_name = strchr(domain, '@'))) {
+ *profile_name++ = '\0';
+ } else {
+ profile_name = domain;
+ }
+
if (switch_stristr("group=", user)) {
user += 6;
isgroup++;
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) {