> This page is for Cloud Call Center.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.hams.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.hams.ai/_mcp/server.

# DIDs

> Add the inbound numbers of the call center and point each number at a call flow.

A DID is an inbound phone number that the call center receives calls on. When someone dials the number, the call enters the call flow that you choose. A DID can also cover a whole block of numbers. See [Number blocks](#number-blocks).

A DID for a single number also gives the caller ID for a call campaign. See [Campaigns](/cloud-call-center/campaigns).

> **Note**
>
> Only administrators can see and change DIDs.

![The DIDs tab: each number, the call flow it enters, and the trunk it arrives on.](/_fern-img/748c41c414f2724a1725f153c02b67fe8fafafc1c995c0238c235f83f5cb1a40.webp)

## Fields

| Field                         | What it does                                                                                                    | Rules                                                                                                                                                                                                              |
| ----------------------------- | --------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Number**                    | Sets the public phone number. For a number block, it sets the prefix that the system adds to the dialed digits. | Required. E.164 format: a `+`, the country code, and digits only. Up to 16 characters. Each number needs to be unique in its SIP domain. For a number block, see [Number blocks](#number-blocks).                  |
| **Number block**              | Makes the DID cover a block of numbers instead of one number.                                                   | Off by default. See [Number blocks](#number-blocks).                                                                                                                                                               |
| **Trunk**                     | Sets the trunk that the number arrives on. The DID takes the SIP domain of the trunk.                           | Required. A DID on an **Outbound** trunk does not get calls.                                                                                                                                                       |
| **Call flow**                 | Sets the call flow that answers and routes the calls.                                                           | Required. Select the trunk first. The call flow must be an inbound call flow in the SIP domain of the trunk. The list shows published and active call flows.                                                       |
| **Inbound match**             | Overrides the digits that the system matches when a call arrives.                                               | Optional. For advanced use. 2 to 20 characters: digits, `+`, `*`, or `#`. The default is the number. Each inbound match must be unique in the SIP domain.                                                          |
| **Test incoming number**      | Shows what the DID does with a number that your carrier sends.                                                  | Optional. The form is a check only. It does not change the DID. See [Test a number](#test-a-number).                                                                                                               |
| **Inbound caller-ID rewrite** | Changes the number of the caller before the call reaches the call flow.                                         | Optional. Up to 6 operations. See [Rewrite operations](#rewrite-operations).                                                                                                                                       |
| **Description**               | Adds a note about the number.                                                                                   | Optional. Up to 255 characters.                                                                                                                                                                                    |
| **Call recording**            | Sets the recording decision for calls to this number.                                                           | **Inherit**, **On**, or **Off**. The default is **Inherit**. The setting of the DID replaces the setting of its trunk, unless the trunk locks it. Turn on **Lock this decision** so that a queue cannot change it. |
| **Active**                    | Turns the DID on or off.                                                                                        | On by default.                                                                                                                                                                                                     |

## Add a DID

Before you start, add a trunk and a call flow. You cannot create a DID before both exist. See [Trunks](/cloud-call-center/settings/trunks) and [Call flows](/cloud-call-center/call-flows).

#### Open the DIDs tab

Click **Settings** in the Cloud Call Center sidebar. Click the **DIDs** tab.

#### Open the form

Click **Create DID**. The **Create DID** drawer opens.

#### Enter the number

Enter the **Number** in E.164 format, for example `+14155550123`.

#### Select the trunk and the call flow

Select the **Trunk**. Select the **Call flow**. For a block of numbers, turn on **Number block**, and enter the **Inbound match**.

#### Save the DID

Click **Create**. The drawer closes and the DID shows in the list.

To change a DID, click its row. Change the fields. Click **Save**. If you change the trunk, the DID moves to the SIP domain of the new trunk. Select a call flow from that domain again.

## Number blocks

A number block is one DID that covers many numbers. Use it when your carrier sends a range of numbers. All of them enter the same call flow.

To make a number block, turn on **Number block**. Then set the 2 fields in this way:

* **Inbound match**: the first digits that your carrier sends. A call matches when the dialed number starts with these digits.
* **Number**: a `+` and the start of an E.164 number, for example `+966`. The system puts this prefix in front of the digits that follow the inbound match.

For example, the **Inbound match** is `888880` and the **Number** is `+966`. A call to `888880500000044` reaches the call flow as `+966500000044`.

The form checks the values when you click **Create** or **Save**:

| Check                                                                                                                            | Message                                                                                         |
| -------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| The **Number** of a single number is not in E.164 format.                                                                        | Enter the number in E.164 format, e.g. +15551234567.                                            |
| The **Number** of a block does not start with `+` and the start of an E.164 number. The first digit after the `+` cannot be `0`. | A number block starts with + and the start of an E.164 number, e.g. +966 (no leading 0).        |
| The inbound match of a block has fewer than 6 digits. If you leave **Inbound match** empty, the check uses the **Number**.       | A number block matches at least 6 digits on the wire. Set an inbound match, or a longer number. |

The prefix in **Number** can be as short as `+`. The inbound match must always have at least 6 digits.

When more than one DID matches a call, the system picks one DID in this order:

1. A DID for a single number goes before a number block.
2. Among number blocks, the block with the longest inbound match goes first.

Each inbound match must be unique in its SIP domain. If another DID in the domain already uses the same inbound match, the system does not save the DID.

A number block is not one phone number. For this reason:

* A number block does not show in the **Caller ID** list of a campaign.
* An Omni Channel voice inbox cannot use a number block as its number.
* A campaign can use a DID as its caller ID. While that campaign is not **Completed** or **Stopped**, you cannot change the DID into a number block. Stop the campaign first.

In the list, a number block shows the badge **Block** next to its number.

![The Create DID drawer for a number block: the Number block switch, the inbound match, and the test of an incoming number.](/_fern-img/118702a33449791e8a8d02e8b8c00395a0d60fe1e24ce5ec49ec938703903830.webp)

### Test a number

Type a number in **Test incoming number**. The form shows what the DID does with it.

| Result                                                              | Meaning                                                                                           |
| ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| **Reaches the call flow as** and a number                           | The DID matches the number. The call flow sees this E.164 number.                                 |
| **This DID doesn't match that number.**                             | The DID does not match the number.                                                                |
| **This DID matches it, but the result isn't a valid E.164 number.** | The DID matches the number, but the prefix and the dialed digits make a number that is not valid. |

The test checks one DID only. It does not show which of several DIDs wins.

## Rewrite operations

Each operation changes the number in order, from the first row to the last row. Click **+ Add operation** to add a row. Use **Test number** to see the **Result**.

| Operation        | What it does                                                                                                     |
| ---------------- | ---------------------------------------------------------------------------------------------------------------- |
| **Add prefix**   | Adds the prefix to the start of the number.                                                                      |
| **Strip prefix** | Removes the prefix from the start of the number. The number stays the same if it does not start with the prefix. |
| **Add +**        | Adds a `+` to the start of the number.                                                                           |
| **Remove +**     | Removes a `+` from the start of the number.                                                                      |

A prefix has 1 to 6 characters: digits, `+`, `*`, or `#`. This field does not offer **Set number**.

For example, a carrier sends the caller number `02071838750`. Use **Strip prefix** `0` and then **Add prefix** `+44`. The call flow gets `+442071838750`.

## Delete a DID

> **Warning**
>
> Stop all campaigns that use a DID before you delete the DID. You cannot delete a DID while a campaign that uses it is on the dialer. A campaign is on the dialer when its status is **Scheduled**, **Loading**, **Running**, or **Paused**. If you delete the DID, the system also deletes all campaigns with the status **New** that use it. You cannot undo a delete.

A finished campaign stays as history. For the campaign statuses, see [Campaigns](/cloud-call-center/campaigns).

To delete a DID, open the actions menu of its row. Click **Delete**. Click **Delete** again in the dialog.

## Related

* [Trunks](/cloud-call-center/settings/trunks)
* [Call flows](/cloud-call-center/call-flows)
* [Campaigns](/cloud-call-center/campaigns)
* [SIP connection](/platform/integration/sip)