summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Kozak <spag@golwen.net>2013-12-10 11:15:28 +0000
committerPeter Kozak <spag@golwen.net>2013-12-10 11:15:28 +0000
commitb870b36071cce394e3c9ea996d2fc58e18e31f6b (patch)
tree34949ba94e3c92f3e8f74d5ce57e7ebde239a057
parent5bc2f2de8c55448296bd602041b04056d3e56042 (diff)
Gigaset dialplan class added
-rw-r--r--misc/freeswitch/scripts/phones/gigaset.lua52
1 files changed, 52 insertions, 0 deletions
diff --git a/misc/freeswitch/scripts/phones/gigaset.lua b/misc/freeswitch/scripts/phones/gigaset.lua
new file mode 100644
index 0000000..b37b638
--- /dev/null
+++ b/misc/freeswitch/scripts/phones/gigaset.lua
@@ -0,0 +1,52 @@
+-- Gemeinschaft 5 module: general gigaset model class
+-- (c) Peter Kozak 2013
+--
+
+module(...,package.seeall)
+
+Gigaset = {}
+
+-- Create Gigaset object
+function Gigaset.new(self, arg)
+ arg = arg or {}
+ object = arg.object or {}
+ setmetatable(object, self);
+ self.__index = self;
+ self.log = arg.log;
+ self.reboot = arg.reboot or true;
+ return object;
+end
+
+-- send reload message to phone
+function Gigaset.resync(self, arg)
+ if arg.reboot == nil then
+ arg.reboot = self.reboot;
+ end
+
+ local success = nil;
+ if arg.auth_name and arg.domain then
+ success = self:resync_sip(arg.auth_name, arg.domain, arg.reboot);
+ end
+
+ if arg.ip_address and arg.reboot then
+ success = self:resync_http(arg.ip_address, arg.http_user, arg.http_password, arg.http_port);
+ end
+
+ return success;
+end
+
+-- send reload message to sip_account
+function Gigaset.resync_sip(self, sip_account, domain, reboot)
+ local event = freeswitch.Event('NOTIFY');
+ event:addHeader('profile', 'gemeinschaft');
+ event:addHeader('event-string', 'check-sync;reboot=' .. tostring(reboot));
+ event:addHeader('user', sip_account);
+ event:addHeader('host', domain);
+ event:addHeader('content-type', 'application/simple-message-summary');
+ return event:fire();
+end
+
+-- send reload message to phpne ip
+function Gigaset.resync_http(self, ip_address, http_user, http_password, http_port)
+ return nil;
+end