Skip to main content
This is a beta release of the standalone Calls SDK. APIs and features may change before the stable release. For the current stable calling integration, see the React Native Calling Overview.
The CometChat Calls SDK enables real-time voice and video calling capabilities in your React Native application. Built on top of WebRTC, it provides a complete calling solution with built-in UI components and extensive customization options.
Faster Integration with UI KitsIf you’re using CometChat UI Kits, voice and video calling can be quickly integrated:
  • Incoming & outgoing call screens
  • Call buttons with one-tap calling
  • Call logs with history
👉 React Native UI Kit Calling IntegrationUse this Calls SDK directly only if you need custom call UI or advanced control.

Prerequisites

Before integrating the Calls SDK, ensure you have:
  1. CometChat Account: Sign up and create an app to get your App ID, Region, and API Key
  2. CometChat Users: Users must exist in CometChat to use calling features. For testing, create users via the Dashboard or REST API. Authentication is handled by the Calls SDK - see Authentication
  3. React Native Requirements:
    • React Native 0.71 or later
    • Node.js 18 or later
    • iOS: Minimum iOS 13.0, Xcode 14.0+
    • Android: Minimum SDK API Level 24 (Android 7.0)
  4. Permissions: Camera and microphone permissions for video/audio calls

Call Flow

Features

Ringing

Incoming and outgoing call notifications with accept/reject functionality

Call Layouts

Tile, Sidebar, and Spotlight view modes for different call scenarios

Audio Modes

Switch between speaker, earpiece, Bluetooth, and headphones

Recording

Record call sessions for later playback

Call Logs

Retrieve call history and details

Participant Management

Mute, pin, and manage call participants

Screen Sharing

View screen shares from other participants

Picture-in-Picture

Continue calls while using other apps

Raise Hand

Signal to get attention during calls

Idle Timeout

Automatic session termination when alone in a call

Architecture

The SDK is organized around these core components:
ComponentDescription
CometChatCallsMain entry point for SDK initialization, authentication, and session management
CallAppSettingsBuilderConfiguration builder for SDK initialization (App ID, Region)
CallSettingsBuilderConfiguration builder for individual call sessions
CometChatCalls.ComponentReact component that renders the call UI
OngoingCallListenerEvent listener class for call events

Sample App

Sample App

Explore the React Native Calls SDK sample app on GitHub

Changelog

View the latest releases and changes