Verizon, new cert requirements for apps

Verizon has now decided that there is a new requirement for the application side of the fence. One of the requirements is this:

o Device has incorrect internet APN configured (i.e. VZWINTERNET is changed to vzwtest)
 We check device sends 12 or less PDNConnectivityReqeust/Reject for 1 hour.
 We want to see the device is following a network friendly policy or backoff timer.

So, say you have two possible APN’s or more that you can use. If you use le_data_request() to initiate a data connection, with one of the APN’s. In older Revisions, it used to try to make the connection, and if it failed, the data session was NULL. In R10, it tries to connect 7 or more times. Which means you can’t do a request with another APN because if that’s not the right one, it will push you over the limit. If you decide to use the other method and call the modem connect directly, you can’t get the routing set up since that method isn’t exposed in Legato and it makes internal pa_ calls you can’t get to.

What can be done about this?

If I could call SetDefaultRouteAndDns(), this wouldn’t be an issue, because I could manually connect with le_mdc_StartSession() (which only does one connect BTW) and then call the SetDefaultRouteAndDns() and life would be good.
The problem is that sometimes when you connect using le_mdc_StartSession(), something doesn’t get setup right in the modem and while it’s connected, it won’t route any traffic, even if you manually set up the route. It doesn’t always happen, but it does happen.