Skip to main content

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

  1. Configure a SIP trunk in your LiveKit project (see LiveKit SIP docs)
  2. Drag the SIP Transfer node from the sidebar (Tools category) onto the canvas
  3. Connect its output handle to the Agent node’s tools_in handle
  4. Add the phone numbers the agent can transfer to

Parameters

ParameterTypeRequiredDescription
phoneNumbersphone_listList of phone numbers the agent can transfer to (international format, e.g. +14155551234)
playDialtonebooleanWhether to play a dialtone sound during the transfer. Default: true

How it works

When the LLM determines a transfer is needed, it calls the transfer_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

[Agent] ◀──tools── [SIP Transfer]

[Start] ──▶ [Categorize] ──▶ [human branch] ──▶ [End]
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