iOS Blocking Websocket Reconnection After Multiple VoIP Push Notifications

Hello,

We have a Push-to-Talk (PTT) application that is already well established and widely used. Our app has the proper VoIP entitlement, which we are using to wake up the app and establish a WebSocket connection for real-time communication. We are also using CallKit as a supporting mechanism, but not as the primary interaction upon receiving the VoIP Push, since our use case differs from traditional full-duplex VoIP calls.

While our implementation works correctly in many cases, we have noticed a consistent issue where, after multiple VoIP Push notifications, the system still delivers the push, but prevents the WebSocket from reconnecting.

At this point, all connection attempts return errors such as:

•	"Software caused connection abort"

This issue persists until the app is manually relaunched, after which the behavior resets and repeats.

We are aware that VoIP Push was originally designed for full-duplex calls, but since Apple allows its use for other purposes through the entitlement, we would like to understand why this limitation is occurring and how to handle it properly.

Questions:

1.	Is iOS enforcing stricter background execution rules after multiple VoIP Push events within a short period?

2.	Are there any recommended best practices to ensure reliable WebSocket reconnection in this scenario?
iOS Blocking Websocket Reconnection After Multiple VoIP Push Notifications
 
 
Q