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.
- Create Auth Token — Creates a new auth token for a user
- Get Auth Token — Retrieves an existing auth token
For testing or POC purposes, you can create an auth token directly from the CometChat Dashboard. Navigate to Users & Groups → Users, select a user, and click + Create Auth Token.
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. You can generate the token just before starting the call, or generate and store it ahead of time based on your use case. Use thegenerateToken() method to create a call token:
Start Call Session
Use thestartSession() method to join a call session. This method requires a call token (generated in the previous step) and a CallSettings object that configures the call UI and behavior.
Call Settings
Configure the call experience using the followingCallSettingsBuilder properties:
Call Listeners
TheCometChatCallsEventsListener provides real-time callbacks for call session events, including participant changes, call state updates, and error conditions.
Each listener requires a unique listenerId string. This ID is used to:
- Prevent duplicate registrations — Re-registering with the same ID replaces the existing listener
- Enable targeted removal — Remove specific listeners without affecting others
Events
End Call Session
To end the call session and release all media resources (camera, microphone, network connections), callCometChatCalls.endSession() in the onCallEndButtonPressed() callback.
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.