VoIP Phone Numbers and DID: How They Work and How SBCs Route Them

A holographic circuit path carrying the phone number 450-655-8993 in glowing digits branching into multiple routes, representing VoIP DID routing and how a session border controller directs inbound phone numbers to their destinations

On a VoIP network, a phone number is not bolted to a copper pair or a single handset. It is a software-defined identifier that a carrier agrees to route to wherever you point it. That one fact explains almost everything that makes VoIP flexible, and it also creates the routing problem that sits at the edge of every serious deployment. A dialed number arrives at your network as a string of digits inside a SIP message, and something has to decide where that call actually goes.

In this article, we’ll walk you through what a VoIP phone number really is, how carriers assign and provision the underlying Direct Inward Dialing (DID) numbers, the difference between hosted numbers and Bring Your Own Carrier (BYOC), and how a Session Border Controller (SBC) turns a dialed DID into a delivered call. If you run a VoIP service, a contact center, or a multi-tenant platform, the routing section is where the practical work lives.

Key Terms and Concepts
A quick-reference glossary for terms used throughout this article.
VoIP phone numberAn ordinary, dialable telephone number whose calls are carried as SIP and RTP over IP networks rather than over a dedicated physical line. In practice it is a DID delivered over an IP voice service.
DID (Direct Inward Dialing)A telephone number a carrier routes to your system without a dedicated physical line per number. Every VoIP number you use is a DID delivered over a SIP trunk or a hosted service.
NANP (North American Numbering Plan)The numbering plan for the United States, Canada, and several other territories, where a number breaks into an area code (NPA) and an exchange (NXX) in the NPA-NXX-XXXX format.
Rate centerThe geographic area an NPA-NXX is associated with. It gives a number its local identity and influences how the wider network classifies and rates calls to it.
Hosted VoIP numberA number owned and provisioned by your provider inside their own platform, which hands you a way to use it. Simplest to adopt, least control over routing.
BYOC (Bring Your Own Carrier)A model where you source DIDs and SIP trunks from carriers of your choosing and route them through your own infrastructure, keeping portability and multi-carrier control.
SBC (Session Border Controller)The element at the border of two SIP networks that controls signaling and media on each side. It reads the dialed DID on an inbound call and routes the call to the correct downstream destination.
B2BUA (Back-to-Back User Agent)An SBC architecture that fully terminates an incoming call leg and originates a fresh leg toward the destination, giving complete control over both sides of the call.
Request-URIThe field in a SIP INVITE that carries the routing target of the call. On an inbound call, the dialed DID rides here and in the To header.
Caller IDThe calling number presented on an outbound call. For a VoIP system this is normally one of the DIDs you own or have been assigned.

What a VoIP Phone Number Is at the Network Level

A VoIP phone number is a Direct Inward Dialing (DID) number that a carrier agrees to route to an IP endpoint instead of a copper pair. The number itself is indistinguishable from any other PSTN number: it sits in a rate center, belongs to an NPA-NXX block, and is reachable from any phone. What changes is the delivery: the carrier sends the call as a SIP INVITE to your SBC or SIP trunk endpoint, and from there, routing is entirely in your control.

How DIDs Reach Your SBC

Carriers allocate DID blocks from the NANP (North American Numbering Plan) or equivalent national plan. Each DID maps to an NPA-NXX that determines the rate center and the regulatory obligations that come with it. Toll-free numbers (8XX) use a separate SMS/800 database for routing. What matters at the SBC layer is how these numbers arrive: as digits in the Request-URI or To header of an inbound SIP INVITE, which the SBC’s routing engine uses to decide where the call goes next. For the E.164 normalization patterns that make this routing work across international dialing plans, see E.164 Phone Number Format.

Hosted VoIP Numbers vs Bring Your Own Carrier (BYOC)

There are two common ways to get a VoIP number working for you, and they sit at opposite ends of the control spectrum.

Hosted VoIP numbers

In the hosted model, your provider owns and provisions the number inside their own platform and hands you a way to use it, typically SIP credentials or an app. This is the simplest path. You do not manage trunks or routing, and the provider absorbs the operational detail. The trade-off is control: your numbers live inside someone else’s system, and moving away later can be awkward.

Bring Your Own Carrier (BYOC)

In the BYOC (Bring Your Own Carrier) model, you source DIDs and SIP trunks from one or more carriers of your choosing and route them through your own infrastructure. You take on more responsibility, and in return you get portability across platforms, the freedom to use multiple carriers for redundancy and better rates, and independence from any single vendor’s ecosystem. When you change your UCaaS or contact center platform, your numbers and carrier relationships come with you.

BYOC is where an SBC becomes essential, because something at your edge has to terminate those carrier trunks, secure them, and decide where each inbound number should land. That edge function is what the rest of this article is about.

How an SBC Routes an Inbound DID Call

