Skip to main content
This is a beta release of the standalone Calls SDK. APIs and features may change before the stable release. For the current stable calling integration, see the Android Calling Overview.
The CometChat Calls SDK enables real-time voice and video calling capabilities in your Android application. Built on top of WebRTC, it provides a complete calling solution with built-in UI components and extensive customization options.
Faster Integration with UI KitsIf you’re using CometChat UI Kits, voice and video calling can be quickly integrated:
  • Incoming & outgoing call screens
  • Call buttons with one-tap calling
  • Call logs with history
👉 Android UI Kit Calling IntegrationUse this Calls SDK directly only if you need custom call UI or advanced control.

Prerequisites

Before integrating the Calls SDK, ensure you have:
  1. CometChat Account: Sign up and create an app to get your App ID, Region, and API Key
  2. CometChat Users: Users must exist in CometChat to use calling features. For testing, create users via the Dashboard or REST API. Authentication is handled by the Calls SDK - see Authentication
  3. Android Requirements:
    • Minimum SDK: API Level 24 (Android 7.0)
    • AndroidX compatibility
  4. Permissions: Camera and microphone permissions for video/audio calls

Call Flow

Features

Ringing

Incoming and outgoing call notifications with accept/reject functionality

Call Layouts

Tile and Spotlight view modes for different call scenarios

Audio Modes

Switch between speaker, earpiece, Bluetooth, and headphones

Recording

Record call sessions for later playback

Call Logs

Retrieve call history and details

Participant Management

Mute, pin, and manage call participants

Screen Sharing

View screen shares from web participants

Picture-in-Picture

Continue calls while using other apps

Raise Hand

Signal to get attention during calls

Idle Timeout

Automatic session termination when alone in a call

Architecture

The SDK is organized around these core components:
ComponentDescription
CometChatCallsMain entry point for SDK initialization, authentication, and session management
CallAppSettingsConfiguration for SDK initialization (App ID, Region)
SessionSettingsConfiguration for individual call sessions
CallSessionSingleton that manages the active call and provides control methods
ListenersEvent interfaces for session, participant, media, and UI events

Sample App

Sample App

Explore the Android Calls SDK sample app on GitHub

Changelog

View the latest releases and changes