OpenEnum

This is work in progress, brainstorming

OpenEnum - global routing of VOIP calls based on numeric input


Background reading


The problem: phones want numeric input, not URL's

Dialing with URL:s, like SIP:user@domain.tld, may work from soft phones. When using phones with a numeric keypad, this doesn't work any more. The PSTN have built an international dial plan E.164 that all telcos adhere to. That's how we can call each other globally.

There's no "International code" for VOIP calls. There are some reservations, but implementation is on hold while political struggles keep going on.

Waiting for this, we need to find a way to unify VOIP dial plans, for non-PSTN calls. OpenEnum is trying to solve this problem.

Solution

Using the mechanisms put in place for ENUM, we can build a similar DNS-based tree structure to route calls between VoIP servers. To make it easy to manage, it will be based on delegations, like the Internet DNS tree. ENUM-aware SIP Proxies and VoIP PBXs can lookup dial codes in the DNS and route the call to the right VoIP provider or user based on the result.

Structure

Prefix for OpenEnum VOIP calls
  • In your PBX or SIP Proxy, you need to set up an "Global VOIP Dial code prefix". In many countries, a zero followed by non-zero signifies national call. Two zeroes followed by non-zero signifies international call.
  • In order to not collide with the E.164 dial plan, three zeroes could be a way to call a VOIP call. Other suggestions include a "*".
  • It's not necessary to agree on the prefix, even though it would make life easier for users.


Root zone

The root zone is populated with NS pointers to sub zones. The root zone only contains pointers to national root zones, like "+47", "+1", "+46" and "+358" - E.164 country codes.

National zones

The national zones should contain either NS or NAPTR wildcard records for VOIP providers or companies. National zones always ends with a zero, to mark end of prefix.
  • NS pointer means a delegation to at least two DNS servers, where the owner of this zone can setup extensions-specific NAPTR pointers to IAX, SIP, H.323 or TEL url:s.
  • All DNS RRs in the national zone will be accompanied by an TXT record with a brief description, and a NAPTR web url to the providers web site.
  • NAPTR wildcard means a provider can set up a rule for conversion between an extension within the providers dial plan, and an SIP url or any other URL.
Example:
+46 -120 - 12345Rule: +46120xxxx converts to sip:xxxx@mydomain.tld

Provider zones

In the zone delegated to the provider, the provider may set up any pointers.


Interface


  • People create accounts via web interface, their information is stored in a SQL database.
  • After validation, records are taken from the SQL database and injected into the live zone file using nsupdate(8).

This is work in progress, brainstorming

OpenEnum - global routing of VOIP calls based on numeric input


Background reading


The problem: phones want numeric input, not URL's

Dialing with URL:s, like SIP:user@domain.tld, may work from soft phones. When using phones with a numeric keypad, this doesn't work any more. The PSTN have built an international dial plan E.164 that all telcos adhere to. That's how we can call each other globally.

There's no "International code" for VOIP calls. There are some reservations, but implementation is on hold while political struggles keep going on.

Waiting for this, we need to find a way to unify VOIP dial plans, for non-PSTN calls. OpenEnum is trying to solve this problem.

Solution

Using the mechanisms put in place for ENUM, we can build a similar DNS-based tree structure to route calls between VoIP servers. To make it easy to manage, it will be based on delegations, like the Internet DNS tree. ENUM-aware SIP Proxies and VoIP PBXs can lookup dial codes in the DNS and route the call to the right VoIP provider or user based on the result.

Structure

Prefix for OpenEnum VOIP calls
  • In your PBX or SIP Proxy, you need to set up an "Global VOIP Dial code prefix". In many countries, a zero followed by non-zero signifies national call. Two zeroes followed by non-zero signifies international call.
  • In order to not collide with the E.164 dial plan, three zeroes could be a way to call a VOIP call. Other suggestions include a "*".
  • It's not necessary to agree on the prefix, even though it would make life easier for users.


Root zone

The root zone is populated with NS pointers to sub zones. The root zone only contains pointers to national root zones, like "+47", "+1", "+46" and "+358" - E.164 country codes.

National zones

The national zones should contain either NS or NAPTR wildcard records for VOIP providers or companies. National zones always ends with a zero, to mark end of prefix.
  • NS pointer means a delegation to at least two DNS servers, where the owner of this zone can setup extensions-specific NAPTR pointers to IAX, SIP, H.323 or TEL url:s.
  • All DNS RRs in the national zone will be accompanied by an TXT record with a brief description, and a NAPTR web url to the providers web site.
  • NAPTR wildcard means a provider can set up a rule for conversion between an extension within the providers dial plan, and an SIP url or any other URL.
Example:
+46 -120 - 12345Rule: +46120xxxx converts to sip:xxxx@mydomain.tld

Provider zones

In the zone delegated to the provider, the provider may set up any pointers.


Interface


  • People create accounts via web interface, their information is stored in a SQL database.
  • After validation, records are taken from the SQL database and injected into the live zone file using nsupdate(8).

Created by: oej, Last modification: Wed 03 of Dec, 2003 (08:31 UTC)
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+