Developer Area

Highlights of .tel technology

A .tel domain is an innovative top-level domain (TLD) that allows using the DNS as a data store for contact information. Unlike traditional domains, .tel does not allow storage of Address or CNAME records; instead, a .tel domain can hold the following records:

  • TXT - Text string of 255 characters that can contain plain text, a system message, or a set of keyword value pairs like "tc" "London" (tc for Town/City)
  • LOC - Location record for storing the geographical coordinates as latitude, longitude and altitude with the accuracy of 6 decimal places
  • NAPTR - Naming Authority Pointer Record with contact information as a URI and an Enumservice that indicates the type of URL information, such as email or phone number
    All Enumservice types are supported, and ordering and labelling are available
  • Other record types, such as SRV and MX

For example:

structure of a .tel domain

Telnic and other organizations maintain a proxy service and a number of other systems to enable adequate usage and representation of .tel data on the web and beyond.

HOW DOES IT ALL WORK?

For adequate storage, retrieval and display of this information, Telnic Ltd. has implemented a multi-level architecture consisting of the following levels:

.tel architecture: Services based on .tel or created for it, Mobile and desktop software for easier browsing and editing of .tel data; DNS name servers hosting .tel domains

For examples of software and services, see Ecosystem. This section focuses on the core software solutions.

TelHosting Software

To enable users to manage .tel data, service providers maintain TelHosting Software, which has a web interface and a number of standardized SOAP and AJAX interfaces. A .tel owner can edit the .tel data either by logging into the control panel on the web, or by using one of the mobile and desktop software applications available. Section 4 explains how to use TelHosting APIs.

TelFriends

To securely share private information, the .tel owner can activate the TelFriends service and create a list of friends with personalized access to encrypted data stored in secret sub-domains. Anybody with a TelFriends account can be added to a friend list. The friending mechanism is a one-way process, so even if both participants own .tel domains, they do not become friends unless each one explicitly adds the other to the friend list.

To access private data, log into the .tel page on the web or via a software application. Behind the scenes, the TelFriends service checks whether you are a friend of this domain, and uses your private decryption key to read private data that has been made available for you.
This TelFriends system maintained by Telnic independently of TelHosting software and provides its own open SOAP interface. The SOAP end-points for TelFriends are:

  • https://soap.telfriends.tel/init?wsdl – initialization and login
  • https://soap.telfriends.tel/member?wsdl – main operations

HOW DO I READ .TEL DATA?

If you are planning to create an application or service that needs to read information in .tel domains, you do not need to use the APIs – just do a direct lookup in the DNS, for example:

Dig command

$ dig telnic.tel LOC
telnic.tel. 1M IN LOC  51 31 05.240 N 0 08 02.544 W 0.00m 10.00m 2.00m 2.00m

Note: Always specify the exact record type you are querying. Do not use the parameter "ANY" because you may get incomplete or confusing results depending on the DNS server configuration.

nslookup

$ nslookup -type=naptr _soap._nspapi.mharris.tel
Server:         192.15.1.10
Address:        192.15.1.10#53

Non-authoritative answer:

_soap._nspapi. mharris.tel  naptr = 10 10 "u" "E2U+web:http" 
"!^.*$!http://telhosting.domainmonster.com/client!" .
_soap._nspapi. mharris.tel  naptr = 10 10 "u" "E2U+web:https" 
"!^.*$!https://telhosting.domainmonster.com/client!" .

Authoritative answers can be found from:

mharris.tel     nameserver = N0.CTH.DNS.NIC.tel.
mharris.tel     nameserver = T0.CTH.DNS.NIC.tel.
mharris.tel     nameserver = S0.CTH.DNS.NIC.tel.
mharris.tel     nameserver = A0.CTH.DNS.NIC.tel.
mharris.tel     nameserver = D0.CTH.DNS.NIC.tel.
D0.CTH.DNS.NIC.tel      internet address = 195.253.47.64

Please note that the exact nslookup command line options may differ depending on the version/OS. A more modern alternative to nslookup is host.

UNIX host

$ host -t naptr vlad.tel 
vlad.tel has NAPTR record 100 101 "u" "E2U+voice:tel+x-lbl:Current+x-mobile" 
"^.*$!tel:+447853326927!" . 
vlad.tel has NAPTR record 100 102 "u" "E2U+voice:tel+x-lbl:Direct+x-work" 
"^.*$!tel:+442074676464!" . 
vlad.tel has NAPTR record 100 103 "u" "E2U+voice:tel+x-lbl:Switchboard+x-work" 
"^.*$!tel:+442074676450!" . 
vlad.tel has NAPTR record 100 104 "u" "E2U+fax:tel+x-work" 
"^.*$!tel:+442074676451!" . 
vlad.tel has NAPTR record 100 108 "" "" "" email-me.vlad.tel. 

Libraries and Scripts

Alternatively, read .tel data using:

HOW DO I WRITE TO .TEL?

To create an application or service that writes to a .tel domain, you need to use one of the standardized APIs (SOAP or AJAX), to login to the TelHosting Software and pass on data.

End-points

Because .tel domains can be hosted and maintained by different providers, the end-points for TelHosting interfaces differ. To get the correct API end-point for a .tel domain, query:

  • For AJAX: _https._nsp._apps.[domain].tel. or _https._nsp._apps.[domain].tel.
    Append this URL of your TelHosting Provider, with /g2/json to get your end-point.
  • For SOAP: _soap._nspapi.[domain].tel for NAPTR records. The returned records should point to the addresses of the endpoint, such as https://MyTelProvider:80/client

Logging in

  • For AJAX: get the end-point and call the login method. Use the returned cookie for all subsequent methods.
  • For SOAP: get the end-point and send the web username and password in the HTTP Headers using BasicAuth. Credentials should be always sent on every SOAP query. SOAP service is normally provided via both HTTP and HTTPS; we suggest using HTTPS for security purposes.
  • For TelFriends SOAP: use the API credentials determined during TelFriends initialization.

Storing records

Key points on record management for both interfaces:

  • When editing a record, store its ID in the attribute of naptr element.
  • When adding a record to all profiles, use profiles="_all_".
  • When entering a URL for a NAPTR record, add a '.' to the end of the replacement field.
  • For records, the "owner" attribute determines whether the record is published in the main domain (owner="@") or in a sub-domain (owner=sub-domain relative to main domain).
  • To create a Go to link, add a non-terminal NAPTR record.
  • Text and keyword records cannot be sorted, and are returned in a random order.
  • Export/import operations are available in SOAP, but not in AJAX.
  • When deleting records, AJAX prevents deletion of the last public record.

Managing domains/folders

Key points on sub-domain (a.k.a. folders) management:

  • There is no fixed technical limit on the number of sub-domain levels, other than that any FQDN must be less than 253 bytes long, including the .tel suffix.
  • The total number of sub-domains per domain and the number of records in any domain or sub-domain are limited; check the settings with your .tel provider.
  • TelHosting Software treats domains and sub-domains equally, so SOAP does not prohibit deletion of 2nd level domain. Make sure you do not delete the apex domain.
 
Telnic
Search This Site
Partners
Main site | WHOIS | Sell .tel | FAQ | Archived Site | About Telnic | Contact Us