---
title: CXPlayDTMFCallAction
framework: callkit
role: symbol
role_heading: Class
path: callkit/cxplaydtmfcallaction
---

# CXPlayDTMFCallAction

An encapsulation of the act of playing a dual tone multifrequency (DTMF) sequence.

## Declaration

```swift
class CXPlayDTMFCallAction
```

## Overview

Overview CXPlayDTMFCallAction is a concrete subclass of CXCallAction. Whenever digits are transmitted during a call, whether from a user interacting with a number pad or following a hard or soft pause, the provider sends provider(_:perform:) to its delegate. The provider’s delegate calls the fulfill() method to indicate that the action was successfully performed. The provider sends provider(_:perform:) for successive actions only after the current action is fulfilled. When interacting with the number pad, each entered digit constitutes its own action. Digits following a hard or soft pause, however, are passed to provider(_:perform:) as a single string of digits. For example, if a user taps the 4 button on the number pad, followed by the 2 button, the delegate is sent provider(_:perform:) for the digit 4 and waits for the action to be fulfilled; after the action is fulfilled, the delegate is sent provider(_:perform:) for the digit 2. CallKit automatically plays the corresponding DTMF frequencies for any digits transmitted over a call. The app is responsible for managing the timing and handling of digits as part of fulfilling the action.

## Topics

### Creating New Actions

- [init(call:digits:type:)](callkit/cxplaydtmfcallaction/init(call:digits:type:).md)
- [init(coder:)](callkit/cxplaydtmfcallaction/init(coder:).md)

### Accessing Action Information

- [digits](callkit/cxplaydtmfcallaction/digits.md)
- [type](callkit/cxplaydtmfcallaction/type.md)

### Constants

- [CXPlayDTMFCallAction.ActionType](callkit/cxplaydtmfcallaction/actiontype.md)

### Initializers

- [init(callUUID:digits:type:)](callkit/cxplaydtmfcallaction/init(calluuid:digits:type:).md)

## Relationships

### Inherits From

- [CXCallAction](callkit/cxcallaction.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)

## See Also

### Call-related actions

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