# 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](../call-handling-and-delivery/inbound-call-redirection.html).

## Before you begin

- Access to DIDWW outbound trunks is required. See [Get Access to DIDWW
  Outbound Termination](../../../outbound-trunks/get-access.html#user-panel-voice-out-get-access).
- 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](#call-transfers-outbound-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](#call-transfers-inbound-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](#call-transfers-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](https://my.didww.com/#/trunks), go to
   **Voice > Outbound Trunks**.
2. Click **Create New**.

[![Opening Outbound Trunks and starting outbound trunk creation](../../../../_images/outbound13.png)](../../../../_images/outbound13.png)


**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:

   - The outbound SIP signaling IP addresses of your SIP platform, if it uses
     fixed IP addresses.
   - The [DIDWW inbound SIP signaling addresses](../sip-connectivity-reference.html#inbound-sip-connectivity-signaling). They are required for redirects
     and transfers.

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

   IPv4

   ```
   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
   ```


   IPv6

   ```
   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](../../../outbound-trunks/how-to-guides/create-outbound-trunk.html).

[![Configuring and creating the outbound SIP trunk for call transfers](../../../../_images/outbound22.png)](../../../../_images/outbound22.png)


**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](#call-transfers-inbound-auth) 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](../../../../_images/outbound33.png)](../../../../_images/outbound33.png)


**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](https://my.didww.com/#/trunks), go to
   **Voice > Inbound Trunks**.
2. Click **Create New > SIP Trunk**.

[![Opening Inbound Trunks and starting inbound SIP trunk creation](../../../../_images/inbound13.png)](../../../../_images/inbound13.png)


**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](create-sip-trunk.html).

[![Configuring inbound trunk general settings and network protocol](../../../../_images/inbound22.png)](../../../../_images/inbound22.png)


**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](../../../../_images/inbound32.png)](../../../../_images/inbound32.png)


**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](../sip-trunk-settings-reference.html#inbound-sip-trunks-settings-authorization) and
[Signalling](../sip-trunk-settings-reference.html#inbound-sip-trunks-settings-signalling) in the SIP trunk settings
reference.

SIP REFER

Set **Max Transfers** to a value from `1` to `8`.

[![Enabling Max Transfers for SIP REFER on the inbound SIP trunk](../../../../_images/inbound4_refer.png)](../../../../_images/inbound4_refer.png)


**Fig. 7.** Enabling Max Transfers for SIP REFER


SIP 30x Redirect

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

[![Enabling Max 30x Redirects on the inbound SIP trunk](../../../../_images/inbound4_30x.png)](../../../../_images/inbound4_30x.png)


**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](../../../../_images/inbound51.png)](../../../../_images/inbound51.png)


**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](../../../../_images/inbound61.png)


**Fig. 10.** Selecting **Update Trunks** from **Batch Actions**


![Assigning the inbound SIP trunk to the selected DID numbers](../../../../_images/inbound71.png)


**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](../../../outbound-trunks/outbound-sip-information.html#voice-out-signaling-endpoints):

```
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

SIP REFER

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](../call-handling-and-delivery/inbound-call-redirection.html#call-redirection-refer) for a request example and
call flow.


SIP 30x Redirect

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](../call-handling-and-delivery/inbound-call-redirection.html#call-redirection-302) 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

SIP REFER

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.


SIP 30x Redirect

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](../../../../logs-analytics/call-logs/inbound-logs.html#inbound-cdr-logs) and [Outbound Call
Logs](../../../../logs-analytics/call-logs/outbound-logs.html#outbound-cdr-logs) to verify both call legs and their SIP
responses.
If the transfer does not complete, contact DIDWW Support at
[support@didww.com](mailto:support%40didww.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.

## Related resources

- [Inbound call redirection](../call-handling-and-delivery/inbound-call-redirection.html) - Understand SIP
  30x Redirect and SIP REFER transfers.
- [SIP trunk settings reference](../sip-trunk-settings-reference.html) -
  Review Authorization and Signalling fields, defaults, and limits.
- [Outbound SIP information](../../../outbound-trunks/outbound-sip-information.html) - Select signaling
  endpoints and review outbound SIP requirements.
- [SIP connectivity reference](../sip-connectivity-reference.html) - Review
  DIDWW signaling and media addresses.

On this page
