mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2026-02-13 06:35:00 +00:00
Event Socket settings auto defaults or custom using config.conf
This commit is contained in:
@@ -1,191 +1,207 @@
|
||||
|
||||
-- add file_exists function
|
||||
require "resources.functions.file_exists";
|
||||
require "resources.functions.explode";
|
||||
require "resources.functions.trim";
|
||||
require "resources.functions.file_exists";
|
||||
require "resources.functions.explode";
|
||||
require "resources.functions.trim";
|
||||
|
||||
--find and return path to the config.conf
|
||||
function config()
|
||||
if (file_exists("/usr/local/etc/fusionpbx/config.conf")) then
|
||||
return "/usr/local/etc/fusionpbx/config.conf";
|
||||
elseif (file_exists("/etc/fusionpbx/config.conf")) then
|
||||
return "/etc/fusionpbx/config.conf";
|
||||
else
|
||||
require "resources.config";
|
||||
return config_file;
|
||||
end
|
||||
function config()
|
||||
if (file_exists("/usr/local/etc/fusionpbx/config.conf")) then
|
||||
return "/usr/local/etc/fusionpbx/config.conf";
|
||||
elseif (file_exists("/etc/fusionpbx/config.conf")) then
|
||||
return "/etc/fusionpbx/config.conf";
|
||||
else
|
||||
require "resources.config";
|
||||
return config_file;
|
||||
end
|
||||
end
|
||||
|
||||
--load config
|
||||
function load_config()
|
||||
--get the config file
|
||||
config_file = config();
|
||||
function load_config()
|
||||
--get the config file
|
||||
config_file = config();
|
||||
|
||||
--define arrays
|
||||
database = {}
|
||||
database.system = {}
|
||||
database.switch = {}
|
||||
database.backend = {}
|
||||
switch = {}
|
||||
xml_handler = {}
|
||||
cache = {}
|
||||
--define arrays
|
||||
database = {}
|
||||
database.system = {}
|
||||
database.switch = {}
|
||||
database.backend = {}
|
||||
switch = {}
|
||||
xml_handler = {}
|
||||
cache = {}
|
||||
|
||||
--read the config file
|
||||
file = io.open(config_file);
|
||||
lines = file:lines();
|
||||
for line in lines do
|
||||
if (line and string.match(line, "=")) then
|
||||
--parse the setings
|
||||
a = explode("=", line);
|
||||
k = trim(a[1])
|
||||
v = trim(a[2])
|
||||
--read the config file
|
||||
file = io.open(config_file);
|
||||
lines = file:lines();
|
||||
for line in lines do
|
||||
if (line and string.match(line, "=")) then
|
||||
--parse the setings
|
||||
a = explode("=", line);
|
||||
k = trim(a[1])
|
||||
v = trim(a[2])
|
||||
|
||||
--debug information
|
||||
--freeswitch.consoleLog("notice","line " .. line .. "\n");
|
||||
--freeswitch.consoleLog("notice","key: " .. k .. ", value: ".. v .. "\n");
|
||||
--debug information
|
||||
--freeswitch.consoleLog("notice","line " .. line .. "\n");
|
||||
--freeswitch.consoleLog("notice","key: " .. k .. ", value: ".. v .. "\n");
|
||||
|
||||
--database system settings
|
||||
if (k == "database.0.type") then database.system.type = v; end
|
||||
if (k == "database.0.host") then database.system.host = v; end
|
||||
if (k == "database.0.path") then database.system.path = v; end
|
||||
if (k == "database.0.hostaddr") then database.system.hostaddr = v; end
|
||||
if (k == "database.0.port") then database.system.port = v; end
|
||||
if (k == "database.0.sslmode") then database.system.sslmode = v; end
|
||||
if (k == "database.0.name") then database.system.name = v; end
|
||||
if (k == "database.0.username") then database.system.username = v; end
|
||||
if (k == "database.0.password") then database.system.password = v; end
|
||||
if (k == "database.0.backend.base64") then database.system.backend.base64 = v; end
|
||||
--database system settings
|
||||
if (k == "database.0.type") then database.system.type = v; end
|
||||
if (k == "database.0.host") then database.system.host = v; end
|
||||
if (k == "database.0.path") then database.system.path = v; end
|
||||
if (k == "database.0.hostaddr") then database.system.hostaddr = v; end
|
||||
if (k == "database.0.port") then database.system.port = v; end
|
||||
if (k == "database.0.sslmode") then database.system.sslmode = v; end
|
||||
if (k == "database.0.name") then database.system.name = v; end
|
||||
if (k == "database.0.username") then database.system.username = v; end
|
||||
if (k == "database.0.password") then database.system.password = v; end
|
||||
if (k == "database.0.backend.base64") then database.system.backend.base64 = v; end
|
||||
|
||||
--database switch settings
|
||||
if (k == "database.1.type") then database.switch.type = v; end
|
||||
if (k == "database.1.path") then database.switch.path = v; end
|
||||
if (k == "database.1.name") then database.switch.name = v; end
|
||||
if (k == "database.1.host") then database.switch.host = v; end
|
||||
if (k == "database.1.hostaddr") then database.switch.hostaddr = v; end
|
||||
if (k == "database.1.port") then database.switch.port = v; end
|
||||
if (k == "database.1.sslmode") then database.switch.sslmode = v; end
|
||||
if (k == "database.1.username") then database.switch.username = v; end
|
||||
if (k == "database.1.password") then database.switch.password = v; end
|
||||
if (k == "database.1.backend.base64") then database.backend.base64 = v; end
|
||||
--database switch settings
|
||||
if (k == "database.1.type") then database.switch.type = v; end
|
||||
if (k == "database.1.path") then database.switch.path = v; end
|
||||
if (k == "database.1.name") then database.switch.name = v; end
|
||||
if (k == "database.1.host") then database.switch.host = v; end
|
||||
if (k == "database.1.hostaddr") then database.switch.hostaddr = v; end
|
||||
if (k == "database.1.port") then database.switch.port = v; end
|
||||
if (k == "database.1.sslmode") then database.switch.sslmode = v; end
|
||||
if (k == "database.1.username") then database.switch.username = v; end
|
||||
if (k == "database.1.password") then database.switch.password = v; end
|
||||
if (k == "database.1.backend.base64") then database.backend.base64 = v; end
|
||||
|
||||
--switch settings
|
||||
if (k == "switch.conf.dir") then conf_dir = v; end
|
||||
if (k == "switch.sounds.dir") then sounds_dir = v; end
|
||||
if (k == "switch.database.dir") then database_dir = v; end
|
||||
if (k == "switch.database.name") then database_name = v; end
|
||||
if (k == "switch.recordings.dir") then recordings_dir = v; end
|
||||
if (k == "switch.storage.dir") then storage_dir = v; end
|
||||
if (k == "switch.voicemail.dir") then voicemail_dir = v; end
|
||||
if (k == "switch.scripts.dir") then scripts_dir = v; end
|
||||
--switch settings
|
||||
if (k == "switch.conf.dir") then conf_dir = v; end
|
||||
if (k == "switch.sounds.dir") then sounds_dir = v; end
|
||||
if (k == "switch.database.dir") then database_dir = v; end
|
||||
if (k == "switch.database.name") then database_name = v; end
|
||||
if (k == "switch.recordings.dir") then recordings_dir = v; end
|
||||
if (k == "switch.storage.dir") then storage_dir = v; end
|
||||
if (k == "switch.voicemail.dir") then voicemail_dir = v; end
|
||||
if (k == "switch.scripts.dir") then scripts_dir = v; end
|
||||
|
||||
--switch xml handler
|
||||
if (k == "xml_handler.fs_path") then xml_handler.fs_path = v; end
|
||||
if (k == "xml_handler.reg_as_number_alias") then xml_handler.reg_as_number_alias = v; end
|
||||
if (k == "xml_handler.number_as_presence_id") then xml_handler.number_as_presence_id = v; end
|
||||
--switch event socket settings
|
||||
if (k == "switch.event_socket.host") then event_socket_host = v; end
|
||||
if (k == "switch.event_socket.port") then event_socket_port = v; end
|
||||
if (k == "switch.event_socket.password") then event_socket_password = v; end
|
||||
|
||||
--general settings
|
||||
if (k == "php.dir") then php_dir = v; end
|
||||
if (k == "php.bin") then php_bin = v; end
|
||||
if (k == "document.root") then document_root = v; end
|
||||
if (k == "project.path") then project_path = v; end
|
||||
if (k == "temp.dir") then temp_dir = v; end
|
||||
--switch xml handler
|
||||
if (k == "xml_handler.fs_path") then xml_handler.fs_path = v; end
|
||||
if (k == "xml_handler.reg_as_number_alias") then xml_handler.reg_as_number_alias = v; end
|
||||
if (k == "xml_handler.number_as_presence_id") then xml_handler.number_as_presence_id = v; end
|
||||
|
||||
--cache settings
|
||||
if (k == "cache.method") then cache.method = v; end
|
||||
if (k == "cache.location") then cache.location = v; end
|
||||
if (k == "cache.settings") then cache.settings = v; end
|
||||
--general settings
|
||||
if (k == "php.dir") then php_dir = v; end
|
||||
if (k == "php.bin") then php_bin = v; end
|
||||
if (k == "document.root") then document_root = v; end
|
||||
if (k == "project.path") then project_path = v; end
|
||||
if (k == "temp.dir") then temp_dir = v; end
|
||||
|
||||
--show the array
|
||||
--for i,v in ipairs(a) do
|
||||
-- freeswitch.consoleLog("notice","key " .. i .. " value ".. v .. "\n");
|
||||
--end
|
||||
end
|
||||
--cache settings
|
||||
if (k == "cache.method") then cache.method = v; end
|
||||
if (k == "cache.location") then cache.location = v; end
|
||||
if (k == "cache.settings") then cache.settings = v; end
|
||||
|
||||
--show the array
|
||||
--for i,v in ipairs(a) do
|
||||
-- freeswitch.consoleLog("notice","key " .. i .. " value ".. v .. "\n");
|
||||
--end
|
||||
end
|
||||
io.close(file);
|
||||
end
|
||||
io.close(file);
|
||||
|
||||
--set the database values
|
||||
database.type = database.switch.type;
|
||||
if (database.type == 'sqlite') then
|
||||
database.path = database.switch.path;
|
||||
database.name = database.switch.name;
|
||||
end
|
||||
|
||||
--database system dsn
|
||||
system_dsn = {}
|
||||
if (database.system.type == 'pgsql') then
|
||||
--create the system_dsn array
|
||||
table.insert(system_dsn, [[pgsql://]]);
|
||||
if (database.system.host) then
|
||||
table.insert(system_dsn, [[host=]] .. database.system.host .. [[ ]]);
|
||||
end
|
||||
if (database.system.hostaddr) then
|
||||
table.insert(system_dsn, [[hostaddr=]] .. database.system.hostaddr .. [[ ]]);
|
||||
end
|
||||
table.insert(system_dsn, [[port=]] .. database.system.port .. [[ ]]);
|
||||
if (database.switch.sslmode) then
|
||||
table.insert(system_dsn, [[sslmode=]] .. database.system.sslmode .. [[ ]]);
|
||||
end
|
||||
table.insert(system_dsn, [[dbname=]] .. database.system.name .. [[ ]]);
|
||||
table.insert(system_dsn, [[user=]] .. database.system.username .. [[ ]]);
|
||||
table.insert(system_dsn, [[password=]] .. database.system.password .. [[ ]]);
|
||||
elseif (database.system.type == 'sqlite') then
|
||||
--create the system_dsn array
|
||||
table.insert(system_dsn, [[sqlite://]] .. database.system.path .. [[/]].. database.system.name ..[[ ]]);
|
||||
end
|
||||
database.system = table.concat(system_dsn, '');
|
||||
|
||||
--database switch dsn
|
||||
switch_dsn = {}
|
||||
if (database.switch.type == 'pgsql') then
|
||||
--create the switch_dsn array
|
||||
table.insert(switch_dsn, [[pgsql://]]);
|
||||
if (database.switch.host) then
|
||||
table.insert(switch_dsn, [[host=]] .. database.switch.host .. [[ ]]);
|
||||
end
|
||||
if (database.switch.hostaddr) then
|
||||
table.insert(switch_dsn, [[hostaddr=]] .. database.switch.hostaddr .. [[ ]]);
|
||||
end
|
||||
table.insert(switch_dsn, [[host=]] .. database.switch.host .. [[ ]]);
|
||||
table.insert(switch_dsn, [[port=]] .. database.switch.port .. [[ ]]);
|
||||
if (database.switch.sslmode) then
|
||||
table.insert(switch_dsn, [[sslmode=]] .. database.switch.sslmode .. [[ ]]);
|
||||
end
|
||||
table.insert(switch_dsn, [[dbname=]] .. database.switch.name .. [[ ]]);
|
||||
table.insert(switch_dsn, [[user=]] .. database.switch.username .. [[ ]]);
|
||||
table.insert(switch_dsn, [[password=]] .. database.switch.password .. [[ ]]);
|
||||
database.switch = table.concat(switch_dsn, '');
|
||||
elseif (database.switch.type == 'sqlite') then
|
||||
--create the switch_dsn array
|
||||
table.insert(switch_dsn, [[sqlite://]] .. database.switch.path .. [[/]].. database.switch.name ..[[ ]]);
|
||||
end
|
||||
database.switch = table.concat(switch_dsn, '');
|
||||
|
||||
--set defaults
|
||||
expire = {}
|
||||
expire.default = "3600";
|
||||
expire.directory = "3600";
|
||||
expire.dialplan = "3600";
|
||||
expire.languages = "3600";
|
||||
expire.sofia = "3600";
|
||||
expire.acl = "3600";
|
||||
expire.ivr = "3600";
|
||||
|
||||
--set settings
|
||||
settings = {}
|
||||
settings.recordings = {}
|
||||
settings.voicemail = {}
|
||||
settings.fax = {}
|
||||
settings.recordings.storage_type = "";
|
||||
settings.voicemail.storage_type = "";
|
||||
settings.fax.storage_type = "";
|
||||
|
||||
--set the debug options
|
||||
debug = {}
|
||||
debug.params = false;
|
||||
debug.sql = false;
|
||||
debug.xml_request = false;
|
||||
debug.xml_string = false;
|
||||
--set the database values
|
||||
database.type = database.switch.type;
|
||||
if (database.type == 'sqlite') then
|
||||
database.path = database.switch.path;
|
||||
database.name = database.switch.name;
|
||||
end
|
||||
|
||||
--database system dsn
|
||||
system_dsn = {}
|
||||
if (database.system.type == 'pgsql') then
|
||||
--create the system_dsn array
|
||||
table.insert(system_dsn, [[pgsql://]]);
|
||||
if (database.system.host) then
|
||||
table.insert(system_dsn, [[host=]] .. database.system.host .. [[ ]]);
|
||||
end
|
||||
if (database.system.hostaddr) then
|
||||
table.insert(system_dsn, [[hostaddr=]] .. database.system.hostaddr .. [[ ]]);
|
||||
end
|
||||
table.insert(system_dsn, [[port=]] .. database.system.port .. [[ ]]);
|
||||
if (database.switch.sslmode) then
|
||||
table.insert(system_dsn, [[sslmode=]] .. database.system.sslmode .. [[ ]]);
|
||||
end
|
||||
table.insert(system_dsn, [[dbname=]] .. database.system.name .. [[ ]]);
|
||||
table.insert(system_dsn, [[user=]] .. database.system.username .. [[ ]]);
|
||||
table.insert(system_dsn, [[password=]] .. database.system.password .. [[ ]]);
|
||||
elseif (database.system.type == 'sqlite') then
|
||||
--create the system_dsn array
|
||||
table.insert(system_dsn, [[sqlite://]] .. database.system.path .. [[/]].. database.system.name ..[[ ]]);
|
||||
end
|
||||
database.system = table.concat(system_dsn, '');
|
||||
|
||||
--database switch dsn
|
||||
switch_dsn = {}
|
||||
if (database.switch.type == 'pgsql') then
|
||||
--create the switch_dsn array
|
||||
table.insert(switch_dsn, [[pgsql://]]);
|
||||
if (database.switch.host) then
|
||||
table.insert(switch_dsn, [[host=]] .. database.switch.host .. [[ ]]);
|
||||
end
|
||||
if (database.switch.hostaddr) then
|
||||
table.insert(switch_dsn, [[hostaddr=]] .. database.switch.hostaddr .. [[ ]]);
|
||||
end
|
||||
table.insert(switch_dsn, [[host=]] .. database.switch.host .. [[ ]]);
|
||||
table.insert(switch_dsn, [[port=]] .. database.switch.port .. [[ ]]);
|
||||
if (database.switch.sslmode) then
|
||||
table.insert(switch_dsn, [[sslmode=]] .. database.switch.sslmode .. [[ ]]);
|
||||
end
|
||||
table.insert(switch_dsn, [[dbname=]] .. database.switch.name .. [[ ]]);
|
||||
table.insert(switch_dsn, [[user=]] .. database.switch.username .. [[ ]]);
|
||||
table.insert(switch_dsn, [[password=]] .. database.switch.password .. [[ ]]);
|
||||
database.switch = table.concat(switch_dsn, '');
|
||||
elseif (database.switch.type == 'sqlite') then
|
||||
--create the switch_dsn array
|
||||
table.insert(switch_dsn, [[sqlite://]] .. database.switch.path .. [[/]].. database.switch.name ..[[ ]]);
|
||||
end
|
||||
database.switch = table.concat(switch_dsn, '');
|
||||
|
||||
--event socket settings
|
||||
if (event_socket_host == nil) then
|
||||
event_socket_host = '127.0.0.1';
|
||||
end
|
||||
if (event_socket_port == nil) then
|
||||
event_socket_port = '8021';
|
||||
end
|
||||
if (event_socket_password == nil) then
|
||||
event_socket_password = 'ClueCon';
|
||||
end
|
||||
|
||||
--set defaults
|
||||
expire = {}
|
||||
expire.default = "3600";
|
||||
expire.directory = "3600";
|
||||
expire.dialplan = "3600";
|
||||
expire.languages = "3600";
|
||||
expire.sofia = "3600";
|
||||
expire.acl = "3600";
|
||||
expire.ivr = "3600";
|
||||
|
||||
--set settings
|
||||
settings = {}
|
||||
settings.recordings = {}
|
||||
settings.voicemail = {}
|
||||
settings.fax = {}
|
||||
settings.recordings.storage_type = "";
|
||||
settings.voicemail.storage_type = "";
|
||||
settings.fax.storage_type = "";
|
||||
|
||||
--set the debug options
|
||||
debug = {}
|
||||
debug.params = false;
|
||||
debug.sql = false;
|
||||
debug.xml_request = false;
|
||||
debug.xml_string = false;
|
||||
end
|
||||
|
||||
--autoload the configuration
|
||||
load_config();
|
||||
load_config();
|
||||
|
||||
Reference in New Issue
Block a user