[Asterisk-Users] Let's TALK ABOUT IT!!!
John Todd
jtodd at loligo.com
Mon Oct 6 23:40:26 MST 2003
> > It is that type of mechanism that enum uses and yes it was to solve a
>> similar goal, but in this case you need a 'route server' type system - in
>> particular as this is for IP routing of PSTN end points not on an IP
>> network.
>
>A discussion about this came up a while ago. I suggested something along
>the lines of BGP, where each endpoint announces "prefixes" of what they
>can get to. You'll need a central machine that everyone peers up with and
>then you can use a switch => statement or exten => _.,1,Dial in * to query
>that machine and get the best route for your call. If you make sure that
>your destination machines are not behind NAT or a firewall, you can do an
>IAX handoff to get the connection set peer to peer instead of through the
>central server.
>
>Example:
>
>4 remote * machines, each configured with our "BGP" software.
>
>Machine 1 announces that it can terminate calls to country code 1 with a
>cost of .02.
>Machine 2 announces that it can terminate calls to 1 with a cost of .05.
>Machine 3 announces that it can terminate calls to 1-830 with a cost of 0.
>Machine 4 announces that it can terminate calls to 1-830-751 with a cost
>of 0.
>
>
>You place a call to 1-830-751-2000 and the system determines that it can
>place that call for a cost of 0 to machine 4.
>You place a call to 1-240-988-4000 and the system determines that it can
>place that call via either machine 1 or 2, but lowest cost is machine 1.
[general summary to all branches of this thread]
Yes, that describes TRIP (RFC3219 -
http://www.zvon.org/tmRFC/RFC3219/Output/index.html) fairly
accurately. While not having quite a "central" machine with which
everyone peers, it may be that each ITAD (Internet Telephony
Administrative Domain, like an ASN) would have one main router to
which all their local Asterisk servers would be leafs, and then that
core router would peer with other core routers at other ITADs or
maybe some large IRR-like servers which were clearinghouse-only style
route distributors.
I offered money here on this list previously to anyone who thinks
that they're qualified to develop and integrate a TRIP implementation
into Asterisk. Warning: it's not a trivial issue, and I will only
consider programmers with a full understanding of the magnitude of
the task. This could threaten to be a surprisingly large mesh with
possibly hundreds of thousands or millions of routes of an extremely
dynamic nature, and such an implementation is not for the beginner.
I'm still taking applications.
In other notes: I saw in other parts of this thread the discussion
about how to do number routing via DNS. This is a good idea, so
good, in fact, that it already exists in Asterisk and is a set of
RFCs. It's called ENUM, and it routes phone numbers via the DNS.
See "enum.conf" and "show application EnumLookup" - the good folks at
nic.at were kind enough to pay for and work on these improvements to
Asterisk.
ENUM is great, but it's going slowly as far as the hyper adoption
rates of Internet time are any comparison. The main issues seem to
be political, since the triple whammy of "ownership",
"authorization", and "administration" seem to be in the way. If you
are in a country that hates VoIP, don't expect to see above-board
ENUM any time in the near future. :-(
BUT: The nice thing about ENUM, especially in Asterisk (and hopefully
soon in SER) is that one can specify "cascading" trees in which to
look up data that are not necessarily e164.arpa. as the root. I will
leave it to the reader to figure out why this is a good thing and a
bad thing at the same time.
ENUM and TRIP provide DIFFERENT functions: ENUM gives out exact
answers, and TRIP provides gateway answers. First, you look up the
number in ENUM. Is there an answer? If so, send call to that
SIP/H323/IAX gateway. If no answer, then look up the number in TRIP
and find someone who has a cheap/good/fast/whatever gateway to that
particular number range, and send the call to that SIP/H323/IAX/etc.
gateway.
In fact, I had a really nasty thought the other day: make a DNS
resolver hack that allows ENUM lookups to incorporate TRIP replies.
Yuck, yuck, yuck... but it would allow TRIP integration into any
system that supports ENUM with no additional work on the telephony
client side.
JT
More information about the asterisk-users
mailing list