Making an AlwaysOn Data Connection
The AlwaysOn feature ensures that the device always keeps the packet data connection once the user establishes a connection, such as GPRS on GSM networks or 1xRTT on CDMA networks. An AlwaysOn connection is established at the point when it is first configured as AlwaysOn . Following initial configuration, Connection Manager will attempt to keep the AlwaysOn connection always connected. The behavior for AlwaysOn packet connections is configured using one of the following configuration service providers:
- CM_GPRSEntries Configuration Service Provider
- CM_NetEntries Configuration Service Provider
- CM_PPPEntries Configuration Service Provider
The AlwaysOn setting is applicable for all connections, including GPRS, 1xRTT, and others. You should take care, though, in selecting connections to designate as AlwaysOn. Suspend-resume-capable connections are often good candidates for the AlwaysOn feature. However, you will not want to designate as AlwaysOn an active data connection that can prevent incoming calls from being received. This situation often happens with 1xRTT connections.
Connection Manager will attempt to activate an AlwaysOn GPRS/1xRTT connection in the following cases:
- Connection Manager determines that the AlwaysOn connection is the preferred path for a connection request, but the connection is not already activated.
- A new AlwaysOn connection is provisioned or configured.
- For GPRS calls, when the registration status has changed through a RIL_NOTIFY_GPRSREGSTATUSCHANGED constant and the lpData notification parameter points to either RIL_REGSTAT_HOME or RIL_REGSTAT_ROAMING.
- For other types of calls — for example, 1xRTT — when the registration status has changed through a RIL_NOTIFY_GPRSREGSTATUSCHANGED constant and the lpData notification parameter points to either RIL_REGSTAT_HOME or RIL_REGSTAT_ROAMING.
- When a needed resource becomes available — for example, when a RAS call that was using the phone resource is released.
When activation fails in a recoverable way — that is, not through an incorrect username, password, APN, or upon remote disconnect — Connection Manager will use the following retry logic as long as the device remains in the proper registration state (home or roam).
Retry one time immediately.
Retry periodically (every 30 minutes with registry override) until success.
Note A connection will be kept always-on only it if its configured as such. If the connection receives a disconnect event, it will be disconnected and the change of state will be communicated to the Connection Manager AlwaysOn manager. Connection Manager will then try to reestablish the connection as described above.
The following connection types are set to AlwaysOn by default:
Desktop Passthrough (DTPT)
Note Users can modify the AlwaysOn setting for all connections except for the ones in the preceding list, which are forced AlwaysOn.
The following connection types can never set to be AlwaysOn:
If the device goes into an idle or sleep state, the AlwaysOn feature helps ensure that any active packet data session is not terminated. The following list shows the events that can trigger a Windows Mobile-based device to go into an idle state:
- User presses the power button
- Idle timeout fires
- OEM or ISV explicitly makes a system call to put the device into an idle state
In all the preceding cases, any active packet data connection would be maintained active. Even when the device is in an idle state, it is reachable and immediately available without reconnection when the device comes out of the idle state.
Send Feedback on this topic to the authors