Interface WarmTransferTaskOptions

interface WarmTransferTaskOptions {
    allowInterruptions?: boolean;
    chatCtx?: ChatContext;
    dtmf?: null | string;
    holdAudio?: null | AudioSourceType | voice.AudioConfig | voice.AudioConfig[];
    instructions?: string | InstructionParts;
    llm?: null | llm.LLM | llm.RealtimeModel | LLMModels;
    ringingTimeout?: null | number;
    sipCallTo?: string;
    sipConnection?: SIPOutboundConfig;
    sipHeaders?: Record<string, string>;
    sipNumber?: string;
    sipTrunkId?: null | string;
    stt?: null | stt.STT | STTModelString;
    tools?: ToolContext;
    tts?: null | tts.TTS | TTSModelString;
    turnDetection?: null | TurnDetectionMode;
    vad?: null | VAD;
}

Properties

allowInterruptions?: boolean
chatCtx?: ChatContext
dtmf?: null | string

DTMF tones to send once the human agent's call is answered, e.g. to dial an extension or navigate an IVR menu ('1234#'). Insert w characters to pause ~0.5s each before/between digits ('wwww1234#' waits ~2s, useful when the destination plays a greeting before accepting input).

Audio played to the caller while they are on hold during the transfer.

instructions?: string | InstructionParts

Instructions for the human-agent briefing. Pass a full string to replace the built-in prompt entirely, or InstructionParts to override individual sections (e.g. persona) while keeping the built-in template and auto-formatted conversation history.

llm?: null | llm.LLM | llm.RealtimeModel | LLMModels
ringingTimeout?: null | number

How long to wait, in milliseconds, for the human agent to answer before giving up. The underlying SIP API only supports whole-second granularity, so the value is rounded to the nearest second.

sipCallTo?: string

The phone number or SIP URI to dial for the human agent.

sipConnection?: SIPOutboundConfig

Low-level SIP connection config for originating calls through a custom SIP domain.

sipHeaders?: Record<string, string>

Headers to include on the outbound SIP call.

sipNumber?: string

Optional SIP From number. Falls back to LIVEKIT_SIP_NUMBER.

sipTrunkId?: null | string

ID of a pre-configured LiveKit SIP outbound trunk used to originate the call. Falls back to the LIVEKIT_SIP_OUTBOUND_TRUNK environment variable when not provided.

stt?: null | stt.STT | STTModelString
tools?: ToolContext
tts?: null | tts.TTS | TTSModelString
turnDetection?: null | TurnDetectionMode
vad?: null | VAD