How Number Portability Works in Mobile Telecommunication Networks

Buddhima Udaranga
4 min readSep 6, 2020

Recently I have heard about Sri Lanka is going to implement Mobile Number Porting[1]. I was so curious. I had many questions in my mind. I have contacted a few people but didn’t get a proper answer so I thought of searching it myself. After some reading, this is my explanation of how it should work.

First, we need to Understand how calls work normally. Here there are a few terms we need to understand.

  • BTS — Base Transceiver Station BTS also called Base Station. This is the point that our mobile phones communicate directly. Normally there is a coverage area for a base station. These base stations are connected to MSC.
  • MSC — Mobile Switching Centre In simple terms, A mobile switching center (MSC) is the centerpiece of a mobile telecommunication network. In most cases, an operator has one of these to control all of its base stations. But in really large operator networks there can be more than one MSC per operator.
  • HLR — Home Location Register is a database from a mobile network in which information from all mobile subscribers is stored.
  • VLR — The Visitor Location Register (VLR) is a database in a mobile communications network associated with a Mobile Switching Centre (MSC). The VLR contains the exact location of all mobile subscribers currently present in the service area of the MSC. This information is necessary to route a call to the right base station.

Since the HLR and VLR both have location details you might wonder why there are two of them. The VLR has the most recent information, unlike HLR. Normally when we buy a sim and activate a record is added at HLR with our location information. But this record gets updates are really rare.

For example, let’s assume I bought a sim from Tangalle Sri Lanka and activate it there. Then my HLR record will say my location is in Tangalle. The same will be on the VLR. But if I moved to Colombo later that day the HLR won’t get updated but the VLR will get updated with my current location as Colombo.

Basic Architecture Diagram

(Please note that this is a really simplified version used to explain the concept I have ignored here the use case of signaling components)

  • MSISDN — (Mobile Station International Subscriber Directory Number) This is the number that we are using when calling someone. In Sri Lanka, it’s something like 07x-xxxxxxx .
  • IMSI — ( International Mobile Subscriber Identity) This number also uniquely identifies the user internationally but as users, we don’t have any knowledge on this number. This is a 15 digit number. This is information that is stored in the SIM. Also, the location in the VLR is stored against the IMSI number.

Let’s assume Mobile A wants to call Mobile B. Mobile A dials the MSISDN Number (0737654321) of Mobile B. It will go to the BTS A. BTS A routes this to MSC. MSC checks in the VLR using the IMSI and finds that the location of this Mobile is now in BTS B. Call routed to BTS B. then to Mobile B. If this Mobile B was from a different Operator then the call will be routed to MSC of the operator 2.

Now let’s move to number porting. Let’s assume I need to change my service provider but I don’t want to change my number. Then I make a request to my current service provider. If they accept my request they do not change my MSISDN number but will issue a new IMSI number.

Here apart from databases VLR, HLR the service providers need to maintain a new database named NPDB — Number Portability Database. NPDB should contain records for all ported numbers in the portability domain.

Let’s assume Mobile A has a requirement to move to operator 2 but needs to maintain the MSISDN number as the same. So Mobile A request from operator 1 to port the number. Operator 1 will clear its records from VLR and HLR and issue a new IMSI number. This number will be recorded in the NPDB. Also the Mobile Operator 1 will inform this to Mobile Operator 2. So they will add Mobile A new IMSI details to VLR and HLR.

After the porting process completes the Mobile B again calls the same number to contact Mobile A. This time also the call goes to the MSC. But when checking in the VLR and HLR it will give an error then it will look in the NPDB. NPDB will give the new information about this number in the operator 2. So that the MSC Operator 1 will route the call to MSC Operator 2.

Now I must say this now seems so simple but this is a very abstract explanation of what will happen. Also, I made some assumptions on how this should work to create this flow. So it might be not 100% correct So if there is anything wrong please let me know in the comment section I would love to know.

Also during the porting process, the original service provider has more work to do. Also, they lose their customers so it will be interesting to know how this will affect our telecommunication industry.

Buddhima Udaranga

BSc (Hons) Electronic and Telecommunication Engineering

University of Moratuwa

References

[1].newsfirst.lk/2020/08/24/trcsl-initiates-preliminary-steps-on-number-portability/

[2].https://www.researchgate.net/publication/3282934_Mobile_Number_Portability

--

--