Skip to main content

Overview

CometChat provides voice and video calling capabilities for your Android 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:
dependencies {
    implementation 'com.cometchat:calls-sdk-android:4.3.3'
}
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.

Video View Customization

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

Presenter Mode

Enable screen sharing and presentation capabilities during calls.

Call Logs

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

Session Timeout

Configure automatic call termination when participants are inactive.