> This page is for Server SDKs.

> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes.

# send_digits

> Send DTMF digits on a call.

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

[call-events]: /docs/server-sdks/reference/python/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.

## **Parameters**

**`digits`** `str` — required

The DTMF digit string to send. Valid characters: `0-9`, `*`, `#`,
`A-D`, `W` (0.5s pause), `w` (1s pause).

---

**`control_id`** `str | None` — default: None

Custom control ID. Auto-generated if not provided.

---

## **Returns**

`dict` -- Server response confirming the send_digits operation.

## **Example**

```python {13}
from signalwire.relay import RelayClient

client = RelayClient(
    project="your-project-id",
    token="your-api-token",
    contexts=["default"],
)

@client.on_call
async def handle_call(call):
    await call.answer()

    result = await call.send_digits("1w2")
    print(f"Digits sent: {result}")

client.run()
```