diff --git a/app/switch/resources/conf/languages/en/vm/sounds.xml b/app/switch/resources/conf/languages/en/vm/sounds.xml index 00ba8ac144..723a3e5de8 100644 --- a/app/switch/resources/conf/languages/en/vm/sounds.xml +++ b/app/switch/resources/conf/languages/en/vm/sounds.xml @@ -416,6 +416,12 @@ + + + + + + diff --git a/app/switch/resources/conf/languages/en/vm/voicemail.xml b/app/switch/resources/conf/languages/en/vm/voicemail.xml index 3218186ccc..c6cc1d369a 100644 --- a/app/switch/resources/conf/languages/en/vm/voicemail.xml +++ b/app/switch/resources/conf/languages/en/vm/voicemail.xml @@ -83,9 +83,11 @@ + + - + @@ -163,6 +165,21 @@ + + + + + + + + + + + + + + + diff --git a/app/switch/resources/scripts/app/voicemail/index.lua b/app/switch/resources/scripts/app/voicemail/index.lua index 253bfcb43b..d47a68bb71 100644 --- a/app/switch/resources/scripts/app/voicemail/index.lua +++ b/app/switch/resources/scripts/app/voicemail/index.lua @@ -361,6 +361,7 @@ require "app.voicemail.resources.functions.record_message"; require "app.voicemail.resources.functions.record_menu"; require "app.voicemail.resources.functions.forward_add_intro"; + require "app.voicemail.resources.functions.forward_menu"; require "app.voicemail.resources.functions.forward_to_extension"; require "app.voicemail.resources.functions.main_menu"; require "app.voicemail.resources.functions.listen_to_recording"; diff --git a/app/switch/resources/scripts/app/voicemail/resources/functions/forward_menu.lua b/app/switch/resources/scripts/app/voicemail/resources/functions/forward_menu.lua new file mode 100644 index 0000000000..324b5a1d93 --- /dev/null +++ b/app/switch/resources/scripts/app/voicemail/resources/functions/forward_menu.lua @@ -0,0 +1,63 @@ +-- Part of FusionPBX +-- Copyright (C) 2013-2024 Mark J Crane +-- All rights reserved. +-- +-- Redistribution and use in source and binary forms, with or without +-- modification, are permitted provided that the following conditions are met: +-- +-- 1. Redistributions of source code must retain the above copyright notice, +-- this list of conditions and the following disclaimer. +-- +-- 2. Redistributions in binary form must reproduce the above copyright +-- notice, this list of conditions and the following disclaimer in the +-- documentation and/or other materials provided with the distribution. +-- +-- THIS SOFTWARE IS PROVIDED ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +-- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +-- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +-- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, +-- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +-- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +-- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +-- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +-- POSSIBILITY OF SUCH DAMAGE. + +--added function name to index.lua file +--changed listen to recording function menu starting at line 273 + + + + + +--forward message menu +function forward_menu(voicemail_id, uuid) + if (session:ready()) then + --clear the dtmf digits variable + dtmf_digits = ''; + --flush dtmf digits from the input buffer + session:flushDigits(); + --to listen to the recording press 1, to save the recording press 2, to re-record press 3 + if (session:ready()) then + if (string.len(dtmf_digits) == 0) then + -- TO DO update playAndGetDigit function + dtmf_digits = session:playAndGetDigits(1, 1, 1, 3000, "#", "phrase:voicemail_forward_menu:1:2", "", "^[1-2]$"); + end + end + --process the dtmf + if (session:ready()) then + if (dtmf_digits == "1") then + forward_to_extension(voicemail_id, uuid); + dtmf_digits = ''; + elseif (dtmf_digits == "2") then + send_email(voicemail_id, uuid); + dtmf_digits = ''; + session:execute("playback", "phrase:voicemail_ack:emailed"); + elseif (dtmf_digits == "*") then + timeouts = 0; + return main_menu(); + end + end + + end +end \ No newline at end of file diff --git a/app/switch/resources/scripts/app/voicemail/resources/functions/listen_to_recording.lua b/app/switch/resources/scripts/app/voicemail/resources/functions/listen_to_recording.lua index 3fc0cfd5f5..105398340d 100644 --- a/app/switch/resources/scripts/app/voicemail/resources/functions/listen_to_recording.lua +++ b/app/switch/resources/scripts/app/voicemail/resources/functions/listen_to_recording.lua @@ -280,12 +280,10 @@ message_waiting(voicemail_id_copy, domain_uuid); end elseif (dtmf_digits == "8") then - forward_to_extension(voicemail_id, uuid); - dtmf_digits = ''; + forward_menu(voicemail_id, uuid); elseif (dtmf_digits == "9") then - send_email(voicemail_id, uuid); dtmf_digits = ''; - session:execute("playback", "phrase:voicemail_ack:emailed"); + session:execute("playback", "phrase:voicemail_ack:marked_new"); elseif (dtmf_digits == "*") then timeouts = 0; return main_menu();