System information
An ENUM lookup in the dialplan might look like this:
exten => _X.,1,Set(CurrentExten=${FILTER(0-9,${EXTEN})})
same => n,Set(LookupResult=${ENUMLOOKUP(${CurrentExten},sip,,,e164.arpa)})
same => n,GotoIf($[${EXISTS(${LookupResult})}]?HaveLocation,1)
same => n,Set(LookupResult=${ENUMLOOKUP(${CurrentExten},sip,,,e164.org)})
same => n,GotoIf($[${ISNULL(${LookupResult})}]?NormalCall,1:HaveLocation,1)
exten => HaveLocation,1,Verbose(2,Handle dialing via SIP URI returned)
exten => ...
exten => NormalCall,1,Verbose(2,Handle dialing via standard PSTN route)
exten => ...
The dialplan code we just looked at will take the number dialed and pass it to the
ENUMLOOKUP() function. It requests the method type to be sip (we want the SIP URI
returned) and the lookup to be performed first against the listings in DNS found in the
e164.arpa zone, and next against the records found at http://www.e164.org.
Outside the countries that have implemented it, there is little uptake of ENUM. As
such, many ENUM queries will not return any results. This is not expected to change
in the near future, and ENUM will remain a curiosity until more widely implemented.
ISN, ITAD, and freenum.org
Finally we get to the cool part of this chapter.
The biggest shortcoming of ENUM is that it uses a numbering system that is not under
the control of any Internet numbering authorities.
§
The freenum.org project solves this
problem by utilizing a numbering scheme that is managed by IANA. This means that
a formal, globally valid, nongeographic numbering system for VoIP can be immediately
and easily implemented without getting mired in the bureaucracy and politics that
burden the E.164 numbering system.
John Todd, who manages the project, notes that “Freenum.org is a DNS service that
uses ENUM-like mapping methods to allow many services to be mapped to a keypad-
friendly string. The most obvious and widely used method for this is connecting VoIP users
together for free by creating an easily-remembered dial string that maps to SIP URIs in
the background. However, anything that can appear in a NAPTR record (email, instant
messenger, web addresses) can be mapped to an ISN-style freenum.org address. The goal
of the project is to provide free numeric pointers to the billions of phones that support only
0–9, * and # characters and allow those devices to communicate via VoIP or other next-
generation protocols. The project is spread out across more than thirty DNS servers
worldwide.”
§ More to the point, perhaps, is that E.164 numbers are controlled by far too many organizations, each one
subjected to different regulations, and having goals that are not always compatible with the concept of global,
free VoIP calling.
250 | Chapter 12: Internet Call Routing