Actions

Digit Analyzer: Difference between revisions

No edit summary
No edit summary
Line 93: Line 93:
"Toronto, On
"Toronto, On
</pre>  
</pre>  
=== ''NapName''.csv File[[|]] ===
=== ''NapName''.csv File  ===


There's one ''NapName.csv'' for each [[NAP|NAP]] configured in the system.&nbsp; Each file, is a list of ''number&lt;''-&gt;''routesetname'' association for the [[NAP|NAP]].&nbsp; <br>  
There's one ''NapName.csv'' for each [[NAP|NAP]] configured in the system.&nbsp; Each file, is a list of ''number&lt;''-&gt;''routesetname'' association for the [[NAP|NAP]].&nbsp; <br>  
Line 101: Line 101:
*Supplementary columns are used to provide optional and custom values to dynamically created routes<br>
*Supplementary columns are used to provide optional and custom values to dynamically created routes<br>


For example, here's Nap'''SvcProviderA'''.csv<br>  
For example, here's NapSvcProviderA.csv<br>  
<pre>number, route_set_name,  remapped_called, custom_1
<pre>number, route_set_name,  remapped_called, custom_1
55521,  "Montreal, Qc",  "",              ""
55521,  "Montreal, Qc",  "",              ""
Line 125: Line 125:


For example:<br>  
For example:<br>  
<pre>nap_name,              pre_remap,    custom_1
<pre>nap_name,              pre_remap,    custom_a
NapSvcProviderA,      "",            ""
NapSvcProviderA,      "",            ""
NapSvcProviderB,      "/1(.*)/\1/",  ""
NapSvcProviderB,      "/1(.*)/\1/",  ""
NapSvcProviderC,      "",            ""
NapSvcProviderC,      "",            ""
</pre>  
</pre>  
=== Routes.csv<br> ===
=== Routes.csv<br> ===


This file is optionnal, and defines static routes.&nbsp; Static routes are those that were not dynamically created by import of a [[Digit_Analyzer#NapName.csv|NapName.csv]] File.<br>
This file is optionnal, and defines static routes.&nbsp; Static routes are those that were not dynamically created by import of a [[Digit Analyzer#NapName.csv|NapName.csv]] File.<br>  


*It's name is ''<u>routes.csv</u>''<br>
*It's name is ''<u>routes.csv</u>''<br>  
*One mandatory column: '''remapped_nap
*One mandatory column: '''remapped_nap'''


For example:
For example:  
<pre>
<pre>nap,              remapped_nap,      route_set_name,  called,  custom_1
"",              NapSvcProviderA,    "",              911,      ""
NapSvcProviderC,  NapSvcProviderB,    "Vancouver, Bc", "",      ""
</pre>  
</pre>  
In a few lines, we can defines complex routing schemes.&nbsp; In the example above, we have two type of static routes: <br>
#One global route, forcing all 911 calls to go out on NapSvcProviderA<br>
#One normal route, adding a special rule on the RouteSet named&nbsp;"Vancouver, Bc", forcing calls incoming NapSvcProviderC to always go out on NapSvcProviderB<br>
=== Automated Route Management  ===
=== Automated Route Management  ===


<br>
<br>

Revision as of 17:48, 7 January 2010

The digit analyzer is a pre-routing algorithm. It uses a non-linear searching algorithm to find the optimal set of routes with which routing will take place. All routes not required for routing the destination telephone number are therefore screened out. This greatly enhance performances and allows to support virtually any number of routes, since routing is always done on a limited set of routes, matching the destination telephone number.

RouteSet

A RouteSet is a group of possible routes for a given destination number. Each RouteSet is given a name and routes refers to the RouteSet by its name.
Each route in the RouteSet refers to a different NAP that can be used to reach the destination telephone number.

Example:

Let's say we have the following Service Providers, and to keep this simple, suppose we have configured one NAP per Service Provider.

SvcProviderA
Number Destination
55521 Montreal, Qc
55512 Montreal, Qc
55513 Vancouver, Bc
555131 Toronto, On
SvcProviderB
Number Destination
55521 Montreal, Qc
55512 Montreal, Qc
55513 Vancouver, Bc
SvcProviderC
Number Destination
55521 Montreal, Qc
55512 Montreal, Qc
555131 Toronto, On

All three Service Providers have access to "Montreal, Qc", but the rate may differs. So we clearly have three routes for "Montreal, Qc".

In other words, we have three routes grouped under a RouteSet named "Montreal, Qc".  In this case, the RouteSet is named after the destination city, but it could be anything.

CSV Database

The CSV database is composed of 4 groups of CSV files.  Those files covers configuration of all aspects required by the routing engine.  Files enables all route management, modification, backup and update to take place outside Toolpack webportal, using your favorite software.  Once the files are ready, the are imported in the Toolpack system using WebPortal.  The WebPortal also allows to export CSV files.

CSV Files

  • The first row of a csv file define the names of the columns.
  • File names are case insensitive. 
  • File content IS case sensitive.

RouteSets.csv File

This file is the list of all RouteSet names configured in the system. 

  • It's name is route_sets.csv
  • Only one column, named route_set_name

For example:

route_set_name
"Montreal, Qc"
"Toronto, On

NapName.csv File

There's one NapName.csv for each NAP configured in the system.  Each file, is a list of number<->routesetname association for the NAP

  • Its name must match the name of a configured NAP
  • Two mandatory columns: number and route_set_name
  • Supplementary columns are used to provide optional and custom values to dynamically created routes

For example, here's NapSvcProviderA.csv

number, route_set_name,  remapped_called, custom_1
55521,  "Montreal, Qc",  "",              ""
55512,  "Montreal, Qc",  "",              ""
55513,  "Vancouver, Bc", "/(.*)/1\1/",    10
555131, "Toronto, On",   "",              ""

With very few lines, each file defines:

  1. All numbers for the NAP
  2. All Number<->RouteSet associations
  3. All RouteSet<->NAP associations

As we'll see later, for each RouteSet<->NAP association, a dynamic route entry gets created.  Moreover, in this example, the route gets created with parameters found in the second and third colum.

Naps.csv File

This file is optionnal, and defines parameters for each NAP configured in the system.

  • It's name is naps.csv
  • Two mandatory columns: nap_name and pre_remap
  • Supplementary columns are used to provide optional and custom values to NAP

For example:

nap_name,              pre_remap,     custom_a
NapSvcProviderA,       "",            ""
NapSvcProviderB,       "/1(.*)/\1/",  ""
NapSvcProviderC,       "",            ""

Routes.csv

This file is optionnal, and defines static routes.  Static routes are those that were not dynamically created by import of a NapName.csv File.

  • It's name is routes.csv
  • One mandatory column: remapped_nap

For example:

nap,              remapped_nap,       route_set_name,  called,   custom_1
"",               NapSvcProviderA,    "",              911,      ""
NapSvcProviderC,  NapSvcProviderB,    "Vancouver, Bc", "",       ""

In a few lines, we can defines complex routing schemes.  In the example above, we have two type of static routes:

  1. One global route, forcing all 911 calls to go out on NapSvcProviderA
  2. One normal route, adding a special rule on the RouteSet named "Vancouver, Bc", forcing calls incoming NapSvcProviderC to always go out on NapSvcProviderB


Automated Route Management