Phone Numbers (DIDs)
Local, toll-free, vanity, CNAM, E911, releasing, porting in.
Where DID work happens
Three pages under the Numbers menu:
- Buy DIDs — search and purchase new numbers
- DID Inventory — manage everything you own
- Port Numbers In — bring existing numbers from another carrier
Buying local numbers
Numbers → Buy DIDs, Local Numbers tab. Search by combinations of:
- State (required) — the only mandatory filter
- Area Code — three-digit prefix (e.g., 501)
- NXX — middle three digits (e.g., 555)
- Rate Center — the geographic exchange a number is "located" in. Affects E911 routing and inter-state vs intra-state pricing.
- City — the easiest filter. Autocomplete-driven.
Results show:
- Phone number (formatted)
- Region (state, often city)
- Rate center
- Monthly cost (your wholesale rate)
- One-time setup fee ($1.00 typically)
- Per-minute rate
Tick boxes on the numbers you want. Click Purchase Selected. Confirm. The numbers are yours within seconds.
Buying toll-free numbers
Numbers → Buy DIDs, Toll-Free tab. Two modes:
Regular — pick from a list of available numbers. Set how many to show (default 10). Click search. Pick from the results.
Vanity — search for a specific pattern. Use X as a wildcard:
877-555-XXXX— any 877-555 number8XX-OUR-FOOD— any toll-free where the last 7 digits spell OUR-FOOD888-XXX-1000— any 888 ending in 1000
Vanity searches can return slowly (the system is brute-forcing through carrier inventory). Be patient.
Toll-free pricing:
- Higher monthly ($2.50 wholesale typically)
- Higher per-minute (you pay for inbound and outbound)
- $1 setup fee
Worth it for sales/support lines where customers shouldn't think about call cost. Overkill for an internal extension.
Inventory management
Numbers → DID Inventory. Every number you own is here, with these columns:
- Phone number
- Tenant (assigned to, or "Unassigned")
- Status (ACTIVE, RELEASED, PENDING)
- Call Flow (if routed to one)
- CNAM (caller ID name)
- E911 Status (registered / not set / pending)
- Actions
Filter by tenant, search by number or tenant name, filter by E911 status. The default view shows everything.
Three statuses
- ACTIVE — fully provisioned, taking calls, billing monthly
- PENDING — purchased but not fully provisioned at the carrier yet (rare; usually clears within 60 seconds)
- RELEASED — was assigned to a tenant who deleted; in your inventory but not yet reassigned
Assigning to a tenant
Click Assign on an unassigned row. Pick a tenant from the dropdown. Click Assign.
The DID is now visible to that tenant in their DIDs page. They can route it to a call flow, an extension, a queue, or whatever. Until they route it, calls follow their Unassigned DID Behavior setting (covered in tenant settings).
CNAM (caller ID name)
CNAM is the name that displays on the receiving phone when you call out from this number. "ACME PLUMBING" instead of just a number.
Two levels:
- Tenant default — set in the tenant's settings page; applies to all of their DIDs unless overridden
- Per-DID override — set in the DID's edit modal; takes precedence over the tenant default
Click Edit on the DID, fill in the CNAM field (max 15 characters), save. The change is queued for sync to the national CNAM database.
Important: CNAM changes can take 24-48 hours to propagate. Carriers cache CNAM nationally. Don't expect your tenant to see the new name immediately when calling their cell phone.
The CNAM column in the DID Inventory shows sync status:
- Synced — change is live with carriers
- Pending — submitted, waiting for confirmation
- Failed — sync failed (rare; usually a CNAM that violates carrier rules — too long, special characters, profanity)
E911 — the legal requirement
US federal law requires that every phone number capable of dialing 911 has a registered service address that 911 dispatchers can use to route emergency calls. Two laws:
- Kari's Law — all multi-line phone systems must allow direct 911 dialing without prefix codes (we handle this automatically in our dialplan)
- Ray Baum's Act — every number needs a "dispatchable location" — a physical street address, often including building/floor/suite
What this means in practice: every DID needs an E911 address. Set it on the DID edit modal:
- Street address
- City
- State
- ZIP
- Country (defaults to US)
For tenants with multiple physical locations: each location's DIDs need that location's address. The "Apply to all DIDs for this tenant" checkbox in the modal is a shortcut when all DIDs share one address.
The E911 Status column shows:
- Registered — address is on file with the 911 provider
- Not Set — no address; 911 calls will fail
- Pending — submitted, waiting for confirmation (usually < 1 hour)
- Failed — address didn't validate; needs correction
You can lose a DID for not registering E911. The platform won't let your tenant make a 911 call from a non-registered number, and continued non-compliance can get the number suspended. Don't ship DIDs without E911 addresses.
Releasing a DID
Click Release on a DID's row. Confirm in the modal. The DID is unassigned from the tenant, the monthly charge stops, and the number returns to your inventory (you can reassign it).
If the tenant doesn't need it permanently, release. If you want to keep the number for the tenant but they're temporarily not using it, just leave it assigned — the DID monthly charge still applies, but it's there if they come back.
Permanently releasing a DID back to the carrier
If you want to delete a number entirely (stop paying for it forever), open a support ticket. We don't expose a "delete DID" button in the UI because the action is irreversible — once a DID goes back to the carrier pool, you may not be able to get it back even if you immediately want it. Better to handle through support.
Porting numbers in
Numbers → Port Numbers In. This is a multi-step workflow that takes 5-30 days end-to-end.
The short version:
- Create a new port request. Enter the number(s) being ported, the current carrier, and the customer's account info.
- Upload a signed Letter of Authorization (LOA) from the customer.
- We submit to the carrier on your behalf.
- Carrier acknowledges (1-3 business days).
- Carrier provides a Firm Order Commit (FOC) date — the date when the number will actually move.
- On FOC date, the number flips. Calls stop hitting the old carrier and start hitting our network.
Track all of this from the Porting page. We email you on every status change.
For a full walkthrough including LOA templates and common failure modes, see Appendix B — DID Porting Fundamentals.
Bulk operations
The DID Inventory page supports bulk select via the checkboxes. With multiple DIDs selected:
- Bulk assign — assign many DIDs to one tenant at once
- Bulk release — unassign many at once
- Bulk E911 update — apply one address to many DIDs (useful for a tenant adding a new office and getting 20 numbers)
Bulk operations show a confirmation summary before executing.