Mobius Routing Management: Number Prefixes, MNP & Routing Rules
Routing Management determines which network a destination number belongs to. It does not carry traffic itself. Instead, it resolves the destination for a call, message, or signal based on the recipient's number.
MSISDN and Prefix-Based Routing
The number used for routing resolution is the MSISDN, the full phone number in international format. For example:
+380671234567
A prefix is the leading part of a number that identifies a country and typically an operator. For example, +38067 identifies a range of numbers associated with a specific Ukrainian network.
Prefix-based routing allows a single rule to cover all numbers that start with the same prefix, rather than requiring a separate rule for every number.
Mobile Number Portability (MNP)
Prefix-based routing assumes that a subscriber's operator can be identified by the number's prefix. However, subscribers can change operators while keeping their existing phone numbers. This is known as Mobile Number Portability (MNP).
Because a ported number retains its original prefix, prefix-based routing alone may send it to the wrong network.
Routing Management handles this by allowing an exact-match entry for an individual ported number. This entry takes priority over the broader prefix rule, allowing the number to be routed correctly without changing the rule for other numbers in the range.
Routing Resolution
Routing Management determines the destination network by matching the recipient's number against stored entries. These entries can be prefixes or exact numbers.
The lookup follows the longest-match principle: when multiple entries match a number, the entry matching the greatest number of digits takes priority.
For example, if both +380 and +38067 are stored, a number starting with +38067 matches the more specific +38067 entry.
An exact-number entry is the most specific possible match. This is why an entry for a ported number overrides a broader prefix rule. MNP uses the same lookup mechanism and does not require a separate routing process.
Source-Based Routing
Routing Management resolves destinations based on the recipient's number. Its three data types — virtual network, range, and ported number — do not record the source of a request.
To make routing decisions depend on the source, the source information must be added to the destination number before the lookup.
The general process has three steps:
-
Add a marker. Attach a prefix identifying the originating network to the destination number.
-
Resolve the marked number. Routing Management processes it like any other number. A range matching the marker directs it to the required network. Because the longest match takes priority, the marker can be combined with a destination prefix to target a specific group of destinations.
-
Remove the marker. Restore the original destination number before delivering the message to the partner.
A marker alone enables routing based on the source. A marker combined with a destination prefix enables routing based on both the source and destination.
Routing Management itself remains destination-based. Source awareness is provided by the components that add and remove the marker around the lookup. For example, SMS rules at the incoming and outgoing stages can perform these operations.
Network Settings
Source and destination are also defined within individual protocol modules.
In Network Settings, a network has two destination settings:
-
Incoming destination — defines the links through which traffic arrives.
-
Message destination — defines the links through which traffic leaves.
Routing Management determines which network a number belongs to across the platform. Module settings determine which connections carry traffic to and from that network.
Range Routing and DID Allocation
A range routes all numbers under a prefix to a single network. Two techniques allow a subset of those numbers to be routed differently.
Extended Prefixes
The longest-match principle allows a more specific prefix to override a broader range rule. The extended prefix routes a smaller block of numbers to another network while leaving the broader rule unchanged.
DID Allocation
DID stands for Direct Inward Dialing. It allows individual numbers or smaller blocks within a larger range to be assigned to different customers.
Unlike a prefix rule, which treats the range as a single unit, DID allocation distributes numbers from the same range across multiple destinations.
Virtual Networks
Virtual networks group numbers into separate logical categories, such as operators, regions, or services. Routing rules defined for one virtual network remain separate from rules defined for another.
Each virtual network stores its prefix in both national and international formats. For example:
-
National format:
067 -
International format:
+38067
Storing both formats allows a number to match the correct virtual network regardless of which format is received, without requiring a separate number-normalization step.
Start innovating with Mobius
What's next? Let's talk!