]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
MODAPP-174
authorAnthony Minessale <anthony.minessale@gmail.com>
Thu, 4 Dec 2008 15:22:43 +0000 (15:22 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Thu, 4 Dec 2008 15:22:43 +0000 (15:22 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@10594 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/applications/mod_voicemail/mod_voicemail.c

index f79d215c861a2895981d4eda9032ebb41cdd364c..4049928a19bd94f8d823f28898c34529c11fd0d5 100644 (file)
@@ -2640,6 +2640,7 @@ static switch_status_t voicemail_leave_main(switch_core_session_t *session, cons
        int send_main = 0;
        int send_notify = 0;
        int insert_db = 1;
+       const char *read_id = NULL;
        const char *caller_id_name = NULL;
        const char *caller_id_number = NULL;
        switch_xml_t x_domain = NULL, x_domain_root = NULL, x_user = NULL, x_params = NULL, x_param = NULL;
@@ -2692,6 +2693,8 @@ static switch_status_t voicemail_leave_main(switch_core_session_t *session, cons
                                                insert_db = switch_true(val);
                                        } else if (!strcasecmp(var, "vm-attach-file")) {
                                                email_attach = switch_true(val);
+                                       } else if (!strcasecmp(var, "vm-alternate-greet-id")) {
+                                               read_id = switch_core_session_strdup(session, val);
                                        }
                                }
                        }
@@ -2783,9 +2786,10 @@ static switch_status_t voicemail_leave_main(switch_core_session_t *session, cons
                        TRY_CODE(switch_ivr_play_file(session, NULL, cbt.name_path, &args));
                }
                if (*buf == '\0') {
-                       const char *read_id;
-                       if (!(read_id = switch_channel_get_variable(channel, "voicemail_alternate_greet_id"))) {
-                               read_id = id;
+                       if (!read_id) {
+                               if (!(read_id = switch_channel_get_variable(channel, "voicemail_alternate_greet_id"))) {
+                                       read_id = id;
+                               }
                        }
                        memset(buf, 0, sizeof(buf));
                        TRY_CODE(switch_ivr_phrase_macro(session, VM_PLAY_GREETING_MACRO, read_id, NULL, &args));