Configure call transfers#

Configure the inbound and outbound SIP trunks and your SIP platform so that DIDWW can redirect or transfer an inbound call to an external phone number. Your platform triggers the transfer with a SIP 301 or 302 response before answering the call, or with an in-dialog SIP REFER request after answering it. DIDWW then places a new call to the destination through your outbound trunk.

For an explanation of both methods, including SIP messages, call flows, and use cases, see Inbound call redirection.

Before you begin#

  • Access to DIDWW outbound trunks is required. See Get Access to DIDWW Outbound Termination.

  • At least one DID number is required to receive inbound calls.

  • Your SIP platform, such as a PBX, IVR, AI agent, or custom SIP application, must support SIP 301 or 302 responses, in-dialog SIP REFER requests, or both.

1. Create the outbound SIP trunk

Create the outbound trunk that DIDWW uses to place the redirected or transferred call.

1. Create the outbound SIP trunk
2. Create the inbound SIP trunk

Enable the required method and authorize it with the outbound trunk credentials.

2. Create the inbound SIP trunk
3. Configure your SIP platform

Send a SIP 301 or 302 response or a SIP REFER request to DIDWW.

3. Configure your SIP platform

1. Create the outbound SIP trunk#

The outbound trunk must use Credentials & IP-Based authentication and accept signaling from the DIDWW inbound SIP addresses. The inbound trunk stores the outbound trunk credentials, which DIDWW uses to authenticate the new outbound call.

Step 1: Start trunk creation#

  1. In the DIDWW User Panel, go to Voice > Outbound Trunks.

  2. Click Create New.

Opening Outbound Trunks and starting outbound trunk creation

Fig. 1. Starting outbound trunk creation#

Step 2: Configure and create the outbound trunk#

  1. Enter a descriptive Name, for example Call Transfers.

  2. Keep Credentials & IP-Based authentication selected.

  3. In Allowed SIP IP addresses, add:

    Copy the DIDWW inbound SIP address list for your IP version:

    46.19.209.14 46.19.210.14 46.19.212.14 46.19.213.14 46.19.214.14 46.19.215.14 185.238.173.14
    
    2a01:ad00:1:14::14 2a01:ad00:2:14::14 2a01:ad00:4:14::14 2a01:ad00:5:14::14 2a01:ad00:6:14::14 2a01:ad00:7:14::14 2a01:ad00:8:14::14
    
  4. Click Create.

Warning

Adding 0.0.0.0/0 removes all IP restrictions. SIP Digest authentication still verifies each request, but this configuration is not recommended. Restrict access to known signaling addresses.

For all outbound trunk fields, see Create an outbound trunk.

Configuring and creating the outbound SIP trunk for call transfers

Fig. 2. Configuring the outbound SIP trunk#

Step 3: Copy the outbound trunk credentials#

  1. Go to Voice > Outbound Trunks.

  2. Locate the trunk and click the key icon in the Credentials column.

  3. Copy the Username and Password. Click the eye icon to reveal the password.

You will enter these credentials in the Authorization tab of the inbound SIP trunk. Your SIP platform also uses them for outbound SIP authentication.

Viewing outbound trunk credentials for reuse on the inbound trunk

Fig. 3. Viewing the outbound trunk credentials#

2. Create the inbound SIP trunk#

The inbound trunk must enable the required method and have Authorization enabled with the outbound trunk credentials. For Static Endpoint routing, Network Protocol must match the IP version of the DIDWW inbound signaling addresses configured under Allowed SIP IP addresses on the outbound trunk. To use an existing inbound SIP trunk, edit it and apply the same settings.

Step 1: Start trunk creation#

  1. In the DIDWW User Panel, go to Voice > Inbound Trunks.

  2. Click Create New > SIP Trunk.

Opening Inbound Trunks and starting inbound SIP trunk creation

Fig. 4. Starting inbound SIP trunk creation#

Step 2: Configure general settings#

  1. In the General tab, enter a descriptive Name, for example Call Transfers.

  2. Select the SIP routing method used by your platform. For Static Endpoint, configure Host, Transport, and Port as required by your platform.

  3. If the trunk uses Static Endpoint, set Network Protocol to match the IP version of the DIDWW inbound signaling addresses you allowed on the outbound trunk:

    • If the outbound trunk allows IPv4 addresses, select IPv4 only.

    • If the outbound trunk allows IPv6 addresses, select IPv6 only.

    A mismatch between IP versions prevents the transfer from completing.

For all routing fields, see Create a SIP trunk.

Configuring inbound trunk general settings and network protocol

Fig. 5. Configuring general settings and Network Protocol#

