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.base64";
|
||||||
require "resources.functions.file_exists";
|
require "resources.functions.file_exists";
|
||||||
require "resources.functions.channel_utils"
|
require "resources.functions.channel_utils"
|
||||||
|
require "resources.functions.format_ringback"
|
||||||
|
|
||||||
--get the variables
|
--get the variables
|
||||||
domain_name = session:getVariable("domain_name");
|
domain_name = session:getVariable("domain_name");
|
||||||
@@ -321,27 +322,7 @@ local log = require "resources.functions.log".ring_group
|
|||||||
domain_name = row.domain_name;
|
domain_name = row.domain_name;
|
||||||
|
|
||||||
--set ringback
|
--set ringback
|
||||||
if (ring_group_ringback == "${uk-ring}") then
|
ring_group_ringback = format_ringback(ring_group_ringback);
|
||||||
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
|
|
||||||
session:setVariable("ringback", ring_group_ringback);
|
session:setVariable("ringback", ring_group_ringback);
|
||||||
session:setVariable("transfer_ringback", ring_group_ringback);
|
session:setVariable("transfer_ringback", ring_group_ringback);
|
||||||
|
|
||||||
|
|||||||
@@ -40,6 +40,9 @@
|
|||||||
require "resources.functions.database_handle";
|
require "resources.functions.database_handle";
|
||||||
dbh = database_handle('system');
|
dbh = database_handle('system');
|
||||||
|
|
||||||
|
--include functions
|
||||||
|
require "resources.functions.format_ringback"
|
||||||
|
|
||||||
--settings
|
--settings
|
||||||
require "resources.functions.settings";
|
require "resources.functions.settings";
|
||||||
settings = settings(domain_uuid);
|
settings = settings(domain_uuid);
|
||||||
@@ -88,40 +91,14 @@
|
|||||||
if (not default_dialect) then default_dialect = 'us'; end
|
if (not default_dialect) then default_dialect = 'us'; end
|
||||||
if (not default_voice) then default_voice = 'callie'; 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
|
--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("instant_ringback", "true");
|
||||||
session:setVariable("ignore_early_media", "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
|
--define the sounds directory
|
||||||
sounds_dir = session:getVariable("sounds_dir");
|
sounds_dir = session:getVariable("sounds_dir");
|
||||||
|
|||||||
@@ -38,6 +38,9 @@
|
|||||||
require "resources.functions.database_handle";
|
require "resources.functions.database_handle";
|
||||||
dbh = database_handle('system');
|
dbh = database_handle('system');
|
||||||
|
|
||||||
|
--include functions
|
||||||
|
require "resources.functions.format_ringback"
|
||||||
|
|
||||||
--get the variables
|
--get the variables
|
||||||
domain_name = session:getVariable("domain_name");
|
domain_name = session:getVariable("domain_name");
|
||||||
context = session:getVariable("context");
|
context = session:getVariable("context");
|
||||||
@@ -135,27 +138,7 @@
|
|||||||
end
|
end
|
||||||
|
|
||||||
--set ringback
|
--set ringback
|
||||||
if (ivr_menu_ringback == "${uk-ring}") then
|
ivr_menu_ringback = format_ringback(ivr_menu_ringback);
|
||||||
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
|
|
||||||
session:setVariable("ringback", ivr_menu_ringback);
|
session:setVariable("ringback", ivr_menu_ringback);
|
||||||
session:setVariable("transfer_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