Skip to main content
Voice and video calling on iOS is provided by the CometChat Calls SDK, with incoming calls rung by the Push Notifications SDK through PushKit and CallKit. The Chat SDK is used for chat; it no longer takes part in calling.
The Chat SDK’s calling APIs are superseded. CometChat.initiateCall, acceptCall, rejectCall, endCall, startCall, getActiveCall, clearActiveCall, getCallParticipantCount, addCallListener / removeCallListener, CometChat.calldelegate, CometChatCallDelegate and CallSettings still work, and a coming Chat SDK release marks them deprecated. Their replacement is the Calls SDK: CometChatCalls.initiateCall, endCall(sessionID:status:), joinSession, CallSession.shared.leave() and addIncomingCallListener. Ringing the callee is done by the Push Notifications SDK’s Calls product. See Ringing and Migrating from Legacy Ringing.Not deprecated: the Call message model and its properties, and the CometChat.callStatus and CometChat.CallType values, because call messages in a conversation’s history still use them.

Key Features

  • Voice & Video Calls — High-quality 1-on-1 and group calling with adaptive bitrate
  • Screen Sharing — Share your screen during calls for collaboration
  • Call Recording — Record calls and access recordings later
  • Call Logs — Track call history with detailed metadata
  • Ringing & Notifications — Incoming calls ring through the Push Notifications SDK and CallKit, with the app in any state
  • Customizable UI — Presenter mode and video view customization

Choose Your Version

Calls SDK v5 (Recommended)

The current Calls SDK: call sessions, ringing with the Push Notifications SDK and CallKit, recording, call logs, and more. Use it for new apps.

Calling SDK v4 (Legacy)

The previous calling SDK, with ringing through the Chat SDK. For existing apps that have not moved to v5 yet.
If you are using CometChat UI Kits, calling is already integrated; see Calling Integration. The Calls SDK is only needed for custom calling implementations.