ringing-integration

Coordinate CometChat Chat SDK signaling with Calls SDK session lifecycle for iOS call ringing.

31|9|Updated Mar 10, 2023
One-click install
npx skills add https://github.com/cometchat/calls-sdk-ios --skill ringing-integration
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ringing-integration
Source: https://github.com/cometchat/calls-sdk-ios/tree/main/skills/ringing-integration
Command: npx skills add https://github.com/cometchat/calls-sdk-ios --skill ringing-integration

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you implement a reliable ringing flow for real-time voice/video calls by coordinating signaling (Chat SDK) with call session handling (Calls SDK).

Core Features & Use Cases

  • Dual-SDK Call Flow: Initiate, accept, reject, and cancel call signaling via CometChat Chat SDK while starting the media session via CometChat Calls SDK after acceptance.
  • Ringing UI Orchestration: Trigger UI transitions on incoming/outgoing call events and session identifiers like sessionID.
  • Session Teardown Safety: Ensure both local session leave and remote-end detection using Chat delegate events (onCallEndedMessageReceived) and, as a fallback, participant count updates (onParticipantLeft).

Quick Start

Register a CometChat call listener early in your app lifecycle, handle incoming and outgoing call delegate callbacks to drive your ringing screens, and join/leave the Calls SDK session using the sessionID returned by the Chat SDK.

Frequently Asked Questions about ringing-integration

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement incoming and outgoing call ringing for iOS WebRTC apps?

To implement ringing for iOS WebRTC apps, coordinate Chat SDK signaling with Calls SDK session lifecycle. Register a CometChatCallDelegate listener to drive ringing UI transitions and manage session join/leave using the sessionID returned by the Chat SDK.

Why does my iOS call session not end correctly when the remote party hangs up?

Remote party call teardown requires handling onCallEndedMessageReceived from the Chat SDK delegate. As a fallback, implement onParticipantLeft participant count updates to ensure the local iOS Calls SDK session leaves correctly when the remote party ends the call.

How do I coordinate CometChat Chat SDK and Calls SDK for iOS voice and video calls?

Coordinate dual-SDK iOS call flows by initializing and logging into both CometChat Chat SDK and Calls SDK independently. Use Chat SDK for call initiation and accept/reject signaling, then start the Calls SDK media session upon acceptance using the correct sessionID.

Do I need to initialize both CometChat Chat SDK and Calls SDK separately for iOS ringing?

Yes, dual-SDK iOS ringing requires adding both SDKs and initializing each independently. Chat SDK handles call signaling and generates a sessionID, while Calls SDK manages the WebRTC media session and participant lifecycle after call acceptance.

What is the best way to handle accept, reject, and cancel actions in an iOS call ringing flow?

The best way to handle iOS call ringing actions is registering a CometChat call listener early in the app lifecycle. Use Chat SDK delegate callbacks to process accept, reject, and cancel signaling, then trigger UI teardown and Calls SDK session leave using the correct sessionID.

When should I use participant-left fallback handling over call ended messages for iOS session teardown?

Use participant-left fallback handling when onCallEndedMessageReceived fails to trigger or arrives late. Implementing onParticipantLeft participant count updates ensures reliable local iOS Calls SDK session teardown and correct UI transitions when the remote party ends the call.