I am attempting a cold transfer from my agent to a...
# ask-ai
s
I am attempting a cold transfer from my agent to a telephone number. I have implemented the functions described here: https://docs.livekit.io/sip/transfer-cold/ The transfer will ring but eventually timeout livekit.api.twirp_client.TwirpError: ('deadline_exceeded', 'request timed out') I am using SIP trunking and Twilio. My trunk is configured for inbound and outbound calls. I have also enabled SIP_REFER setting in Twilio. In the PCAP logs, no SIP_REFER is initiated. What do I need to check in my LiveKit configuration settings to enable a sip referral?
g
Ensure your SIP trunk is properly configured to allow call transfers. According to LiveKit Docs, the
TransferSIPParticipant
API should be used for cold transfers. Verify that your Twilio SIP trunk is set to enable call transfers and PSTN transfers. Additionally, check that your LiveKit environment variables (
LIVEKIT_URL
,
LIVEKIT_API_KEY
,
LIVEKIT_API_SECRET
) are correctly set, as these are crucial for API operations. Would you like more detailed guidance on troubleshooting this issue? Sources: - LiveKit Docs 👍 0 button 👎 0 button 💡 Hint: Mention @runllm in the thread for followups.
s
The above are all correct. What else could cause an issue?
It turned out to be a bug with tcp, referenced here: https://github.com/livekit/sip/issues/91#issuecomment-2492897410 Removing tcp from my origination settings solved it.
1
q
Hi Chris, thank you so much for pointing that ! That worked :)
👍 1
m
@shy-magician-68050 @quick-art-43720 how do you use UDP transport on the trunk? I'm using Twilio. Sorry if it's a dumb question, I can't seem to find anywhere in the code, LiveKit, or Twilio to change this.
s
Its in the origination settings in the Elastic SIP Trunk of Twilio. UDP is the default. You would need to add transport=tcp to the origination URI to use TCP