I think the only long term answer, which also addresses the "porting" nightmare, is to have a central per-number database. This means when any call is made by any telco they have to check the database to find where they send that call. The destination could still be an old fashion SS7 "point code" or whatever. The mechanism can be DNS, and have multiple servers and caches and even private intranet as used by mobile operators for things like GTP. DNS is such a well proven system that works for the Internet and works for a lot more DNS lookups per second than telephone calls per second.
A central database has several advantages:-
- Allocation on per number basis removes any wastage
- Porting is simply a database update and does not involve original telco in call routing
- The database can have a few critical extras such as emergency services contact data and TPS/FPS flag
- Numbers can be charged for per number not per block, which manages number hogging, but scales costs to customers so small telcos are not disadvantaged.
So, here is the idea of how you get there from here:-
- Define a simple number allocation API and DNS style lookup - try avoiding having a huge committee for this - it can be standard enum DNS, and simple SOAP/XML API.
- Get a company to run the database as a pilot - there are a lot of companies that could do this. It is not rocket science.
- Allocate a block, as a pilot - perhaps in a conservation area, but maybe in 03 or some such.
- Data fill the block conventionally with a point code of a company that can handle the DNS lookups and forward correctly to the real endpoint (maybe same company running database)
- Define an extra high interconnect cost for routing the block via that legacy gateway
- Make it that legally the numbers are per number designated to the telco even though one telco is handling the legacy routing for the block
- Make it that legally the database is run on behalf of OFCOM and owned by OFCOM, just subcontracted
- Don't make it expensive for telcos, even small telcos, to access API and DNS - ideally that should be free. Just charge per number allocated.
Run pilot in stages:-
- One block for testing everything
- All conservation areas for all remaining blocks in those areas
- All areas for all new blocks
- Changing some existing blocks over to the new system
- Changing mobile operators to same system, so same porting rules