SIP Call Transfer and SIP REFER

Daily provides two primary methods for handling transfers: PSTN and SIP call transfers, along with SIP REFER. Each method serves distinct use cases and maintains the original connection during the transfer process, ensuring seamless call continuity.

  • PSTN and SIP Call Transfer keeps the original SIP connection anchored to Daily. Only the far end of the call is redirected to a new SIP or PSTN destination. Because Daily remains in the media path, usage continues to be billed on both connections. The exact cost depends on whether the target is a SIP address or a PSTN number.

  • SIP REFER hands the call back to the originating SIP system. The original SIP endpoint then establishes a direct connection to the target SIP endpoint, and Daily exits the call entirely. A one-time SIP REFER fee may apply when invoked.

SIP call transfer — when transferring to an external SIP address or PSTN phone number, the original SIP connection remains anchored to Daily. Both the original and the new call connections stay active during the transfer, and usage continues to be billed accordingly.
SIP REFER disconnects Daily's infrastructure when accepted by the originator. However, a one-time SIP REFER fee may apply when the REFER request is invoked. Contact support to understand pricing.

Understanding Call Transfer Methods

SIP Call Transfer is designed for seamless transfers within Daily’s infrastructure—especially between Daily rooms—and can also redirect calls to external SIP addresses. This method always keeps the original SIP connection anchored to Daily. Only the far end of the call is re-routed to the new SIP destination. Because Daily remains in the media path to preserve analytics, room state, and session continuity, more importantly the original connection stays active after the transfer. This means usage continues to accrue on each connections: • the original SIP dial-in or dial-out connection • the new SIP or PSTN connection created by the transfer

This behavior applies to both dial-in and dial-out scenarios and enables use cases such as agent-to-agent room transfers or forwarding calls to external SIP addresses while maintaining Daily’s connection management.

Example workflow:

  • A customer connects to Daily Room A where a support agent is available. This original connection may be a dial-in or dial-out call.
  • The support agent determines that the caller needs specialized assistance and initiates a transfer to another SIP address.
  • The call is redirected to Daily Room B (Specialist Support).

In this workflow, the original SIP connection stays anchored to Daily. Only the far end of the call is switched from Room A’s SIP address to Room B’s SIP address. If the target SIP address is external rather than another Daily room, the caller will leave Room A, but the call continues to be routed through Daily to the external destination.

PSTN Call Transfer works the same way as SIP Call Transfer, the original phone call stays anchored to Daily, and only the far end is redirected to a new phone number. This preserves the existing SIP/PSTN connection while creating a new outbound connection to the target number. Both dial-in and dial-out calls can be transferred, and both connections remain active for the duration of the transfer.

Example workflow:

  • A customer with phone number (+1234567890) dials into Room A (+1650DAILY00, purchased phone number).
  • The support agent in Room A chooses to transfer the call to a new phone number (+1987654321).
  • When the transfer begins, the original caller leaves Room A, and the new number starts ringing. Note: Even though the caller leaves Room A, the call remains anchored on Daily and continues to be handled by Daily’s infrastructure.
For ensuring continuity of identity throughout the transfer process, you may need to override the Dialout caller ID (`+1650DAILY00`) with the Original Dialer's phone (`+1234567890`) number, please reach out the help@daily.co to discuss this feature. It is only available to paying accounts and requires a compliance step.

SIP REFER is the method to use when the call needs to be fully handed off outside of Daily’s infrastructure. Once the REFER succeeds, Daily drops out of the signalling and media path and the originating SIP address directly connects to the target destination. This is ideal when a call originally came from an external SIP or IVR system and needs to be returned or redirected back into that external environment—without Daily staying anchored in the loop. Common scenarios include:

  • Returning a call to an external IVR, PBX, or call-center platform
  • Redirecting calls between different SIP providers without involving Daily after the handoff

Example workflow:

  • An external IVR forwards a call to the SIP address associated with a Daily Room.
  • The agent in the Daily Room completes the interaction and decides to return the call to the original IVR.
  • Using SIP REFER, the original connection is handed off to the specified SIP endpoint, and a direct connection is established between the external systems. Note: A one-time SIP REFER fee may apply when invoked.

The Daily's Client SDK and REST APIs provides methods for both transfer types, see REST API docs and Client SDK APIs: sipCallTransfer(), sipRefer().

Transfer Types and Scenarios

