From 173cf39aee845a0dd2e412c3e6ef4c440e2c3fc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleix=20Conchillo=20Flaqu=C3=A9?= Date: Tue, 14 Apr 2026 20:36:38 -0700 Subject: [PATCH] Add send_dtmf() to DailyTransport Exposes the Daily call client's DTMF sending capability so applications can send tones during a call (e.g. IVR navigation). --- src/pipecat/transports/daily/transport.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/pipecat/transports/daily/transport.py b/src/pipecat/transports/daily/transport.py index ae91db7b5..fe53f16f3 100644 --- a/src/pipecat/transports/daily/transport.py +++ b/src/pipecat/transports/daily/transport.py @@ -2400,6 +2400,22 @@ class DailyTransport(BaseTransport): """ return self._client.participant_counts() + async def send_dtmf(self, settings) -> Optional[CallClientError]: + """Send DTMF tones during a call. + + Args: + settings: DTMF settings including tones and target session. + + Returns: + error: An error description or None. + """ + logger.debug(f"Sending DTMF: settings={settings}") + + error = await self._client.send_dtmf(settings) + if error: + logger.error(f"Unable to send DTMF: {error}") + return error + async def start_dialout(self, settings=None) -> Tuple[str, Optional[CallClientError]]: """Start a dial-out call to a phone number.