diff --git a/resources/install/scripts/app/voicemail/index.lua b/resources/install/scripts/app/voicemail/index.lua index 52a9840094..fb2cdddd0b 100644 --- a/resources/install/scripts/app/voicemail/index.lua +++ b/resources/install/scripts/app/voicemail/index.lua @@ -29,6 +29,7 @@ max_tries = 3; max_timeouts = 3; digit_timeout = 3000; + stream_seek = false; --direct dial direct_dial = {} diff --git a/resources/install/scripts/app/voicemail/resources/functions/listen_to_recording.lua b/resources/install/scripts/app/voicemail/resources/functions/listen_to_recording.lua index 272bd8dd02..fa39d6e66e 100644 --- a/resources/install/scripts/app/voicemail/resources/functions/listen_to_recording.lua +++ b/resources/install/scripts/app/voicemail/resources/functions/listen_to_recording.lua @@ -56,7 +56,9 @@ --play the message if (session:ready()) then if (string.len(dtmf_digits) == 0) then + stream_seek = true; session:streamFile(voicemail_dir.."/"..voicemail_id.."/msg_"..uuid.."."..vm_message_ext); + stream_seek = false; session:streamFile("silence_stream://1000"); end end diff --git a/resources/install/scripts/app/voicemail/resources/functions/on_dtmf.lua b/resources/install/scripts/app/voicemail/resources/functions/on_dtmf.lua index 307701e229..be2842c82b 100644 --- a/resources/install/scripts/app/voicemail/resources/functions/on_dtmf.lua +++ b/resources/install/scripts/app/voicemail/resources/functions/on_dtmf.lua @@ -34,6 +34,16 @@ if (debug["info"]) then freeswitch.console_log("info", "[voicemail] dtmf digits: " .. dtmf_digits .. ", length: ".. string.len(dtmf_digits) .." max_digits: " .. max_digits .. "\n"); end + if (stream_seek == true) then + if (dtmf_digits == "4") then + dtmf_digits = ""; + return("seek:-12000"); + end + if (dtmf_digits == "6") then + dtmf_digits = ""; + return("seek:12000"); + end + end if (string.len(dtmf_digits) >= max_digits) then if (debug["info"]) then freeswitch.console_log("info", "[voicemail] max_digits reached\n");