Thanks for being a part of WWDC25!

How did we do? We’d love to know your thoughts on this year’s conference. Take the survey here

Need to check Call Status without using CallKit

My app requirement is to check that User is on call while doing transaction. If user on call then we need to show Caution alert. For this requirement we used CallKit to detect Call status and it's working fine but recently Apple has rejected the application because of Callkit that is banned in China. Could you please provide any solution to check the Call Status only.

Answered by DTS Engineer in 840487022

My app requirement is to check that User is on call while doing transaction. If user on call then we need to show Caution alert. For this requirement we used CallKit to detect Call status and it's working fine but recently Apple has rejected the application because of Callkit that is banned in China. Could you please provide any solution to check the Call Status only.

The LiveCommunication framework provides similar functionality to CXCallObserver. For example, see "ConversationManager.conversations" and "conversationManager(_:conversationChanged:)"

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

My app requirement is to check that User is on call while doing transaction. If user on call then we need to show Caution alert. For this requirement we used CallKit to detect Call status and it's working fine but recently Apple has rejected the application because of Callkit that is banned in China. Could you please provide any solution to check the Call Status only.

The LiveCommunication framework provides similar functionality to CXCallObserver. For example, see "ConversationManager.conversations" and "conversationManager(_:conversationChanged:)"

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

LiveCommunication provides A VoIP conversation. My requirement is just to detect any Normal call or VoIP call in-progress. I don't wants to make any Live chat app.

LiveCommunication provides A VoIP conversation.

Note that LiveCommunicationKit is a direct "peer" API to CallKit. For example, LiveCommunicationKit can replace CallKit when using voip pushes and both APIs are aware of each other and able to correctly interoperate.

I would strongly suggest that you test the API I suggested. In particular:

My requirement is just to detect any Normal call or VoIP call in-progress. I don't wants to make any Live chat app.

... I believe you'll find that "ConversationManager.conversations" and "conversationManager(_:conversationChanged:)" return the same information about device wide call activity as CXCallObserver. I'll also note that while initializing ConversationManager requires data only relevant to a VOIP app* (which reports calls and would include the "voip" background category), those specific functions inside ConversationManager will work fine in any app.

*ConversationManager basically combine the functionality of CXCallObserver and CXProvider.

Making this as explicit as possible, this API provides exactly what you're asking for.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

Need to check Call Status without using CallKit
 
 
Q