<macro name="voicemail_say_number">
<input pattern="^(\d+)$">
<match>
- <action function="say" data="$1" method="pronounced" type="items"/>
+ <action function="say" data="$1" method="pronounced" type="items"/>
</match>
</input>
</macro>
</macro>
<macro name="voicemail_say_phone_number">
+ <input pattern="^000|^$|^[Aa]non|^[Pp]rivate" break_on_match="true">
+ <match>
+ <!-- add 'anonymous caller' sound here -->
+ </match>
+ </input>
<input pattern="^(.*)$">
<match>
- <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+ <action function="play-file" data="ivr/ivr-this_is_a_call_from.wav"/>
+ <action function="execute" data="sleep(100)"/>
+ <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+ <action function="execute" data="sleep(500)"/>
</match>
</input>
</macro>
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);
msg.from = __FILE__;
cid_buf, switch_channel_get_name(channel));
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);
+ if (!zstr(cbt->cid_number) && (switch_true(switch_channel_get_variable(channel, "vm_announce_cid")))) {
+ TRY_CODE(switch_ivr_phrase_macro(session, VM_SAY_PHONE_NUMBER_MACRO, cbt->cid_number, NULL, NULL));
}
args.input_callback = cancel_on_dtmf;