Add support for extension_settings.

This commit is contained in:
FusionPBX 2021-02-09 13:23:59 -07:00 committed by GitHub
parent 682c632520
commit 34f6d3e068
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 30 additions and 0 deletions

View File

@ -312,6 +312,7 @@
password = row.password;
mwi_account = row.mwi_account;
auth_acl = row.auth_acl;
--variables
sip_from_user = row.extension;
sip_from_number = (#number_alias > 0) and number_alias or row.extension;
@ -412,6 +413,25 @@
end);
end
--get the extension settings from the database
if (extension_uuid) then
local sql = "SELECT * FROM v_extension_settings "
.. "WHERE extension_uuid = :extension_uuid "
.. "and extension_setting_enabled = 'true' ";
local params = {extension_uuid=extension_uuid};
if (debug["sql"]) then
freeswitch.consoleLog("notice", "[xml_handler] SQL: " .. sql .. "; params:" .. json.encode(params) .. "\n");
end
extension_settings = {}
dbh:query(sql, params, function(row)
table.insert(extension_settings, {
extension_setting_type = row.extension_setting_type,
extension_setting_name = row.extension_setting_name,
extension_setting_value = row.extension_setting_value
});
end);
end
--get the voicemail from the database
if (continue) then
vm_enabled = "true";
@ -510,6 +530,11 @@
table.insert(xml, [[ <param name="verto-dialplan" value="XML"/>]]);
table.insert(xml, [[ <param name="jsonrpc-allowed-methods" value="verto"/>]]);
table.insert(xml, [[ <param name="jsonrpc-allowed-event-channels" value="demo,conference,presence"/>]]);
for key,row in pairs(extension_settings) do
if (row.extension_setting_type == 'param') then
table.insert(xml, [[ <param name="]]..row.extension_setting_name..[[" value="]]..row.extension_setting_value..[["/>]]);
end
end
table.insert(xml, [[ </params>]]);
table.insert(xml, [[ <variables>]]);
table.insert(xml, [[ <variable name="domain_uuid" value="]] .. domain_uuid .. [["/>]]);
@ -645,6 +670,11 @@
table.insert(xml, [[ <variable name="record_stereo" value="true"/>]]);
table.insert(xml, [[ <variable name="transfer_fallback_extension" value="operator"/>]]);
table.insert(xml, [[ <variable name="export_vars" value="domain_name"/>]]);
for key,row in pairs(extension_settings) do
if (row.extension_setting_type == 'variable') then
table.insert(xml, [[ <variable name="]]..row.extension_setting_name..[[" value="]]..row.extension_setting_value..[["/>]]);
end
end
table.insert(xml, [[ </variables>]]);
table.insert(xml, [[ </user>]]);
table.insert(xml, [[ </users>]]);