***

title: sendDigits
slug: /reference/typescript/relay/call/send-digits
description: Send DTMF digits on a call.
max-toc-depth: 3
---------------------

For a complete index of all SignalWire documentation pages, fetch https://signalwire.com/docs/llms.txt

[calling-call-send-digits]: /docs/server-sdks/reference/typescript/relay/call#events

[call-events]: /docs/server-sdks/reference/typescript/relay/call#events

Send DTMF tones on the call. Use this to navigate IVR menus on outbound calls
or to send tone signals.

<Info>
  This method emits [`calling.call.send_digits`][calling-call-send-digits] events. See [Call Events][call-events] for payload details.
</Info>

## **Parameters**

<ParamField path="digits" type="string" required={true} toc={true}>
  The DTMF digit string to send. Valid characters: `0-9`, `*`, `#`,
  `A-D`, `W` (0.5s pause), `w` (1s pause).
</ParamField>

<ParamField path="controlId" type="string | undefined" toc={true}>
  Custom control ID. Auto-generated if not provided.
</ParamField>

## **Returns**

`Promise<Record<string, unknown>>` -- Server response confirming the sendDigits operation.

## **Example**

```typescript {12}
import { RelayClient } from '@signalwire/sdk';

const client = new RelayClient({
  project: process.env.SIGNALWIRE_PROJECT_ID!,
  token: process.env.SIGNALWIRE_TOKEN!,
  contexts: ['default']
});

client.onCall(async (call) => {
  await call.answer();

  const result = await call.sendDigits('1w2');
  console.log(`Digits sent: ${JSON.stringify(result)}`);
});

await client.run();
```