I'm not well versed in the API. But is there an API function that forces all network connections to be dropped? Or is there a sequence of API functions that forces all network connections to be dropped? If there is such an API function, or such a sequence of API functions, does this API not do what it claims to do?I'm not really quite sure the point you're making here, but the VPN vendors don't have responsibility to the API viability within IOS. They just secure themselves. If IOS doesn't work right, or they can't get network routing correct at the core level of IOS, or IOS can't route data consistently using the VPN, that's not an ISVs fault. All an ISV can do is utilize an API, provided by Apple, written by Apple, supported by Apple.
Edit: My quote was that the VPN in and of itself is secure - it does what it attests to do. At least on operating systems other than IOS. Because... APIs. Considering that multiple VPNs have this issue with IOS based VPNs, at least from where I'm sitting, this isn't a VPN problem. It's an Apple problem.
So:
1. If there is such an API and it doesn't work (well), this is on Apple. So, Apple is to blame if this is true.
2. If there is no such API, there is no defect and this is on the VPN vendors as they are making a claim that they can't make. There is a request to provide the API in this case, and in this case Apple has chosen not to implement it. That is bad on Apple. Both the VPN vendors and Apple are to blame in this case, although I would put more of the blame on the VPN vendors for selling something that they know won't work 100%.
3. If there is such an API and it does work well when implemented correctly, the 2 VPN vendors (at least 2) are doing something wrong. The 2 vendors are to blame in this case.
The information I have read so far doesn't make it clear what situation we are in, and who should get to work.