How Wildix interacts with ENUM

The Document describes how to configure and execute ENUM lookup on Wildix PBX.

Created: December 2018

Permalink: https://wildix.atlassian.net/wiki/x/YAfOAQ

ENUM Lookup

E.164 Number Mapping (ENUM) is a standard that uses DNS to map telephone numbers to web addresses or URLs. ENUM provides a single number to replace the multiple numbers and addresses for user's home phone, business phone, fax, cell phone and email. A a server with ENUM support looks up a dialed telephone number in ENUM database of the DNS to see if there is a way to set up the call instead of just calling out on the PSTN telephone line. You can dial a telephone number and reach a SIP, H.323 or any other Internet telephony user. 

Wildix PBX can be used to run ENUM lookup (ENUMLOOKUP command) to identify if a number is present or not in a remote list (ENUM database). If the looked up number is available in the database, a call is sent to ENUM server that proxies the call to correct destination.  

Configuration

To be able to execute ENUMLOOKUP, you need to proceed with the following configuration:

Step 1. Enable external connection to LDAP Server

  • Go to WMS -> Settings -> System -> LDAP/ Radius server
  • Check off Enable external connections to LDAP

This will allow connection of your ENUM server to PBX and prepare the internal LDAP directory to have an updated list of users, extensions and office numbers. Then ENUM lookup is performed to identify WiIldix users on EMUN server and, when the needed number is found, PBX receives a SIP call instead of ISDN call.

Note: LDAP Server connection -> consult WMS Settings Guide.

Step 2. Configure routing of calls via ISDN line

To perform ENUM lookup, you need to configure ISDN trunk group. Before configuring, make sure that BRI/PRI media gateway are provisioned to your PBX. Trunk groups are added in WMS -> Trunks -> Trunk Group.

Note: General information about ISDN lines -> WMS Start Guide.

Step 3. Configure Dialplan applications

Add the following Dialplan applications:



  1. Authenticate user 
  2. Set -> Caller number
  3. Custom application -> Set(DESTINATION=${ENUMLOOKUP(+39${EXTEN},sip,c,1,1,enum.myserver.com))}

    where

    • <ENUMLOOKUP> - the function that executes the lookup in enum.myserver.com
    • <+39> - the country code
    • <enum.myserver.com> - your ENUM server
  4. Custom application -> GotoIf($["${DESTINATION}" != "1"]?callsNotEnum,${EXTEN},1) 

    It is executed in case a phone number is not present in ENUM database

  5. Custom application -> Dial(SIP/MySIPTrunk/+39${EXTEN} 

    where

    • <MySIPTrunk> - a number that is dialed in case ENUMLOOKUP function is not executed because a lookup number is not present in ENUM database
  6. Trunk group -> route calls through the specified trunk group

Note: Refer to Dialplan applications Guide for detailed information about Dialplan applications.