> ## Documentation Index
> Fetch the complete documentation index at: https://cometchat-22654f5b-feature-card-builder.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Call Features

> Add CometChat Angular UI Kit call features for voice and video calls, call logs, ongoing calls, incoming calls, and call buttons.

## Overview

CometChat Calls integrates 1:1 and group audio/video calling into the Angular UIKit. Install the Calls SDK and the UIKit auto-detects it, enabling call components.

<Note>
  Ensure `CometChatUIKit.init()` has completed and the user is logged in before using call features.
</Note>

## Integration

Install the Calls SDK:

```bash theme={null}
npm install @cometchat/calls-sdk-javascript
```

Then enable calling in your `UIKitSettingsBuilder`:

```typescript theme={null}
const settings = new UIKitSettingsBuilder()
  .setAppId('APP_ID')
  .setRegion('REGION')
  .setAuthKey('AUTH_KEY')
  .setCallingEnabled(true)
  .build();
```

<Warning>
  Both steps are required. Installing the Calls SDK alone is not enough — you must also call `.setCallingEnabled(true)` on the builder. Without it, call buttons remain hidden and the Calls SDK is not initialized.
</Warning>

When enabled, [cometchat-call-buttons](/ui-kit/angular/components/cometchat-call-buttons) renders in [cometchat-message-header](/ui-kit/angular/components/cometchat-message-header) and the trailing call button appears in [cometchat-call-logs](/ui-kit/angular/components/cometchat-call-logs).

### Custom Call App Settings

By default the UIKit builds `CallAppSettings` from your `appId` and `region`. If you need custom configuration (e.g. a different region for the Calls SDK or additional settings), pass your own `CallAppSettings`:

```typescript theme={null}
import { CometChatUIKitCalls } from '@cometchat/calls-sdk-javascript';

const callAppSettings = new CometChatUIKitCalls.CallAppSettingsBuilder()
  .setAppId('APP_ID')
  .setRegion('REGION')
  .build();

const settings = new UIKitSettingsBuilder()
  .setAppId('APP_ID')
  .setRegion('REGION')
  .setAuthKey('AUTH_KEY')
  .setCallingEnabled(true)
  .setCallAppSettings(callAppSettings)
  .build();
```

<Info>
  `setCallAppSettings` is optional. When omitted, the UIKit automatically creates settings from the `appId` and `region` you already provided.
</Info>

<Frame>
  <img src="https://mintcdn.com/cometchat-22654f5b-feature-card-builder/dQDh-qNy-2PyfeNi/images/cf123e9d-calling_call_buttons_web_screens-a0a134d7d742a761689aaebe2d6e71c2.png?fit=max&auto=format&n=dQDh-qNy-2PyfeNi&q=85&s=8e19e6488ce7b0dda31312a9b3987ee8" width="1282" height="802" data-path="images/cf123e9d-calling_call_buttons_web_screens-a0a134d7d742a761689aaebe2d6e71c2.png" />
</Frame>

## Features

### Incoming Call

The [cometchat-incoming-call](/ui-kit/angular/components/cometchat-incoming-call) component displays a call screen when a call is received, showing caller info with accept/reject options.

<Frame>
  <img src="https://mintcdn.com/cometchat-22654f5b-feature-card-builder/sD1l8I7Yw1lyflGY/images/816facad-calling_incoming_call_web_screens-b969721c9da4153958fb08c3b7d7ec3c.png?fit=max&auto=format&n=sD1l8I7Yw1lyflGY&q=85&s=70c9c19730284a92fc893b93bfef62fa" width="1282" height="802" data-path="images/816facad-calling_incoming_call_web_screens-b969721c9da4153958fb08c3b7d7ec3c.png" />
</Frame>

### Outgoing Call

The [cometchat-outgoing-call](/ui-kit/angular/components/cometchat-outgoing-call) component displays an outgoing call screen with recipient info and call status. Transitions to the ongoing call screen when the receiver accepts.

<Frame>
  <img src="https://mintcdn.com/cometchat-22654f5b-feature-card-builder/Sa9o3dFd0TJV05JN/images/444a971e-calling_outgoing_call_web_screens-ace6b41a91fe1a23b9e1aaf99e51793e.png?fit=max&auto=format&n=Sa9o3dFd0TJV05JN&q=85&s=b606a95318e2d2fc28f62404019e7294" width="1282" height="802" data-path="images/444a971e-calling_outgoing_call_web_screens-ace6b41a91fe1a23b9e1aaf99e51793e.png" />
</Frame>

### Call Logs

The [cometchat-call-logs](/ui-kit/angular/components/cometchat-call-logs) component displays call history — caller, time, and duration.

<Frame>
  <img src="https://mintcdn.com/cometchat-22654f5b-feature-card-builder/eLHw5QGTFIHJKVut/images/68a2bfe8-calling_call_log_web_screens-e16bee4ca9212ac07ca2d21b8a5374bc.png?fit=max&auto=format&n=eLHw5QGTFIHJKVut&q=85&s=9dba9b8437e651df2e7599499bbd7a25" width="1282" height="802" data-path="images/68a2bfe8-calling_call_log_web_screens-e16bee4ca9212ac07ca2d21b8a5374bc.png" />
</Frame>

## Next Steps

<CardGroup cols={2}>
  <Card title="Call Buttons" icon="phone-flip" href="/ui-kit/angular/components/cometchat-call-buttons">
    Audio and video call buttons
  </Card>

  <Card title="Incoming Call" icon="phone-arrow-down-left" href="/ui-kit/angular/components/cometchat-incoming-call">
    Incoming call notifications and UI
  </Card>

  <Card title="Call Logs" icon="clock-rotate-left" href="/ui-kit/angular/components/cometchat-call-logs">
    Call history and details
  </Card>

  <Card title="Core Features" icon="comments" href="/ui-kit/angular/core-features">
    Core chat features
  </Card>
</CardGroup>