Here is the path a typical inbound call takes. The originating caller’s carrier hands the call to your provider, the call crosses a SIP trunk to the edge of your network, and from there it has to reach the right downstream platform, whether that is an IP-PBX, a contact center, a softswitch, or Microsoft Teams.

The dialed DID rides inside the SIP INVITE, in the Request-URI and the To header. When the call hits your edge, the SBC reads that number and matches it against its routing rules to decide where the call goes next. Because an SBC operates as a Back-to-Back User Agent (B2BUA) rather than a lightweight proxy, it fully terminates the incoming call leg and originates a fresh leg toward the chosen destination, which gives it complete control over both sides of the call. Different DIDs can map to entirely different destinations, so one number range can route to a contact center while another lands on a specific tenant’s PBX. ProSBC drives this with a rule-based routing engine that supports complex multi-route, priority-based, and configurable routing, and it scales to as many as 1,024 Network Access Points so a single platform can front many carriers and many downstream systems at once.

Inbound DID routing diagram showing an originating carrier sending a SIP INVITE over a SIP trunk to an SBC, which reads the dialed DID and routes each number range to a different downstream platform such as an IP-PBX, contact center, or Microsoft Teams

An inbound call carries its dialed DID in the SIP INVITE; the SBC matches the number against its routing rules and delivers the call to the right downstream platform. Click to enlarge.

At this same edge the SBC also hides your internal topology, normalizes SIP differences between carriers and platforms, and enforces security at the perimeter. Those functions are the subject of their own guides, so we will not repeat them here, but they are happening on every call alongside the routing decision. For multi-tenant operators, the routing-by-DID model is what lets one deployment keep each customer’s number ranges cleanly separated.

Outbound Caller ID and STIR/SHAKEN

On outbound calls, the DID appears as the calling number in the From and P-Asserted-Identity headers. The SBC controls which number is presented on each leg and can enforce caller-ID policy per trunk group. STIR/SHAKEN attestation applies to every outbound call: the SBC signs the call through an external signing service, and the attestation level (A, B, or C) depends on whether you can verify the caller’s authorization to use that number. For the attestation mechanics, see A-Level Attestation. The “VoIP Caller” label that consumers sometimes see on incoming calls is an analytics-engine decision downstream, not something the originating SBC controls directly.

Ported numbers follow the same DID routing pattern. The carrier that won the port delivers the call to your SBC exactly like any other DID; the SBC routes it based on the digits in the INVITE, not the number’s original carrier. For the porting process and its impact on routing, see Number Porting for ISPs and Carriers.

Conclusion

A VoIP phone number is a DID: a software-defined identifier that a carrier routes by policy, which is what lets you choose between hosted simplicity and BYOC control, present a local number anywhere, and send different numbers to different platforms. The flexibility is the whole point, and the SBC is the element that turns a dialed DID into a delivered call by reading the number, applying your routing rules, and handing the call to the right destination.

Frequently Asked Questions

What is the difference between a VoIP number and a regular phone number?

To the person dialing it, nothing. Both are standard, dialable telephone numbers. The difference is behind the number: a VoIP number routes calls as SIP and RTP over IP networks and can be pointed at any destination its owner chooses, while a traditional number is tied to a physical line and a fixed switch.

What does it mean when a call shows up as a “VoIP caller”?

It means the calling number is associated with a VoIP service rather than a traditional landline or a fixed wireless line. It is a classification of the line type, not a judgment about the call. Plenty of legitimate businesses present VoIP numbers as caller ID.

What is a DID number?

A DID (Direct Inward Dialing) number is a telephone number a carrier routes to your system without requiring a dedicated physical line for each number. In VoIP, every “phone number” you use is a DID delivered over a SIP trunk or hosted service.

Can I keep my existing phone number when moving to VoIP?

Usually yes, through number porting. The number becomes a DID on your new provider’s network, and inbound routing is updated so calls reach you there. Porting is its own process with its own timelines, handled through the industry portability databases.

Does a VoIP number have to match my physical location?

No. The geographic association of an area code is a database and routing fact, not a physical one, so a VoIP DID can present a local presence in a city where you have no office. This is one of the practical advantages of decoupling the number from a physical line.

Route Every DID to the Right Place with ProSBC

ProSBC is a carrier-grade, software-based Session Border Controller with a flexible, rule-based routing engine that supports complex multi-route, priority-based, and configurable routing. It scales to 1,024 Network Access Points and up to 350,000 endpoint registrations per server, which makes it well suited to BYOC and multi-tenant DID routing where one platform fronts many carriers and many downstream systems.

As a full Back-to-Back User Agent, ProSBC terminates and re-originates SIP on both legs, so it controls the routing, topology hiding, and normalization that turn a dialed DID into a delivered call. It deploys on VMware, KVM, AWS, Azure, and baremetal, wherever your network edge sits.

Prefer to evaluate on your own first? Start your 30-day free trial.