---
title: CallKit
framework: CallKit
role: collection
role_heading: Framework
platforms: [iOS 10.0+, iPadOS 10.0+, Mac Catalyst 13.0+, macOS 13.0+, visionOS 1.0+, watchOS 9.0+]
path: callkit
---

# CallKit

Display the system-calling UI for your app’s VoIP services, and coordinate your calling services with other apps and the system.

## Mentioned in

Sending End-to-End Encrypted VoIP Calls Preparing your app to be the default calling app

## Overview

Overview Use CallKit to integrate your calling services with other call-related apps in the system. CallKit provides the calling interface, and you handle the back-end communication with your VoIP service. See Making and receiving VoIP calls for more information. For incoming and outgoing calls, CallKit displays the same interfaces as the Phone app, giving your app a more native look and feel. CallKit also responds appropriately to system-level behaviors, such as Do Not Disturb. In addition to handling calls, you can use a Call Directory app extension to provide caller ID information and a list of blocked numbers associated with your service. See Identifying and blocking calls for more information. Manage user privacy With a person’s permission, an installed health research app that uses SensorKit entitlements may collect Speech Metrics data while your CallKit app is in use. To prevent this, you can set the SRResearchDataGeneration information property list key to NO. important: When a person makes a call in your app that uses CallKit, your app provides the contact information of the recipient to the system. The system may use that information to indicate communication with that person as a suggestion in the Journal app, or in other apps that use the Journaling Suggestions framework. Become the default calling app In iOS and iPadOS 18.2 and later, a person may select an app — other than the Phone app or FaceTime — to place calls by default. To make your CallKit or LiveCommunicationKit app support the default calling app setting, see Preparing your app to be the default calling app.

## Topics

### Essentials

- [CXProvider](callkit/cxprovider.md)
- [CXProviderDelegate](callkit/cxproviderdelegate.md)
- [CXProviderConfiguration](callkit/cxproviderconfiguration.md)
- [Making and receiving VoIP calls](callkit/making-and-receiving-voip-calls.md)
- [VoIP calling with CallKit](callkit/voip-calling-with-callkit.md)
- [Preparing your app to be the default calling app](callkit/preparing-your-app-to-be-the-default-calling-app.md)
- [CallKit updates](updates/callkit.md)

### Incoming calls

- [Responding to VoIP Notifications from PushKit](pushkit/responding-to-voip-notifications-from-pushkit.md)
- [CXCallUpdate](callkit/cxcallupdate.md)
- [CXAnswerCallAction](callkit/cxanswercallaction.md)

### Outgoing calls

- [Sending End-to-End Encrypted VoIP Calls](callkit/sending-end-to-end-encrypted-voip-calls.md)
- [CXCallController](callkit/cxcallcontroller.md)
- [CXTransaction](callkit/cxtransaction.md)
- [CXStartCallAction](callkit/cxstartcallaction.md)

### Call-related actions

- [CXAction](callkit/cxaction.md)
- [CXCallAction](callkit/cxcallaction.md)
- [CXEndCallAction](callkit/cxendcallaction.md)
- [CXPlayDTMFCallAction](callkit/cxplaydtmfcallaction.md)
- [CXSetGroupCallAction](callkit/cxsetgroupcallaction.md)
- [CXSetHeldCallAction](callkit/cxsetheldcallaction.md)
- [CXSetMutedCallAction](callkit/cxsetmutedcallaction.md)
- [CXSetTranslatingCallAction](callkit/cxsettranslatingcallaction.md)

### Call information

- [CXCall](callkit/cxcall.md)
- [CXCallObserver](callkit/cxcallobserver.md)
- [CXCallObserverDelegate](callkit/cxcallobserverdelegate.md)
- [CXHandle](callkit/cxhandle.md)

### Caller ID

- [Identifying and blocking calls](callkit/identifying-and-blocking-calls.md)
- [CXCallDirectoryProvider](callkit/cxcalldirectoryprovider.md)
- [CXCallDirectoryExtensionContext](callkit/cxcalldirectoryextensioncontext.md)
- [CXCallDirectoryExtensionContextDelegate](callkit/cxcalldirectoryextensioncontextdelegate.md)
- [CXCallDirectoryManager](callkit/cxcalldirectorymanager.md)

### Reference

- [CallKit Enumerations](callkit/callkit-enumerations.md)
- [CallKit Constants](callkit/callkit-constants.md)
