Hi,
currently I'm experimenting with VoIP. I've developed a simple VoIP app using the "old" keep alive timeout approach (not PushKit) including
a inputstream and outputstream. The VoIP communication between my iPad and the VoIP server seems to work properly, except on a locked device.
My test case is as follows:
1. I start the VoIP app (which connects to the VoIP server) and then lock the device (with or without a code).
2. I simulate a VoIP-Call for the device, which will be noticed (local notification on lock screen).
3. I ignore the VoIP call on the device
This all works fine. But if I do this again and again, something like stress testing, then it seems that iOS terminates the app after a while.
I cannot figure out why exactly this will be done. My considerations go from a too high CPU usage or an exceeded number of received bytes.
This kind of stress testing is a little bit weird, but actually, this should work.
What I've found out:
- the VoIP app works fine on an unlocked device
- the VoIP app won't be terminated, if I don't sent a call to the device
- the life span of the app (on the lock screen) can be increased, if I take short breaks between each VoIP call (e.g. 1 seconds)
If this is a normal behavior, what will happen if someone won't accept VoIP calls over and over again?
Then the app will be terminated? Is there an upper limit for bytes that are allowed to be received (or something else) before iOS kills the app?
Best regards,
Thomas