Skip to main content
Choose your calling approach:
  • RingingDefault Call — Full call flow with notifications, accept/reject
  • Call SessionDirect Call — Session-based calling with custom UI
  • StandaloneStandalone Calling — Calls SDK only, no Chat SDK needed
# Install Calls SDK
npm install @cometchat/calls-sdk-javascript
Features: Recording, Virtual Background, Screen Sharing, Custom CSS, Call Logs, Session Timeout
CometChat provides three ways to add voice and video calling to your web app. Which one you pick depends on how much of the call flow you want CometChat to handle vs. building yourself.

Prerequisites

  1. CometChat Chat 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 Approach

Ringing (Full Call Flow)

The complete calling experience — incoming/outgoing call UI, accept/reject/cancel, push notifications, and integration with CometChat messaging. Use this when you want CometChat to handle the entire call lifecycle. Flow: Initiate call → Receiver gets notified → Accept/Reject → Start session

Get started with Ringing

Implement the complete ringing call flow

Call Session (Session Management)

Manages the actual call session — generating tokens, starting/ending sessions, configuring the call UI, and handling in-call events. The Ringing flow uses this under the hood after a call is accepted. You can also use it directly if you want to build your own call initiation logic. Flow: Generate token → Start session → Manage call → End session

Get started with Call Session

Start and manage call sessions

Standalone Calling (No Chat SDK)

Calling without the Chat SDK. You handle user authentication via the REST API and use only the Calls SDK. Ideal when you need voice/video but not the full chat infrastructure. Flow: Get auth token via REST API → Generate call token → Start session

Get started with Standalone Calling

Implement calling without the Chat SDK

How They Relate

All three approaches converge on the Call Session layer to manage the actual media connection. The difference is how you get there — CometChat’s ringing flow, your own UI, or standalone without the Chat SDK.

Features

Once you have calling working, you can add these capabilities:

Recording

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

Virtual Background

Apply blur or custom image backgrounds during video 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.

Call Logs

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

Session Timeout

Configure automatic call termination when participants are inactive.

Next Steps

Calls SDK Setup

Install and initialize the CometChat Calls SDK

Ringing

Implement the complete ringing call flow

Call Session

Start and manage call sessions directly

Standalone Calling

Use calling without the Chat SDK