Local Number Portability
Cboulanger (Talk | contribs) (→Outgoing call mapping) |
m (fix column width) |
||
(5 intermediate revisions by 3 users not shown) | |||
Line 10: | Line 10: | ||
When the first subscriber within an NPA-NXX group changes service providers, the entire NPA-NXX is considered “ported” (all 10k numbers) which means that this particular NPA-NXX combination has become a portable number and no longer represents a specific exchange. Every call to that NPA-NXX will trigger a query to a database to determine the LRN of the number of the switch responsible for the NPA-NXX-XXXX being called. | When the first subscriber within an NPA-NXX group changes service providers, the entire NPA-NXX is considered “ported” (all 10k numbers) which means that this particular NPA-NXX combination has become a portable number and no longer represents a specific exchange. Every call to that NPA-NXX will trigger a query to a database to determine the LRN of the number of the switch responsible for the NPA-NXX-XXXX being called. | ||
− | === | + | === LNP and TelcoBridges === |
− | + | TelcoBridges products support the LNP use cases described by the following table. | |
− | == | + | {| cellpadding="5" border="1" class="wikitable" |
− | + | ! width="150" | Scenario | |
− | + | ! Description | |
− | + | ! TelcoBridges support | |
− | = | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
− | + | | All Call Query | |
+ | | Before every call, obtain the routing number corresponding to the called number from a centralized database. | ||
+ | | The routing scripts can be configured to query the database through RADIUS, or using a SS7/SIP call. | ||
|- | |- | ||
− | | | + | | Query on Release |
+ | | Route calls normally. If a remote operator returns a redirection response without any destination specified, obtain the routing number corresponding to the called number from a centralized database. | ||
+ | | The routing scripts can be configured to query the database through RADIUS, or using a SS7/SIP call. | ||
|- | |- | ||
− | | | + | | Call Dropback |
+ | | Route calls normally. A remote operator may provide a routing number to use to route the call somewhere else. | ||
+ | | TelcoBridges products can process, relay or drop redirections. | ||
|- | |- | ||
− | | | + | | Onward Routing |
+ | | Route calls normally. A remote operator may choose to re-route the call by itself or provide a routing number. | ||
+ | | TelcoBridges products can process, relay or drop redirections. They also handle call transfers. | ||
|} | |} | ||
− | ==== | + | ==== Relaying ==== |
+ | Most carriers and operators exposing ISUP interfaces to CLECs detects if an incoming call is in the 'translated' mode or not by looking at the content of the ISUP message. If the ISUP call does not contain any LRN number, then the carrier/operator switch does a query to the SS7 database to figure out the LRN and adjust the call information accordingly. The TelcoBridges' [[Toolpack]] framework is able to terminate or relay a call from SIP to SS7 providing the LRN information is contained in the SIP body. What is relayed and how it is relayed depends on the profile configuration options. | ||
− | + | ==== Processing ==== | |
− | + | TelcoBridges' [[Toolpack]] framework allows to route calls based on both the called number or the LRN based on the profile configuration options. | |
− | + | ||
− | [[ | + | [[Toolpack]] can query an external LNP database using [[RADIUS]] authorizations or SS7 or SIP [[Redirect|redirections]]. This operation is also commonly referred as LNP/LRN "dipping". |
− | + | ||
− | + | === Configuration === | |
− | + | ||
− | + | Toolpack processes sequentially the incoming call by parsing the content of the signalling protocol and mapping it to "protocol-agnostic" internal variables that are accessible by the routing scripts. Through all the [[Routing_script_tutorial:Mini_Development_Guide#Script_parameters_protocol_mapping|routing script variables]] accessible to scripts are some related to LNP such as 'ported_number'. The mapping of the information found in the incoming call depends on the option selected in the "incoming" parameters of the LNP section in the profile associated with the incoming NAP. Then its mapping to the outgoing call depends on configuration parameters of the profile for the outgoing NAP. | |
− | + | ||
− | + | [[Toolpack:Modify_NAP_profile_A|Configuring LNP in v2.6]] | |
− | + | ||
− | | | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |
Latest revision as of 13:02, 28 April 2015
Contents |
Local Number Portability (LNP)
History and overview
Since the beginning of modern telephony, the phone number has been composed of series of digits representing the address of the final destination (i.e. the callee). This is actually what the end-user believed actually. But in reality, the signification of these digits has changed over the decades sometimes partially representing the actual route from one switch to the other or the rural region where the callee actually lives.
Traditionally, every switches was assigned an NPA-NXX (where NPA means "Numbering Plan Area"), meaning that a phone number with the format NPA-NXX-XXXX was actually refering to a specific geographical switch. As the number of end-user was growing in geographical regions, the set of available numbers in a specific NPA-NXX-XXXX was reducing forcing the telecommunication authorities to allocate more regional codes. At some point, the switches themselves were provisioned at their maximum capacity which forces the operators to include other switches not necessarily to the same geographical locations thus making the NPA-NXX less and less relevant to geography. However, the real changes came when the normative authorities decided that a end-user has the right to keep his assigned phone number regardless of which carrier he's chose as long as it kept to the same local geographical region. This change had to be supported by the ISUP switching/terminating equipment to decouple the actual phone number from the carrier/switching equipment and link it to the end-user. However, for routing purposes, these equipments still needed a way to deduce the routing to reach that end-customer number. This mechanism is referred to as "Local Number Portability" (LNP).
With LNP now active, a new number called the LRN (Location routing number) is introduced in the routing mechanism. It is formatted as NPA-NXX-XXXX and points logically to a particular switching equipment: it is the switch permanent address. The DNIS (end-user called number) is now a “virtual number” that only the last end-switch knows how to route to the subscriber. It is the role of the originating switch and intermediate switches to translate the DNIS into an LRN (consulting a regional databases using SS7 or SIP) and route the call to the final switch responsible for that subscriber. Then, and only then, the last switch uses the original DNIS to route it to the end-user.
When the first subscriber within an NPA-NXX group changes service providers, the entire NPA-NXX is considered “ported” (all 10k numbers) which means that this particular NPA-NXX combination has become a portable number and no longer represents a specific exchange. Every call to that NPA-NXX will trigger a query to a database to determine the LRN of the number of the switch responsible for the NPA-NXX-XXXX being called.
LNP and TelcoBridges
TelcoBridges products support the LNP use cases described by the following table.
Scenario | Description | TelcoBridges support |
---|---|---|
All Call Query | Before every call, obtain the routing number corresponding to the called number from a centralized database. | The routing scripts can be configured to query the database through RADIUS, or using a SS7/SIP call. |
Query on Release | Route calls normally. If a remote operator returns a redirection response without any destination specified, obtain the routing number corresponding to the called number from a centralized database. | The routing scripts can be configured to query the database through RADIUS, or using a SS7/SIP call. |
Call Dropback | Route calls normally. A remote operator may provide a routing number to use to route the call somewhere else. | TelcoBridges products can process, relay or drop redirections. |
Onward Routing | Route calls normally. A remote operator may choose to re-route the call by itself or provide a routing number. | TelcoBridges products can process, relay or drop redirections. They also handle call transfers. |
Relaying
Most carriers and operators exposing ISUP interfaces to CLECs detects if an incoming call is in the 'translated' mode or not by looking at the content of the ISUP message. If the ISUP call does not contain any LRN number, then the carrier/operator switch does a query to the SS7 database to figure out the LRN and adjust the call information accordingly. The TelcoBridges' Toolpack framework is able to terminate or relay a call from SIP to SS7 providing the LRN information is contained in the SIP body. What is relayed and how it is relayed depends on the profile configuration options.
Processing
TelcoBridges' Toolpack framework allows to route calls based on both the called number or the LRN based on the profile configuration options.
Toolpack can query an external LNP database using RADIUS authorizations or SS7 or SIP redirections. This operation is also commonly referred as LNP/LRN "dipping".
Configuration
Toolpack processes sequentially the incoming call by parsing the content of the signalling protocol and mapping it to "protocol-agnostic" internal variables that are accessible by the routing scripts. Through all the routing script variables accessible to scripts are some related to LNP such as 'ported_number'. The mapping of the information found in the incoming call depends on the option selected in the "incoming" parameters of the LNP section in the profile associated with the incoming NAP. Then its mapping to the outgoing call depends on configuration parameters of the profile for the outgoing NAP.