SIP Transfer
The SIP Transfer node gives your agent the ability to transfer an active call to a human phone number. The LLM decides when to initiate the transfer based on the conversation context — for example, when an issue is too complex or the user explicitly asks to speak with a person.Setup
- Configure a SIP trunk in your LiveKit project (see LiveKit SIP docs)
- Drag the SIP Transfer node from the sidebar (Tools category) onto the canvas
- Connect its output handle to the Agent node’s
tools_inhandle - Add the phone numbers the agent can transfer to
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
phoneNumbers | phone_list | ✅ | List of phone numbers the agent can transfer to (international format, e.g. +14155551234) |
playDialtone | boolean | — | Whether to play a dialtone sound during the transfer. Default: true |
How it works
When the LLM determines a transfer is needed, it calls thetransfer_to_human tool. The agent then initiates a SIP call to the selected phone number and bridges the active session.
The agent has access to all phone numbers you configure — the LLM chooses the most appropriate one based on context (or you can configure a single number for a dedicated transfer target).
Typical pattern
SIP Transfer requires a configured SIP trunk in LiveKit Cloud. See LiveKit SIP setup for instructions.
Use cases
- Escalate to a live agent when the issue is too complex
- Route to a specialist (billing, technical, sales) based on conversation outcome
- Let users opt out of the bot and speak to a human at any time