summaryrefslogtreecommitdiff
path: root/misc/freeswitch/scripts/configuration/sip.lua
diff options
context:
space:
mode:
Diffstat (limited to 'misc/freeswitch/scripts/configuration/sip.lua')
-rw-r--r--misc/freeswitch/scripts/configuration/sip.lua37
1 files changed, 37 insertions, 0 deletions
diff --git a/misc/freeswitch/scripts/configuration/sip.lua b/misc/freeswitch/scripts/configuration/sip.lua
new file mode 100644
index 0000000..78143bc
--- /dev/null
+++ b/misc/freeswitch/scripts/configuration/sip.lua
@@ -0,0 +1,37 @@
+-- Gemeinschaft 5 module: sip configuration class
+-- (c) AMOOMA GmbH 2012
+--
+
+module(...,package.seeall)
+
+Sip = {}
+
+-- create sip configuration object
+function Sip.new(self, arg)
+ arg = arg or {}
+ object = arg.object or {}
+ setmetatable(object, self);
+ self.__index = self;
+ self.log = arg.log;
+ self.database = arg.database;
+ self.record = arg.record;
+ return object;
+end
+
+-- find gateway by name
+function Sip.find_gateway_by_name(self, name)
+ require 'common.configuration_file'
+ return common.configuration_file.get('/opt/freeswitch/scripts/ini/gateways.ini', name);
+end
+
+-- list sip domains
+function Sip.domains(self)
+ local sql_query = 'SELECT * FROM `sip_domains`';
+ local sip_domains = {}
+
+ self.database:query(sql_query, function(sip_domain)
+ table.insert(sip_domains, sip_domain);
+ end)
+
+ return sip_domains;
+end