Text

 

ENUM Check

Please enter a complete number (including country and area code) with a "+"-sign
in front (e.g. +4315056416).

ENUM and Voice over IP (VoIP)

 

ENUM links telephony with the internet - which makes its use for VoIP one of the most apparent and common fields of application, as telephone numbers were also used for telephony at first.

 

In order that a VoIP caller and callee can "find" each other via ENUM and the call can directly be made over the conventional telephone network, the following two preconditions must be met:

 

  • The callee must have registered the ENUM domain for his call number and entered his VoIP address for the ENUM service.
  • The caller's VoIP device (the server) must perform an ENUM query during the processing of the call.

 

The following chart shows an exemplary procedure:

 

  1. ENUM entry (Preparation): The user of the telephone number +43 1 5056416 can also be reached via VoIP (SIP) by the address "sip:office@enum.at". He registers the ENUM domain according to his telephone number and specifies the SIP address for his call number in the ENUM-DNS-server of his registrar.
  2. Call: The user of a VoIP service, which supports ENUM queries, calls the number +43 1 5056416. The connection is established via the server of the VoIP service.
  3. ENUM-DNS-query: The VoIP server identifies the call's target as a call number, performs the transformation to an ENUM domain and sends an ENUM query to the DNS.
  4. ENUM-DNS-answer: The ENUM-DNS-server authoritative for the call number returns a positive answer - ENUM information is available for the call number. The answer includes the SIP address, which has been configured in the ENUM-DNS-server by the callee as in step 1.
  5. Delivery of the call: Now the VoIP server can forward the call directly via internet - the necessary information (SIP address) has been transmitted by the ENUM query.

ENUM and telephone systems

 

The use of ENUM for telephone systems could be similar to the above-mentioned case: The telephone system has both a conventional telephone network as well as an IP-compliant interface, which is connected to the internet. Calls from the internet or from the conventional telephone network will reach the employee on his usual desk telephone.

 

With only one single ENUM domain (namely the one according to the individual number of the end device) the VoIP addresses can be specified for all relevant phone extensions. Thus, these extension lines can be reached directly via internet by all devices and operators supporting ENUM call processing.

 

If the telephone system also uses ENUM as a least-cost-router between the conventional telephone and the internet line for outgoing calls, calls to "ENUM-activated" numbers - e.g. to other, congeneric telephone systems of the branch company - are also processed via internet.

 

In this case ENUM serves as an alternative to fixed interconnections between telephone systems. The advantage is that newly added telephone systems (e.g. from business partners) are found "automatically".

 

Telephone systems that are not internet/ENUM-compatible themselves can be upgraded with special devices. These devices are interposed between the system and the conventional telephone connection, and process calls via internet connection - if possible. The users of the telephone system do not take notice of these processes - they just call the number from their desk telephone as usual.

 

Configuration example for Asterisk

 

Asterisk is an ENUM-compliant software branch exchange for Linux. In order to use Asterisk and ENUM as a least-cost-router between the internet and the conventional telephone network, an ENUM query must be performed during the processing of the call. Here is an example of a configuration extract (which must of course be adapted to its special purpose!):

 

[from_sip_phone]
exten =>  _00X.,1,Set(enumresult=${ENUMLOOKUP(+${EXTEN:2})})
exten =>  _00X.,2,GotoIf($["${enumresult}" = ""]?103:3)
exten =>  _00X.,3,Dial(SIP/${enumresult},90)
exten =>  _00X.,4,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?103:5)
exten =>  _00X.,5,GotoIf($["${DIALSTATUS}" = "CONGESTION"]?103:6)
exten =>  _00X.,6,Hangup
exten =>  _00X.,103,Dial(ZAP/g1/${EXTEN},90)

Configuration example SIP Express Router (SER)

 

SIP Express Router is a SIP Proxy with ENUM-support. This is an exemplary extract of a configuration for routing calls via ENUM:

 

# Normalise local numbers

if (uri=~"^sip:[1-9]") {

prefix("+431"); # prefix country code + area code Vienna

}

# Normalise numbers with area code

if (uri=~"^sip:0[1-9]") {

strip(1); # cut preceding 0

prefix("+43"); # prefix country code

}

# Normalize international call numbers

if (uri=~"^sip:00[1-9]") {

strip(2); # cut preceding 00

prefix("+"); # prefix plus

}

if (enum_query("e164.arpa.") {

t_relay(); # ENUM-target found!

}