Here's a question I see repeatedly from my 2G customers with devices that are connected 24 hours a day or for long periods of time overnight. "Sometimes my device reports that it has a PDP Context, but when I look at it on Control Center, the network doesn't show an active PDP Context. This happens infrequently and generally occurs overnight.
The answer to this question 99 out of 100 times is a SGSN maintenance window, where the SGSN released, without notification, all active PDP Contexts. This exposes a flaw in the 2G GSM/3GPP specifications. In such cases, the device had an active PDP Context on the SGSN and because there was no message from the SGSN indicating that the PDP Context was deactivated, the device maintains its PDP Context. From an application perspective, the PDP Context is active, but data transfers fail.
This flaw was fixed for R99+ devices by including a PDP status field in the Periodic Routing Area Update. However, it remains an issue for pre-R99 devices.
The workaround for this scenario is to have the M2M application do a reset of the PDP Context upon failure of data transfer; i.e. deactivate the PDP Context, then activate a new one.