[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