Skip to content

Enable Pipecat self-hosted agent on LiveKit transport to receive DTMF from the other participant from inbound SIP trunks #4436

@zhuoyanli-usm

Description

@zhuoyanli-usm

pipecat version

1.0.0

Python version

3.13

Operating System

No response

Question

Hello, I am building a voice agent service in the following setup:

  • The voice agent, built with Pipecat framework 1.0.0, is self-hosted with LiveKit service transport
  • I have the LiveKit server and LiveKit SIP server in place
  • In-bound calls, from PSTN and through Twilio elastic SIP trunks, reach LiveKit SIP server
  • They are further dispatched to rooms run by LiveKit server, and speak to voice agent instances there

My question is: Is it possible to get the voice agent to receive DTMF tone inputs from in-bound callers?

I can see that it is possible with DTMFAggregator, when pipecat agent runs on websocket transport, and with on_dtmf_event when runs on Daily transport. But I am not sure if with LiveKit transport it is also possible, i.e. using DTMFAggregator again?

On the other hand, I had looked at LiveKit's docs, and it seems that event callbacks need to be registered with the room instance to receive DTMF input (from the in-bound callers on SIP):
https://docs.livekit.io/telephony/features/dtmf/#dtmf-received-event

So maybe I need to

  • make the voice agent register event callback on this event, to monitor DTMF inputs from the in-bound callers on SIP truanks
  • when the event callback is triggered, proceed accordingly.

Any insights or advises are highly appreciated.

What I've tried

No response

Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions