[VoiceOps] Does anyone implement RFC 3219?

Paul Timmins paul at timmins.net
Fri Aug 21 00:42:59 EDT 2009

John Todd wrote:
> 1) TRIP is great, but ultimately doesn't work on a global basis.  It 
> may work in tightly-coupled environments, such as a large 
> multi-national firm, or even a keiretsu-style conglomerate of 
> companies, but in "the wild" it would be unworkable.  Why?
>    a) Phone numbers are not in large spans of sequential space, and 
> are growing more fractured by the day.  Just the amount of route 
> injections to cover transferred mobile numbers would (I suspect) be in 
> the hundreds of thousands of records per day if even 50% of the 
> world's phone numbers were in the tables.  (Look at some of the update 
> and churn numbers in China and India to make your head spin.)
>   b) The trust model of who "owns" a number is unworkable in an 
> endpoint-trusted environment with a non-hierarchical routing 
> structure.  Who, really, is supposed to get the call for a particular 
> E.164 address?  Well, that sounds like the role of a central authority 
> to me.  So why have TRIP if you have a central repository?  (Feel free 
> to exchange the words "central authority" for "several dozen or even 
> several hundred nationally-designated legally compliant bodies of 
> authority with geographic reign")
>   c) The potential for abuse or misconfiguration is serious, and 
> filtering to prevent that type of problem (as Alex Balashov notes) is 
> formidable.  That would be an understatement.  It is nearly 
> impossible.  The fluctuations of the route tables would be 
> significant, and even one incident where an "important" number is 
> mis-routed to the wrong person would have possibly two orders of 
> magnitude more of a press/public opinion result than those events that 
> occur with some frequency in the BGP tables.
And as a corollary to this, one only has to look at NANOG and 
ARIN-Discuss to see that there is a lot of focus on routing table size 
and prefix length and bloat, especially as it appears to continue 
growing. And those are just publically routed networks, such as the two 
/22s my employer has (each customer's /29, etc don't appear in BGP). 
Routers are already handling something like 300,000 routes right now, 
and rising.

My back of the napkin calculations say that if you wanted to handle 
routes for every possible thousands block out of every NPA/NXX allocated 
by NANPA and the CNAC at this time, you'd have 1,627,520 routes in your 
switch, all of which could be changing at any minute with a dynamic 
protocol. If each route and its destination took 15 bytes to store, the 
routing table size would be 24,412,800 bytes (about 24MB) per copy of 
the table you store. I would assume you would get a copy from each of 
your vendors, and do some math to determine which one is the cheapest at 
any given time. Mind you, this is constantly changing (BGP changes 
enough where you can't even keep the protocol in sync over a 64k ISDN 
line anymore because of the sheer amount of changes being made to the 
table at any given time). This sounds easy from the "but my computer has 
lots of RAM" standpoint, but if your computer is your switch, it should 
probably focus on doing realtime things like routing audio rather than 
constantly updating a thrashing routing database. If your computer isn't 
your switch, realize that this gets that much more unrealistic, as many 
switches are embedded systems that often have at the most 64M-128M of RAM.

And all of this is so each switch can know the endpoint state of every 
other switch in the world (or maybe just the US?) and maybe its 
location? This doesn't scale well.

Many of the "We can't keep going on like this forever" solutions being 
proposed in IP land for the issue of route table explosion are similar 
to enum or the existing US LNP databases, which scale amazingly well 
compared to the solutions used by ISPs.

Note that in a real world deployment, each switch would have to have 
every ported number in its BGP-like database.  I note the emails that I 
get sometimes that warn that someone will be porting more than 15,000 
numbers in an hour from the NPAC, and am very, very glad I don't see 
things like that on my switch, and have the luxury of just dipping those 
databases when I need to know who owns a number and where to route it.

I'm not necessarily in full favor of the status quo here, but I'm 
thinking this isn't a good solution to the problem.


More information about the VoiceOps mailing list