Call transfers keep the original SIP connection anchored to Daily. The far end of the call can then be redirected to another SIP URI or PSTN number, depending on your use case.

  1. Room-to-Room Transfer

    • sip:alice@sip.example.com (Alice) is connected to Daily Room A, either by dialing in or via a dial-out from the room.
    • During the call, the agent decides that Alice should be moved to Daily Room B. The SIP address for Room B becomes the transfer target.
    • Room A initiates sipCallTransfer using Alice’s sessionId, with toEndpoint: "sip:room-b@domain.sip.daily.co".
    • Once the transfer begins, Alice leaves. participant-left and dialin-stopped|dialout-stopped events fire in Room A. Alice then joins Room B, where participant-joined fires as she enters. In addition the following calltransfer webhooks will also fire in Daily Room A triggered, initiated, answered, complete.
  2. External SIP Transfer

    • sip:alice@sip.example.com (Alice) is connected to Daily Room A, either by dialing in or via a dial-out from the room.
    • The agent decides to transfer Alice to an external SIP endpoint, such as sip:callme@sip.somewhere.com.
    • Room A initiates sipCallTransfer using Alice’s sessionId, setting toEndpoint: "sip:callme@sip.somewhere.com".
    • When the transfer begins, Alice leaves Room A. participant-left and dialin-stopped|dialout-stopped events fire, and the calltransfer webhooks (triggered, initiated, answered, complete) are emitted for Room A.
  3. External PSTN Transfer

    • Alice’s phone number (+1987654xxx) is connected to Daily Room A, either by dialing in or via a dial-out from the room.
    • The agent decides to transfer Alice to another phone number, such as +123455xxx.
    • Room A initiates sipCallTransfer using Alice’s sessionId, with toEndpoint: "+123455xxx".
    • When the transfer begins, participant-left and dialin-stopped|dialout-stopped events fire in Room A. Alice’s original phone begins ringing as the outbound connection is created to +123455xxx.

Note: In scenarios 2 and 3, SIP-to-PSTN and PSTN-to-SIP transfers are supported. Transfers do not need to stay within SIP-only or PSTN-only paths. Service rates depend on the connection types involved (e.g., PSTN to PSTN uses two PSTN minutes per minute, SIP to SIP uses two SIP minutes per minute, etc.).

A callerId may be passed for the PSTN dial-out. This field is OPTIONAL. If no callerId is provided, Daily uses one of the phone numbers associated with the developer account. To use a specific Daily number, pass the id of the purchased phone number. If you need to present the end user’s original phone number, contact support to enable number masquerading.

  1. SIP REFER

Scenarios 1–3 keep the SIP or PSTN connection anchored to Daily. If the call needs to be fully handed off so that Daily exits the call entirely, use SIP REFER. Instead of redirecting the far end through Daily, SIP REFER instructs the original SIP caller (e.g., sip:ivr@sip.example.com) to establish a direct connection with the target SIP destination (e.g., sip:support-level3@sip.example.com or sip:support@sip.elsewhere.com). Once the REFER succeeds, Daily is no longer part of the media path. Note: a one-time SIP REFER fee may apply when invoked.

  • sip:ivr@sip.example.com is in Daily Room A. Ths SIP may have been dialled out to or dialled in.
  • An agent or automation in Room A decides to send the call to sip:support@sip.elsewhere.com.
  • Room A calls sipRefer on the sessionId associated with sip:ivr@sip.example.com and toEndpoint: "sip:support@sip.elsewhere.com".
  • When the REFER is triggered, participant-left and dialin-stopped|dialout-stopped events fire in Room A, and the destination begins ringing as the external systems connect directly. In addition to participant and dial-in and dial-out webhooks, calltransfer webhooks (triggered, initiated, answered, complete) are emitted for Room A.

For best practices, choose the correct transfer method:

  • Use sipCallTransfer for internal transfers—removing the caller from the current Daily room and connecting them to another Daily room.
  • Use startDialout when you want to bring a new SIP or PSTN participant into the current Daily room rather than transferring the existing caller.
  • Use sipRefer for external-to-external transfers where Daily should fully exit the call flow. If the originating SIP system does not support SIP REFER, you will need to use sipCallTransfer instead. In that case, the call remains anchored to Daily, and usage will continue to accrue during the transferred period.

Implementation Options

You can implement these transfers through the followin APIs:

  1. REST API endpoints:

  2. Client SDK methods :

Pricing Considerations

The choice between sipCallTransfer and sipRefer affects how usage is billed. sipCallTransfer keeps the call anchored to Daily, so usage continues to accrue on the active connections for the duration of the transfer. sipRefer, by contrast, removes Daily from the call flow once the REFER succeeds; a one-time SIP REFER fee may apply when the REFER is invoked.

For detailed pricing information and guidance on which method best suits your needs, please contact:

  • Email: help@daily.co
  • Sales team: Contact for enterprise pricing and volume discussions