mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2026-01-03 18:33:49 +00:00
Converted uses of ringback to common function
This commit is contained in:
@@ -39,6 +39,7 @@ local log = require "resources.functions.log".ring_group
|
||||
require "resources.functions.base64";
|
||||
require "resources.functions.file_exists";
|
||||
require "resources.functions.channel_utils"
|
||||
require "resources.functions.format_ringback"
|
||||
|
||||
--get the variables
|
||||
domain_name = session:getVariable("domain_name");
|
||||
@@ -321,27 +322,7 @@ local log = require "resources.functions.log".ring_group
|
||||
domain_name = row.domain_name;
|
||||
|
||||
--set ringback
|
||||
if (ring_group_ringback == "${uk-ring}") then
|
||||
ring_group_ringback = "tone_stream://%(400,200,400,450);%(400,2200,400,450);loops=-1";
|
||||
end
|
||||
if (ring_group_ringback == "${us-ring}") then
|
||||
ring_group_ringback = "tone_stream://%(2000,4000,440.0,480.0);loops=-1";
|
||||
end
|
||||
if (ring_group_ringback == "${pt-ring}") then
|
||||
ring_group_ringback = "tone_stream://%(1000,5000,400.0,0.0);loops=-1";
|
||||
end
|
||||
if (ring_group_ringback == "${fr-ring}") then
|
||||
ring_group_ringback = "tone_stream://%(1500,3500,440.0,0.0);loops=-1";
|
||||
end
|
||||
if (ring_group_ringback == "${rs-ring}") then
|
||||
ring_group_ringback = "tone_stream://%(1000,4000,425.0,0.0);loops=-1";
|
||||
end
|
||||
if (ring_group_ringback == "${it-ring}") then
|
||||
ring_group_ringback = "tone_stream://%(1000,4000,425.0,0.0);loops=-1";
|
||||
end
|
||||
if (ring_group_ringback == "") then
|
||||
ring_group_ringback = "local_stream://default";
|
||||
end
|
||||
ring_group_ringback = format_ringback(ring_group_ringback);
|
||||
session:setVariable("ringback", ring_group_ringback);
|
||||
session:setVariable("transfer_ringback", ring_group_ringback);
|
||||
|
||||
|
||||
@@ -40,6 +40,9 @@
|
||||
require "resources.functions.database_handle";
|
||||
dbh = database_handle('system');
|
||||
|
||||
--include functions
|
||||
require "resources.functions.format_ringback"
|
||||
|
||||
--settings
|
||||
require "resources.functions.settings";
|
||||
settings = settings(domain_uuid);
|
||||
@@ -88,40 +91,14 @@
|
||||
if (not default_dialect) then default_dialect = 'us'; end
|
||||
if (not default_voice) then default_voice = 'callie'; end
|
||||
|
||||
--set ringback
|
||||
directory_ringback = format_ringback(session:getVariable("ringback"));
|
||||
session:setVariable("ringback", directory_ringback);
|
||||
session:setVariable("transfer_ringback", directory_ringback);
|
||||
|
||||
--set the sounds path for the language, dialect and voice
|
||||
ringback = session:getVariable("ringback");
|
||||
if (ringback) then
|
||||
ringback = ringback:gsub("$", "");
|
||||
ringback = ringback:gsub("{", "");
|
||||
ringback = ringback:gsub("}", "");
|
||||
end
|
||||
session:setVariable("instant_ringback", "true");
|
||||
session:setVariable("ignore_early_media", "true");
|
||||
if (not ringback) then
|
||||
session:execute("set", "ringback=local_stream://default"); --set to ringtone
|
||||
session:execute("set", "transfer_ringback=local_stream://default"); --set to ringtone
|
||||
elseif (ringback == "uk-ring") then
|
||||
session:setVariable("ringback", "%(400,200,400,450);%(400,2200,400,450)");
|
||||
session:setVariable("transfer_ringback", "%(400,200,400,450);%(400,2200,400,450)");
|
||||
elseif (ringback == "us-ring") then
|
||||
session:setVariable("ringback", "%(2000, 4000, 440.0, 480.0)");
|
||||
session:setVariable("transfer_ringback", "%(2000, 4000, 440.0, 480.0)");
|
||||
elseif (ringback == "pt-ring") then
|
||||
session:setVariable("ringback", "%(1000, 5000, 400.0, 0.0)");
|
||||
session:setVariable("transfer_ringback", "%(1000, 5000, 400.0, 0.0)");
|
||||
elseif (ringback == "fr-ring") then
|
||||
session:setVariable("ringback", "%(1500, 3500, 440.0, 0.0)");
|
||||
session:setVariable("transfer_ringback", "%(1500, 3500, 440.0, 0.0)");
|
||||
elseif (ringback == "rs-ring") then
|
||||
session:setVariable("ringback", "%(1000, 4000, 425.0, 0.0)");
|
||||
session:setVariable("transfer_ringback", "%(1000, 4000, 425.0, 0.0)");
|
||||
elseif (ringback == "it-ring") then
|
||||
session:setVariable("ringback", "%(1000, 4000, 425.0, 0.0)");
|
||||
session:setVariable("transfer_ringback", "%(1000, 4000, 425.0, 0.0)");
|
||||
else
|
||||
session:execute("set", "ringback=local_stream://default"); --set to ringtone
|
||||
session:execute("set", "transfer_ringback=local_stream://default"); --set to ringtone
|
||||
end
|
||||
|
||||
--define the sounds directory
|
||||
sounds_dir = session:getVariable("sounds_dir");
|
||||
|
||||
@@ -38,6 +38,9 @@
|
||||
require "resources.functions.database_handle";
|
||||
dbh = database_handle('system');
|
||||
|
||||
--include functions
|
||||
require "resources.functions.format_ringback"
|
||||
|
||||
--get the variables
|
||||
domain_name = session:getVariable("domain_name");
|
||||
context = session:getVariable("context");
|
||||
@@ -135,27 +138,7 @@
|
||||
end
|
||||
|
||||
--set ringback
|
||||
if (ivr_menu_ringback == "${uk-ring}") then
|
||||
ivr_menu_ringback = "tone_stream://%(400,200,400,450);%(400,2200,400,450);loops=-1";
|
||||
end
|
||||
if (ivr_menu_ringback == "${us-ring}") then
|
||||
ivr_menu_ringback = "tone_stream://%(2000,4000,440.0,480.0);loops=-1";
|
||||
end
|
||||
if (ivr_menu_ringback == "${pt-ring}") then
|
||||
ivr_menu_ringback = "tone_stream://%(1000,5000,400.0,0.0);loops=-1";
|
||||
end
|
||||
if (ivr_menu_ringback == "${fr-ring}") then
|
||||
ivr_menu_ringback = "tone_stream://%(1500,3500,440.0,0.0);loops=-1";
|
||||
end
|
||||
if (ivr_menu_ringback == "${rs-ring}") then
|
||||
ivr_menu_ringback = "tone_stream://%(1000,4000,425.0,0.0);loops=-1";
|
||||
end
|
||||
if (ivr_menu_ringback == "${it-ring}") then
|
||||
ivr_menu_ringback = "tone_stream://%(1000,4000,425.0,0.0);loops=-1";
|
||||
end
|
||||
if (ivr_menu_ringback == nil or ivr_menu_ringback == "") then
|
||||
ivr_menu_ringback = "local_stream://default";
|
||||
end
|
||||
ivr_menu_ringback = format_ringback(ivr_menu_ringback);
|
||||
session:setVariable("ringback", ivr_menu_ringback);
|
||||
session:setVariable("transfer_ringback", ivr_menu_ringback);
|
||||
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
|
||||
--add the format_ringback function
|
||||
function format_ringback ( ringback )
|
||||
if (ringback == "default_ringback") then
|
||||
--fetch the default_ringback
|
||||
ringback = session:getVariable("ringback");
|
||||
end
|
||||
if (ringback:match("%${.*}")) then
|
||||
ringback = ringback:gsub("%${", "");
|
||||
ringback = ringback:gsub("}", "");
|
||||
ringback = session:getVariable(ringback);
|
||||
if (ringback == "") then
|
||||
--fallback to us-ring
|
||||
ringback = session:getVariable("us-ring");
|
||||
end
|
||||
--convert to tone_stream
|
||||
ringback = "tone_stream://" .. ringback .. ";loops=-1";
|
||||
elseif (ringback == "") then
|
||||
ringback = session:getVariable(hold_music);
|
||||
end
|
||||
return ringback;
|
||||
end
|
||||
Reference in New Issue
Block a user