A client of mine just informed me that, while using the app I am developing for them, they received an incoming call, but it did not bring up an alert on the iPhone. Instead, the person making the call heard a message that the user's service was temporarily unavailable.
If we put aside for a moment the possibility that either the person making the call did not have a signal to make a call, or that my client did not have a signal to receive a call, is there any conceivable way that my app could have silently rejected the call? I don't think that's possible. My interpretation of the Apple docs tells me the iPhone OS is in full control and should be able to terminate my app if it wanted.
Am I missing any corner cases here?
Check your iPhone settings Go to Settings > Focus > Do Not Disturb and make sure it's off. Check for any blocked phone numbers. Go to Settings > Phone > Blocked Contacts. See if Call Forwarding is turned on.
The most common reasons are the flight mode, call barring, call forwarding or call auto-reject.
Go to Settings > Phone. Tap Call Blocking & Identification. Under Allow These Apps To Block Calls And Provide Caller ID, turn the app on or off.
There's no programmatic way to do it.
However if you're testing on an EDGE network, Jeff Kelley's answer is correct.
Are they on EDGE? While using EDGE, you can't receive calls. They share the same radio.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With