> ## Documentation Index
> Fetch the complete documentation index at: https://plivo.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# SIP REFER

> Transfer active calls from your SIP endpoint or AI agent to another destination using SIP REFER

<Info title="TL;DR">
  Send a SIP REFER from your endpoint to hand off a live call to any number — without dropping the caller or starting a new call. Works on both inbound and outbound SIP trunk calls. No account enablement required.
</Info>

Use SIP REFER to hand off a live call from your AI agent (or any SIP endpoint) to a human, an IVR, or another phone number — without disconnecting the caller or initiating a new call. This is the standard mechanism Plivo customers use to escalate AI conversations to live support, route calls to specialist queues, or transfer to a backup number when an agent is unavailable.

**What you get:** zero-touch escalation, a single billing record, and no re-dial for the caller.

***

## Transfer methods compared

|                     | SIP REFER                          | Voice API `Transfer` | PHLO Transfer node    |
| ------------------- | ---------------------------------- | -------------------- | --------------------- |
| **Best for**        | SIP / AI-agent endpoints           | Hosted call control  | No-code workflows     |
| **Initiated by**    | Your SIP endpoint                  | Plivo (via API call) | Plivo (via PHLO flow) |
| **Typical adopter** | Voice-AI builders, contact centers | App developers       | Business / ops users  |
| **Setup effort**    | SIP endpoint must support REFER    | API key only         | Drag-and-drop         |

This page covers SIP REFER. For the other methods, see [Voice API Transfer](/voice/xml/element/transfer) and PHLO Transfer node.

***

## Choose your guide

<CardGroup cols={2}>
  <Card title="Outbound call transfer" icon="phone-arrow-up-right" href="/sip-trunking/concepts/sip-refer-outbound">
    Your AI agent or PBX placed an outbound call and wants to hand it off to a human agent.
  </Card>

  <Card title="Inbound call transfer" icon="phone-arrow-down-left" href="/sip-trunking/concepts/sip-refer-inbound">
    A caller dialled your Plivo number, your AI agent answered, and wants to hand off.
  </Card>
</CardGroup>

***

## How it works

In both cases, your SIP endpoint sends a REFER request mid-call. Plivo bridges the caller to the transfer target and sends your endpoint a BYE. The REFER message itself is identical — the only difference is how the initial call leg was established.

|                               | Outbound                                 | Inbound                                |
| ----------------------------- | ---------------------------------------- | -------------------------------------- |
| **Call originated by**        | Your endpoint                            | The caller                             |
| **Initial INVITE direction**  | Endpoint → Plivo → Customer              | Customer → Plivo → Endpoint            |
| **REFER sent by**             | Your endpoint → Plivo                    | Your endpoint → Plivo                  |
| **Caller ID on transfer leg** | Your Plivo number                        | Original caller's number               |
| **Typical use case**          | AI-to-human handover, proactive outreach | Inbound support queues, IVR escalation |

***

## Restrictions

* **SIP trunk domains only.** The `Refer-To` URI must use your SIP trunk domain (ending in `.zt.plivo.com`). Transfers to arbitrary SIP URIs or external domains are blocked.
* **No private IPs.** The transfer target cannot be a private IP address.
* **Transport.** SIP REFER works on UDP, TCP, and TLS trunks.
* **Codec re-negotiation.** Plivo handles codec negotiation between the original leg and the new transfer leg automatically.
* **Caller ID on the transfer leg.** For inbound calls, the transfer target sees the original caller's number. For outbound calls, the transfer target sees your Plivo number.
* **Chained transfers.** You can transfer the same call more than once. Each REFER starts a new transfer leg; the previous leg is replaced.
* **If the transfer target hangs up.** The entire call is terminated. The original caller is not reconnected to your endpoint.

***

## Frequently asked questions

***

### Is the transferred leg billed separately, or as one call?

The original call leg and the transfer leg are billed as separate call records. You see two CDR entries: one for the original leg (from start until your endpoint is disconnected) and one for the transfer leg (from when the transfer target answers).

***

### What caller ID does the transfer target see?

For **inbound calls**, the transfer target sees the original caller's number. For **outbound calls**, the transfer target sees the Plivo number you used as the caller ID on the original leg.

***

### Will my CDR show the transfer target's number?

Yes. The transfer leg appears as a separate CDR entry with the transfer target's number in the `to` field. Allow up to 60 seconds for the CDR to finalise after the call ends.

***

### Does call recording continue after the transfer?

Call recording on the original leg stops when your endpoint is disconnected. To record the transfer leg, configure recording on the transfer target's trunk or number separately.

***

### Can I transfer the same call more than once?

Yes. You can send successive REFER requests on the same call. Each REFER replaces the current transfer leg with a new one.

***

### Does REFER work alongside Plivo's IVR or PHLO?

SIP REFER is initiated by your SIP endpoint, not by Plivo. If your endpoint is connected via a Plivo SIP trunk (inbound or outbound), you can send REFER regardless of what IVR or PHLO flow was used to route the call.

***

### What countries and number formats are supported as transfer targets?

The transfer target must be a valid E.164 number (for example, `+14155551234`) reachable via your SIP trunk. International destinations must be enabled on your account. See [Geo Permissions](/sip-trunking/concepts/geo-permissions) to manage which countries your trunk can reach.

***

### What happens if the transfer target is busy or does not answer?

Plivo sends `NOTIFY 4xx` (for example, `486 Busy Here` or `408 Request Timeout`) to your endpoint. The caller remains on your line. You can retry the REFER with a different number or continue the conversation.

***

### Is there a limit on how many REFERs I can send?

REFERs count against your account's concurrent call capacity like any other call leg. See [Calls-per-second limitations](/sip-trunking#calls-per-second-limitations) for details.

***

## Related

* [SIP REFER — Outbound Calls](/sip-trunking/concepts/sip-refer-outbound) — Step-by-step guide for outbound call transfers
* [SIP REFER — Inbound Calls](/sip-trunking/concepts/sip-refer-inbound) — Step-by-step guide for inbound call transfers
* [Technical Specifications](/sip-trunking/concepts/technical-specifications) — Supported SIP methods and limits
* [Geo Permissions](/sip-trunking/concepts/geo-permissions) — Enable international destinations on your trunk
* [Voice API Transfer](/voice/xml/element/transfer) — API-driven call transfer without a SIP endpoint
* [SIP Trunk Debug Logs](/sip-trunking/troubleshooting/zentrunk-debug-logs) — How to read SIP traces and call logs
