From a9aa74209ba0ffd33f35e7b84c9fa84a00c7e2be Mon Sep 17 00:00:00 2001 From: Mark Crane Date: Thu, 23 Apr 2015 00:05:56 +0000 Subject: [PATCH] If mod_shout exists then record to mp3 using it if it doesn't exist then use lame. --- .../resources/functions/record_message.lua | 32 +++++++++++-------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/resources/install/scripts/app/voicemail/resources/functions/record_message.lua b/resources/install/scripts/app/voicemail/resources/functions/record_message.lua index 2a599daa60..c44d52a2b7 100644 --- a/resources/install/scripts/app/voicemail/resources/functions/record_message.lua +++ b/resources/install/scripts/app/voicemail/resources/functions/record_message.lua @@ -149,20 +149,26 @@ result = session:recordFile(storage_path.."/"..voicemail_id.."/msg_"..uuid.."."..vm_message_ext, max_len_seconds, silence_threshold, silence_seconds); else mkdir(voicemail_dir.."/"..voicemail_id); - if (vm_message_ext == "mp3") then - --make the recording - --session:execute("record", "vlc://#standard{access=file,mux=mp3,dst="..voicemail_dir.."/"..voicemail_id.."/msg_"..uuid.."."..vm_message_ext.."}"); - result = session:recordFile(voicemail_dir.."/"..voicemail_id.."/msg_"..uuid..".wav", max_len_seconds, silence_threshold, silence_seconds); - --convert the wav to an mp3 - --apt-get install lame - resample = "/usr/bin/lame -b 32 --resample 8 -m s "..voicemail_dir.."/"..voicemail_id.."/msg_"..uuid..".wav "..voicemail_dir.."/"..voicemail_id.."/msg_"..uuid..".mp3"; - session:execute("system", resample); - --delete the wav file - if (file_exists(voicemail_dir.."/"..voicemail_id.."/msg_"..uuid..".mp3")) then - os.remove(voicemail_dir.."/"..voicemail_id.."/msg_"..uuid..".wav"); - end - else + shout_exists = trim(api:execute("module_exists", "mod_shout")); + freeswitch.consoleLog("notice", "shout exists: " .. shout_exists .. "\n"); + if (shout_exists == "true") then result = session:recordFile(voicemail_dir.."/"..voicemail_id.."/msg_"..uuid.."."..vm_message_ext, max_len_seconds, silence_threshold, silence_seconds); + else + if (vm_message_ext == "mp3") then + --make the recording + --session:execute("record", "vlc://#standard{access=file,mux=mp3,dst="..voicemail_dir.."/"..voicemail_id.."/msg_"..uuid.."."..vm_message_ext.."}"); + result = session:recordFile(voicemail_dir.."/"..voicemail_id.."/msg_"..uuid..".wav", max_len_seconds, silence_threshold, silence_seconds); + --convert the wav to an mp3 + --apt-get install lame + resample = "/usr/bin/lame -b 32 --resample 8 -m s "..voicemail_dir.."/"..voicemail_id.."/msg_"..uuid..".wav "..voicemail_dir.."/"..voicemail_id.."/msg_"..uuid..".mp3"; + session:execute("system", resample); + --delete the wav file + if (file_exists(voicemail_dir.."/"..voicemail_id.."/msg_"..uuid..".mp3")) then + os.remove(voicemail_dir.."/"..voicemail_id.."/msg_"..uuid..".wav"); + end + else + result = session:recordFile(voicemail_dir.."/"..voicemail_id.."/msg_"..uuid.."."..vm_message_ext, max_len_seconds, silence_threshold, silence_seconds); + end end end --session:execute("record", voicemail_dir.."/"..uuid.." 180 200");