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
Quick Reference for AI Agents & Developers
- Android 6.0+ also needs a runtime permission request — a manifest entry alone is not enough
- Works on the old architecture and the New Architecture, including bridgeless — no extra setup
- Next → Authentication → Join Session
Add the CometChat Dependency
Using npm
Using Yarn
Ringing users? Incoming calls ring through the Push Notifications SDK’s VoIP package. Install
@cometchat/push-notifications-react-native@^2.0.0 and
@cometchat/push-notifications-voip-react-native@^2.0.0 as well, and follow Push Ringing. The Calls SDK alone
can start, join and end calls, but it cannot ring a device that is not running your app.Install Peer Dependencies
The Calls SDK relies on the following packages. Install them alongside the SDK:
The package accepts
react-native-svg from ^15.12.0. Use ^15.16.0, the first version whose podspec targets iOS 15.1.
Using npm
Using Yarn
React Native New Architecture
The Calls SDK works with both the old architecture and the New Architecture, including bridgeless mode. No extra setup is needed — leavenewArchEnabled set to whatever your app requires and follow the same integration steps either way.
The SDK ships as a legacy native module rather than a TurboModule/Fabric component. On the New Architecture it runs through React Native’s built-in interop layer, so the API and behavior are identical on both architectures.
Expo
The Calls SDK depends onreact-native-webrtc, which ships its own Android and iOS native code. That has
two consequences for Expo projects:
react-native-webrtc ships no Expo config plugin, so declare the native configuration in app.json
rather than editing Info.plist and AndroidManifest.xml by hand — a prebuild regenerates those files
and discards manual edits:
iOS Configuration
Install CocoaPods Dependencies
Navigate to your iOS directory and install the pods:Add Permissions
Add the required permissions to yourios/YourApp/Info.plist:
Enable Background Modes
For calls to continue when the app is in the background:- Open your project in Xcode
- Select your target and go to Signing & Capabilities
- Click + Capability and add Background Modes
- Enable:
- Audio, AirPlay, and Picture in Picture
- Voice over IP (if using VoIP push notifications)
Android Configuration
Add Permissions
Add the required permissions to yourandroid/app/src/main/AndroidManifest.xml:
For Android 6.0 (API level 23) and above, you must request camera and microphone permissions at runtime before starting a call.
Request Runtime Permissions
Use a library likereact-native-permissions or implement native permission requests:
Verify Installation
After installation, rebuild your app:Related Documentation
- Authentication - Initialize the SDK and authenticate users
- Join Session - Start your first call