CDMA2000 specifies two protocols, MobileIP and SimpleIP, which allow a phone to maintain an IP connection when roaming. A phone should be able to fallback to using SimpleIP if a Mobile IP registration attempt fails. Symbian OS has a generic mechanism for attempting an alternative connection if the preferred connection fails, and this can be used to implement the fallback. The principle is that there are IAP records for each of the Mobile IP and SimpleIP connections, and that the connection preferences table is used to specify the Mobile IP record as the first connection preference, and the Simple IP record as the second preference. There may be more than one fallback option: NIFMAN can attempt more than one Mobile IP connection, and more than one Simple IP connection.
For information on the SimpleIP and MobileIP protocols, see the Wireless IP Network Standard at http://www.3gpp2.org/Public_html/specs/index.cfm
The required settings in details are:
Set CDMA Operation Mode CDMA_OP_MODE
to fallback
(ECommDbCdmaOpFallback
).
There must be a record in the IAP table for the Mobile IP configuration. The IAP record should specify a service record (in the CDMA2000 Packet Service table) and a bearer record for Mobile IP.
There must also be a record in the IAP table for the Simple IP configuration, specifying the service record and bearer record to use for SimpleIP.
The connection preferences table determines the order in which the IAPs are used by NIFMAN. A ranking number given an IAP in the table determines if the record is the first, or a lower, preference for making a connection. To configure fallback, the Simple IP IAP must have a ranking immediately following the ranking of the Mobile IP IAP. For example, if the ranking of Mobile IP IAP is 1, the ranking of Simple IP IAP must be 2.
A connection preferences record has a field CONNECT_PREF_DIALOG_PREF
that sets whether or not
the user should be should be prompted or warned with a dialog that a connection
is going to be made. To make fallback transparent to the user, set this to not
warn the user.