ENUM interface
ENUM stands for Electronic Numbering Mapping. With it, you can translate telephone numbers in E.164 format into a format that can be used in Internet communications.
The first instance of each term is linked to the definition on our Sinch Support Community.
ENUM protocol
The background process for translating an MSISDN into ENUM format is to:
- Remove all non-digit characters.
- Add dots between each digit.
- Reverse the order of the digits.
-
Add the domain
e164.arpa
to the end.
For example, an MSISDN in E.164 format would be input as +447786852522
. Using ENUM, it would translate to: 2.2.5.2.5.8.6.8.7.7.4.4.e164.arpa
.
Parameters
The parameters used in addition to IP address and port number are:
Parameter | Description |
---|---|
NAPTR |
The record type used |
e164.arpa |
The domain |
How to connect
Please find the IP address and port number for our ENUM Lookup Server in the table below. The only identifier needed to connect is the IP address you connect from.
Number Lookup ENUM Server | Host:Port |
---|---|
Primary | 93.158.78.4:53 |
Backup | 195.84.167.34:53 |
Query specification
Question
The question has the format <IP-address>
, <MSISDN-in-ENUM-Format>
, and e164.arpa
IN
NAPTR.
An example of a request for an MSISDN of +13392986156 would be:
93.158.78.4 6.5.1.6.8.9.2.9.3.3.1.e164.arpa IN NAPTR
Answer
The answer section will contain a NAPTR record with the MSISDN queried in ENUM format together with the MCC and MNC for the MSISDN queried.
As an example, the answer section to the question above looks like this:
6.5.1.6.8.9.2.9.3.3.1.e164.arpa. 3 IN NAPTR 10 50 “u” “E2U+pstn:tel” “!^(.*)$!tel:\\\\1\\\;mcc=310\\\;mnc=012!”
Examples
Below you will find full examples of queries using the “dig” command.
Successful query
A successful query returns a NAPTR record containing the queried MSISDN in ENUM format as well as MCC and MNC for the MSISDN in the answer section.
dig @93.158.78.4 6.5.1.6.8.9.2.9.3.3.1.e164.arpa IN NAPTR
; < <>> DiG 9.8.3-P1 < <>> @93.158.78.4 6.5.1.6.8.9.2.9.3.3.1.e164.arpa IN NAPTR
;; ->>HEADER< <- opcode: QUERY, status: NOERROR, id: 9512
;; flags: qr; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;6.5.1.6.8.9.2.9.3.3.1.e164.arpa. IN NAPTR
;; ANSWER SECTION:
6.5.1.6.8.9.2.9.3.3.1.e164.arpa. 3 IN NAPTR 10 50 “u” “E2U+pstn:tel”
“!^(.*)$!tel:\\\\1\\\;mcc=310\\\;mnc=012!” .
;; Query time: 206 msec
Unsuccessful query
The answer to an unsuccessful query won't contain any answer section.
No NAPTR record is return and the response code will be received in the status field.
dig @93.158.78.4 6.5.1.6.8.9.2.9.3.3.1.e164.arpa IN NAPTR
; < <>> DiG 9.8.3-P1 < <>> @93.158.78.4 6.5.1.6.8.9.2.9.3.3.1.e164.arpa IN NAPTR
;; ->>HEADER< <- opcode: QUERY, status: SERVFAIL, id: 9512 ;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;6.5.1.6.8.9.2.9.3.3.1.e164.arpa. IN NAPTR ;; Query time: 202 msec
Response codes
The list below specifies the response codes that can be returned:
Response Code | Description | Action |
---|---|---|
0 (NO ERROR) |
Successful query. | Answer section is returned. |
2 (SERVFAIL) |
Improperly formatted query. | No answer section is returned. |
3 (NXDOMAIN) |
MSISDN not valid. | No answer section is returned. |
5 (REFUSED) |
Source IP is unauthorized. | No answer section is returned. |