NUM Protocol

This page provides a very basic overview of the NUM protocol in its simplest form, for more detailed information about the protocol visit the NUM Protocol website Content on another site..

The Basics

The three fundamental components of the NUM protocol are NUM Records, NUM Lookups and Modules:

NUM Records

NUM data is stored in DNS TXT records known as NUM Records. NUM Records are written in MODL Content on another site., a character-efficient and DNS-friendly data serialisation language. All NUM Records are stored in the DNS under the DNS label _num.

NUM Lookups

NUM Records are identified using NUM URIs and retrieved via NUM Lookups. NUM Lookups are made by NUM Clients using DNS.

Modules

Modules enable standardisation of NUM Record data for particular use cases, e.g. contact information. The data in a NUM Record doesn't have to be based on a module, non-standard records can be used to store NUM Record data of any structure and for any purpose.

Hello World

Let's take a look at a really simple example.

Storing a NUM record

We're going to store a really simple example NUM record for the domain name numexample.com. All NUM records start with @n=1, this identifies it as NUM record using version 1 of the protocol. Here's our record:

@n=1;message=Hello World
A basic NUM record including the message "Hello World".

We store this record in the NUM Zone for a given domain name. Since we're storing our Hello World example for the domain numexample.com and it's a non-standard record (`0` is used for all non-standard records), this record is stored in the DNS at 0._num.numexample.com.

Retrieving the NUM record

Our example record above is identified using the NUM URI num://numexample.com and can be retrieved using a NUM client.

You can also fetch it manually from the DNS by running a simple command:

  • Command Prompt
  • Terminal
nslookup -type=TXT 0._num.numexample.com
A Windows command to retrieve the example record.
dig 0._num.numexample.com TXT
A Unix command to retrieve the example record.

Storing more data

We can store multiple records for the same domain using paths, similar to the web. The following record is available at the NUM URI num://numexample.com/another-example:

@n=1;message=This is another example
A basic NUM record including the message "This is another example".

This record is stored in the DNS at another-example.0._num.numexample.com.

You can fetch it manually from the DNS by running a simple command:

  • Command Prompt
  • Terminal
nslookup -type=TXT another-example.0._num.numexample.com
A Windows command to retrieve the example record.
dig another-example.0._num.numexample.com TXT
A Unix command to retrieve the example record.

Using modules

Modules standardise the data in NUM records so that it can be understood by devices, apps and services. Importantly, NUM records based on modules can be stored in the DNS in two locations:

  1. Under the _num DNS label for the given domain, as we've explored above. This is known as the Independent NUM Zone.
  2. In the DNS of the NUM Server Content elsewhere on this site. under the domain num.net. This is known as the Hosted NUM Zone.

The example NUM record below uses the Contacts module:

@n=1;o(n=NUM Example Co;s=Example Strapline;c[(t(d=Customer Service;v=+441270123456));(fb(v=examplefacebook));(in(v=exampleinstagram));(tw(v=exampletwitter))])
An example Contacts record showing a telephone number, Facebook profile, Instagram handle and Twitter handle

The Contacts module is module number 1, so this record can be retrieved using the NUM URI num://numexample.com:1/ and can be stored in the DNS at either of the following two locations:

  1. In the Independent NUM Zone at 1._num.numexample.com
  2. In the Hosted NUM Zone at 1._numexample.com.c.7.m.num.net

Records stored in the Independent NUM Zone always take precedence. Records in the Hosted NUM Zone can be managed using the NUM Server's simple user-friendly interface.

To find out more about the NUM Protocol visit the NUM Protocol website Content on another site..