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.
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 |
Choose your guide
Outbound call transfer
Your AI agent or PBX placed an outbound call and wants to hand it off to a human agent.
Inbound call transfer
A caller dialled your Plivo number, your AI agent answered, and wants to hand off.
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-ToURI 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 theto 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 to manage which countries your trunk can reach.
What happens if the transfer target is busy or does not answer?
Plivo sendsNOTIFY 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 for details.Related
- SIP REFER — Outbound Calls — Step-by-step guide for outbound call transfers
- SIP REFER — Inbound Calls — Step-by-step guide for inbound call transfers
- Technical Specifications — Supported SIP methods and limits
- Geo Permissions — Enable international destinations on your trunk
- Voice API Transfer — API-driven call transfer without a SIP endpoint
- SIP Trunk Debug Logs — How to read SIP traces and call logs