Skip to main content

Overview

CometChat provides voice and video calling capabilities for your web application. This guide helps you choose the right implementation approach based on your use case.

Prerequisites

  1. CometChat SDK installed and configured. See the Setup guide.
  2. CometChat Calls SDK added to your project:
npm install @cometchat/calls-sdk-javascript
For detailed setup instructions, see the Calls SDK Setup guide.

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
Flow: Initiate call → Receiver gets notified → Accept/Reject → Start session Get started with Ringing →

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
Flow: Generate token → Start session → Manage call → End session Get started with Call Session →

Standalone Calling

Use this when you want:
  • Calling functionality without the Chat SDK
  • Your own user authentication system
  • Minimal SDK footprint
Flow: Get auth token via REST API → Generate call token → Start session Get started with Standalone Calling →

Features

Recording

Record audio and video calls for playback, compliance, or archival purposes.

Virtual Background

Apply blur or custom image backgrounds during video calls.

Screen Sharing

Share your screen or specific application windows during calls.

Video View Customization

Customize the video call UI layout, participant tiles, and visual appearance.

Custom CSS

Style the calling UI with custom CSS to match your application’s design.

Presenter Mode

Enable presentation capabilities with spotlight on the active speaker.

Call Logs

Retrieve and display call history including duration, participants, and status.

Session Timeout

Configure automatic call termination when participants are inactive.