Telcobridges - Session Border Controllers
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Adding ENUM query for LNP

Go down

Adding ENUM query for LNP Empty Adding ENUM query for LNP

Post by Admin on Fri Jan 24, 2020 5:28 am

NUM (E.164 Number to URI Mapping) translates telephone numbers into Internet addresses, meaning mapping traditional telephone numbers to SIP, SMTP (e-mail), and other internet services. ENUM is defined in RFC-6114, which is a Dynamic Delegation Discovery System (DDDS) Application specification.

ProSBC supports DNS functionality, and is also able to parse NAPTR and SRV records. This functionality has been enhanced to support ENUM routing and ENUM LNP functionality.

When sending an ENUM query to a configured ENUM server, ProSBC uses an NAPTR record type as the record requested. When an NAPTR response is received from the ENUM DNS server, BorderNet verifies that it contains the proper service parameters for ENUM, namely either 'E2U+SIP', 'E2U+pstn:tel' or 'E2U+pstn:sip'.

This section provides ProSBC configuration for the solution.

Install dnsruby gem

1. Automatic Installation
gem install dnsruby -v1.54
tbtoolpack stop
tbtoolpack start

2. Manual Installation
Download the gem from
Upload to SBC with sFTP
gem install --force --local dnsruby -v1.54
tbtoolpack stop
tbtoolpack start

Configure Routing Script

1. Enable routing script
Gateway->Use script

2. Load routing scripts
Gateway->Routes->Routing Script->Import Script File
Load on startup->checked

3. Adding ENUM script to main script
Gateway->Routes->Routing Script->simple_routing_sbc.rb [Edit]

Three things need to be added.
At the start of the script:
require 'called_pre_remap'

In the main class:
include EnumLNP
before_filter :method => :naptr_called_replacement

Modifying ENUM Script

1. To set ENUM server IP in the script modify the following script parameter in the naptr_called_replacement.rb:
res = (:nameserver => ['IPaddress'])  IP address must be ENUM Server IP address

2. To set the Domain Name for ENUM queries, change the following parameter in the naptr_called_replacement.rb:
$domain = "IPAddress/FQDN"
Query examples;, is the domain, is the domain, is the domain, is the domain

3. In the answer check the Service and update the script. Service can be returned in the following and other formats;

Service: E2U+SIP, Service: E2U+sip, Service: SIP+E2U, Service: sip+E2U and others

if a.service == "sip+E2U" || a.service == "SIP+E2U" ==> Change it here

4. In the answer, ENUM server can return "." or "@" or any other character in the regex after the number;

if it is "."
params[:call][:called] = tb_naptr_query("#{naptr_called}.#{$domain}", params)

if it is "@"
params[:call][:called] = tb_naptr_query("#{naptr_called}@#{$domain}", params)

Please contact with Telcobridges Support to get ENUM script.


Number of Messages : 330
Point : 827
Registration Date : 2017-11-27

Back to top Go down

Back to top

Permissions in this forum:
You cannot reply to topics in this forum