proud-lawyer-39815
03/04/2026, 1:39 AMtall-airline-16756
03/04/2026, 1:39 AMtall-airline-16756
03/04/2026, 1:39 AMTransferSIPParticipantRequest.
Short answer: You cannot pass DTMF tones directly inside TransferSIPParticipantRequest. That request is for SIP REFER-style transfers and does not include a field to carry DTMF.
What you can do instead:
• Send DTMF before initiating the transfer using the room/local participant API. For example, publish DTMF from the agent to the SIP participant so the destination IVR or system receives the tones prior to transfer.
◦ Example (conceptual):
await room.local_participant.publish_dtmf(code=1, digit="1")
• Collect DTMF from the caller (if you need menu input) using the GetDtmfTask, then trigger the transfer based on the collected digit(s).
◦ Example (conceptual):
result = await GetDtmfTask(num_digits=1)
digit = result.user_input
# decide whether/where to transfer based on digit
If you tell me which SDK/language you’re using and whether you need the tones sent before transfer or captured from the caller, I can give a short code example tailored to your setup.
Sources: Company directory phone assistant | LiveKit Documentation | Agents telephony integration | LiveKit Documentation | Building an Automated IVR Menu Caller | LiveKit Documentation | GetDtmfTask | LiveKit Documentation