Fix ring group lua script so that if each extension is not registered and never has been that it still goes to the timeout destination.
This commit is contained in:
@@ -292,22 +292,27 @@
|
|||||||
originate_prompt = "false";
|
originate_prompt = "false";
|
||||||
end
|
end
|
||||||
--originate each destination
|
--originate each destination
|
||||||
dial_string = "{ignore_early_media=true,origination_caller_id_name="..origination_caller_id_name..",origination_caller_id_number="..origination_caller_id_number.."}"..dial_string;
|
if (dial_string ~= nil) then
|
||||||
cmd = "";
|
dial_string = "{ignore_early_media=true,origination_caller_id_name="..origination_caller_id_name..",origination_caller_id_number="..origination_caller_id_number.."}"..dial_string;
|
||||||
if (tonumber(destination_delay) > 0) then
|
cmd = "";
|
||||||
cmd = "sched_api +"..destination_delay.." "..new_uuid.." ";
|
if (tonumber(destination_delay) > 0) then
|
||||||
end
|
cmd = "sched_api +"..destination_delay.." "..new_uuid.." ";
|
||||||
cmd = cmd .. "bgapi originate "..dial_string.." '&lua('"..scripts_dir.."/app/ring_groups/resources/scripts/confirm.lua' "..uuid.." "..originate_prompt..")'";
|
end
|
||||||
--freeswitch.consoleLog("notice", "[ring group] cmd: " .. cmd .. "\n");
|
cmd = cmd .. "bgapi originate "..dial_string.." '&lua('"..scripts_dir.."/app/ring_groups/resources/scripts/confirm.lua' "..uuid.." "..originate_prompt..")'";
|
||||||
result = trim(api:executeString(cmd));
|
--freeswitch.consoleLog("notice", "[ring group] cmd: " .. cmd .. "\n");
|
||||||
|
result = trim(api:executeString(cmd));
|
||||||
|
end
|
||||||
|
|
||||||
else
|
else
|
||||||
--use a delimiter between dialstrings
|
--use a delimiter between dialstrings
|
||||||
if (x == 0) then
|
if (dial_string ~= nil) then
|
||||||
app_data = "{ignore_early_media=true,origination_caller_id_name="..origination_caller_id_name..",origination_caller_id_number="..origination_caller_id_number.."}"..dial_string;
|
if (x == 0) then
|
||||||
else
|
app_data = "{ignore_early_media=true,origination_caller_id_name="..origination_caller_id_name..",origination_caller_id_number="..origination_caller_id_number.."}"..dial_string;
|
||||||
app_data = app_data .. delimiter .. dial_string;
|
else
|
||||||
end
|
app_data = app_data .. delimiter .. dial_string;
|
||||||
--freeswitch.consoleLog("notice", "[ring group] app_data: " .. app_data .. "\n");
|
end
|
||||||
|
--freeswitch.consoleLog("notice", "[ring group] app_data: " .. app_data .. "\n");
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--increment the value of x
|
--increment the value of x
|
||||||
@@ -354,13 +359,12 @@
|
|||||||
result = api:executeString(cmd);
|
result = api:executeString(cmd);
|
||||||
else
|
else
|
||||||
--no prompt
|
--no prompt
|
||||||
if (app_data) then
|
if (app_data ~= nil) then
|
||||||
session:execute("bridge", app_data);
|
session:execute("bridge", app_data);
|
||||||
end
|
if (session:getVariable("originate_disposition") == "ALLOTTED_TIMEOUT" or session:getVariable("originate_disposition") == "NO_ANSWER" or session:getVariable("originate_disposition") == "ORIGINATOR_CANCEL") then
|
||||||
if (session:getVariable("originate_disposition") == "ALLOTTED_TIMEOUT" or session:getVariable("originate_disposition") == "NO_ANSWER") then
|
session:execute(ring_group_timeout_app, ring_group_timeout_data);
|
||||||
if (ring_group_timeout_app == "voicemail") then
|
|
||||||
session:answer();
|
|
||||||
end
|
end
|
||||||
|
else
|
||||||
session:execute(ring_group_timeout_app, ring_group_timeout_data);
|
session:execute(ring_group_timeout_app, ring_group_timeout_data);
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user