From 785136eca9f84b8e565c9e751e0facbd325157f5 Mon Sep 17 00:00:00 2001 From: Alexey Melnichuk Date: Fri, 7 Aug 2015 11:52:18 +0400 Subject: [PATCH 1/4] Fix. Use `temp_dir` variable instead of hard coded `/tmp` --- .../install/scripts/app/conference_center/index.lua | 4 ++-- .../scripts/configuration/callcenter.conf.lua | 2 +- .../scripts/configuration/conference.conf.lua | 10 +++++----- .../resources/scripts/configuration/sofia.conf.lua | 2 +- .../resources/scripts/directory/directory.lua | 2 +- .../resources/scripts/languages/languages.lua | 2 +- resources/install/scripts/confirm.lua | 2 +- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/resources/install/scripts/app/conference_center/index.lua b/resources/install/scripts/app/conference_center/index.lua index 1f4b724892..774976f303 100644 --- a/resources/install/scripts/app/conference_center/index.lua +++ b/resources/install/scripts/app/conference_center/index.lua @@ -589,7 +589,7 @@ max_len_seconds = 5; silence_threshold = "500"; silence_secs = "3"; - session:recordFile("/tmp/conference-"..uuid..".wav", max_len_seconds, silence_threshold, silence_secs); + session:recordFile(temp_dir .. "/conference-"..uuid..".wav", max_len_seconds, silence_threshold, silence_secs); end --play a message that the conference is being a recorded @@ -678,7 +678,7 @@ --announce the caller if (announce == "true") then --announce the caller - play the recording - cmd = "conference "..meeting_uuid.."-"..domain_name.." play /tmp/conference-"..uuid..".wav"; + cmd = "conference "..meeting_uuid.."-"..domain_name.." play " .. temp_dir .. "/conference-"..uuid..".wav"; --freeswitch.consoleLog("notice", "[conference center] ".. cmd .."\n"); response = api:executeString(cmd); --play has entered the conference diff --git a/resources/install/scripts/app/xml_handler/resources/scripts/configuration/callcenter.conf.lua b/resources/install/scripts/app/xml_handler/resources/scripts/configuration/callcenter.conf.lua index 3e7c29920d..a884a23ed8 100644 --- a/resources/install/scripts/app/xml_handler/resources/scripts/configuration/callcenter.conf.lua +++ b/resources/install/scripts/app/xml_handler/resources/scripts/configuration/callcenter.conf.lua @@ -284,7 +284,7 @@ --send the xml to the console if (debug["xml_string"]) then - local file = assert(io.open("/tmp/callcenter.conf.xml", "w")); + local file = assert(io.open(temp_dir .. "/callcenter.conf.xml", "w")); file:write(XML_STRING); file:close(); end diff --git a/resources/install/scripts/app/xml_handler/resources/scripts/configuration/conference.conf.lua b/resources/install/scripts/app/xml_handler/resources/scripts/configuration/conference.conf.lua index 8883305fef..8d41d44532 100644 --- a/resources/install/scripts/app/xml_handler/resources/scripts/configuration/conference.conf.lua +++ b/resources/install/scripts/app/xml_handler/resources/scripts/configuration/conference.conf.lua @@ -103,7 +103,7 @@ table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); - table.insert(xml, [[ ]]); + table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); @@ -131,7 +131,7 @@ table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); - table.insert(xml, [[ ]]); + table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); @@ -159,7 +159,7 @@ table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); - table.insert(xml, [[ ]]); + table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); @@ -187,7 +187,7 @@ table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); - table.insert(xml, [[ ]]); + table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); @@ -261,7 +261,7 @@ --send the xml to the console if (debug["xml_string"]) then - local file = assert(io.open("/tmp/conference.conf.xml", "w")); + local file = assert(io.open(temp_dir .."/conference.conf.xml", "w")); file:write(XML_STRING); file:close(); end diff --git a/resources/install/scripts/app/xml_handler/resources/scripts/configuration/sofia.conf.lua b/resources/install/scripts/app/xml_handler/resources/scripts/configuration/sofia.conf.lua index e6e8a1ffe1..41d74a8651 100644 --- a/resources/install/scripts/app/xml_handler/resources/scripts/configuration/sofia.conf.lua +++ b/resources/install/scripts/app/xml_handler/resources/scripts/configuration/sofia.conf.lua @@ -261,7 +261,7 @@ --send the xml to the console if (debug["xml_string"]) then - local file = assert(io.open("/tmp/sofia.conf.xml", "w")); + local file = assert(io.open(temp_dir .. "/sofia.conf.xml", "w")); file:write(XML_STRING); file:close(); end diff --git a/resources/install/scripts/app/xml_handler/resources/scripts/directory/directory.lua b/resources/install/scripts/app/xml_handler/resources/scripts/directory/directory.lua index 6f98af09d2..a7099c9051 100644 --- a/resources/install/scripts/app/xml_handler/resources/scripts/directory/directory.lua +++ b/resources/install/scripts/app/xml_handler/resources/scripts/directory/directory.lua @@ -494,7 +494,7 @@ --send the xml to the console if (debug["xml_string"]) then - local file = assert(io.open("/tmp/" .. user .. "@" .. domain_name .. ".xml", "w")); + local file = assert(io.open(temp_dir .. "/" .. user .. "@" .. domain_name .. ".xml", "w")); file:write(XML_STRING); file:close(); end diff --git a/resources/install/scripts/app/xml_handler/resources/scripts/languages/languages.lua b/resources/install/scripts/app/xml_handler/resources/scripts/languages/languages.lua index e9c9ba8a93..ae1b29bfc7 100644 --- a/resources/install/scripts/app/xml_handler/resources/scripts/languages/languages.lua +++ b/resources/install/scripts/app/xml_handler/resources/scripts/languages/languages.lua @@ -192,7 +192,7 @@ --send the xml to the console if (debug["xml_string"]) then - local file = assert(io.open("/tmp/xml_handler-" .. language .. ".xml", "w")); + local file = assert(io.open(temp_dir .. "/xml_handler-" .. language .. ".xml", "w")); file:write(XML_STRING); file:close(); end diff --git a/resources/install/scripts/confirm.lua b/resources/install/scripts/confirm.lua index 6154979de3..40873d7ed5 100644 --- a/resources/install/scripts/confirm.lua +++ b/resources/install/scripts/confirm.lua @@ -66,7 +66,7 @@ --if the screen file is found then set confirm to true if (domain_name ~= nil) then - call_screen_file = "/tmp/" .. domain_name .. "-" .. caller_id_number .. "." .. record_ext; + call_screen_file = temp_dir .. "/" .. domain_name .. "-" .. caller_id_number .. "." .. record_ext; if (file_exists(call_screen_file)) then confirm = "true"; end From 630d9e020c63132e9e300ac50df858b1fe6eb29b Mon Sep 17 00:00:00 2001 From: Alexey Melnichuk Date: Fri, 7 Aug 2015 12:11:27 +0400 Subject: [PATCH 2/4] Fix. Always use `/` separator on FS command. Fix. Override `temp_dir` from `config.lua` file. --- .../install/scripts/app/conference_center/index.lua | 4 ++-- resources/install/scripts/app/voicemail/index.lua | 11 ++++++----- .../scripts/configuration/conference.conf.lua | 8 ++++---- resources/install/scripts/confirm.lua | 2 +- resources/install/scripts/ivr_menu.lua | 11 ++++++----- resources/install/scripts/recordings.lua | 11 ++++++----- resources/install/scripts/streamfile.lua | 12 +++++++----- 7 files changed, 32 insertions(+), 27 deletions(-) diff --git a/resources/install/scripts/app/conference_center/index.lua b/resources/install/scripts/app/conference_center/index.lua index 774976f303..5f2a21a919 100644 --- a/resources/install/scripts/app/conference_center/index.lua +++ b/resources/install/scripts/app/conference_center/index.lua @@ -589,7 +589,7 @@ max_len_seconds = 5; silence_threshold = "500"; silence_secs = "3"; - session:recordFile(temp_dir .. "/conference-"..uuid..".wav", max_len_seconds, silence_threshold, silence_secs); + session:recordFile(temp_dir:gsub("\\","/") .. "/conference-"..uuid..".wav", max_len_seconds, silence_threshold, silence_secs); end --play a message that the conference is being a recorded @@ -678,7 +678,7 @@ --announce the caller if (announce == "true") then --announce the caller - play the recording - cmd = "conference "..meeting_uuid.."-"..domain_name.." play " .. temp_dir .. "/conference-"..uuid..".wav"; + cmd = "conference "..meeting_uuid.."-"..domain_name.." play " .. temp_dir:gsub("\\", "/") .. "/conference-"..uuid..".wav"; --freeswitch.consoleLog("notice", "[conference center] ".. cmd .."\n"); response = api:executeString(cmd); --play has entered the conference diff --git a/resources/install/scripts/app/voicemail/index.lua b/resources/install/scripts/app/voicemail/index.lua index 42f1e54751..e0c2383890 100644 --- a/resources/install/scripts/app/voicemail/index.lua +++ b/resources/install/scripts/app/voicemail/index.lua @@ -142,11 +142,12 @@ end end end - temp_dir = ""; - if (settings['server'] ~= nil) then - if (settings['server']['temp'] ~= nil) then - if (settings['server']['temp']['dir'] ~= nil) then - temp_dir = settings['server']['temp']['dir']; + if (not temp_dir) or (#temp_dir == 0) then + if (settings['server'] ~= nil) then + if (settings['server']['temp'] ~= nil) then + if (settings['server']['temp']['dir'] ~= nil) then + temp_dir = settings['server']['temp']['dir']; + end end end end diff --git a/resources/install/scripts/app/xml_handler/resources/scripts/configuration/conference.conf.lua b/resources/install/scripts/app/xml_handler/resources/scripts/configuration/conference.conf.lua index 8d41d44532..ad2252ad83 100644 --- a/resources/install/scripts/app/xml_handler/resources/scripts/configuration/conference.conf.lua +++ b/resources/install/scripts/app/xml_handler/resources/scripts/configuration/conference.conf.lua @@ -103,7 +103,7 @@ table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); - table.insert(xml, [[ ]]); + table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); @@ -131,7 +131,7 @@ table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); - table.insert(xml, [[ ]]); + table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); @@ -159,7 +159,7 @@ table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); - table.insert(xml, [[ ]]); + table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); @@ -187,7 +187,7 @@ table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); - table.insert(xml, [[ ]]); + table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); diff --git a/resources/install/scripts/confirm.lua b/resources/install/scripts/confirm.lua index 40873d7ed5..7c8f452ce1 100644 --- a/resources/install/scripts/confirm.lua +++ b/resources/install/scripts/confirm.lua @@ -83,7 +83,7 @@ digit = ''; if (file_exists(call_screen_file)) then max_tries = "1"; - digit = session:playAndGetDigits(min_digits, max_digits, max_tries, "500", "#", call_screen_file, "", "\\d+"); + digit = session:playAndGetDigits(min_digits, max_digits, max_tries, "500", "#", call_screen_file:gsub("\\","/"), "", "\\d+"); end if (string.len(digit) == 0) then max_tries = "3"; diff --git a/resources/install/scripts/ivr_menu.lua b/resources/install/scripts/ivr_menu.lua index 19a3cb04db..b4d916de0c 100644 --- a/resources/install/scripts/ivr_menu.lua +++ b/resources/install/scripts/ivr_menu.lua @@ -68,11 +68,12 @@ end end end - temp_dir = ""; - if (settings['server'] ~= nil) then - if (settings['server']['temp'] ~= nil) then - if (settings['server']['temp']['dir'] ~= nil) then - temp_dir = settings['server']['temp']['dir']; + if (not temp_dir) or (#temp_dir == 0) then + if (settings['server'] ~= nil) then + if (settings['server']['temp'] ~= nil) then + if (settings['server']['temp']['dir'] ~= nil) then + temp_dir = settings['server']['temp']['dir']; + end end end end diff --git a/resources/install/scripts/recordings.lua b/resources/install/scripts/recordings.lua index ecc1d4f1a0..40c5624cc1 100644 --- a/resources/install/scripts/recordings.lua +++ b/resources/install/scripts/recordings.lua @@ -72,11 +72,12 @@ end end end - temp_dir = ""; - if (settings['server'] ~= nil) then - if (settings['server']['temp'] ~= nil) then - if (settings['server']['temp']['dir'] ~= nil) then - temp_dir = settings['server']['temp']['dir']; + if (not temp_dir) or (#temp_dir == 0) then + if (settings['server'] ~= nil) then + if (settings['server']['temp'] ~= nil) then + if (settings['server']['temp']['dir'] ~= nil) then + temp_dir = settings['server']['temp']['dir']; + end end end end diff --git a/resources/install/scripts/streamfile.lua b/resources/install/scripts/streamfile.lua index 377974dae7..02b6ca3d47 100644 --- a/resources/install/scripts/streamfile.lua +++ b/resources/install/scripts/streamfile.lua @@ -44,11 +44,13 @@ end end end - temp_dir = ""; - if (settings['server'] ~= nil) then - if (settings['server']['temp'] ~= nil) then - if (settings['server']['temp']['dir'] ~= nil) then - temp_dir = settings['server']['temp']['dir']; + + if (not temp_dir) or (#temp_dir == 0) then + if (settings['server'] ~= nil) then + if (settings['server']['temp'] ~= nil) then + if (settings['server']['temp']['dir'] ~= nil) then + temp_dir = settings['server']['temp']['dir']; + end end end end From f1e082bc03188025c948ac446be7f19b456ae7fd Mon Sep 17 00:00:00 2001 From: Luis Daniel Lucio Quiroz Date: Sun, 9 Aug 2015 21:56:28 -0600 Subject: [PATCH 3/4] Use os.time instead of mysql native function Odd, but on some deployments LUA wont accept unixtime stamp functions (regardless it works on CLI). So, to workaround this, lets use os.time() which it returns the same value expected. --- .../app/xml_handler/resources/scripts/directory/directory.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/install/scripts/app/xml_handler/resources/scripts/directory/directory.lua b/resources/install/scripts/app/xml_handler/resources/scripts/directory/directory.lua index 6f98af09d2..cb14657a16 100644 --- a/resources/install/scripts/app/xml_handler/resources/scripts/directory/directory.lua +++ b/resources/install/scripts/app/xml_handler/resources/scripts/directory/directory.lua @@ -170,7 +170,8 @@ sql = sql .. "WHERE reg_user = '"..dialed_extension.."' "; sql = sql .. "AND realm = '"..domain_name.."' "; if (database["type"] == "mysql") then - sql = sql .. "AND expires > unix_timestamp(NOW())"; + now = os.time(); + sql = sql .. "AND expires > "..now; else sql = sql .. "AND to_timestamp(expires) > NOW()"; end From b5cacea37375e51f6dd469c5af188e9694ad93ce Mon Sep 17 00:00:00 2001 From: Alexey Melnichuk Date: Mon, 10 Aug 2015 11:43:32 +0400 Subject: [PATCH 4/4] Fix. Allow monitoring page conferences via `Active Conferences` app. --- resources/install/scripts/page.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/install/scripts/page.lua b/resources/install/scripts/page.lua index 8d23657700..0f3af2af14 100644 --- a/resources/install/scripts/page.lua +++ b/resources/install/scripts/page.lua @@ -67,7 +67,7 @@ if ( session:ready() ) then if (not default_dialect) then default_dialect = 'us'; end if (not default_voice) then default_voice = 'callie'; end - local conf_name = "page-"..destination_number.."%"..domain_name.."@page" + local conf_name = "page-"..destination_number.."-"..domain_name.."@page" if (caller_id_name) then --caller id name provided do nothing