The CometChatOutgoingCall component renders a full-screen outgoing call overlay when a user initiates a voice or video call. It displays the receiver’s name, a “Calling…” subtitle, the receiver’s avatar, and a cancel button. The component plays an outgoing ringtone and provides focus-trapped dialog behavior.
When <cometchat-outgoing-call> is used standalone, it is purely presentational. Its default cancel action only stops the local ringtone and emits (callCanceled) — it does not call the Chat SDK cancellation API. Your (callCanceled) handler must cancel the outgoing call itself via the Chat SDK (see the example below).When the component is rendered inside <cometchat-call-buttons>, the buttons component performs the SDK cancellation for you, so you should not cancel the call again in your own handler.
import { Component } from '@angular/core';import { CometChat } from '@cometchat/chat-sdk-javascript';import { CometChatOutgoingCallComponent } from '@cometchat/chat-uikit-angular';@Component({ selector: 'app-outgoing-call-demo', standalone: true, imports: [CometChatOutgoingCallComponent], template: ` <cometchat-outgoing-call [call]="outgoingCall" (callCanceled)="onCallCanceled()" ></cometchat-outgoing-call> `})export class OutgoingCallDemoComponent { outgoingCall!: CometChat.Call; // Standalone usage: the component does not cancel the call for you. // Your handler must reject/cancel the call through the Chat SDK. async onCallCanceled(): Promise<void> { const sessionId = this.outgoingCall?.getSessionId(); if (sessionId) { await CometChat.rejectCall(sessionId, CometChat.CALL_STATUS.CANCELLED); } }}