From d060fd8b70dd5ee37a668134d436c694af865a1d Mon Sep 17 00:00:00 2001 From: Mark Crane Date: Sat, 30 May 2015 20:32:01 +0000 Subject: [PATCH] Sync the changes to fix conference recording from the dev branch. Add a few comments and make the indentation consistent. --- .../scripts/app/conference_center/index.lua | 10 --- .../resources/scripts/start_recording.lua | 79 ++++++++++--------- 2 files changed, 41 insertions(+), 48 deletions(-) diff --git a/resources/install/scripts/app/conference_center/index.lua b/resources/install/scripts/app/conference_center/index.lua index 6d7deab320..1f4b724892 100644 --- a/resources/install/scripts/app/conference_center/index.lua +++ b/resources/install/scripts/app/conference_center/index.lua @@ -673,15 +673,6 @@ --cmd = "conference "..meeting_uuid.."-"..domain_name.." play "..sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/ivr/ivr-recording_started.wav"; --freeswitch.consoleLog("notice", "[conference center] ".. cmd .."\n"); --response = api:executeString(cmd); - --record the conference when it exists --- if (conference_exists) then --- --send a command to record the conference --- if (not file_exists(recording..".wav")) then --- cmd = "conference "..meeting_uuid.."-"..domain_name.." record "..recording..".wav"; --- --freeswitch.consoleLog("notice", "[conference center] cmd: " .. cmd .. "\n"); --- response = api:executeString(cmd); --- end --- end end --announce the caller @@ -729,7 +720,6 @@ api:executeString(cmd); end --send the call to the conference - cmd = meeting_uuid.."-"..domain_name.."@"..profile.."+flags{".. flags .."}"; freeswitch.consoleLog("INFO","[conference center] conference " .. cmd .. "\n"); session:execute("conference", cmd); diff --git a/resources/install/scripts/app/conference_center/resources/scripts/start_recording.lua b/resources/install/scripts/app/conference_center/resources/scripts/start_recording.lua index 65200c3505..b2a9da42c6 100644 --- a/resources/install/scripts/app/conference_center/resources/scripts/start_recording.lua +++ b/resources/install/scripts/app/conference_center/resources/scripts/start_recording.lua @@ -1,9 +1,12 @@ -scripts_dir = string.sub(debug.getinfo(1).source,2,string.len(debug.getinfo(1).source)-(string.len(argv[0])+1)); -dofile(scripts_dir.."/resources/functions/config.lua"); -dofile(config()); -dofile(scripts_dir.."/resources/functions/file_exists.lua"); -dofile(scripts_dir.."/resources/functions/trim.lua"); -dofile(scripts_dir.."/resources/functions/mkdir.lua"); +--get the scripts directory and include the config.lua + scripts_dir = string.sub(debug.getinfo(1).source,2,string.len(debug.getinfo(1).source)-(string.len(argv[0])+1)); + dofile(scripts_dir.."/resources/functions/config.lua"); + dofile(config()); + +--additional includes + dofile(scripts_dir.."/resources/functions/file_exists.lua"); + dofile(scripts_dir.."/resources/functions/trim.lua"); + dofile(scripts_dir.."/resources/functions/mkdir.lua"); --get the argv values script_name = argv[0]; @@ -15,38 +18,38 @@ dofile(scripts_dir.."/resources/functions/mkdir.lua"); --prepare the api object api = freeswitch.API(); - -cmd = "conference "..meeting_uuid.."-"..domain_name.." xml_list"; -freeswitch.consoleLog("INFO","" .. cmd .. "\n"); -result = trim(api:executeString(cmd)); - -if (string.sub(result, -9) == "not found") then - conference_exists = false; -else - conference_exists = true; -end - - -if (conference_exists) then - result = string.match(result,[[]],1); - conference_session_uuid = string.match(result,[[uuid="(.-)"]],1); - freeswitch.consoleLog("INFO","[start-recording] conference_session_uuid: " .. conference_session_uuid .. "\n"); - - start_epoch = os.time(); - - --set the recording variable - if (domain_count > 1) then - recordings_dir = recordings_dir.."/"..domain_name; +--check if the conference exists + cmd = "conference "..meeting_uuid.."-"..domain_name.." xml_list"; + freeswitch.consoleLog("INFO","" .. cmd .. "\n"); + result = trim(api:executeString(cmd)); + if (string.sub(result, -9) == "not found") then + conference_exists = false; + else + conference_exists = true; end - recordings_dir = recordings_dir.."/archive/"..os.date("%Y", start_epoch).."/"..os.date("%b", start_epoch).."/"..os.date("%d", start_epoch); - mkdir(recordings_dir); - recording = recordings_dir.."/"..conference_session_uuid; - --send a command to record the conference - if (not file_exists(recording..".wav")) then - cmd = "conference "..meeting_uuid.."-"..domain_name.." record "..recording..".wav"; - freeswitch.consoleLog("notice", "[start-recording] cmd: " .. cmd .. "\n"); - response = api:executeString(cmd); +--start the recording + if (conference_exists) then + --get the conference session uuid + result = string.match(result,[[]],1); + conference_session_uuid = string.match(result,[[uuid="(.-)"]],1); + freeswitch.consoleLog("INFO","[start-recording] conference_session_uuid: " .. conference_session_uuid .. "\n"); + + --get the current time + start_epoch = os.time(); + + --set the recording variable + if (domain_count > 1) then + recordings_dir = recordings_dir.."/"..domain_name; + end + recordings_dir = recordings_dir.."/archive/"..os.date("%Y", start_epoch).."/"..os.date("%b", start_epoch).."/"..os.date("%d", start_epoch); + mkdir(recordings_dir); + recording = recordings_dir.."/"..conference_session_uuid; + + --send a command to record the conference + if (not file_exists(recording..".wav")) then + cmd = "conference "..meeting_uuid.."-"..domain_name.." record "..recording..".wav"; + freeswitch.consoleLog("notice", "[start-recording] cmd: " .. cmd .. "\n"); + response = api:executeString(cmd); + end end -end -