<!--
{
  "availability" : [
    "iOS: 10.0.0 -",
    "iPadOS: 10.0.0 -",
    "macCatalyst: 10.0.0 -",
    "macOS: 11.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 9.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CallKit",
  "identifier" : "/documentation/CallKit/CXProviderConfiguration",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "CallKit"
    ],
    "preciseIdentifier" : "c:objc(cs)CXProviderConfiguration"
  },
  "title" : "CXProviderConfiguration"
}
-->

# CXProviderConfiguration

An encapsulation of the configuration of a provider object.

```
class CXProviderConfiguration
```

## Overview

A [`CXProviderConfiguration`](/documentation/CallKit/CXProviderConfiguration) object controls the native call UI for incoming and outgoing calls, including a localized name for the provider, the ringtone to play for incoming calls, and the icon to display during calls. A provider configuration can also set the maximum number of call groups and the number of calls in a single call group, determine whether to use emails and phone numbers as handles, and specify whether to support video.

## Topics

### Creating New Configurations

[`init()`](/documentation/CallKit/CXProviderConfiguration/init())

Creates the configuration of a provider object.

[`init(localizedName:)`](/documentation/CallKit/CXProviderConfiguration/init(localizedName:))

Initializes a configuration with the specified localized name.

### Configuring Native Call UI

[`localizedName`](/documentation/CallKit/CXProviderConfiguration/localizedName)

The localized name of the provider.

[`ringtoneSound`](/documentation/CallKit/CXProviderConfiguration/ringtoneSound)

The name of the sound resource in the app bundle to be used for the provider ringtone.

[`iconTemplateImageData`](/documentation/CallKit/CXProviderConfiguration/iconTemplateImageData)

The PNG data for the icon image to be displayed for the provider.

### Configuring Call Capabilities

[`maximumCallGroups`](/documentation/CallKit/CXProviderConfiguration/maximumCallGroups)

The maximum number of call groups.

[`maximumCallsPerCallGroup`](/documentation/CallKit/CXProviderConfiguration/maximumCallsPerCallGroup)

The maximum number of calls per call group.

[`supportedHandleTypes`](/documentation/CallKit/CXProviderConfiguration/supportedHandleTypes-kd6i)

The supported handle types.

[`supportedHandleTypes`](/documentation/CallKit/CXProviderConfiguration/supportedHandleTypes-995uh)

The supported handle types.

[`supportsVideo`](/documentation/CallKit/CXProviderConfiguration/supportsVideo)

A Boolean value that indicates whether the provider supports video in addition to audio.

[`includesCallsInRecents`](/documentation/CallKit/CXProviderConfiguration/includesCallsInRecents)

A Boolean value that indicates whether the provider includes a call in the system’s Recents list after the call ends.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)