M4 Local Number Portability

From Kolmisoft Wiki
Jump to navigationJump to search

M4 Local Number Portability allows to connect to Local Number Portability (LNP) database and retrieve information about destination number local portability status (routing number).

LNP DB should be MySQL compatible, required DB fields are described in M4 settings page.


Jurisdictional routing is telephone call routing logic based upon the locations of the calling and called number and regulatory considerations. Jurisdictional routing can be divided into three main parts:

  • Intrastate routing (Intra) - calls within the same state.
  • Interstate routing (Inter) - calls from one state to the other.
  • Indeterminate routing (Indeter) - calls where origination information cannot be determined (for example, calling number is not a valid number).

Jurisdictional routing is activated (activated means it can be enabled/disabled) once LNP Database is configured in M4 settings page.

Once LNP DB is configured, Jurisdictional routing can be enabled in the Origination Point settings.

Jurisdictional routing m4.png

Here you can select the appropriate Tariff and Routing Group for Intra/Inter/Indeter routes.


OP CallerID is matched against the Routing Number:

  1. If the first digit does not match then INDETER
  2. If the first digit matches and the 3 digits after it match, it means INTRA
  3. If the first digit matches and the 3 digits after it does not match, means INTER

Work Flow

As you can see in the Configuration

The database should have 2 rows: key and value. In the example, these fields are named 'callnumber' and 'routingnumber'. You can name them as you like.


User dials number 123456789, this is 'callnumber'. The system looks by this number in the DB and let's say finds 'routingnumber': 123999999999. That means the system will match OP CallerID to this 'routingnumber', determines if the call is inter/intra/indeter, and will use the appropriate tariff to bill the call.

More information about Jurisdictional routing can be found in this whitepaper.

Setup Step by step

To set up the system to support LNP, take these steps:

  1. Create a Database with a table that has 2 columns: CallerID and Routing Number (column names can be anything you like)
  2. Setup LNP DB connection in the Configuration
  3. Create 3 Tariffs: Inter, Intra, Indeter for TP and 3 for OP (or charge OP one rate, so have 1 Tariff for OP)
  4. Assign them to your TP (and OP)
  5. Upload CallNumber(Destination Number) - RoutingNumber data to the DB
  6. Test

Where to get LNP data (CallNumber-RoutingNumber) ?

Order it from LNP DB Providers. They will send one big data file, that should be imported to your DB. Later usually each day they will send delta files - small files with daily changes. These files also should be imported to the DB to keep it up-to-date.

Example: https://summitsystemsus.com/lrn-dipping-platform/