- PSTN and SIP Call Transfer — redirects the far end of the call to a new SIP or PSTN destination while keeping the original SIP connection anchored to Daily.
- SIP REFER — hands the call off to the originating SIP system, removing Daily from the call entirely.
SIP Call Transfer
UsesipCallTransfer when you want to redirect a caller to another Daily room or external destination while Daily remains in the media path. This preserves session continuity, analytics, and room state.
Works for both dial-in and dial-out connections.
Transfer scenarios
1. Room-to-room transfer Alice is in Room A (via dial-in or dial-out). Transfer her to Room B:participant-left, dialin-stopped / dialout-stopped fire) and joins Room B. Transfer webhooks (triggered, initiated, answered, complete) fire in Room A.
2. External SIP transfer
Transfer Alice to an external SIP endpoint:
callerID is provided, Daily uses a phone number from your account. To present the original caller’s number (number masquerading), contact support — this feature requires account enablement.
SIP REFER
UsesipRefer to fully hand off a call to an external SIP system, removing Daily from the call flow:
participant-left and dialin-stopped / dialout-stopped events fire in the Daily room, and transfer webhooks are emitted.
Common use cases:
- Returning a call to an IVR, PBX, or call-center platform
- Handing off between SIP providers without Daily staying in the loop
If the originating SIP system doesn’t support SIP REFER, use
sipCallTransfer instead. The call remains anchored to Daily and usage accrues during the transfer.Choosing the right method
| Scenario | Method |
|---|---|
| Transfer caller between Daily rooms | sipCallTransfer |
| Transfer to external SIP/PSTN destination, Daily stays in path | sipCallTransfer |
| Hand call fully back to originating SIP system | sipRefer |
| Add a new SIP/PSTN participant to the current room | startDialOut() |
Implementation
REST API: Client SDK:sipCallTransfer()— daily-jssipRefer()— daily-js