diff --git a/resources/install/scripts/app/xml_handler/resources/scripts/directory/action/reverse-auth-lookup.lua b/resources/install/scripts/app/xml_handler/resources/scripts/directory/action/reverse-auth-lookup.lua new file mode 100644 index 0000000000..c7bf1b1569 --- /dev/null +++ b/resources/install/scripts/app/xml_handler/resources/scripts/directory/action/reverse-auth-lookup.lua @@ -0,0 +1,76 @@ +-- xml_handler.lua +-- Part of FusionPBX +-- Copyright (C) 2013 Mark J Crane +-- All rights reserved. +-- +-- Redistribution and use in source and binary forms, with or without +-- modification, are permitted provided that the following conditions are met: +-- +-- 1. Redistributions of source code must retain the above copyright notice, +-- this list of conditions and the following disclaimer. +-- +-- 2. Redistributions in binary form must reproduce the above copyright +-- notice, this list of conditions and the following disclaimer in the +-- documentation and/or other materials provided with the distribution. +-- +-- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +-- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +-- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +-- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, +-- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +-- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +-- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +-- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +-- POSSIBILITY OF SUCH DAMAGE. + +--get the action + action = params:getHeader("action"); + purpose = params:getHeader("purpose"); + --sip_auth - registration + --group_call - call group has been called + --user_call - user has been called + +--get the extension information + sql = "SELECT * FROM v_extensions WHERE domain_uuid = '" .. domain_uuid .. "' and (extension = '" .. user .. "' or number_alias = '" .. user .. "') and enabled = 'true' "; + if (debug["sql"]) then + freeswitch.consoleLog("notice", "[xml_handler] SQL: " .. sql .. "\n"); + end + dbh:query(sql, function(row) + --general + domain_uuid = row.domain_uuid; + extension_uuid = row.extension_uuid; + extension = row.extension; + cidr = ""; + if (string.len(row.cidr) > 0) then + cidr = [[ cidr="]] .. row.cidr .. [["]]; + end + number_alias = ""; + if (string.len(row.number_alias) > 0) then + number_alias = [[ number-alias="]] .. row.number_alias .. [["]]; + end + --params + password = row.password; + end); + +--build the xml + local xml = {} + --table.insert(xml, [[]]); + table.insert(xml, [[]]); + table.insert(xml, [[
]]); + table.insert(xml, [[ ]]); + table.insert(xml, [[ ]]); + table.insert(xml, [[ ]]); + table.insert(xml, [[ ]]); + table.insert(xml, [[ ]]); + table.insert(xml, [[ ]]); + table.insert(xml, [[ ]]); + table.insert(xml, [[ ]]); + table.insert(xml, [[
]]); + table.insert(xml, [[
]]); + XML_STRING = table.concat(xml, "\n"); + +--send the xml to the console + if (debug["xml_string"]) then + freeswitch.consoleLog("notice", "[xml_handler] XML_STRING: \n" .. XML_STRING .. "\n"); + end \ No newline at end of file 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 ec5fe25aa2..5ad4490d78 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 @@ -44,6 +44,8 @@ dofile(scripts_dir.."/app/xml_handler/resources/scripts/directory/action/message-count.lua"); elseif (action == "group_call") then dofile(scripts_dir.."/app/xml_handler/resources/scripts/directory/action/group_call.lua"); + elseif (action == "reverse-auth-lookup") then + dofile(scripts_dir.."/app/xml_handler/resources/scripts/directory/action/reverse-auth-lookup.lua"); elseif (params:getHeader("Event-Calling-Function") == "switch_xml_locate_domain") then dofile(scripts_dir.."/app/xml_handler/resources/scripts/directory/action/domains.lua"); else