> ## Documentation Index
> Fetch the complete documentation index at: https://docs.daily.co/llms.txt
> Use this file to discover all available pages before exploring further.

# sendDTMF()

> Sends DTMF tones during a dial-out call.

`sendDTMF(options)`

<Badge color="green">{"✓"} Prebuilt</Badge> <Badge color="green">{"✓"} Custom</Badge>

Sends DTMF tones to a dial-out participant — for example, to navigate an IVR menu after dialing out to a phone number.

## Parameters

<ParamField body="sessionId" type="string" required>
  The `session_id` of the dial-out participant to send tones to.
</ParamField>

<ParamField body="tones" type="string" required>
  The DTMF tones to send as a string (e.g. `'1234#'`). Valid characters are `0–9`, `A–D`, `#`, and `*`. Maximum 20 characters.
</ParamField>

<ParamField body="method" type="string">
  DTMF method: `'sip-info'`, `'telephone-event'`, or `'auto'`. Defaults to `'auto'`, which selects the best method based on the SIP endpoint's capabilities.
</ParamField>

<ParamField body="digitDurationMs" type="number">
  Duration in milliseconds per DTMF digit. Must be an integer between `50` and `2000`. Defaults to `500`.
</ParamField>

## Return value

Returns `Promise<void>`.

## Errors

The following errors may be thrown:

* `sessionId and tones are mandatory parameters of type string`
* `tones string must be upto 20 characters`
* `{character} is not valid DTMF tone` — valid tones are `0–9`, `A–D`, `#`, `*`
* `digitDurationMs must be a finite integer number`
* `digitDurationMs must be between 50ms and 2000ms, the default value is 500ms`

## Example

```javascript theme={null}
// Navigate an IVR: press 1 then confirm with #
await call.sendDTMF({ sessionId: dialOutSessionId, tones: '1#' });

// Use a shorter digit duration
await call.sendDTMF({ sessionId: dialOutSessionId, tones: '2', digitDurationMs: 200 });
```

## See also

<CardGroup>
  <Card title="Methods" icon="code" iconType="solid">
    * [startDialOut()](/reference/daily-js/instance-methods/start-dial-out)
    * [stopDialOut()](/reference/daily-js/instance-methods/stop-dial-out)
  </Card>

  <Card title="Events" icon="bolt" iconType="solid">
    * [dialout-connected](/reference/daily-js/events/telephony-events#dialout-connected)
  </Card>

  <Card title="Guides" icon="book-open" iconType="solid">
    * [Dial-in / dial-out](/docs/daily-js/features/dialin-dialout)
  </Card>
</CardGroup>
