CXCall hasConnected is true when a call is declined or ignored

I'm working with CXCallObserver and before iOS 17, CXCall.hasConnected was only true if the user accepted the incoming phone call. Now it seems that in iOS 17 that declining or ignoring the incoming phone call also sets CXCall.hasConnected to true.

I've also noticed that when the call is declined or ignored, CXCall.hasEnded doesn't get set to true until the person calling hangs up (either before or after leaving a voicemail).

I need to know how to differentiate between an accepted, declined, or ignored phone call in iOS 17. Does anyone have any advice?

Thanks

Replies

I've narrowed the problem down further. It's not exactly an iOS 17 issue, it's a Live Voicemail issue.

When I disable Live Voicemail in the Settings, I get the expected behavior. hasConnected is true only if I pick up the call, but false if I ignore or dismiss the call. When I enable Live Voicemail, hasConnected is true for accepted, ignored, and dismissed calls.

Similar question still stands. How can I differentiate between an accepted, declined, or ignored call when Live Voicemail is enabled? Or maybe, can I disable Live Voicemail while my application is open?

Thanks