Skip to main content
Quick Reference for AI Agents & Developers
  • Auth token: Obtain via CometChat REST API (no Chat SDK required)
  • Generate call token: CometChatCalls.generateToken(authToken:sessionID:onSuccess:onError:)
  • Start session: CometChatCalls.startSession(callToken:callSettings:onSuccess:onError:)
  • Use case: Apps needing calling without full chat infrastructure
  • Related: Calling Setup · Call Session · Calling Overview

Overview

This section demonstrates how to implement calling functionality using only the CometChat Calls SDK, without requiring the Chat SDK. This is ideal for applications that need video/audio calling capabilities without the full chat infrastructure.
Before you begin, ensure you have completed the Calls SDK setup.

User Authentication

To start a call session, you need a user auth token. Since this implementation doesn’t use the Chat SDK, you’ll need to obtain the auth token via the CometChat REST API.
To understand user authentication in CometChat, see the User Auth documentation.

Option 1: Create Auth Token (REST API)

Creates a new auth token for a user. Endpoint:
Request Headers: Success Response:

Option 2: Get Auth Token (REST API)

Retrieves an existing auth token for a user. Endpoint:
Request Headers:

Option 3: Dashboard (Testing/POC)

For testing or POC purposes:
  1. Go to CometChat Dashboard
  2. Navigate to Users & Groups → Users
  3. Select a user
  4. Click + Create Auth Token
  5. Copy the generated token
Store the auth token securely in your application for use when generating call tokens.

Generate Call Token

A call token is required for secure access to a call session. Each token is unique to a specific session and user combination, ensuring that only authorized users can join the call. Use the generateToken() method to create a call token:
Request Parameters: Success Response: Error Response (CometChatCallException):

Start Call Session

Use the startSession() method to join a call session. This method requires a call token and a CallSettings object.
Request Parameters: Success Response: Error Response (CometChatCallException):

Call Settings Builder

Configure the call experience using the following CallSettingsBuilder methods:

Call Listeners

The CallsEventsDelegate protocol provides real-time callbacks for call session events.

onCallEnded

Invoked when the call session terminates for a 1:1 call. Both participants receive this callback. Payload: None Action: Close the calling screen

onSessionTimeout

Invoked when the call is auto-terminated due to inactivity (default: 180 seconds). v4.1.1+ Payload: None

onCallEndButtonPressed

Invoked when the local user taps the end call button. Payload: None Action: Call CometChatCalls.endSession() and close screen

onUserJoined

Invoked when a remote participant joins the call. Payload (RTCUser):

onUserLeft

Invoked when a remote participant leaves the call. Payload (RTCUser):

onUserListChanged

Invoked whenever the participant list changes. Payload:

onAudioModeChanged

Invoked when available audio devices change. Payload:

onCallSwitchedToVideo

Invoked when an audio call is upgraded to video. Payload (CallSwitchRequestInfo):

onUserMuted

Invoked when a participant’s mute state changes. Payload (RTCMutedUser):

onRecordingToggled

Invoked when call recording starts or stops. Payload (RTCRecordingInfo):

End Call Session

To end the call session and release all media resources, call CometChatCalls.endSession() in the onCallEndButtonPressed() callback.
When to Call endSession(): Resources Released:

Methods

These methods are available for performing custom actions during an active call session. Use them to build custom UI controls or implement specific behaviors based on your use case.
These methods can only be called when a call session is active.

Switch Camera

Toggles between the front and rear camera during a video call.

Mute Audio

Controls the local audio stream transmission.

Pause Video

Controls the local video stream transmission.

Set Audio Mode

Routes the audio output to a specific device.
Available Modes:

Enter PIP Mode

Enters Picture-in-Picture mode.

Exit PIP Mode

Exits Picture-in-Picture mode.

Switch To Video Call

Upgrades an ongoing audio call to a video call.

Start Recording

Starts recording the call session.

Stop Recording

Stops an ongoing call recording.

End Session

Terminates the current call session and releases all media resources.