Quick Reference - Install the Calls SDK and initialize:
Overview
CometChat provides voice and video calling capabilities for your React Native application. This guide helps you choose the right implementation approach based on your use case.Prerequisites
- CometChat SDK installed and configured. See the Setup guide.
- CometChat Calls SDK added to your project:
Choose Your Implementation
CometChat offers three approaches to implement calling:Ringing
Complete calling flow with incoming/outgoing call UI, accept/reject functionality, and call notifications.
Call Session
Direct call session management. Use with Ringing flow or for custom call initiation logic.
Standalone Calling
Calls SDK only implementation without the Chat SDK dependency.
Ringing
Use this when you need a complete calling experience with:- Incoming and outgoing call UI
- Call accept/reject/cancel functionality
- Call notifications via push notifications
- Integration with CometChat messaging
Call Session
Use this when you need to:- Start a call session after the Ringing flow completes
- Implement custom call initiation logic with your own UI
- Join participants to a shared session using a session ID
Standalone Calling
Use this when you want:- Calling functionality without the Chat SDK
- Your own user authentication system
- Minimal SDK footprint
Features
Recording
Record audio and video calls for playback, compliance, or archival purposes.
Video View Customization
Customize the video call UI layout, participant tiles, and visual appearance.
Presenter Mode
Enable screen sharing and presentation capabilities during calls.
Call Logs
Retrieve and display call history including duration, participants, and status.
Session Timeout
Configure automatic call termination when participants are inactive.
Best Practices
Best Practices
- Initialize
CometChatCallson app startup, right afterCometChat.init() - Use the Ringing flow for user-to-user calls where you need push notification support
- Use Call Session when building custom call UIs or conference-style experiences
- Always request camera and microphone permissions before initiating a call
- Handle call errors gracefully and provide user-friendly feedback
Troubleshooting
Troubleshooting
- Calls not connecting: Verify the Calls SDK is initialized after the Chat SDK and that both use the same App ID and Region
- No audio/video: Check that camera and microphone permissions are granted on both Android and iOS
- Push notifications not arriving: Ensure push notification setup is complete — see the Push Notifications guide
- iOS build fails: Run
pod installin theiosdirectory after adding the Calls SDK dependency - Android minSdkVersion error: Set
minSdkVersionto 24 or higher in yourbuild.gradle