Facebook tracking pixel
Documentation
Resources
Integration Guides

ENUM Interface

Share:

Introduction

OpenCNAM has several interfaces available through which customers may perform CNAM queries. This document details the system and method for querying OpenCNAM over ENUM.

ENUM is an industry standard methodology for mapping telephone numbers to additional pieces of identifying data or services. For our purposes, we use ENUM to map phone numbers to CNAM values. ENUM requests are made using the DNS protocol and adhere to the NAPTR format for DNS Records.

TCP is supported, however the most common transport protocol for ENUM is UDP. UDP presents several security challenges, and although not required, we recommend that customers connect directly to one or more of our datacenters over a VPN. Detailed configuration files and a Telo engineer will be made available to your organization once you are ready to begin the integration.

Prerequisites

First, the customer must add a static IP address from which ENUM queries will be issued to the "whitelist" for this product. This can be accomplished in the OpenCNAM customer portal as follows:

Manage Account1. Log into the customer dashboard at www.opencnam.com/dashboard

2. Click on Manage Account in the sidebar.
Account SID and Token3. Click Show IP Authentication Options to expose the IP address whitelist.
IP Whitelist4. Add the IP address(es) of the ENUM signalling endpoint(s) from which your queries will be issued here.

Queries from dynamic IP addresses are not supported.

Implementation

Configuration

ENUM Server: enum.opencnam.com
ENUM Suffix: .opencnam.com
UDP Port: 53 (default DNS)
TCP Port: 53

Authentication

Our ENUM service supports authentication via IP address. To associate IPs with your account, please use the "Manage Account" panel in the OpenCNAM.com dashboard. Once your IPs are whitelisted, no further action or configuration is required by you to authenticate with the ENUM service.

Format

Our service follows the standard conventions of ENUM querying. For example, to query the number +1 (678) 631-8356 over ENUM:

  1. Convert number to E.164 format: +16786318356
  2. Remove leading + sign: 16786318356
  3. Reverse number and insert "." between each digit: 6.5.3.8.1.3.6.8.7.6.1
  4. Append ENUM suffix (opencnam.com) to number: 6.5.3.8.1.3.6.8.7.6.1.opencnam.com
  5. Query ENUM server (enum.opencnam.com) for naptr record: 6.5.3.8.1.3.6.8.7.6.1.opencnam.com
Error Handling

We use the "status" flag of the DNS response to indicate either a successful or failed query and the reason for such. Status codes are standard and map closely to the OpenCNAM HTTP status codes. The following table explains each status:

DNS Status Flag=HTTP StatusExplanation
NOERROR200Query was a success
FORMERR400Invalid phone number or formatting error
NOTAUTH401Request not authenticated
NXRRSET404Result not found

Success

Let's take a look at an example of querying the ENUM service. We'll use the number from above, +1 (678) 631-8356, and use the standard linux "dig" tool:

Request
dig -t naptr 6.5.3.8.1.3.6.8.7.6.1.opencnam.com @enum.opencnam.com


Response
; <<>> DiG 9.8.3-P1 <<>> -t naptr 6.5.3.8.1.3.6.8.7.6.1.opencnam.com @enum.
opencnam.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 971
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;6.5.3.8.1.3.6.8.7.6.1.opencnam.com. IN NAPTR

;; ANSWER SECTION:
6.5.3.8.1.3.6.8.7.6.1.opencnam.com. 3600 IN NAPTR 100 10 "u"
"E2U+pstndata:cnam" "!^.*$!pstndata:cnam/+16786318356\;charset=usascii,TELO!"
.
;; Query time: 63 msec
;; SERVER: 34.192.2.178#53(34.192.2.178)
;; WHEN: Wed Nov 16 14:53:27 2016
;; MSG SIZE rcvd: 179

We can see that we received the DNS Status flag: "NOERROR" indicating a successful query and the result "TELO" in the answer section.

Support / Assistance

We are happy to assist with your integration. Our team can be reached in any of the following ways:

Phone: +1-888-315-8356 (TELO) or +1-678-631-8356 (TELO)
Email: support@opencnam.com

Overview

OpenCNAM has several interfaces available through which customers may perform CNAM queries. This document details the system and method for querying OpenCNAM over ENUM. ENUM is an industry standard methodology for mapping telephone numbers to additional pieces of identifying data or services. For our purposes, we use ENUM to map phone numbers to CNAM values. ENUM requests are made using the DNS protocol and adhere to the NAPTR format for DNS Records. Although TCP is supported, the most common transport protocol for ENUM is UDP. UDP presents several security challenges, and although not required, we recommend customers connect directly to one or more of our datacenters over a VPN. Detailed configuration files and a Telo engineer will be made available to your organization once you are ready to begin the integration.

Support / Assistance

We are happy to assist with your integration. Our team can be reached in any of the following ways:

Phone: +1-888-315-8356 (TELO) or +1-678-631-8356 (TELO)
Email: support@opencnam.com

Ready to integrate OpenCNAM?

GET STARTED Try it free! No card required.