Establishing a WWAN-based GPRS Connection

Windows Mobile 6.5

GPRS connections to a Wireless wide-area network (WWAN) can establish a connection without the Point-to-Point protocol (PPP). One advantage of using WWAN-based GPRS connections is the ability to establish multiple GPRS connections simultaneously.

The following illustration shows the data flow that occurs when a WWAN-based GPRS connection is established.


The items in the following list correspond to the number arrows in the diagram.

  1. CSPWwan reads the provisioning information from the registry.
    WWAN-based GPRS connections are provisioned by the Configuration Manager using Configuration Service Providers. For more information about CSPWwan, see Connection Service Providers.
  2. An application makes a connection request using the ConnMgrEstablishConnection function. This application can be written by an OEM or an application developer.
  3. Connection Manager queries CSPWwan for an enumeration of available WWAN connections.
  4. CSPWwan returns the list of WWAN connections to the Connection Manager.
  5. If CSPWwan returns a connection that can satisfy the connection request, Connection Manager asks CSPWwan to establish the connection.
  6. CSPWwan binds to the NDISUIO protocol driver to begin the process of activating the required context. The required context is communicated by sending an Object Identifier (OID) with information about the networks (APNs) available for connection.
  7. The NDISUIO driver passes the OID to the NDIS driver, which passes to the Virtual Ethernet Miniport (VEM).
  8. The VEM creates a WWAN miniport instance, which handles and routes packet transmission and reception. After the VEM creates the WWAN miniport instance, the RIL Driver can establish a GPRS context.
  9. The VEM returns the established GPRS context to NDISUIO.
  10. NDISUIO returns the established GPRS context to CSPWwan.
  11. CSPWwan returns the connection status.
  12. Connection Manager notifies the calling application of the new connection status. If the connection was established successfully, Connection Manager indicates CONNMGR_STATUS_CONNECTED. See Connection Manager Status Constants for a complete list of possible values.

Community Additions