This topic describes how and when contention issues occur in Packet Data Protocol (PDP) contexts.
Mobile devices use PDP contexts and Access Points to connect to networks. A PDP context contains information about the current subscriber session. A Primary PDP context has a QoS profile and has a unique IP address. The Primary PDP context is always activated first. For more information about QoS see Quality of Service.
A network can support multiple Access Point Names (APN) but may only allow a limited number of primary active PDP contexts. These restrictions are imposed by the network providers.
The following steps give a brief summary of what happens in the system when a contention issue occurs:
All available primary PDP contexts are activated by applications that use GPRS connections. Each GPRS connection uses a different Access Point. Each Access Point has an associated priority. The priority range is 1-KMaxTUint where 1 is high priority and KMaxTUint is low priority.
Note: The Access Point priorities are stored in the Comms Database AccessPointTable. You can specify a priority for access point using Comms Database config file in “cfg” format. If a priority is not assigned to an access point the default value is KMaxTUint is given. A zero priority value is invalid.
One more application attempts to open a GPRS connection which requires another primary PDP context. Due to the network limitation on the number of primary PDP contexts, this is not possible.
The connection priorities are noted. If the incoming connection has a higher priority than an existing connection, the existing connection is stopped. This means that the primary PDP context associated with this connection is made available, and it can be used by the incoming connection.
The incoming connection is started. The stopped connection receives a KLinkLayerClosed progress notification with the KErrConnectionContention error code.
Contention management lets you control network connections when the number of PDP contexts available is limited.