CallKit requirements for push notification when in foreground

Or application is a VoIP application that can receive incoming call notifications over Session Initiation Protocol (SIP) as well as over Apple’s VoIP push notification channel.


We would like to understand the requirements about when the CallKit API must be called to report a new incoming call to the user. Specifically:


If our application is in foreground (or in background but is not suspended yet) and has a SIP socket connection to our VoIP telephony server, it is able to receive incoming call information over SIP connection. Our telephony server simultaneously sends incoming call notifications over both SIP connection as well as Apple’s VoIP push network. When the PushKit callback is received by our iOS app, is the app required to call CallKit APIs for the same call it has already received over the SIP connection and alerted the user about?


Marc