Guest

Cisco PGW 2200 Softswitch

Enhanced Local Number Portability and Dial Plan Selection

  • Viewing Options

  • PDF (421.2 KB)
  • Feedback
Enhanced Local Number Portability and Dial Plan Selection

Table Of Contents

Enhanced Local Number Portability and Dial Plan Selection

Feature Overview

Benefits

Related Documents

Prerequisites for Using This Feature

Partial and Longest Matching

Increasing the TimesTen Table Size

Updating the TimesTen Table

Using a New Tool, db-bulkcp

Using MML Import/Export

Using MML Commands

Dial Plan Examples

Provisioning Examples

Command Reference

Modified MML Commands

NUMAN-ADD:porttbl Provision Ported Numbers Table (Release 9.7(3)

NUMAN-ADD:resulttable Provision Result Table (Release 9.7(3)

Result Type Definitions

Obtaining Documentation, Obtaining Support, and Security Guidelines


Enhanced Local Number Portability and Dial Plan Selection


Document Release History

Publication Date
Comments

March 12, 2007

Initial version of the document.


Feature History

Release
Modification

9.7(3)

The Enhanced Local Number Portability and Dial Plan Selection feature was introduced on the Cisco MGC software.


This document describes the Enhanced Local Number Portability and Dial Plan Selection feature.

This feature is described in the following sections:

Feature Overview

Increasing the TimesTen Table Size

Updating the TimesTen Table

Dial Plan Examples

Dial Plan Examples

Provisioning Examples

Command Reference

Result Type Definitions

Obtaining Documentation, Obtaining Support, and Security Guidelines

Feature Overview

This feature extends the table look up capability to provide searches with longest match and partial (substring) matches for the Ported number and A number dial plan selection tables.

Benefits

The following are the benefits of this feature:

Makes the Times-ten database reading more flexible to support partial matching and longest matching in addition to exact matching.

Ensures that database sizes are sufficiently large to meet user needs now and for the future.

Ensures that database bulk loading is efficient.

Related Documents

This document contains information that is related strictly to this feature. The documents that contain additional information related to the Cisco Media Gateway Controller (MGC) are at the following url:

http://www.cisco.com/en/US/products/hw/vcallcon/ps2027/tsd_products_support_series_home.html

Prerequisites for Using This Feature

The Cisco PGW 2200 must be running Cisco MGC software Release 9.7(3). Prerequisites for this release can be found in the Release Notes for the Cisco Media Gateway Controller Software Release 9.7(3).

Partial and Longest Matching

A longest match query is where the access key may be of greater length than the provisioned data to be matched.

A partial match query is where only a subset of the access key (address digits) is available due to overlap receiving.

The database PortedNumber table is enhanced to support longest matching and partial matching in addition to maintaining the current Exact Matching capability. Local number portability (LNP) call processing is enhanced to better deal with overlap receiving/sending using variable number lengths to minimize call set up delays.

For a TimesTen ported table that looks like the following:

1

12

123

1234567

1234321


1234#—Longest match = 123

1234—Multiple partial matches, wait for digits

12345—Single Partial match against 1234567, wait for 2 more digits

123456789—Longest matching finds match against 1234567

The database A_NumberDialplanSelection table is enhanced to support longest matching in addition to maintaining the current exact matching capability. As a longest matching example, consider the case where the A number is 123456789. A match is first attempted on 123456789 followed by 12345678 and 1234567 down to the configurable minimum length (as specified by dw1 in the dial plan result). The longest successful match is returned (note that this is the first match found due to the search order.

Increasing the TimesTen Table Size

To increase the permanent memory for the database, the Permsize parameter in Times-Ten (which is currently set to 256M) is changed.

To safeguard the integrity of the database, you can set the Permsize parameter greater than 256M and less than 10240 (10Gb). It must be set greater than the current value.

To determine what sort of value is required you need to calculate according to your requirements using the following formula.

TimesTen data size (Mb) = numOfPortedNum(millions) * 150

As a result, according to this relationship, 20 million ported numbers need 20 x150 megabytes.

Although it is possible for you to make TimesTen support a fairly large database in a low-end machine with insufficient memory, we discourage you to do so since the performance of TimesTen will suffer from frequent paging due to the lack of memory. Examples of machines considered high-end are the Sun X4600/V40Z or Sun Netra 440.

You also need to ensure that the swap space is sufficient because the TimesTen reserves the swap space according to the size you specified regardless of the actual size of data in use. Typically, you can use swap -l to show the current swap space in system

Follow the steps below to increase the TimesTen table.


Step 1 Shutdown standby, run config-db as root, see example below:

sudo config-db

Step 2 Input the PermSize, which can be gained from the calculation and which must be >256 and <10240, and must be greater than the current one in use.

Please specify the PermSize(MB): 2086      
prctl: 2: No controllable process found in task, project, or zone.
The tt60 daemon has started successfully.
TimesTen Configuration Updated Successfully.

Step 3 Start the standby PGW.

Please Restart PGW!

Step 4 Switch over, do the same procedures in the original active side, which becomes standby now. The PermSize should keep the same in both active and standby.


Updating the TimesTen Table

There are three ways in which a TimesTen table can be updated. The type of changes you are making determine the method employed.

Using a new tool, db-bulkcp, is the preferred method if you are not replacing entries. Use db-bulkcp when initially loading or when just adding entries.

Using MML import/export, which is done using the prov-add command. This option is also very fast and enables insert, update, and delete actions in one process. The method is to create a file with the new entries or entries requiring modification and then import these into the database.

Using MML commands, like numan-add. This method allows you to change the entries live on the database one at a time; this method is a simpler but slower.

Using a New Tool, db-bulkcp

Given the volume of expected records that the database can hold, bulk loading is the most efficient way of provisioning. A new tool, db-bulkcp, helps ensure fast importing/exporting of ported numbers. The db-bulkcp tool can be used only to do inserting. In other words, it cannot accomplish modification or deletion.

You must prepare a file offline to provide the data to be bulk-loaded (but with no type column as in MML import/export because you can only add entries with this method).

The following is a bulk data file example. You generate the initial bulk data with the format shown in the example. The rows preceded with # are intended only for guidance; in practice, you can add or omit these rows.

##ttBulkCp
#
# CISCO.PORTEDNUMBERS, 4 columns
# columns:
#      1. CALLEDNUM    CHAR(20)
#      2. ROUTINGNUM   CHAR(20)
#      3. MINLENGTH    TINYINT
#      4. MAXLENGTH    TINYINT
# end
#
"123456789","444",0,0
"1234567890","555",5,12
"1234567891","5566",3,9
......

The benefits of using db-bulkcp are:

The most important advantage of db-bulkcp is efficiency. It is more efficient than the other alternatives. It can load 20 million ported numbers in less than an hour.

Db-bulkcp is safer than MML. MML can accomplish the import/export function in a single transaction, but it might cause some serious problems due to the excessive data collected in the transaction log when there are a huge number of entries to be imported. For this reason, db-bulkcp encapsulates 5000 rows as a single transaction.

Db-bulkcp can detect the duplicate rows for you.

To use the new "db-bulkcp" tool, the following command format is required:

db-bulkcp <import|export> <table_name> <file_name>

For example, to import the ported table, enter the following command:

db-bulkcp import cisco.portednumbers ./port.dat

Using MML Import/Export

For the MML Import method, the following is an example file for loading.

#type
digitString
routingNum
minlength
maxlength

1

124333

DFFF

5

12

3

124666

DEEE

5

12


On the first line, the value 1 for the first column indicates you want to add one entry.

On the second line, the value 3 for the first column indicates that you want to modify the current entry for digitstring 124666, so either the routingNum, minlength, or maxlength is changed.

Using MML Commands

For MML command method, the following is an example MML command:

numan-add:porttbl:digitsting="124777", routenum="DFDF", minlength=5, maxlength=12 

Dial Plan Examples

This section provides the following examples of dial plan provisioning for this feature. Additional examples of dial plan provisioning for the Cisco MGC software can be found in the Cisco Media Gateway Controller Software Release 9 Dial Plan Guide.

The example MML command below shows the provisioning used to add the A_NUM_DP_TABLE result to the dial plan result table.

Numan-add:resulttable:custgrpid="1111",resulttype="a_num_dp_table", dw1=5, 
name="anumdp01", setname="resultset1"

dw1 = 5 indicates that a database longest match query searches down from the currently received number of digits to a digit length of 5 for potential matches.

If dw1 is omitted or set to zero, the existing functionality with exact matching applies.

Now the result can be configured as usual against the A or B-number digit trees. For example,

Numan-add:bdigtree:custgrpid="1111",digitstring="654321",callside=" 
originating",setname="resultset1"

The example MML command below shows the provisioning used to add the new DB_XLATED result to the result table in the dial plan.

Numan-add:resulttable:custgrpid="1111",resulttype="DB_XLATED", dw1=6, dw2=dp01, dw3=dp02, 
name="dbTrans01", setname="resultset1"

dw1 = 6 indicates that any longest match search searches down from the currently received number of digits to a digit length of 6 for potential matches.

dw2 & 3 respectively, indicate the dial plan to move into according to matching (dp01) or not matching (dp02).

From here the result can be configured as usual against the B-number digit tree. For example,

Numan-add:bdigtree:custgrpid="1111",digitstring="144423456",callside=" 
originating",setname="resultset1"

Provisioning Examples

numan-add:porttbl:digitstring="9981234",routenum="44",minlength=6,maxlength=20
numan-add:porttbl:digitstring="9991234",routenum="44",minlength=6,maxlength=20
numan-add:anumdpsel:custgrpid="1111",cli="99712345",newdp="2222"
numan-add:resulttable:custgrpid="1111",name="rtblnp99812",resulttype="E_PORTED_NUM",setnam
e="rtsetlnp99812"
numan-add:resulttable:custgrpid="1111",name="rtblnp99912",resulttype="DB_XLATED",dw1=6,dw2
="dp01",dw3="dp02",setname="rtsetlnp99812
numan-add:resulttable:custgrpid="1111",setname="rtsetdpsel996",name="rttbldpsel996",result
type="A_NUM_DP_TABLE",dw1="6"


Command Reference

This section documents new, modified, or deleted Man-Machine Language (MML) commands. All other MML commands are documented in the Cisco Media Gateway Controller Software Release 9 MML Command Reference.

Modified MML Commands

This section contains the MML commands that were modified for this feature.

NUMAN-ADD:porttbl Provision Ported Numbers Table (Release 9.7(3)

See the Cisco Media Gateway Controller Software Release 9 Dial Plan Guide at

http://www.cisco.com/en/US/products/hw/vcallcon/ps2027/products_configuration_guide_book09186a00807da50b.html

for a description of how to use the NUMAN-ADD command for dial plan provisioning and for a description of components, parameter names, parameter descriptions, and parameter values.

Purpose:

This MML command adds an entry to the PORTTBL list of your dial plan.

Syntax:

mml> numan-add:porttbl:digitstring="<digitstring>",routenum="<route num 
ber>",minlength=<minimum length>,maxlength=<maximum length>

Input Description:

digitstring—Called number.

routenum—Routing number.

minlength—Specifies minimum length for call origination from this traffic path. Value range is 0 through system maximum. Default is 0.

maxlength—Specifies the maximum length for call origination from this traffic path. Value range is 0 through system maximum. Default is 24.

Example:

The MML command shown in the following example shows the parameters needed to configure an entry in the PortedTable according to the new table schema.

mml> numan-add:porttbl:digitstring="1444234567",routenum="5555", 
minlength=13, maxlength=16

The digitstring is the B-Number digits (maybe post normalization or modification).

The routenum (optional) is the Routing number prefix for ported numbers.

The minlength and maxlength values (optional) being created here relate to the B-Number post database reading. They do not relate to the incoming digits received from line.

This example is shown to provide full information; in practice, Bulk-loading from a file prepared off-line is used (see the "Updating the TimesTen Table" section).

Comments:

Performance Impact Category: A


NUMAN-ADD:resulttable Provision Result Table (Release 9.7(3)

Purpose:

This MML command adds a new result, (A_NUM_DP_TABLE or DB_XLATED) to the result table in the dial plan

Syntax:

numan-add:resulttable:custgrpid="customer group ID",name="result name", 
resulttype="FACILITY type",dw1="value",setname="ResultSet Name" 

Input Description:

custgrpid—The customer group ID, which is a previously defined 4-digit alphanumeric string.

name—The result table index name.

resulttype—The result type, which is A_NUM_DP_TABLE or DB_XLATED for the Enhanced Local Number Portability and Dial Plan Selection feature.

dw1—The value indicating how far to search back in the number when longest matching. Integer. The value 0 for dw1 for A_NUM_DP_TABLE resulttable means that you want to keep the existing functionality with exact matching, while the value 0 for dw1 for DB_XLATED is not allowed.

setname—The result set name.

Examples:

The example MML command below shows the provisioning used to add the A_NUM_DP_TABLE result in to the dial plan result table.

Numan-add:resulttable:custgrpid="1111",resulttype="a_num_dp_table", 
dw1=5, name="anumdp01", setname="resultset1"

dw1=5 indicates that a database longest match query searches down from the currently received number of digits to a digit length of 5 for potential matches.

If dw1 is omitted or set to zero, the existing functionality with exact matching will apply.

The example MML command below shows the provisioning used to add the new DB_XLATED result to the result table in the dial plan.

Numan-add:resulttable:custgrpid="1111",resulttype="DB_XLATED", dw1=6, 
dw2=dp01, dw3=dp02, name="dbTrans01", setname="resultset1"

dw1 = 6 indicates that any longest match search searches down from the currently received number of digits to a digit length of 6 for potential matches.

dw2 & 3 respectively, indicate the dial plan to move into according to matching (dp01) or not matching (dp02).

Comments:

Performance Impact Category: A


Result Type Definitions

The result types listed in Table 1 directly impact LNP operation on the PGW. For information on other result type definitions for the Cisco MGC software, see the Cisco Media Gateway Controller Software Release 9 Dial Plan Guide.

Table 1 New Result Type Definition 

Result Number.
Result Type
Dataword1
Dataword2
Dataword3
Dataword4
Analysis Points
Result Type Valid For
Intermediate
End Point
A-digit analysis
B-digit analysis
Cause
Pre-analysis

34

A_NUM_DP_TABLE

searchMin

not used

not used

not used

X

 

X

X

 

 

76

DB_XLATED

searchMin

matchNewDp

nonMatchedNewDp

not used

X

   

X

   

The following paragraphs contain definitions of the result types listed in Table 1.

A_NUM_DP_TABLE

The A_NUM_DP_TABLE result type is relevant to A-number and B-number analysis. The dial plan selection can be triggered by the A-number or the called party number (B-number). The dial plan is searched for a match on the A-number and, if found, a new dial plan identity is returned that is then used to continue call processing. The A_NUM_DP_TABLE result type supports one additional data word for this feature. An external tool encapsulating ttBulkCp supports fast importing/exporting of ported numbers.

searchMin—Value indicating how far to search back in the number when longest matching.

DB_XLATED

The DB_XLATED result type provides database look up and number translation for both ported and non-ported types of calls.

The DB_XLATED result type also provides the ability to change the dial plan based on either a matched or nonmatched database query. This removes the previous requirement (when using result E_PORTED_NUM) to provision a default ROUTE result, which was used in the event that the database query failed to find a match. However, if no dial plan options are configured in the DB_XLATED result (dataword2 and dataword3), a default ROUTE or NEW_DIALPLAN result is still necessary.

searchMin—Value indicating how far to search back in the number when longest matching.

matchNewDp—Entry index (integer) to the dial plan selection table to switch to new dial plan for further processing following a database reading indicating that the target was matched. The dataword is provisioned as a dial plan name. It is then internally converted to an integer value to point to an entry in the dial plan selection table.

nonMatchedNewDp—Entry index (integer) to the dial plan selection table to switch to new dial plan for further processing following a database reading indicating the target was not matched. The dataword is provisioned as a dial plan name. It is then internally converted to an integer value to point to an entry in the dial plan selection table.

It is possible to collect DB_XLATED at any point in B-number analysis and always issue a database query regardless of any later ROUTE or other final result.

For enbloc calls or for overlap calls where sending is complete, a longest matching database query is made.

For Overlap calls without a ST digit present, a partial matching query is made.

For Overlap calls without a ST digit present, if the initial partial matching database query finds no matches, a new query is launched using Longest matching.

Results DB_XLATED, E_PORTED_NUM, E_ROUTE_NUM, and TERM_INFO are all mutually exclusive, meaning that the last one collected is the one processed.

Multiple retrievals of the DB_XLATED result also mean that the last one collected is the one processed.

The existing E_PORTED_NUM result is maintained and provides the current level of LNP only functionality.

DB_XLATED will provide database look up and number translation for both ported and non-ported types of calls.

Both E_PORTED_NUM and DB_XLATED interrogate the same PortedNumber table. They each use different methods to read the table.

Obtaining Documentation, Obtaining Support, and Security Guidelines

For information on obtaining documentation, obtaining support, providing documentation feedback, security guidelines, and also recommended aliases and general Cisco documents, see the monthly What's New in Cisco Product Documentation, which also lists all new and revised Cisco technical documentation at:

http://www.cisco.com/en/US/docs/general/whatsnew/whatsnew.html