From e7b9790733aeed1324e029eff73df99dac46eb89 Mon Sep 17 00:00:00 2001
From: Anthony Minessale <anthm@freeswitch.org>
Date: Fri, 24 Sep 2010 16:01:05 -0500
Subject: [PATCH] BOUNTY-23

---
 src/mod/applications/mod_voicemail/mod_voicemail.c | 9 ++++++++-
 src/switch_ivr.c                                   | 4 ++++
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/mod/applications/mod_voicemail/mod_voicemail.c b/src/mod/applications/mod_voicemail/mod_voicemail.c
index 0b1d698b86..860f89788b 100644
--- a/src/mod/applications/mod_voicemail/mod_voicemail.c
+++ b/src/mod/applications/mod_voicemail/mod_voicemail.c
@@ -1422,6 +1422,7 @@ static switch_status_t listen_file(switch_core_session_t *session, vm_profile_t
 	char cid_buf[1024] = "";
 
 	if (switch_channel_ready(channel)) {
+		const char *vm_announce_cid = NULL;
 
 		switch_snprintf(cid_buf, sizeof(cid_buf), "%s|%s", cbt->cid_number, cbt->cid_name);
 
@@ -1429,7 +1430,13 @@ static switch_status_t listen_file(switch_core_session_t *session, vm_profile_t
 		msg.string_arg = cid_buf;
 		msg.message_id = SWITCH_MESSAGE_INDICATE_DISPLAY;
 		switch_core_session_receive_message(session, &msg);
-
+		
+		if (!zstr(cbt->cid_number) && (vm_announce_cid = switch_channel_get_variable(channel, "vm_announce_cid"))) {
+			switch_ivr_play_file(session, NULL, vm_announce_cid, NULL);
+			switch_ivr_sleep(session, 500, SWITCH_TRUE, NULL);
+			switch_ivr_say(session, cbt->cid_number, NULL, "name_spelled", "pronounced", NULL, NULL);
+		}
+		
 		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,
diff --git a/src/switch_ivr.c b/src/switch_ivr.c
index 246b18ea4c..7e7e8cda20 100644
--- a/src/switch_ivr.c
+++ b/src/switch_ivr.c
@@ -2261,6 +2261,10 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_say(switch_core_session_t *session,
 		goto done;
 	}
 
+	if (!module_name) {
+		module_name = chan_lang;
+	}
+
 	if (!(sound_path = (char *) switch_xml_attr(language, "sound-path"))) {
 		sound_path = (char *) switch_xml_attr(language, "sound_path");
 	}