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
Install Required Dependencies
The Calls SDK relies on the following packages. Install them alongside the SDK: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