diff --git a/resources/install/scripts/app/xml_handler/resources/scripts/dialplan/dialplan.lua b/resources/install/scripts/app/xml_handler/resources/scripts/dialplan/dialplan.lua
index ccb6bee472..cd90ebce50 100644
--- a/resources/install/scripts/app/xml_handler/resources/scripts/dialplan/dialplan.lua
+++ b/resources/install/scripts/app/xml_handler/resources/scripts/dialplan/dialplan.lua
@@ -65,18 +65,19 @@
condition_tag_status = "closed";
--get the dialplan and related details
- sql = "select * from v_dialplans as d, v_dialplan_details as s ";
+ sql = "select * from v_dialplans as p, v_dialplan_details as s, v_domains as d ";
if (call_context == "public" or string.sub(call_context, 0, 7) == "public@" or string.sub(call_context, -7) == ".public") then
- sql = sql .. "where d.dialplan_context = '" .. call_context .. "' ";
+ sql = sql .. "where p.dialplan_context = '" .. call_context .. "' ";
else
- sql = sql .. "where (d.dialplan_context = '" .. call_context .. "' or d.dialplan_context = '${domain_name}') ";
+ sql = sql .. "where (p.dialplan_context = '" .. call_context .. "' or p.dialplan_context = '${domain_name}') ";
end
- sql = sql .. "and d.dialplan_enabled = 'true' ";
- sql = sql .. "and d.dialplan_uuid = s.dialplan_uuid ";
+ sql = sql .. "and p.dialplan_enabled = 'true' ";
+ sql = sql .. "and p.dialplan_uuid = s.dialplan_uuid ";
+ sql = sql .. "and p.domain_uuid = d.domain_uuid ";
sql = sql .. "order by ";
- sql = sql .. "d.dialplan_order asc, ";
- sql = sql .. "d.dialplan_name asc, ";
- sql = sql .. "d.dialplan_uuid asc, ";
+ sql = sql .. "p.dialplan_order asc, ";
+ sql = sql .. "p.dialplan_name asc, ";
+ sql = sql .. "p.dialplan_uuid asc, ";
sql = sql .. "s.dialplan_detail_group asc, ";
sql = sql .. "CASE s.dialplan_detail_tag ";
sql = sql .. "WHEN 'condition' THEN 1 ";
@@ -95,6 +96,7 @@
--get the dialplan
domain_uuid = row.domain_uuid;
+ domain_name = row.domain_name;
dialplan_uuid = row.dialplan_uuid;
--app_uuid = row.app_uuid;
--dialplan_context = row.dialplan_context;
@@ -237,23 +239,15 @@
if (call_context == "public" or string.sub(call_context, 0, 7) == "public@" or string.sub(call_context, -7) == ".public") then
if (dialplan_detail_tag == "action") then
if (first_action) then
+ table.insert(xml, [[ ]]);
if (domain_uuid ~= nil and domain_uuid ~= '') then
- if (domain_name == nil) then
- sql = "SELECT domain_name FROM v_domains where domain_uuid = '"..domain_uuid.."'";
- dbh:query(sql, function(row)
- domain_name = row["domain_name"];
- end);
- end
- table.insert(xml, [[ ]]);
- if (domain_uuid ~= nil) then
- table.insert(xml, [[ ]]);
- end
- if (domain_name ~= nil) then
- table.insert(xml, [[ ]]);
- table.insert(xml, [[ ]]);
- end
- first_action = false;
+ table.insert(xml, [[ ]]);
end
+ if (domain_name ~= nil and domain_name ~= '') then
+ table.insert(xml, [[ ]]);
+ table.insert(xml, [[ ]]);
+ end
+ first_action = false;
end
end
end