TMT Live API specs

Download OpenAPI specification:Download

About TMT

Detailed global phone number and subscriber data intelligence to strengthen authentications, evaluate fraud risks, and enhance the user experience.

TMT Analysis is the leading provider of global mobile numbering intelligence.

Our data powers many of the worlds leading identity providers, A2P SMS Messaging companies and financial services organisations, delivering actionable insights that enhance and protect every stage of the customer experience.

Mobile number data intelligence can help strengthen and validate the user verification process, reduce fake accounts, improve conversions with customers and even determine the optimal channel for message delivery.

HTTP API

GET method

path Parameters
format
required
string

Currently only ‘json’ is implemented.

key
required
string

The API key (obtained from https://viteza.tmtanalysis.com or from Support during customer on-boarding).

secret
required
string

The API secret (obtained from https://viteza.tmtanalysis.com or from Support during customer on-boarding).

number
required
string

The number in E.164 format.

Responses

Response samples

Content type
application/json
{
  • "40721275636": {
    }
}

ENUM Services

TEL URI Response

ENUM Parameters

The parameters for the communication are:

  • Record-Type: NAPTR
  • Domain: live.tmtvelocity.com
  • IPs for the service: To be provided during provisioning, referred below as TMTIP
  • Port: 53

ENUM Query format

ENUM resolution operates in the same way as a reverse DNS lookup. To perform the lookup, the E.164 number must be transformed as follows:

  • Remove non-numeric characters such as spaces, +, dashes, etc. (e.g. number “+40766-610060” needs transforming to “40766610060”).
  • Reverse the digits and add a dot between every digit (e.g. 40766610060 becomes 0.6.0.0.1.6.6.6.7.0.4)
  • Add suffix domain live.tmtvelocity.com (e.g. the number now becomes 0.6.0.0.1.6.6.6.7.0.4.live.tmtvelocity.com)

After transforming the number, perform a DNS lookup looking for NAPTR records:

$ dig -t naptr @TMTIP 0.6.0.0.1.6.6.6.7.0.4.live.tmtvelocity.com
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40696
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;0.6.0.0.1.6.6.6.7.0.4.live.tmtvelocity.com. IN NAPTR

ENUM Successful response format

A successful query will return a NAPTR Record with a tel-uri format.

Example:

;; ANSWER SECTION:
0.6.0.0.1.6.6.6.7.0.4.live.tmtvelocity.com. 3600 IN NAPTR 10 100 "u"
"E2U+pstn:tel"
"!^(.*)$!tel:\\1\;npdi\;np=no\;rn=\;cic=4018720\;cc=ro\;cn=VODA\;nt=mobile\;mcc=226\;mnc=01\;imsi=22601\;pres=yes\;roaming=yes\;rmcc=310\;rmnc=02\;e=0!" .

The parameters returned are based on RFC4694:

  • tel – the original number queried
  • npdi – NP Database Dip Indicator (indicates to any downstream systems a portability lookup has been performed)
  • np – Number Ported: ‘yes’, ‘no’ or ‘na’ (not available)
  • rn – Routing Number (LRN for USA/Canada)
  • cic – Carrier Identification Code (list provided by TMT)
  • cc – Country Code
  • cn – Carrier short name (list provided by TMT)
  • nt – Number type (mobile/fixed)
  • mcc – MCC of the network (if mobile nt)
  • mnc – MNC of the network (if mobile nt)
  • imsi – a part of the IMSI
  • pres – Present: ‘yes’, ‘no’ or ‘na’ (not available)
  • roaming – ‘yes’, ‘no’ or ‘na’ (not available)
  • rmcc – MCC of the roaming network
  • rmnc – MNC of the roaming network
  • e – Error condition

ENUM Unsuccessful response format

Unsuccessful queries will be responded to with status NXDOMAIN and a blank answer section.

Example:

$ dig -t naptr @TMTIP 0.6.0.0.1.6.6.6.1.0.4.live.tmtvelocity.com

  ;; Got answer:
  ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 19974
  ;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
  ;; WARNING: recursion requested but not available

  ;; QUESTION SECTION:
  ;0.6.0.0.1.6.6.6.1.0.4.live.tmtvelocity.com. IN NAPTR

SIP URI Response

ENUM Parameters

The parameters for the communication are:

  • Record-Type: NAPTR
  • Domain: live-sip.tmtvelocity.com
  • IPs for the service: To be provided during provisioning, referred below as TMTIP
  • Port: 53

ENUM Query format

ENUM resolution for the SIP Schema format works in exactly the same way as described above, apart from the modified domain name. Therefore, for the same number as above the question section would now be as shown:

;; QUESTION SECTION:
;0.6.0.0.1.6.6.6.7.0.4.live-sip.tmtvelocity.com. IN NAPTR

ENUM Successful response format

A successful query will return a NAPTR Record with a sip-uri in the format sip:+msisdn@ims.mnc.mcc.3gppnetwork.org.

Example:

;; ANSWER SECTION:
0.6.0.0.1.6.6.6.7.0.4.live-sip.tmtvelocity.com. 3600 IN NAPTR 10 100 "u"
"E2U+SIP"
"!^(.*)$!sip:+40766610060@ims.mnc01.mcc226.3gppnetwork.org\;ported=0\;roaming=0\;imsi=22601999XXXXXXX\;absent=0\;gsmcode=0\;user=phone!.

The parameters to be taken into consideration are:

  • ims.mnc.mcc.3gppnetwork.org – contains the Mobile Network Code(MNC) and Mobile Country Code (MCC) as described in 3GPP TS 23.003 Annex E
  • ported – Number Ported: ‘0=NO’, ‘1=YES’
  • roaming – Number Roaming: ‘0=NO’, ‘1=YES’
  • imsi – Section of the International Mobile Subscriber Identity (IMSI) number
  • absent – Subscriber Status: ‘1=Absent’, ‘0=Connected’
  • gsmcode – Error condition

ENUM Unsuccessful response

Unsuccessful queries will be responded to with status NXDOMAIN and a blank answer section.

Example:

$ dig -t naptr @TMTIP 0.6.0.0.1.6.6.6.1.0.4.live-sip.tmtvelocity.com

  ;; Got answer:
  ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 19974
  ;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
  ;; WARNING: recursion requested but not available

  ;; QUESTION SECTION:
  ;0.6.0.0.1.6.6.6.1.0.4.live-sip.tmtvelocity.com. IN NAPTR

Error conditions

As stated above, the error field can contain multiple possible numeric values, which may indicate either that the query has not completed or in some cases can provide more information around the subscriber. The table below lists the possible error conditions:

Code (dec) Code (hex) Description
1 1 Unknown subscriber: The number is not allocated.
2 2 The owning network cannot be reached.
3 3 The network cannot reach the number.
4 4 The location of the number is not known to the network.
5 5 The number, as published in HLR, in not known to the MSC.
6 6 The number is absent for SM.
7 7 Unknown equipment.
8 8 Roaming not allowed.
9 9 Illegal subscriber.
10 0xA Bearer service not provisioned.
11 0xB Tele-service not provisioned.
12 0xC Illegal equipment.
13 0xD Call barred.
21 0x15 Facility not supported.
27 0x1B Phone switched off.
28 0x1C Incompatible terminal.
31 0x1F The subscriber is busy.
32 0x20 The delivery of the SM has failed.
33 0x21 A congestion (a full waiting list) occurred.
34 0x22 System failure.
35 0x23 Missing data.
36 0x24 Data error.

See this section for more specific guidelines on the use and interpretation of the error codes.

Operator files

For each country provisioned, an ‘operators’ file is provided during the provisioning process. Whenever changes occur in the list of operators for a provisioned country, an update is sent by TMT Analysis support to our Customers with the revised ‘operators’ file.

The files contain the following fields, separated by “;”:
  • Service provider ID – unique across the system, TMT assigned. You will find this in the download files as well as in the ‘cic’ field of the ENUM response. This is the field you should use for mapping to your system.
  • Network name – the name of the operator
  • MCC
  • MNC

Example:

filename SK_operators_Live.csv

4219920;O2;231;06
4219900;Slovak Telekom;231;02
4219910;ORANGE;231;01