[pkg-fso-commits] [SCM] FSO frameworkd Debian packaging branch, master, updated. milestone4-368-g700ab82

Michael 'Mickey' Lauer mickey at vanille-media.de
Mon Feb 2 18:51:54 UTC 2009


The following commit has been merged in the master branch:
commit b9f8eb63343d6dee7f916891be4d5b71b758dc20
Author: Michael 'Mickey' Lauer <mickey at vanille-media.de>
Date:   Sat Jan 10 17:32:29 2009 +0100

    ogsmd: [TI CALYPSO] honor +CRING, if -- for some reason -- we didn't get %CPI before.

diff --git a/framework/subsystems/ogsmd/modems/abstract/calling.py b/framework/subsystems/ogsmd/modems/abstract/calling.py
index 7708956..6bd4bc3 100644
--- a/framework/subsystems/ogsmd/modems/abstract/calling.py
+++ b/framework/subsystems/ogsmd/modems/abstract/calling.py
@@ -153,7 +153,9 @@ class CallHandler( object ):
         CallListCalls( Object.instance(), self.syncStatus_ok, self.syncStatus_err )
 
     def syncStatus_ok( self, calls ):
-        assert len( calls ) == 1, "unhandled case"
+        if len( calls ) > 1:
+            logger.warning( "unhandled case" )
+            return
         # synthesize status change from network
         callid, status, properties = calls[0]
         self.statusChangeFromNetwork( callid, {"status": status} )
diff --git a/framework/subsystems/ogsmd/modems/ti_calypso/unsolicited.py b/framework/subsystems/ogsmd/modems/ti_calypso/unsolicited.py
index dd2dcb9..919fa52 100644
--- a/framework/subsystems/ogsmd/modems/ti_calypso/unsolicited.py
+++ b/framework/subsystems/ogsmd/modems/ti_calypso/unsolicited.py
@@ -7,7 +7,7 @@ The Open GSM Daemon - Python Implementation
 GPLv2 or later
 """
 
-__version__ = "0.8.3"
+__version__ = "0.8.4"
 
 from .channel import createDspCommand
 
@@ -102,10 +102,16 @@ class UnsolicitedResponseDelegate( AbstractUnsolicitedResponseDelegate ):
         self.lastStatus = register
         self.lastTime = time.time()
 
-    # +CRING is only used to trigger a status update
+    # +CRING is only honored, if we didn't receive %CPI
     def plusCRING( self, calltype ):
-        pass
-        # self._callHandler.ring()
+        status = self._callHandler.status()
+        if "incoming" in status:
+            # looks like %CPI has been received before, ignoring
+            logger.debug( "+CRING, but call status already ok: ignoring" )
+            return
+        else:
+            logger.warning( "+CRING without previous %CPI: alerting" )
+            AbstractUnsolicitedResponseDelegate.plusCRING( self, calltype )
 
     # +CLIP is not used on TI Calypso. See %CPI
     def plusCLIP( self, righthandside ):

-- 
FSO frameworkd Debian packaging



More information about the pkg-fso-commits mailing list