[mod_voicemail] add option to skip goodbye

This commit is contained in:
wmasilva 2021-12-22 22:55:29 +00:00 committed by GitHub
parent e3f031fc7c
commit a92eee4e93
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 7 deletions

View File

@ -1196,7 +1196,7 @@ static switch_status_t create_file(switch_core_session_t *session, vm_profile_t
switch_cc_t cc = { 0 };
switch_codec_implementation_t read_impl = { 0 };
int got_file = 0;
switch_bool_t skip_record_check = switch_true(switch_channel_get_variable(channel, "skip_record_check"));
switch_bool_t skip_record_check = switch_channel_var_true(channel, "skip_record_check");
switch_core_session_get_read_impl(session, &read_impl);
@ -1605,7 +1605,7 @@ static switch_status_t listen_file(switch_core_session_t *session, vm_profile_t
cid_buf, switch_channel_get_name(channel));
switch_core_session_receive_message(session, &msg);
if (!zstr(cbt->cid_number) && (switch_true(switch_channel_get_variable(channel, "vm_announce_cid")))) {
if (!zstr(cbt->cid_number) && (switch_channel_var_true(channel, "vm_announce_cid"))) {
TRY_CODE(switch_ivr_phrase_macro(session, VM_SAY_PHONE_NUMBER_MACRO, cbt->cid_number, NULL, NULL));
}
@ -2002,7 +2002,7 @@ static void voicemail_check_main(switch_core_session_t *session, vm_profile_t *p
auth_only = 1;
auth = 0;
} else {
auth_only = switch_true(switch_channel_get_variable(channel, "vm_auth_only"));
auth_only = switch_channel_var_true(channel, "vm_auth_only");
}
timeout = profile->digit_timeout;
@ -3399,14 +3399,16 @@ static switch_status_t voicemail_leave_main(switch_core_session_t *session, vm_p
switch_event_t *vars = NULL;
const char *vtmp, *vm_ext = NULL;
int disk_quota = 0;
switch_bool_t skip_greeting = switch_true(switch_channel_get_variable(channel, "skip_greeting"));
switch_bool_t skip_instructions = switch_true(switch_channel_get_variable(channel, "skip_instructions"));
switch_bool_t skip_record_urgent_check = switch_true(switch_channel_get_variable(channel, "skip_record_urgent_check"));
switch_bool_t skip_greeting = switch_channel_var_true(channel, "skip_greeting");
switch_bool_t skip_instructions = switch_channel_var_true(channel, "skip_instructions");
switch_bool_t skip_record_urgent_check = switch_channel_var_true(channel, "skip_record_urgent_check");
switch_bool_t voicemail_skip_goodbye = switch_channel_var_true(channel, "voicemail_skip_goodbye");
switch_bool_t vm_enabled = SWITCH_TRUE;
switch_channel_set_variable(channel, "skip_greeting", NULL);
switch_channel_set_variable(channel, "skip_instructions", NULL);
switch_channel_set_variable(channel, "skip_record_urgent_check", NULL);
switch_channel_set_variable(channel, "voicemail_skip_goodbye", NULL);
memset(&cbt, 0, sizeof(cbt));
@ -3700,7 +3702,9 @@ static switch_status_t voicemail_leave_main(switch_core_session_t *session, vm_p
switch_safe_free(file_path);
if (switch_channel_ready(channel) && vm_enabled) {
status = switch_ivr_phrase_macro(session, VM_GOODBYE_MACRO, NULL, NULL, NULL);
if (!voicemail_skip_goodbye) {
status = switch_ivr_phrase_macro(session, VM_GOODBYE_MACRO, NULL, NULL, NULL);
}
}
return status;