Sorry I mised your earlier response. It’s better to reply as a reply, rather than in the comments; see Quinn’s Top Ten DevForums Tips for this and other titbits. This suggests that while UDP packets reach the device, delivery to the process is suspended in background, which explains why the DTLS handshake cannot progress. Indeed. This is pretty fundamental to how iOS works. If your app moves to the background, iOS suspends it. It then can’t do anything until it gets resumed. It’ll be resumed when your app moves to the foreground. It can also be resumed in the background under specific criteria. However, traffic on a UDP socket is not one of those criteria. I talk more about this in iOS Background Execution Limits. Traditionally, VoIP apps use two different techniques for these two scenarios: For ring indication, they use one of the technologies that Kevin described above (VoIP push or Local push connectivity). For the actual conversation, they prevent the app from suspending by virtue of their active audio se
Topic:
App & System Services
SubTopic:
Networking
Tags: