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

# CXCallObserver

A programmatic interface for an object that manages a list of active calls and observes call changes.

```
class CXCallObserver
```

## Overview

You can retrieve a list of active calls on an [`CXCallObserver`](/documentation/CallKit/CXCallObserver) object using the [`calls`](/documentation/CallKit/CXCallObserver/calls) property. You can also provide an object conforming to the [`CXCallObserverDelegate`](/documentation/CallKit/CXCallObserverDelegate) protocol as the call observer delegate using the [`setDelegate(_:queue:)`](/documentation/CallKit/CXCallObserver/setDelegate(_:queue:)) method to respond to any active call changes.

VoIP apps typically interact with the [`CXCallObserver`](/documentation/CallKit/CXCallObserver) object returned by the [`callObserver`](/documentation/CallKit/CXCallController/callObserver) property of a [`CXCallController`](/documentation/CallKit/CXCallController) instance. However, any app can create a new [`CXCallObserver`](/documentation/CallKit/CXCallObserver) object to be notified of any calls activity on the system.

## Topics

### Setting a Delegate

[`-  setDelegate:queue:`](/documentation/CallKit/CXCallObserver/setDelegate(_:queue:))

Sets a call observer delegate, specifying an optional queue on which to execute delegate methods.

### Accessing Calls

[`calls`](/documentation/CallKit/CXCallObserver/calls)

Returns the active calls of the telephony provider.

## Relationships

### Conforms To

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`Equatable`](/documentation/Swift/Equatable)

[`CVarArg`](/documentation/Swift/CVarArg)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`Hashable`](/documentation/Swift/Hashable)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

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)