[pkg-fso-commits] [SCM] FSO frameworkd Debian packaging branch, debian, updated. upstream/0.9.5.5-717-g0f98819

Sebastian Krzyszkowiak seba.dos1 at gmail.com
Sat Aug 6 08:17:26 UTC 2011


The following commit has been merged in the debian branch:
commit 4cb352e86f8c974e70cb7ecde4d3696849cb9165
Author: Sebastian Krzyszkowiak <seba.dos1 at gmail.com>
Date:   Sun Jul 12 15:38:25 2009 +0200

    opimd: ogsmd-Calls: handle calls on multiple lines

diff --git a/framework/subsystems/opimd/pimb_ogsmd_calls.py b/framework/subsystems/opimd/pimb_ogsmd_calls.py
index 0a1e960..7fe020b 100644
--- a/framework/subsystems/opimd/pimb_ogsmd_calls.py
+++ b/framework/subsystems/opimd/pimb_ogsmd_calls.py
@@ -74,42 +74,46 @@ class OgsmdCallsBackend(Backend):
         """Returns a list of PIM domains that this plugin supports"""
         return _DOMAINS
 
-    def handle_call_status(self, id, call_status, call_props):
-        #TODO: handle calls on multiple lines
-        if not self.props.has_key('Answered'):
-            self.props['Answered']=0
+    def handle_call_status(self, line, call_status, call_props):
+
+        if not self.props.has_key(line):
+            self.props[line] = {}
+            self.props[line]['Line'] = str(line)
+
+        if not self.props[line].has_key('Answered'):
+            self.props[line]['Answered']=0
         if call_props.has_key('mode'):
-            self.props['Type']='gsm_'+call_props['mode']
+            self.props[line]['Type']='gsm_'+call_props['mode']
         if call_props.has_key('peer'):
             peer = phone_number_to_tel_uri(call_props["peer"])
-        elif self.props.has_key('Peer'):
-            peer = self.props['Peer']
+        elif self.props[line].has_key('Peer'):
+            peer = self.props[line]['Peer']
 
         if call_status == "incoming":
             try:
-                self.props['Peer'] = peer
+                self.props[line]['Peer'] = peer
             except:
                 pass
-            self.props['Direction'] = 'in'
+            self.props[line]['Direction'] = 'in'
         elif call_status == "outgoing":
-            self.props['Peer'] = peer
-            self.props['Direction'] = 'out'
+            self.props[line]['Peer'] = peer
+            self.props[line]['Direction'] = 'out'
         elif call_status == "active":
-            self.props['Answered'] = 1
-            self.props['Timestamp'] = time.time()
+            self.props[line]['Answered'] = 1
+            self.props[line]['Timestamp'] = time.time()
         elif call_status == "release":
-            if self.props.has_key('Timestamp'):   
-                self.props['Duration'] = time.time() - self.props['Timestamp']
+            if self.props[line].has_key('Timestamp'):
+                self.props[line]['Duration'] = time.time() - self.props[line]['Timestamp']
             else:
-                self.props['Timestamp'] = time.time()
-            self.props['Timezone'] = time.tzname[time.daylight]
-            self.props['New']=1
-            if self.props['Direction']=='in' and not self.props['Answered']:
-                self._domain_handlers['Calls'].register_missed_call(self, self.props)
+                self.props[line]['Timestamp'] = time.time()
+            self.props[line]['Timezone'] = time.tzname[time.daylight]
+            self.props[line]['New']=1
+            if self.props[line]['Direction']=='in' and not self.props[line]['Answered']:
+                self._domain_handlers['Calls'].register_missed_call(self, self.props[line])
             else:
-                self._domain_handlers['Calls'].Add(self.props)
+                self._domain_handlers['Calls'].Add(self.props[line])
 
-            self.props = {}
+            del self.props[line]
 
     @tasklet.tasklet
     def load_entries(self):

-- 
FSO frameworkd Debian packaging



More information about the pkg-fso-commits mailing list