From 3d5350045d104dea6e78c537473688dd2ac533be Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 17 Jun 2010 15:04:09 -0500 Subject: [PATCH] send display of caller who left message during vm playback --- src/mod/applications/mod_dptools/mod_dptools.c | 2 +- src/mod/applications/mod_voicemail/mod_voicemail.c | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/mod/applications/mod_dptools/mod_dptools.c b/src/mod/applications/mod_dptools/mod_dptools.c index 07d99cad4d..f9ad5357cd 100755 --- a/src/mod/applications/mod_dptools/mod_dptools.c +++ b/src/mod/applications/mod_dptools/mod_dptools.c @@ -785,7 +785,7 @@ SWITCH_STANDARD_APP(display_function) { switch_core_session_message_t msg = { 0 }; - /* Tell the channel to redirect */ + /* Tell the channel to change display */ msg.from = __FILE__; msg.string_arg = data; msg.message_id = SWITCH_MESSAGE_INDICATE_DISPLAY; diff --git a/src/mod/applications/mod_voicemail/mod_voicemail.c b/src/mod/applications/mod_voicemail/mod_voicemail.c index d06b0f4c5f..dfbbfa7883 100644 --- a/src/mod/applications/mod_voicemail/mod_voicemail.c +++ b/src/mod/applications/mod_voicemail/mod_voicemail.c @@ -1417,12 +1417,20 @@ static switch_status_t listen_file(switch_core_session_t *session, vm_profile_t switch_file_handle_t fh = { 0 }; cc_t cc = { 0 }; char *forward_file_path = NULL; - + switch_core_session_message_t msg = { 0 }; + char cid_buf[1024]; if (switch_channel_ready(channel)) { - args.input_callback = cancel_on_dtmf; + switch_snprintf(cid_buf, sizeof(cid_buf), "%s|%s", cbt->cid_number, cbt->cid_name); + msg.from = __FILE__; + msg.string_arg = cid_buf; + msg.message_id = SWITCH_MESSAGE_INDICATE_DISPLAY; + switch_core_session_receive_message(session, &msg); + + args.input_callback = cancel_on_dtmf; + switch_snprintf(key_buf, sizeof(key_buf), "%s:%s:%s:%s:%s:%s%s%s", profile->listen_file_key, profile->save_file_key, profile->delete_file_key, profile->email_key, profile->callback_key, profile->forward_key, cbt->email ? ":" : "", cbt->email ? cbt->email : ""); @@ -1436,6 +1444,7 @@ static switch_status_t listen_file(switch_core_session_t *session, vm_profile_t TRY_CODE(switch_ivr_phrase_macro(session, VM_SAY_MESSAGE_NUMBER_MACRO, input, NULL, &args)); play_file: + if (!*cc.buf && (profile->play_date_announcement == VM_DATE_FIRST)) { cc.fh = NULL; TRY_CODE(switch_ivr_phrase_macro(session, VM_SAY_DATE_MACRO, cbt->created_epoch, NULL, &args));