Core Telephony

Access information about a user’s cellular service provider, such as its unique identifier and whether the carrier allows VoIP.


Use the Core Telephony framework to obtain information about a user’s home cellular service provider. Carriers can use this information to write apps that provide services only for their own subscribers. You can also use this framework to obtain information about current cellular calls.

A CTCarrier object gives you information about the user’s cellular service provider, such as whether it allows use of VoIP (Voice over Internet Protocol) on its network. A CTCall object gives you information about a current call, including a unique identifier and state information such as dialing, incoming, connected, or disconnected.


Service Information

class CTCarrier

Information about the user’s cellular service provider, such as its unique identifier and whether it allows VoIP calls on its network.

class CTTelephonyNetworkInfo

An object that provides notifications of changes to the user’s cellular service provider.


Carrier apps use the classes in this group to provision cellular plan eSIMs on supported devices.

class CTCellularPlanProvisioning

An object you use to download and install a carrier eSIM.

class CTCellularPlanProvisioningRequest

A request specifying an eSIM to download and install.

Subscriber Information

class CTSubscriber

A cellular network subscriber.

protocol CTSubscriberDelegate

A protocol to handle changes to subscriber information.

class CTSubscriberInfo

An object that provides an array of cellular network subscribers.

Cellular Data Access

class CTCellularData

An object indicating whether the app can access cellular data.

Call Information

Getting call information in Core Telephony is no longer supported. Use CallKit instead.

class CTCall

An object used to identify a cellular call and determine its state.

class CTCallCenter

An object that provides a list of current cellular calls, and provides the ability to respond to state changes for calls.



struct CTError

A type representing a Core Telephony error.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software