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

Jan Luebbe jluebbe at debian.org
Mon Feb 2 18:51:15 UTC 2009


The following commit has been merged in the master branch:
commit ba7db159ca139cdf7b1c0edc99cba647bea72c0c
Author: Jan Luebbe <jluebbe at debian.org>
Date:   Thu Nov 13 18:59:49 2008 +0100

    ogsmd: detect forwarding for incoming calls

diff --git a/framework/subsystems/ogsmd/modems/ti_calypso/mediator.py b/framework/subsystems/ogsmd/modems/ti_calypso/mediator.py
index c0ae20e..24a1fc5 100644
--- a/framework/subsystems/ogsmd/modems/ti_calypso/mediator.py
+++ b/framework/subsystems/ogsmd/modems/ti_calypso/mediator.py
@@ -165,6 +165,12 @@ class CallHandler( object ):
             self._calls[callId] = { "status":"release" }
         self._updateStatus( callId )
 
+    def statusChangeFromNetworkByStatus( self, status, info ):
+        calls = [call for call in self._calls.items() if call[1]["status"] == status]
+        if not len(calls) == 1:
+            raise error.InternalException( "non-unique call state '%'" % status )
+        self.statusChangeFromNetwork( calls[0][0], info )
+
     def feedUserInput( self, action, *args, **kwargs ):
         # simple actions
         # FIXME might rather want to consider using the state machine, since that would be more clear
diff --git a/framework/subsystems/ogsmd/modems/ti_calypso/unsolicited.py b/framework/subsystems/ogsmd/modems/ti_calypso/unsolicited.py
index 294d0bf..23cb7b5 100644
--- a/framework/subsystems/ogsmd/modems/ti_calypso/unsolicited.py
+++ b/framework/subsystems/ogsmd/modems/ti_calypso/unsolicited.py
@@ -116,12 +116,29 @@ class UnsolicitedResponseDelegate( AbstractUnsolicitedResponseDelegate ):
     # +CSSU: 2,,"",128
     def plusCSSU( self, righthandside ):
         code, index, number, type = safesplit( righthandside, "," )
+        info = {}
+        if code == "0":
+            info["forwarded"] = True
+        elif code == "1":
+            info["cug"] = True
+        elif code == "2":
+            info["remotehold"] = True
+        elif code == "3":
+            info["remotehold"] = False
+        else:
+            logger.info( "unhandled +CSSU code '%s'" % code )
+        if info:
+            self._mediator.callHandler.statusChangeFromNetworkByStatus( "incoming", info )
 
     #
     # TI Calypso proprietary
     #
 
     # %CCCN: 0,0,A10E02010402011030068101428F0101
+
+    # call to homezone number while in homezone
+    # this is sent while the call is incoming
+    # %CCCN: 0,0,A10E0201000201103006810120850101
     def percentCCCN( self, righthandside ):
         direction, callId, ie = safesplit( righthandside, "," )
         # this is ASN.1 BER, but we don't want a full decoder here

-- 
FSO frameworkd Debian packaging



More information about the pkg-fso-commits mailing list