PDF

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, page 1
•
Increasing the TimesTen Table Size, page 3
•
Updating the TimesTen Table, page 3
•
Dial Plan Examples, page 5
•
Dial Plan Examples, page 5
•
Provisioning Examples, page 6
•
Command Reference, page 6
•
Result Type Definitions, page 8
•
Obtaining Documentation, Obtaining Support, and Security Guidelines, page 10
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.
Cisco MGC Software Release 9.7(3)
1
Enhanced Local Number Portability and Dial Plan Selection
Partial and Longest Matching
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
Cisco MGC Software Release 9.7(3)
2
Enhanced Local Number Portability and Dial Plan Selection
Increasing the TimesTen Table Size
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.
Cisco MGC Software Release 9.7(3)
3
Enhanced Local Number Portability and Dial Plan Selection
Updating the TimesTen Table
•
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
Cisco MGC Software Release 9.7(3)
4
Enhanced Local Number Portability and Dial Plan Selection
Dial Plan Examples
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,
Cisco MGC Software Release 9.7(3)
5
Enhanced Local Number Portability and Dial Plan Selection
Provisioning Examples
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_book09186
a00807da50b.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.
Cisco MGC Software Release 9.7(3)
6
Enhanced Local Number Portability and Dial Plan Selection
Command Reference
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 on
page 3).
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.
Cisco MGC Software Release 9.7(3)
7
Enhanced Local Number Portability and Dial Plan Selection
Result Type Definitions
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”
Comments:
•
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).
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.
New Result Type Definition
34
Dataword3
Dataword4
A_NUM_DP_TABLE
searchMin
not used
not used
not used
X
searchMin
matchNewDp
nonMatchedNewDp
not used
X
76 DB_XLATED
X
Pre-analysis
Dataword2
Cause
Dataword1
Result Type
Valid For
B-digit analysis
Result Type
End Point
Intermediate
Result Number.
Analysis
Points
A-digit analysis
Table 1
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
Cisco MGC Software Release 9.7(3)
8
Enhanced Local Number Portability and Dial Plan Selection
Result Type Definitions
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.
Cisco MGC Software Release 9.7(3)
9
Enhanced Local Number Portability and Dial Plan Selection
Obtaining Documentation, Obtaining Support, and Security Guidelines
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
This document is to be used in conjunction with the documents listed in the Related Documents section.
CCVP, the Cisco logo, and the Cisco Square Bridge logo are trademarks of Cisco Systems, Inc.; Changing the Way We Work, Live, Play, and Learn is a
service mark of Cisco Systems, Inc.; and Access Registrar, Aironet, BPX, Catalyst, CCDA, CCDP, CCIE, CCIP, CCNA, CCNP, CCSP, Cisco, the Cisco
Certified Internetwork Expert logo, Cisco IOS, Cisco Press, Cisco Systems, Cisco Systems Capital, the Cisco Systems logo, Cisco Unity,
Enterprise/Solver, EtherChannel, EtherFast, EtherSwitch, Fast Step, Follow Me Browsing, FormShare, GigaDrive, HomeLink, Internet Quotient, IOS,
iPhone, IP/TV, iQ Expertise, the iQ logo, iQ Net Readiness Scorecard, iQuick Study, LightStream, Linksys, MeetingPlace, MGX, Networking Academy,
Network Registrar, Packet, PIX, ProConnect, ScriptShare, SMARTnet, StackWise, The Fastest Way to Increase Your Internet Quotient, and TransPath are
registered trademarks of Cisco Systems, Inc. and/or its affiliates in the United States and certain other countries.
All other trademarks mentioned in this document or Website are the property of their respective owners. The use of the word partner does not imply a
partnership relationship between Cisco and any other company. (0705R)
Any Internet Protocol (IP) addresses used in this document are not intended to be actual addresses. Any examples, command display output, and
figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses in illustrative content is unintentional and
coincidental.
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco MGC Software Release 9.7(3)
10