From edd484c7936db3995e0e8e2bd93b6115aa7554fa Mon Sep 17 00:00:00 2001 From: spag Date: Thu, 10 Jan 2013 10:03:08 +0100 Subject: method generic added --- .../scripts/configuration/freeswitch_xml.lua | 50 +++++++++++++++------- 1 file changed, 35 insertions(+), 15 deletions(-) (limited to 'misc/freeswitch/scripts') diff --git a/misc/freeswitch/scripts/configuration/freeswitch_xml.lua b/misc/freeswitch/scripts/configuration/freeswitch_xml.lua index 5f4602c..3da76df 100644 --- a/misc/freeswitch/scripts/configuration/freeswitch_xml.lua +++ b/misc/freeswitch/scripts/configuration/freeswitch_xml.lua @@ -12,12 +12,8 @@ function FreeSwitchXml.new(self, object) return object end -function FreeSwitchXml.param(self, name, value) - return '' -end - -function FreeSwitchXml.variable(self, name, value) - return '' +function FreeSwitchXml.nv_tag(self, name, value, tag) + return '<' .. tostring(tag) .. ' name="' .. tostring(name) .. '" value="' .. tostring(value) .. '"/>' end function FreeSwitchXml.document(self, sections_xml) @@ -98,12 +94,12 @@ function FreeSwitchXml.user(self, user, params) local params_xml = {} for name, value in pairs(params) do - params_xml[#params_xml+1] = self:param(name, value) + params_xml[#params_xml+1] = self:nv_tag(name, value, 'param') end local variables_xml = {} for name, value in pairs(variables) do - variables_xml[#variables_xml+1] = self:variable(name, value) + variables_xml[#variables_xml+1] = self:nv_tag(name, value, 'variable') end local xml_string = @@ -137,12 +133,12 @@ function FreeSwitchXml.gateway_user(self, user, gateway_name, auth_name) local params_xml = {} for name, value in pairs(params) do - params_xml[#params_xml+1] = self:param(name, value) + params_xml[#params_xml+1] = self:nv_tag(name, value, 'param') end local variables_xml = {} for name, value in pairs(variables) do - variables_xml[#variables_xml+1] = self:variable(name, value) + variables_xml[#variables_xml+1] = self:nv_tag(name, value, 'variable') end local xml_string = @@ -169,7 +165,7 @@ function FreeSwitchXml.sofia(self, parameters, profiles_xml) local params_xml = {} for name, value in pairs(parameters) do - params_xml[#params_xml+1] = self:param(name, value) + params_xml[#params_xml+1] = self:nv_tag(name, value, 'param') end local xml_string = @@ -192,7 +188,7 @@ end function FreeSwitchXml.sofia_profile(self, profile_name, parameters, gateways_xml) params_xml = {} for name, value in pairs(parameters) do - params_xml[#params_xml+1] = self:param(name, value) + params_xml[#params_xml+1] = self:nv_tag(name, value, 'param') end if type(gateways_xml) == "string" then @@ -225,7 +221,7 @@ function FreeSwitchXml.gateway(self, gateway_name, parameters) local params_xml = {} if parameters then for name, value in pairs(parameters) do - params_xml[#params_xml+1] = self:param(name, value) + params_xml[#params_xml+1] = self:nv_tag(name, value, 'param') end end @@ -291,9 +287,9 @@ function FreeSwitchXml.conference(self, profiles_xml) end function FreeSwitchXml.conference_profile(self, profile_name, parameters) - params_xml = {} + local params_xml = {} for name, value in pairs(parameters) do - params_xml[#params_xml+1] = self:param(name, value) + params_xml[#params_xml+1] = self:nv_tag(name, value, 'param') end local xml_string = @@ -304,3 +300,27 @@ function FreeSwitchXml.conference_profile(self, profile_name, parameters) ]] return xml_string end + +function FreeSwitchXml.generic(self, arg) + local params_xml = arg.params_xml or {}; + local params_tag = arg.params_tag or 'settings'; + local parameter_tag = arg.parameter_tag or 'param'; + + if arg.parameters then + for name, value in pairs(arg.parameters) do + params_xml[#params_xml+1] = self:nv_tag(name, value, parameter_tag) + end + end + + local xml_string = +[[ +
+ +<]] .. tostring(params_tag) .. [[> +]] .. table.concat(params_xml, "\n") .. [[ + + + +
]] + return xml_string +end -- cgit v1.2.3 From 957e0b70fc7500ca7eac9eb385d29e8c395198f7 Mon Sep 17 00:00:00 2001 From: spag Date: Thu, 10 Jan 2013 10:04:18 +0100 Subject: post_load_switch.conf added --- misc/freeswitch/scripts/configuration.lua | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'misc/freeswitch/scripts') diff --git a/misc/freeswitch/scripts/configuration.lua b/misc/freeswitch/scripts/configuration.lua index d0e2268..41c1523 100644 --- a/misc/freeswitch/scripts/configuration.lua +++ b/misc/freeswitch/scripts/configuration.lua @@ -125,6 +125,13 @@ function conf_conference(database) end end +function conf_post_switch(database) + require 'common.configuration_table'; + local parameters = common.configuration_table.get(database, 'post_load_switch', 'settings'); + + XML_STRING = xml:document(xml:generic{name = 'post_load_switch.conf', parameters = parameters}); +end + function directory_sip_account(database) local key = params:getHeader('key'); @@ -213,6 +220,8 @@ if XML_REQUEST.section == 'configuration' and XML_REQUEST.tag_name == 'configura conf_sofia(database); elseif XML_REQUEST.key_value == "conference.conf" then conf_conference(database); + elseif XML_REQUEST.key_value == "post_load_switch.conf" then + conf_post_switch(database); end elseif XML_REQUEST.section == 'directory' and XML_REQUEST.tag_name == '' then log:debug('SIP_ACCOUNT_DIRECTORY - initialization phase'); -- cgit v1.2.3