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();