I want to know how warm call transfer is done and ...
# ask-ai
n
I want to know how warm call transfer is done and i am alo interested in taking the call recording and transcript
t
Thanks for reaching out, Sajjad. I'm an AI assistant and I'm here to help. Give me a moment while I research this topic.
Thanks — you're asking how warm call transfer works and how to capture the call recording plus transcript. Below is a concise, actionable summary and next steps. Acknowledging your request • Responding to: warm (agent‑assisted) call transfer, and obtaining recordings + transcripts. Warm call transfer (what happens and what to configure) 1. Use the WarmTransferTask (or equivalent warm‑transfer API). 2. Typical flow: ◦ Place caller on hold (audio I/O disabled; optional hold music). ◦ Create a private consultation room for briefing. ◦ Dial the supervisor via SIP using
sip_call_to
(phone number or SIP URI) and
sip_trunk_id
or
sip_connection
. ◦ Pass full context in
chat_ctx
(conversation history, intents, entities, sentiment). ◦ Once briefed, move the supervisor into the caller’s room and connect; AI agents disconnect. 1. Key parameters you can set:
sip_call_to
,
sip_trunk_id
/
sip_connection
,
hold_audio
,
extra_instructions
,
tools
. Recording the call (options and how to enable) • Enable auto‑egress in your SIP dispatch rule to record calls automatically. • Egress types: ◦ Room Composite Egress — whole room (MP4/WebM or RTMP). ◦ Track Composite Egress — synced individual participant tracks. ◦ Track Egress — raw individual tracks (e.g.,
ogg
audio). • Programmatic control: use
EgressClient
methods such as
startRoomCompositeEgress()
,
listEgress()
,
stopEgress()
. • Backup behavior: if cloud upload fails, recordings are saved to a backup bucket for 7 days and
egress_ended
webhook includes
backupStorageUsed: true
. Transcripts (real‑time and storage) • Transcription is published in real time on the
lk.transcription
text stream. • Subscribe to
conversation_item_added
events within an
AgentSession
to receive transcript segments (includes timing metadata for alignment). • Transcripts and recordings are stored in LiveKit Cloud and can be exported to your configured storage (e.g., S3) via egress. Next steps I can help with • Provide specific code samples (JS/Python) for WarmTransferTask setup, starting egress, or subscribing to
lk.transcription
. • Guide you through SIP trunk parameter configuration or an example
EgressClient
call. Which would you like next: a code example (which language?), or help configuring SIP/egress settings for your environment? Sources: WarmTransferTask | LiveKit Documentation | The Handoff Pattern for Voice Agents That Replaces IVR Menus | LiveKit | The Human-in-the-Loop (HITL) Pattern for Voice Agents | LiveKit | Universal Egress | LiveKit | Backup Egress Recordings, with interactive elements
n
code?
t
Thanks — I can provide code. Which language would you like the examples in (JavaScript/Node.js, Python, or Go)? , with interactive elements
n
python
t
I don't have the answer you're looking for. You could also try asking your question: • in one of the other Slack channels or • to https://deepwiki.com/livekit/livekit_composite which is trained on all LiveKit source code If you find the answer, please post it here to help others!
👀 1
n
i need warm call transfer code in python
Python
can you simpleify the warm call transfer so that i can understand it