Step 3: Enable authorization#

  1. Open the Authorization tab.

  2. Turn on Enable Authorization.

  3. Paste the outbound trunk Username into Auth User and its Password into Auth Password.

DIDWW uses these credentials to authenticate the new outbound call after a redirect or transfer request.

Enabling authorization and pasting outbound trunk credentials on the inbound trunk

Fig. 6. Enabling authorization with the outbound trunk credentials#

Step 4: Enable the transfer method#

Open the Signalling tab and enable the method your platform uses. Configure both fields when the platform uses both methods. The default value of 0 disables the corresponding method.

Field definitions and supported ranges are listed under Authorization and Signalling in the SIP trunk settings reference.

Set Max Transfers to a value from 1 to 8.

Enabling Max Transfers for SIP REFER on the inbound SIP trunk

Fig. 7. Enabling Max Transfers for SIP REFER#

Set Max 30x Redirects to a value from 1 to 8.

Enabling Max 30x Redirects on the inbound SIP trunk

Fig. 8. Enabling Max 30x Redirects#

Step 5: Create the trunk#

Click Create to save the inbound SIP trunk. For an existing trunk, click Submit.

Creating the inbound SIP trunk for call transfers

Fig. 9. Creating the inbound SIP trunk#

Step 6: Assign the trunk to DID numbers#

Calls can be redirected or transferred only after the DID number routes to the inbound trunk.

  1. Go to Phone Numbers > My Numbers.

  2. Select the DID numbers to assign to the inbound SIP trunk.

  3. Click Batch Actions > Update Trunks.

  4. Select the inbound SIP trunk you created.

  5. Click Confirm.

Selecting Update Trunks from the Batch Actions menu

Fig. 10. Selecting Update Trunks from Batch Actions#

Assigning the inbound SIP trunk to the selected DID numbers

Fig. 11. Assigning the inbound SIP trunk to the selected DID numbers#

3. Configure your SIP platform#

Step 1: Build the destination SIP URI#

Construct the destination as a sip: URI that points to a DIDWW outbound signaling endpoint:

sip:NEW_PSTN_NUMBER@<outbound_endpoint>

NEW_PSTN_NUMBER is the destination phone number in E.164 format without the leading +. <outbound_endpoint> is a DIDWW outbound signaling endpoint. For example:

sip:12025550199@fra.eu.out.didww.com

Place this URI in the Contact header of a SIP 301 or 302 response, or in the Refer-To header of a SIP REFER request.

Step 2: Trigger the transfer#

Use this method when the call must be answered before the destination is selected.

  1. Answer the inbound call to establish a SIP dialog.

  2. Send an in-dialog SIP REFER request to DIDWW.

  3. Place the destination SIP URI in the Refer-To header:

    Refer-To: <sip:12025550199@fra.eu.out.didww.com>
    
  4. Wait for DIDWW to respond with 200 OK or 202 Accepted.

  5. Send BYE to close the original call leg.

DIDWW validates the request against Max Transfers and places a new call through the outbound trunk. See SIP REFER transfer for a request example and call flow.

Use this method when the destination can be selected before the call is answered.

  1. Receive the inbound SIP INVITE from DIDWW without answering it.

  2. Respond with 301 Moved Permanently or 302 Moved Temporarily.

  3. Place the destination SIP URI in the Contact header:

    Contact: <sip:12025550199@fra.eu.out.didww.com>
    

DIDWW validates the response against Max 30x Redirects and places a new call through the outbound trunk. See SIP 30x Redirect for a response example and call flow.

Warning

Ensure that the destination does not route back to the original DID number. Otherwise, the configuration can create a call loop.

Step 3: Test the transfer#

  1. Call a DID number assigned to the inbound SIP trunk.

  2. Answer the call on your platform.

  3. Trigger a SIP REFER transfer.

  4. Confirm that the original call leg ends and the new outbound call is established.

  1. Call a DID number assigned to the inbound SIP trunk.

  2. Do not answer the call on your platform.

  3. Confirm that the platform sends a SIP 301 or 302 response.

  4. Confirm that the call is redirected and two-way audio is established with the destination.

Review Inbound Call Logs and Outbound Call Logs to verify both call legs and their SIP responses. If the transfer does not complete, contact DIDWW Support at support@didww.com.

Expected result#

  • A valid SIP 301 or 302 response redirects the unanswered inbound call to the URI in the Contact header.

  • A valid in-dialog SIP REFER request transfers the answered call to the URI in the Refer-To header.

  • DIDWW authenticates the new call with the outbound trunk credentials stored in the inbound trunk’s Authorization settings.