Call Transfers

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.

Understanding Call Transfer Methods

SIP Call Transfer is optimized for handling transfers within Daily's infrastructure, particularly between Daily rooms. This method maintains the existing connection and inserts a SIP transfer leg to achieve a seamless connection. Both inbound (dial-in) and outbound (dial-out) scenarios can be transferred. Key scenarios where call transfer is ideal:

  • Moving calls between Daily rooms (e.g., agent-to-agent transfers in call centers)
  • Transferring SIP calls while maintaining Daily's analytics and monitoring
  • Forwarding calls to external SIP addresses while keeping Daily's connection management

Example workflow:

  • Customer connects to a Daily Room A where an Support Agent is waiting. This original connectiop can be a dial-out or dial-in. In call transfers, we want to maintain this original connection and re-route the secondary connections.
  • The Support agent in the Room determines that specialized support is needed and needs to forwarded or transferred to another sip address.
  • Call is transferred to Daily Room B (Specialist Support)

In this case, the original connection is maintained while the secondary connections was switched between sip addresses of Room A and Room B.

PSTN Call Transfer allows you to transfer traditional phone calls between participants and rooms within the Daily infrastructure. Both inbound (dial-in) and outbound (dial-out) scenarios can be transferred.

Example workflow:

  • Customer with Phone number (+1234567890) dials into Room A
  • Support Agent in Room A decides to transfer the call to a new phone number (+1987654321)
  • As soon as the transfer is initiated, the original caller disconnects from Room A and new number rings.
For ensuring continuity of identity throughout the transfer process, you may need to override the Dialout caller ID with the Original Dialer's phone 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 designed for scenarios where a calls from an external sip address needs to be transferred back to an external SIP address. This method is particularly useful when working with external IVR systems or third-party SIP providers that forwarded a call to Daily and instread of reforwarding the call back to them, wants Daily to gracefully transfer back the original connection back to them. Common use cases:

  • Transferring calls back to external IVR systems
  • Moving calls between different SIP providers

Example workflow:

  • An external IVR forwards call to a Daily Room
  • Agent completes service in Daily Room and wants the originating call to referred back to the IVR.
  • Using SIP REFER, the original connection is passed to a target sip refer address and a direct connection is established.

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 will keep the SIP connection fixed to Daily at one end thus keeping the original user on the call. Meanwhile, the other end of the call can be directed to SIP URIs or PSTN numbers, depending on your use-case.

  1. Room-to-Room Transfer

    • sip:alice@sip.example.com is in Room A
    • needs to be transferred sip address of Room B
    • call sipCallTransfer with `toEndpoint:"sip:room-B@domain.sip.daily.co"
    • immediately participant-left along with dialin-stopped|dialout-stopped will fire in Room A. participant-joined will fire in Room B.
  2. PSTN Transfer

    • Original phone number in Room A
    • needs to be transferred to a phone number (+123455xxx)
    • call sipCallTransfer with toEndpoint:"++123455xxx"
    • immediately participant-left along with dialin-stopped|dialout-stopped will fire in Room A. Original phone number will start to hear ringing, and the phone +123455xxx will start ringing.

Note: In scenarios 1 an 2, it is also possible to transfer SIP to PSTN and vice-versa. it does not need to be PSTN-PSTN or SIP-SIP transfers.

  1. External Transfers (SIP REFER)

In this case instead of forwarding the call to the new sip address, we can perform a SIP REFER that will directly connect the original SIP caller (sip:support@sip.example.com) to the new SIP destination (sip:ivr@sip.example.com). Once the SIP REFER is successful, this takes Daily's SIP hops out of the connection loop.

  • sip:support@sip.example.com dials in to Room A.
  • User or agent in Room A decides to send the call to sip:ivr@sip.example.com
  • call sipRefer with `toEndpoint:"sip:ivr@sip.example.com"
  • immediately participant-left along with dialin-stopped|dialout-stopped will fire in Room A. The destination should start ringing.

For best practices choose the correct method

  • Use sipCallTransfer to remove the current Daily room and connect to a different Daily room.
  • Use startDialout if you want to forward the call to a new SIP address or PSTN phone number. This brings the dialled out participant in to the Daily room instead of transfering.
  • Use SIP REFER for external-to-external transfers and remove Daily's SIP infrastructure from the loop.

Pricing Considerations

The choice between sipCallTransfer and sipRefer may have pricing implications based on your usage patterns and requirements. 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