Number porting woes

One of my customers has asked for advice, after losing his long standing mobile number. His blog is here.

Long story short - O2 took over the number from Vodafone, for no apparent reason. Both refuse to do anything about it, and now he cannot get calls to his mobile. He can't even pay Vodafone his phone bill!

It is a sorry tale, and I really have very little practical advice. He needs to consider short term (get them to fix it) which is complaining, calling, tweeting, blogging, and maybe even trying to get a PAC to move the number somewhere that works. He also has to think long term to document all of the impacts, loss of business, and so on that result from this. Recorded delivery letters and the like. IMHO (Not a lawyer) vodafone will have a contract with him that may limit liability, but O2 do not, and if O2's actions have caused him loss he has a case in tort against them. I wish him luck.

This is all part of a larger issue.

Who "owns" a phone number?

This is complex. It is originally an identifier for a line used by a telco, e.g. BT. And not really something anyone "owns", but over time phone numbers have taken on a life of their own. People with the same number for themselves or their business for decades feel they have a right to it. I worry that one day IP addresses would ever go the same way (OFCOM did suggest it once, I think).

So if the subscriber "owns" the number in any way, what then? Well you need porting of numbers somehow - allowing the subscriber to choose a different telco but using the same number.

Sadly this is a fucking mess. There is no nicer way to say it. It is horrid.

So how would I do it?

Well, there is a separate problem that also needs solving - that number blocks are at least 1,000 numbers, and sometimes 10,000, and allocated to telcos, and some areas are running out of numbers. This is not the issue for mobile blocks (yet) but an issue none the less, and a solution to porting is also a solution to block allocations and number exhaustion.

The solution, to my mind, and I have said this before, is to separate the "ownership" of a number from the telco handling it. This is pretty simple technically, allocate some new blocks (in mobile, geographic, and even a new range such as 04) to be assigned using enum. Make someone like Nominet handle it - but unlike existing enum where the enum DNS record follows the telco assignment, it is the authority. It allows the owner of the number to point the number at the telco of choice, or even directly to their own kit. It uses DNS. It is not that hard technically, and it needs only one telco such as BT to be the route of last resort and do enum routing to make it work (for which they would charge normal interconnect rates).

Of course telcos would "handle all that for you" with the new ranges in that they could handle the Nominet registration and DNS and call routing and make a "phone line" just work. But ultimately Nominet would record the "owner" of the number as you, not the telco.

Once done the number can be contracted to someone like Nominet for the owner of the number, the subscriber, and the telco handling the number can be independent, and can be changed at a whim (migrated) with no problem.

OFCOM, please consider this!


  1. Unfortunately in the scenario I have just outlined with your ENUM solution I think the likelihood is that you are going to need to ensure you never have the situation where a provider resolves lookups locally/internally which will presumably be "quicker" and "cheaper" otherwise you will still have the possibility that your ENUM record validly directs calls to Vodafone but O2 still resolve that lookup internally first and find an on-net match.

    Now you could argue that at the moment that with existing system it could be "fixed" by being making the networks route all calls made by referring them back via the Ofcom range holder and then processing the ported provider tags rather than them resolving them internally - but then that will increase costs no doubt!

    1. ENUM is just DNS - DNS caching is already a well proven concept, having been used on the internet for decades for far higher traffic volumes than the PSTN would generate.

      IMS networks already use DNS internally for routing, it wouldn't be rocket surgery to delegate out to upstream authoritative DNS servers.

  2. Why wait for Ofcom to do anything? If the 04xx range is currently unused, take the initiative. Form a consortium with as many telcos as you can and set up a Nominet-alike (but without the ridiculous joining and range fees), spec it all out and then present it as a fair accompli. I'm sure there are any number of people who would be happy to provide gateway services for those using unenlightened telcos...

    1. It would need to be announced in to SS7 somehow, and I think you can't easily do that without the range being properly allocated by OFCOM. I suspect it would be easier to make a new country code than use 04 numbers, sadly.

    2. BT certainly won't route a new number over their network without an OFCOM number allocation certificate.

    3. RevK: Yes, perhaps, but that's no reason not to try doing it.

      Gareth: Again, yes, but I'm proposing forcing OFCOM's hand. IMHO, it seems to me that everything OFCOM does is to the benefit of big business and the detriment of the little guys. Without a little hand-forcing, I can't see them even considering RevK's entirely sensible suggestion.

    4. Nicholas: OFCOM have considered a central database for all ported numbers and this would be a starting point for RevK's suggestion however there has been no recent progress and I suspect the likes of BT have said it is not possible with their exchanges. You can view the summary at http://stakeholders.ofcom.org.uk/consultations/gc18review/summary

  3. So vodafone originated calls work but O2 ones don't?
    What about other networks such as three?
    If thats the case then it does not sound like a number has actually been ported and complaining to vodafone won't help as there is no issue on their network. It sounds like a number was ported to O2 but the person entered the wrong number when processing it. The O2 HLR database is showing the number as being ported to them but the Vodafone one (who are the range holder I assume) does not have the record indicating the number has been ported to O2.
    There are various companies with links to the operators HLR databases and it might be worth apporaching them and asking if they would take a look to see what the issue is. Would be some good publicity for them.

  4. Mobile networks each have their own HLR database which contains information about the SIM and where it is located and includes details of the new network if it has been ported. The OFCOM range holder information is used by mobile networks to indicate which HLR database to query first if the number is not in their own. This sort of does what you suggested.
    Other numbers are a completely different area though and porting works by the range holder inserting a prefix to the start of the number and then other carriers routing the call to the destination based on that prefix. When you create a new geographic porting prefix with BT you have to tell them the prefix, and then for each exchange lookup which national exchanges they link to and choose the two that you want them to use for your prefix. There are 600+ local exchanges. The engineer then goes and manually configures it on each exchange. So it would be a major change for BT to be able to support anything remotely realtime for number porting directly on the exchange. You deal with BT so you probably have an idea how long that will take :P

    1. If we are talking, initially, for such a system to apply to new blocks (like 04) and new (the last remaining) 1,000 blocks in conservation areas, this is no different to such a block being assigned to some VoIP ISP, and BT cope with that.

    2. If you do that then BT will route the calls to yourselves based upon the number prefix. If someone then ports away from yourselves BT will still send the call to you and you will need to forward it onto the new carrier. So I don't really see how that helps.
      Within SS7 there are ways of signalling back that the number has changed and give a new number including a porting prefix. If you did this and used an enum lookup to determine the new carrier that would work but that method of porting is not currently supported in the UK.

  5. I'm already given a "number" at birth; my National Insurance number (actually letters and numbers but hey). Why can't I be given a telephone number as well or just make the NI number all digits and use that to call me?

    I would then inorm my telco of my number and they could route to that.

    Or am I being naive?

    1. National Insurance number is something identity thieves want. I'm not sure it's a good idea giving it out to everyone so they can phone you.

    2. Identity thieves want it because it's commonly used as a "secret" identifier for someone (e.g. the "View your licence" service at https://www.gov.uk/view-driving-licence ). If it were commonly known, they'd lose interest.


Comments are moderated purely to filter out obvious spam, but it means they may not show immediately.


There are lots of ways to debug stuff, but at the end of the day it is all a bit of a detective story. Looking for clues, testing an hypothe...