From 73e0e7a3a8718678164a512be2b8276aecafd8a1 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 59c1fbe2efdf0e9290777b0a3fd8b7fdda9e5684 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 780b69a2539b5326eac147108179f6426fac4b85 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 c5432630f357b9c3fe3d4e1cc2f62226ba35ff92 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