# What is the DID Pool?

A **DID Pool** is a defined range of **DID/DDI numbers** associated with a specific **SIP trunk** in PortSIP PBX.

Because PortSIP PBX is a **true multi-tenant platform** designed for **Cloud PBX and UCaaS service providers**, multiple tenants may configure trunks from the same SIP trunk provider within a single PBX system.

Without proper isolation, this can lead to routing and caller ID conflicts, such as:

* Multiple tenants configuring the **same DID number** in inbound rules, making it unclear which tenant should receive an incoming call.
* A tenant using an **outbound caller ID** that belongs to another tenant, causing incorrect caller identification or call rejection by the trunk provider.

***

### Why DID Pool Is Required

To prevent these conflicts, PortSIP PBX introduces the **DID Pool** mechanism.

The DID Pool ensures that:

* DID numbers are **uniquely allocated per tenant**
* Inbound call routing is **deterministic and unambiguous**
* Outbound caller IDs are restricted to **authorized numbers only**

This design is mandatory for large-scale, multi-tenant Cloud PBX and UCaaS environments.

***

### How DID Pools Work

Instead of adding DID numbers individually, the DID Pool allows you to define **ranges of DID numbers** for a SIP trunk.

Key capabilities include:

* Adding **large DID ranges** efficiently
* Splitting a range into **subranges or individual numbers**
* Assigning ranges, subranges, or individual DIDs to specific tenants

Once assigned, a tenant can:

* Configure inbound call routing rules
* Set outbound caller IDs\
  using **only the DID numbers allocated to them from the DID Pool**

***

### DID Pool Format

PortSIP PBX supports multiple formats for defining DID Pools.\
Multiple entries must be separated by a **semicolon (`;`)**.

#### Supported Formats

```
33802000-33803000;33806000-33807000;33809122
33802000
33802000;33802010;33802112
33806000-33807000;33809122
33802000-33803000;33806000-33807000
```

#### Format Rules

* A **single DID number** can be specified directly
* A **DID range** is defined using a hyphen (`-`)
* Multiple numbers or ranges must be separated by semicolons (`;`)

***

### Important Notes

* **Remove any leading `+`, `0`, or `00`** from DID numbers before entering them into the DID Pool.
* Ensure DID ranges do not overlap across tenants to avoid routing conflicts.
* DID Pool assignments are enforced at both **inbound routing** and **outbound caller ID validation**.

***

### Expected Outcome

With DID Pools correctly configured:

* Incoming calls are routed to the **correct tenant**
* Outbound calls use **valid, tenant-owned caller IDs**
* The PBX operates safely and predictably in a **multi-tenant cloud environment**


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://support.portsip.com/portsip-communications-solution/faq/what-is-the-did-pool.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
