Social Icons

Pages

How LNP and LRN works in VoIP?


Number portability has been an issue for telephone companies since it was mandated by the FCC in 1996. Now number portability is becoming a serious issue for enterprises and VoIP service providers as the percentage of calls to ported numbers is approaching parity with calls to un-ported number. Our customers tell us that approximately 40% of their VoIP calls are to ported numbers.

Before LNP was established, the NPA-NXX of a telephone number identified the switch serving the number, the state and rate center where the number was originally assigned as well as the service provider. Because LNP allows a number to be moved from one switch to another, the NPA-NXX of a telephone number is no longer a reliable indicator of the serving switch and service provider's identity.
Local Number Portability (LNP) is made technically feasible by the Location Routing Number (LRN), a Number assigned to each switch.
The Location Routing Number (LRN) is a ten-digit number designed to look like a telephone number. An LRN is assigned to each ported telephone number and is used to route calls through the PSTN to the switch serving the ported number. The LRN is intended only as the network address of the serving switch, however, and is not intended to convey any rate area information such as would be used determine whether a call is local or long distance.

Why LRN can save me money?

Routing the call to the dialed number directs the call toward the carrier that owns the number, not the carrier that serves the subscriber. The call will be completed, but the enterprise or service provider originating the call will get a surprise when the termination cost is greater than expected. The reason is because most long distance providers charge for wholesale termination based on the final carrier, not the dialed telephone number. In almost every case, call termination charges based on the dialed number are different from termination charges based on the carrier serving the ported number
If you want to manage your costs, you have to route based on the LRN.

What is difference between LERG and LRN?

LERG(Local Exchange Routing Guide) consist number blocks area assigned to OCNs.
The LRN, or Location Routing Number, looks like a telephone number, but is a special routing number that links a dialed telephone number that has been ported to its new carrier.
When a customer ports its phone number to new provider, the number is still assigned o the original OCN
..or with other words LERG have NPANXX mappings while LRN has NPANXXXXX mappings.

Call Flow to a Ported Telephone Number

When a call is made to the ported telephone number, the initiating service provider switch launches a query to its LNP call routing database to determine whether the telephone number has been ported. If it has, the database response provides the switch with the LRN needed to properly route the call. If the number is not ported, the database response indicates that the call should be routed based on the telephone number.Or in practice, you send a DID and provider return a LRN (which looks like a DID). That DID then can be looked up in the LERG(Local Exchange Routing Guide) to determine the actual carrier and from an LCR perspective, it's send the DID to the LRN's route instead of the DID's route. Unless, of course, the LRN is your own LRN, then you route on the DID.

How LNP dipping is performed?

There is three common solutions:
1. XML query to LNP provider.
2. SIP request to LNP provider (using SIP redirect message 302 consisting rn and npdi headers).
3. Hosting of the LNP Database locally (sync your DB on certain intervals with third party LNP DB).
Obviously first two solutions will introduce extra delay in your system since extra request need to be made to third party provider for each call. This is usually the part of one routing engine which introduce the huge portion of your system PDD (post dial delay).
Third solution is the fastest, especially if performed with NoSQL DB. But here you may end up with old and not accurate info.
If you do a lot of calls you should consider the third solution, beside speed this would save you money as well (each LNP query to provider costs you).
Do not worry about not having 100% accurate info, providers also cache data, and how frequently one number is ported per year (if ever ported at all)?

SIP & LNP

Once you have the necessary portability info you can insert it at the INVITE message.
RFC 4694 - Number Portability Parameters for the "tel" URI - provides a way to add some of this information to the SIP call URI. The most common added fields are probably npdi and rn. npdi indicates that a query to the NPDB (Number Portability Data Base) has been done and that the call should be routed using the phone number in the rn field (if present) instead of the original called number. Here is an example: INVITE sip:8085551212;rn=8087321000;npdi=yes@192.168.100.100:5060 SIP/2.0 Breaking it down:

8085551212 is the original called number
rn=8087321000 is the number that should be used for routing the call - also known as the LRN — in this example, this is not the number that the call should be delivered to, it is only to be used for determining how to route the call.
npdi=yes indicates a lookup in the number portability data base has been done

If the number porting database has been checked, and the number is not ported then the URI would have have npdi=yes and the rn field would be omitted:
INVITE sip:8085551212;npdi=yes@192.168.100.100:5060 SIP/2.0

From where to get LNP data?

The FCC mandated the creation of the Number Portability Administration Center, or NPAC, to manage the database of ported numbers in the U.S. In simple terms, the NPAC is a list of 300 million ported telephone numbers and their corresponding LRN. For every call, telephone carriers query the NPAC with the dialed telephone and receive the corresponding LRN needed for call routing. Companies such as NeuStar offer the complete NPAC available for download

3 коментара: