If I display CallKit immediately after receiving the callback, and then the function returns, but the call ends within 7 seconds, will the second check be considered a misuse? No. The second check is actually validating whether a call has been reported, not whether it's still active. I'll also say that both of the checks here are designed to be more generous than the API contract specifically requires, just to minimize the possibility of any incorrect termination. There were a small number of issues [1] with this code several years ago, but I haven't seen any problems with it since. [1] All of the issues tended to involve fairly odd edge cases/circumstances. For example, there was an issue (fixed in iOS 14) with the exact timing of the secondary check where JUST the right timing between an incoming push and reporting/ending your call could cause the app to crash. Triggering this bug required continually repeating the push -> report call -> end call cycle at a cadence of ~7s for several hours. T