I have created VOIP IOS app in Xamarin, I have registered pushkit in the AppDelegate's didFinishLaunchingWithOptions and have implmented PKPushRegistryDelegate's didReceiveIncomingPushWithPayload:forType:withCompletionHandler and immediately report to call kit and invoke the completion handler. However whenever I receive a VOIP push after device boot I get these console logs:
default 15:24:32.153522-0400 callservicesd Invalidating process assertion for bundle ID <private> from timeout
error 15:24:32.154786-0400 callservicesd Killing VoIP app <private> because it failed to post an incoming call in time.
It kills my app BEFORE I have a chance to report it to call kit since it DOESN'T enter the didReceiveIncomingPushWithPayload:forType:withCompletionHandler.
However if I wait 2+ minutes after device boot to send a VOIP APN Push I will receive the VOIP push, it will enter didReceiveIncomingPushWithPayload:forType:withCompletionHandler and report it to call kit just fine.
I don't understand why this is the case and how to fix it. I have been told to make the app just like What's App so my app must be able to receive incoming voip push at any point the device is on.
Is this an issue with the device? I have been testing on a iPhone 7 Plus on version 15.7.1. Is this a internet connection issue? Could it be something else?
Is there an explanation for this behavior and is there any solutions?
Thank you very much