• Build a warm-transfer AgentTask that dials a human agent over SIP, briefs them in a private room, and (on confirmation) merges them into the caller room.

    If the caller hangs up before the merge — including while the human agent's phone is still ringing — the transfer is cancelled: the pending dial is aborted, the human agent room is torn down (ending the SIP call), and the task completes with a ToolError. A human agent who already answered is told the caller left using callerHangupSpeech, or a reply generated from the deprecated callerHangupInstruction, before their call is ended.

    This is the functional core; WarmTransferTask is a thin class wrapper over it.

    Parameters

    Returns AgentTask<WarmTransferResult>