# The ENUMLOOKUP dialplan function

The ENUMLOOKUP function is more complex than it first may appear, and this guide is to give a general overview and set of examples that may be well-suited for the advanced user to evaluate in their consideration of ENUM or ENUM-like lookup strategies. This document assumes a familiarity with ENUM (RFC3761) or ENUM-like methods, as well as familiarity with NAPTR DNS records (RFC2915, RFC3401-3404). For an overview of NAPTR records, and the use of NAPTRs in the ENUM global phone-number-to-DNS mapping scheme, please see `http://www.voip-info.org/tiki-index.php?page=ENUM` for more detail.

Using ENUM within Asterisk can be simple or complex, depending on how many failover methods and redundancy procedures you wish to utilize. Implementation of ENUM paths is supposedly defined by the person creating the NAPTR records, but the local administrator may choose to ignore certain NAPTR response methods (URI types) or prefer some over others, which is in contradiction to the RFC. The ENUMLOOKUP method simply provides administrators a method for determining NAPTR results in either the globally unique ENUM (e164.arpa) DNS tree, or in other ENUM-like DNS trees which are not globally unique. The methods to actually create channels ("dial") results given by the ENUMLOOKUP function is then up to the administrator to implement in a way that best suits their environment.

    Function: ENUMLOOKUP(number[,Method-type[,options[,record#[,zone-suffix]]]])

Performs an ENUM tree lookup on the specified number, method type, and ordinal record offset, and returns one of four different values:

1. post-parsed NAPTR of one method (URI) type
2. count of elements of one method (URI) type
3. count of all method types
4. full URI of method at a particular point in the list of all possible methods

Subsections

- Arguments
- Examples
- Usage notes and subtle features
- Some more Examples