Guest

Telephony Signaling

PGW 2200 Dial Plan

   Document ID: 46281

PDF Downloads

PGW 2200 Dial Plan

Introduction

This document provides a brief description of the routing capabilities provided by the PGW 2200 routing sub-system in call-control mode.

Acronyms

These are the acronyms related to this document.

  • CPC - Calling Party Category

  • NOA - Nature of Address

  • NPI - Numbering Plan Indicator

  • OGW - Originating Gateway

  • TGW - Terminating Gateway

  • TMR - Transmission Medium Requirements

  • TNS - Transit Network Selection

PGW 2200 Routing

The PGW 2200 provides a routing capability when it is used in the call-control mode. The PGW 2200 routing sub-system consists of number analysis followed by routing analysis. Number analysis is very flexible. It allows a large suite of result options to be performed with every digit analyzed.

Number Analysis

Number analysis is performed in t these four phases:

  1. Pre-analysis – Analyzes the information in the received call establishment message.

  2. A-number analysis – Analyzes the calling number.

  3. B-number analysis – Analyzes the called number.

  4. Cause analysis

Result Processing

Each digit analyzed in the number analysis is associated with one or more results that are applied to the call. Result sets are groups of results that are applied together. The result types include:

  • Routing results provide links to the routing analysis stage. For example, ROUTE, COND_ROUTE, and PERC_ROUTE link to Route Lists, Time-dependent routing tables, and percentage routing tables respectively.

  • A-number and B-number digit modification (for example, AMODDIG and BMODDIG).

  • A-number and B-number field processing. For example, they provide the ability to process and modify number fields such as NOA, NPI, screening and presentation indicator (for example A_NUMBER_TYPE, B_NUMBER_TYPE, and CG_PRES_IND).

  • Number length check (for example, CLI_NBR_LENGTH). This verifies that the correct number of A-number digits is present.

  • Message parameter modification (for example, CPCMOD).

  • More information requests allows the PGW 2200 to request additional information from the calling party (for example, DIGIT_REQD, CLI_REQ, CPC_REQ, BSM_REQ, FSM_REQ, and FACILITY).

  • Overlap/enbloc signaling control (for example, INC_NUMBERING and OTG_NUMBERING).

  • Screening results (for example, SCREENING, BLACKLIST and WHITELIST).

  • Call treatment results (for example, ANNOUNCEMENT, and TESTCALLDETECTED).

  • Cause treatment (for example, CAUSE and RETRY_ACTION).

  • Dial plan control (for example, NEW_DIALPLAN and A_NUM_DP_TABLE). This provides the ability to switch dial-plans.

  • IN processing results (for example, IN_TRIGGER, DATA_EXCHANGE, E_PORTED_NUM, and E_ROUTE_NUM).

Route Selection

Route selection offers these capabilities:

  • Routing hierarchy that consists of route lists, routes, and trunk groups.

  • Time conditional routing.

  • Percentage routing.

  • Overflow routing at percentage routing, route list, and route levels.

  • Trunk group weighting.

  • Carrier translation.

Figure 1: PGW 2200 Routing

pgw2200-dial-plan-1.gif

Number Analysis

Number analysis is performed in these phases:

  1. Pre-analysis.

  2. A-number analysis.

  3. B-number analysis.

  4. Cause analysis.

Pre-analysis

Pre-analysis is the analysis of information in the received call establishment message. Pre-analysis is divided into these stages:

  1. CPC analysis. A CPC table is configured so that CPC values received from the incoming IAM are linked to a Result.

  2. TMR analysis.

  3. B-number NOA and NPI analysis. NOA and NPI tables are configured so that NOA and NPI from incoming B-numbers are linked to a Result. The NOA entry can link directly to a Result or can link to a block in the NPI table.

  4. TNS/carrier selection.

  5. B-number normalization.

  6. Result type resolution.

The results from each stage are accumulated and then performed at the end of pre-analysis. If there are duplicate results, for instance, more than one result having the same result type, then the latest result always overwrites the previous result. However, number modification results (AMODDIG and BMODDIG) are applied cumulatively at each stage of pre-analysis.

Pre-analysis results in a direct transition to route analysis if a ROUTE, COND_ROUTE, or PERC_ROUTE result is obtained.

A-number Analysis

A-number analysis includes:

  • A-number digit tree analysis.

  • A-number screening.

  • A-number request.

B-number Analysis

B-number analysis includes:

  • B-number digit tree analysis.

  • B-number triggers to A-number screening.

  • IN triggers.

Result Processing

Each digit that is analyzed in A-number and B-number analysis is associated with a Result Set. Each Result Set consists of one or more Results. A Result is defined by a Result Type and up to four parameters or datawords.

Result Categories

Routing

Routing results provide links to the routing analysis stage. For example, ROUTE, COND_ROUTE, and PERC_ROUTE link to Route Lists, Time-dependent routing tables, and percentage routing tables respectively.

Number Modification

Digit modification allows digits to be deleted from and inserted into A-number and B-numbers. AMODDIG and BMODDIG allow digits to be inserted or removed from any point in the A-number and B-number respectively. In pre-analysis, the digit modification is applied cumulatively. In A- and B-number analysis, digit modification is applied to the initial number input to this analysis stage.

Number Field Processing

A-number and B-number field processing provides the ability to process and modify number fields such as NOA, NPI, screening, and presentation indicator (for example, A_NUMBER_TYPE, B_NUMBER_TYPE, and CG_PRES_IND).

Number Length Check

Number length check (for example, CLI_NBR_LENGTH). This verifies that the correct number of A-number digits is present.

Message Parameter Modification

Message parameter modification (for example, CPCMOD).

More Information Request

More information requests allow the PGW 2200 to request additional information from the calling party (for example, DIGIT_REQD, CLI_REQ, CPC_REQ, BSM_REQ, FSM_REQ, and FACILITY).

Overlap Signaling

Overlap/enbloc signaling result types INC_NUMBERING and OTG_NUMBERING control whether enbloc or overlap signaling is to be used on the incoming and outgoing trunk groups. The minimum and the maximum expected number lengths is also specified.

Screening

Screening results (for example, SCREENING, BLACKLIST, and WHITELIST).

Call Treatment

Call treatment results (for example,ANNOUNCEMENT and TESTCALLDETECTED).

Cause Treatment

Cause treatment (for example, CAUSE and RETRY_ACTION).

Dial Plan Control

Dial plan control (for example, NEW_DIALPLAN and A_NUM_DP_TABLE). This provides the ability to switch dial-plans.

IN Processing

IN processing results (for example, IN_TRIGGER, DATA_EXCHANGE, E_PORTED_NUM, and E_ROUTE_NUM).

Result Types

This table shows the Result Types. The letters in the 'Valid for' column are A = A-analysis, B = B-analysis, P = Pre-analysis and C = Cause analysis.

Table 1: Result Types and Analysis

Result Type Analysis Point Valid for A/B/P/C
NONE Intermediate  
DIGIT_REQ Intermediate B
ROUTE Intermediate BPC
INC_NUMBERING Intermediate BP
BMODDIG Intermediate ABPC
AMODDIG Intermediate ABP
CAUSE End Point ABC
FACILITY End Point B
ANNOUNCEMENT End Point BC
TONE End Point B
CHARGE Intermediate B
CPC_REQ Intermediate AB
CLI_REQ Intermediate AB
BSM_REQ Intermediate B
FSM_REQ Intermediate B
A_NUMBER_TYPE Intermediate ABP
B_NUMBER_TYPE Intermediate ABPC
OTG_NUMBERING Intermediate B
BLACKLIST End Point AB
CLI_NBR_LENGTH Intermediate A
IPROUTE End Point B
ROUTE_PREFERENCE Intermediate A
IN_TRIGGER Intermediate B
SCREENING Intermediate AB
DATA_EXCHANGE Intermediate B
E_PORTED_NUM Intermediate B
E_ROUTE_NUM Intermediate B
TERM_INFO Intermediate B
TESTCALLDETECTED Intermediate B
CA_INFO Intermediate B
CHARGE_INDICATOR Intermediate B
ADDRESSCLASS Intermediate B
WHITELIST End Point B
NEW_DIALPLAN Intermediate PABC
A_NUM_DP_TABLE Intermediate AB
RTRN_START_ANAL Intermediate BC
CHARGEORIGIN Intermediate A
CG_PRES_IND Intermediate AB
CALL_CUTOFF_TIMER Intermediate ABP
COND_ROUTE Intermediate PBC
MGCPDIAPKG Intermediate B
CPCMOD Intermediate AB
CC_DIG Intermediate B
CODEC Intermediate AB
PERC_ROUTE Intermediate PBC

Each Result Type requires zero or more parameters or datawords as shown in this table:

Table 2: Result Types

# Result Type DW1 DW2 DW3 DW4 Description
0 NONE 0 0 0 0 No action is required.
1 DIGIT_REQ Number Of Digits 0 0 0 Extra digit collection is required.
2 ROUTE Route List Name 0 0 0 Index to the Route table.
3 INC_NUMBERING Numbering Type Minimum Digits Maximum Digits 0 Enbloc or overlap signaling on the incoming TG.
4 BMODDIG Application Point Number of digits to remove. Modification Name 0 Perform digit manipulation on the B-number.
5 AMODDIG Application Point Number of digits to remove. Modification Name 0 Perform digit manipulation on the A-number.
6 CAUSE Cause Code 0 0 0 Cause Analysis is required.
7 FACILITY Facility Type Invocation Facility Data Facility Data Invoke a facility (feature) before proceeding with number analysis.
8 ANNOUNCEMENT Announcement ID Local/Remote Route List Name Announcement Data Local or remote announcement.
9 TONE Tone ID 0 0 0 Reserved for future used.
10 CHARGE Tariff Rate Scale Factor Charge Data Discriminator Charge Type Specific charging for this call needs to be applied.
11 CPC_REQ 0 0 0 0 CPC is required.
12 CLI_REQ 0 0 0 0 Calling Line ID is required.
13 BSM_REQ 0 0 0 0 Request BTNUP basic service markings (BSM).
14 FSM_REQ 0 0 0 0 Request BTNUP facility service markings (FSM).
15 A_NUMBER_TYPE A-number NOA 0 0 0 Change A-number NOA.
16 B_NUMBER_TYPE B-number NOA 0 0 0 Change B-number NOA.
17 OTG_NUMBERING Numbering Type Minimum Digits Maximum Digits 0 Enbloc or overlap signaling on the outgoing TG.
18 BLACKLIST Screening criteria 0 0 0 Blacklist number.
19 CLI_NBR_LENGTH Numbering Type Minimum Digits Maximum Digits 0 Verify Calling Line ID (A-number) length.
20 IP_ROUTE Route Type Route ID 0 0 No longer used.
21 ROUTE_PREFERENCE Route Preference 0 0 0 Route preference features need to be applied for this call (for example, as inputs to the route selection algorithm).
22 IN_TRIGGER Service Type SCP/STP Index 0 0 IN trigger to the external DB.
23 SCREENING Screen Type Service Name 0 0 Call Screening required.
24 DATA_EXCHANGE Action Type 0 0 0 Transfer the Generic number to the B-number and re-entry B-number analysis.
25 E_PORTED_NUM Number of Prefix Digits to remove from CPN before concaten. 0 0 0 European LNP Donor Switch. Ported B-Number. Access Ported Number table to get routing number (RN) and concatenate RN+CPN.
26 E_ROUTE_NUM Number of Prefix Digits to remove. 0 0 0 European LNP Recipient Switch. Remove RN prefix from CPN and access the Number Termination table to route the call.
27 TERM_INFO 0 0 0 0 Provokes a call to a Number termination table (in the MMDB database) which should return a RoutelistId on which to start Routing Analysis.
28 TESTCALLDETECTED TestLineType TestLineDuration TestLineName 0 Called Party Number is associated with a test call.
29 CA_INFO Charging Area Code 0 0 0 Reserved for future use.
30 CHARGE_INDICATOR ChargeType NOA_National charge indicator NOA_Specific charge indicator 0 Reserved for future use.
31 ADDRESSCLASS Address Class 0 0 0 Reserved for future use.
32 WHITELIST 0 0 0 0 This result Type is returned from B-number analysis and signifies by table analysis that this number is valid and the call may proceed.
33 NEW_DIALPLAN CustGrpId AnalysisType 0 0 Indicates the need to read the new new dial plan.
34 A_NUM_DP_TABLE 0 0 0 0 Screening tables must be read using the A-number.
35 RTRN_START_ANAL Number of digits to remove 0 0 0 Return to start of B-number analysis.
36 CHARGEORIGIN Charge Origin 0 0 0 Reserved for future used.
37 CG_PRES_IND PresentationIndicator 0 0 0 Changes the presentation indicator based on number analysis.
38 CALL_CUTOFF_TIMER Timer Value 0 0 0 Terminates any call that exceeds the preset duration of the timer.
43 COND_ROUTE Cond Route Index 0 0 0 An index to the conditional route table.
44 MGCPDIALPKG 0 0 0 0 Indicates a one legged connection to the MG using the MGCP NAS package.
45 CPCMOD CPC Parameter 0 0 0 Calling Party Category parameter contains the numeric value of CPC.
46 CC_DIG Modification Name 0 0 0 Store the Country Code digits to use if required to prefix the A/B number/s when in a ‘National node capacity.
47 CODEC Codec Index action 0 0 An index to the codec. String table.
48 PERC_ROUTE Percentage Route Index 0 0 0 An index to the percentage base routing table.

A result entry cannot be deleted if its index is associated with any other table. In this version, this table is referenced from the NOA, NPI, Cause, Location, and Digit Tree tables. When a result is not assigned, it is defaulted to zeros in every column. A result type of NONE means that the result is not set.

MML Command

This is a list of MML commands:

  • resultset – Used to add a result set.

  • resulttable – Used to add a result.

Dial Plan Provisioning Example

The Dial Plan provisioning example given here creates these result types:

Table 3: Dial Plan Provisioning Example

B-number Result Set Result Result Type
703474 1 1 SCREENING
301555 2 1 ANNOUNCEMENT
301684 3 1 IN_TRIGGER
40555 4 1 A_NUMBER_TYPE
  4 2 BLACKLIST
  5 1 BMODDIG
  6 1 B_NUMBER_TYPE

prov-sta:srcver="new",dstver="session1"
numan-add:dialplan:custgrpid="t1"
numan-add:service:custgrpid="t1",name="Washington"
numan-add:service:custgrpid="t1",name="FreePhone"
numan-add:service:custgrpid="t1",name="TollLine"
numan add:digmodstring:custgrpid="t001",name="mod1",digitstring="703484"

numan-add:resultset:custgrpid="t1",name="set1"
numan-add:resulttable:custgrpid="t1",name="r1",resulttype="SCREENING",
dw1="1",dw2="Washington",setname="set1"

numan-add:resultset:custgrpid="t1",name="set2"
numan add:resulttable:custgrpid:"t1",name="r1",resulttype="ANNOUNCEMENT",
dw1="100",dw2="1",dw3="rtlist1",setname="set2"

numan-add:resultset:custgrpid="t1",name="set3"
numan-add:resulttable:custgrpid="t1",name="r1",resulttype="IN_TRIGGER",
dw1="1",dw2="1",setname="set3"

numan-add:resultset:custgrpid="t1",name="set4"
numan-add:resulttable:custgrpid="t1",name="r1",resulttype="A_NUMBER_TYPE",
dw1="5",setname="set4"
numan-add:resulttable:custgrpid="t1",name="r2",resulttype="BLACKLIST",
dw1="1",setname="set4"

numan-add:resultset:custgrpid="t1",name="set5"
numan-add:resulttable:custgrpid="t1",name="r1",resulttype="BMODDIG",
dw1="1",dw2="1",dw3="digmod1",setname="set5"

numan-add:resultset:custgrpid="t1",name="set6"
numan-add:resulttable:custgrpid="t1",name="r1",resulttype="B_NUMBER_TYPE",
dw1="3",setname="set6"

numan-add:resultset:custgrpid="t1",name="set7"
numan-add:resulttable:custgrpid="t1",name="r1",resulttype="INC_NUMBERING",
dw1="0",dw2="4",dw3="4",setname="set7"

numan-add:npi:custgrpid="t1",npiblock=1,setname="set3"
numan-add:noa:custgrpid="t1",noavalue=1,npiblock=1
numan-add:location:custgrpid="t1",locationblock=1,setname="set5"
numan-add:cause:custgrpid="t1",causevalue=1,locationblock=1

numan-add:bdigtree:custgrpid="t1",callside="originating",
digitstring="703484",setname="set1"
numan-add:bdigtree:custgrpid="t1",callside="originating",
digitstring="301555",setname="set2"
numan-add:bdigtree:custgrpid="t1",callside="originating",
digitstring="301684",setname="set3"
numan-add:bdigtree:custgrpid="t1",callside="originating",
digitstring="40555", setname="set4"

Route Analysis

Route Analysis is entered when these Result types are encountered:

  • ROUTE

  • COND_ROUTE

  • PERC_ROUTE

  • TERM_INFO

The routing process is based on a hierarchy that consists of these entities:

  1. Percentage routing tables

  2. Conditional routing tables

  3. Route lists

  4. Routes

  5. Trunk Groups

Figure 2: Route Analysis

pgw2200-dial-plan-2.gif

Route Lists

A Route List is a group of one or more routes. The routes in the list can be accessed sequentially or randomly based on a distribution parameter associated with the Route List. Each Route entry in a Route List includes these:

  • Indexes into the Route table.

  • Indexes to the next route in the Route List. This defines the order in which routes are selected . It is only used for sequential access.

  • Route distribution control: sequential or random.

MDL Tables

The MDL Table is $routeList.

MML Command

The MML command is rtlist.

Routes

Trunk routes are a group of Trunk Groups. Each Route includes these attributes:

  • A list of Trunk Groups in the Route that consists of indexes into the Trunk Group table.

  • An index to the next Trunk Group in the Route. This defines the order of Trunk Groups in the Route. This is not used if Trunk Group weighting is enabled.

  • Trunk Group weighting.

A form of percentage based routing is implemented at the route level by adding the same Trunk Group to a Route multiple times. Trunk weighting is enabled if Trunk Group weighting is on. The associated Route List must have random distribution on. The maximum number of Trunk Groups in a Route is 100 if Trunk Group weighting is enabled.

MDL Tables

  • $routeName – Defines the Routes.

  • $trunkRoute – Defines the Trunk Groups in the Route.

MML Command

The MML command is rttrnk.

Trunk Groups

Trunk Groups define a set of PSTN trunks or an IP trunk. A Trunk Group is defined by several tables:

  • Trunk Group table.

  • TDM attributes table.

  • SIP attributes table.

MDL Tables

  • $trunkGroup

  • $TDMAttributes

  • $SIPAttributes

MML Command

The MML command is rttrnkgrp.

Time Conditional Routing Table

Time Conditional Routing tables are used to control time-dependent routing. Time Conditional Routing is defined by several tables:

  • Conditional Route Name table – Defines conditional routes. There is one entry for each time conditional route which has an index to a block in the Conditional Route table.

  • Conditional Route table – Defines Day of Week (DoW) blocks for each conditional route. Each block has 10 entries (default, Monday-Sunday, HOL1-HOL3). This is an index to the Conditional Route Descriptor table.

  • Conditional Route Descriptor Name table – Defines sets of time bands. Each entry is an index into the start of a set of time bands in the Conditional Route Descriptor table.

  • Conditional Route Descriptor table – Defines time bands and associated routes. Each entry is a single time band with its associated route (to either a Route List or a Percentage Route table).

The Conditional Route table is used to retrieve indexes into the Conditional Route Descriptor tables. These are used for days of the week and three holidays: default, Monday-Sunday, HOL1 – HOL3. The Conditional Route table is indexed with the DoW index or a Holiday index (HOL1 – HOL3). The Holiday index is obtained from the Route Holiday table which associates dates with three Holidays (HOL1 – HOL3).

The Conditional Route Descriptor table defines time bands that are active for each associated route. Each route entry in a Conditional Route Descriptor table has these:

  • StartTime: This specifies the start of the time band for the route.

  • NextIdentityType: The route entries are 1 = RouteList index and 2 = Percentage Route Table index.

  • NextIdentifyIndex: Index into the Route List or Percentage Route table.

  • NextIndex: The next index into this table – link to the next route in the Conditional Route Descriptor table.

MDL Tables

  • $condRte

  • $condRteDesc

Figure 3: Time Conditional Routing

pgw2200-dial-plan-3.gif

MML Commands

  • condrte

  • condrtedesc

  • rteholiday

Conditional Routing Provisioning Example

Add entries to the Route Holiday table:

numan-add: rteholiday: custgrpid=”t2”, date=”2001.12.25”, hday=”hol1”
numan-add: rteholiday: custgrpid=”t2”, date=”2001.01.01”, hday=”hol1 ”
numan-add: rteholiday: custgrpid=”t2”, date=”2001.07.04”, hday=”hol2 ”
numan-add: rteholiday: custgrpid=”t2”, date=”2001.09.03”, hday=”hol3”

The Conditional Routing Processing actions that derive from the above MML commands are:

  • For Christmas Day and New Years Day, Conditional Routing uses the HOL1 day of the week.

  • For Independence Day, the Conditional Routing uses the HOL2 day of the week.

  • For Labor Day the Conditional Routing uses the HOL3 day of the week.

Add conditional routes and conditional route descriptions as seen here:

prov-add:condrtedesc:name="desc1", rtlistname=” set22”
prov-add: condrte: name =”cond20”, dow=”default”, condrtedesc=”desc1”
prov-add:condrtedesc:name="desc2", rtlistname=” set21”
prov-ed:condrtedesc:name="desc2", starttime=”0800”,endtime=”1800”, rtlistname=”set22”
prov-ed:condrtedesc:name="desc2", starttime=”1800”,endtime=”2345”, rtlistname=”set24”

prov-ed: condrte: name =”cond20”, dow=”monday”, condrtedesc =”desc2”
prov-ed: condrte: name =”cond20”, dow=”tuesday”, condrtedesc =”desc2”
prov-ed: condrte: name =”cond20”, dow=”wednesday”, condrtedesc =”desc2”

prov-add:condrtedesc:name="desc3", rtlistname=” set23”
prov-ed: condrte: name =”cond20”, dow=”hol1”, condrtedesc =”desc3”
prov-ed: condrte: name =”cond20”, dow=”hol2”, condrtedesc =”desc1”

prov-add:condrtedesc:name="desc4", rtlistname=” set22”
prov-ed:condrtedesc:name="desc4", starttime=”1200”,endtime=”1800”, rtlistname=”set55”
prov-ed:condrtedesc:name="desc4", starttime=”1800”,endtime=”2345”, rtlistname=”set22”
prov-ed:condrte: name =”cond20”, dow=”hol3”, condrtedesc =”desc4”

This shows how to configure the COND_ROUTE results making the association with the data in the Conditional Routing table previously defined:

numan-add:resulttable: custgrpid="t2", name="result39",
 resulttype="cond_route", dw1=" cond20", setname="condsetname"

Conditional Routing Processing actions that derive from the above MML commands are :

  • On Monday, Tuesday and Wednesday

    From 0000-0800 the Routing option is a result set "set21". This provides RouteList21 as the entry point into Routing analysis. From 0800-1800 the Routing option is result set "set22". This provides Routelist22 as the entry point for Routing analysis. From 1800-2345 the Routing option is result set "set24". This provides RouteList24 as the entry point into Routing analysis.

  • On a Holiday of type "HOL1"

    From 0000-2345, the Routing option is "set23". This provides RouteList23 as the entry point into Routing analysis.

  • On a Holiday of type "HOL2"

    From 0000-2345, the Routing option is "set22". This provides RouteList22 as the entry point into Routing analysis.

  • On a Holiday of type "HOL3"

    From 0000-1200, the Routing option is result set "set22". This provides RouteList22 as the entry point into Routing analysis. From 1200-1800, the Routing option is result set "set55". This provides Routelist55 as the entry point for Routing analysis. From 1800-2345, the Routing option is result set "set22". This provides RouteList22 as the entry point into Routing analysis.

  • On a Default case

    The Routing for any undefined Days is Thursday, Friday, Saturday, and Sunday. From 0000 – 0800, the Routing option is result set "set22". This provides Routelist22 as the entry point for Routing analysis. From 0800-2345, the Routing option is result set "set55". This provides Routelist55 as the entry point for Routing analysis.

Percentage Routing Table

Percentage routing is defined by two tables:

  • Percentage Route Name table – Defines the percentage routes. There is one entry for each percentage route. It has an index into the Percentage Route table.

  • Percentage Route table – Defines the percentage load quota for each Route List or Conditional Route table.

Each route entry in a Percentage Route table has these:

  • Percentage load – Quota for this route.

  • Overflow enabled (ovflwset) – If the route is unavailable, this indicates whether overflow to the next route is allowed.

  • Overflow only (overflow) – Indicates that the route is only used for overflow if all other routes in the percent route are unavailable.

  • NextIdentityType - The variables for this are 1 = RouteList index and 3 = Conditional Route Table index.

  • NextIdentifyIndex - The index into the Route List or Conditional Route table.

  • NextIndex - The next index into this table. – This is a link to the next route in the Percentage Route table.

MDL Tables

  • $percRteName

  • $percRteTable

MML Command

The MML command is percrte.

Percentage Based Routing Examples

When the first entry is added to a percentage based route name, the load parameter is not provisioned as the percentage is defaulted to 100 percent. As other entries are added, the value is adjusted to accommodate the new percentage values that are added. The maximum value can be 100 percent and the minimum value is 0 percent. When the second command is entered, the primary entry is modified to 75 percent. When the third command is entered, the primary entry is modified to 50 percent.

prov-add:percrte:name="one", rtlistname=”one”, ovrflwset=”ON”, primary=”ON”
prov-ed:percrte:name="one", rtlistname=”three” ,load=25
prov-ed:percrte:name="one", condrtename=”todtwo” ,load=25
prov-ed:percrte:name="one", condrtename=”todthree” ,overflow=”ON”

This results in 50 percent traffic load allocated to Route List 'one', 25 percent to Route List 'three', and 25 percent to Conditional Route name 'todtwo'. Conditional Route 'todthree' is used only as an overflow route.

Overflow Routing

Overflow routing is applied at the Percentage Route, Route List, and the Route levels.

Percentage Route Overflow

Overflow routing is enabled or disabled at the percentage routing level. Overflow at the percentage route level is configured in one of these two ways:

  • Overflow between routes (Route Lists or Conditional Route tables) that are part of the normal percentage routing. This is enabled with the help of the 'ovflwset' flag.

  • Overflow to a separate route (Route List or a Conditional Route table) that is reserved exclusively for overflow. This is enabled with the help of the 'overflow' flag.

An example configuration is shown here. Route List 1 and the Conditional Route table are used for normal percentage routing and overflow conditions. Route List 2 is only used when both Route List 1 and the Conditional Route table are unavailable.

Figure 4: Percentage Route Table Overflow

pgw2200-dial-plan-4.gif

North American LNP

Note: There are result types that support North American All Calls Query (ACQ), LNP procedures, and also European Onward Routing (OR) procedures.

The PGW 2200 supports the donor network, transit network, and recipient network procedures.

Figure 5: North American LNP All Calls Query

pgw2200-dial-plan-5.gif

Originating/Transit Network Procedures

North American ACQ at the origination or transit network is supported with the help of the IN_TRIGGER result type. This causes an LNP Query to be sent to Number Portability Database (NPDB) to determine if it is a number that has been ported. If the number has been ported, then the LNP response contains a routing number (RN) that is placed in the Called Party Number parameter. The original dialed number (DN) is stored in the Generic Number parameter.

Recipient Network Procedures

Recipient network procedures are supported with the help of the DATA_EXCHANGE result type. This uses the contents of the Generic number parameter to be copied to the B-number. The B-number analysis is then re-entered to route the call to the destination switch. The Home RN for the destination network is configured to have a DATA_EXCHANGE result type.

European LNP

Note: There are result types that support North American ACQ LNP procedures and also European OR procedures.

The PGW 2200 supports the donor network, transit network, and recipient network procedures.

Figure 6: European LNP Onward Routing

pgw2200-dial-plan-6.gif

Donor Network Procedures

The result type E_PORTED_NUM triggers an access to a local number portability database to retrieve the routing number (RN). The PGW uses the Q.769.1 Concatenated Address method to prepend the RN to the Called Party Number. The PGW then sets the NOA of the Called Party Number parameter to the 'Concatenated number' and re-enters B-number analysis to route the call to the recipient network with the help of the RN.

Recipient Network Procedures

The result type E_ROUTE_NUM causes the PGW 2200 to remove the leading RN digits from the called number. It sets the NOA to 'national number,' and then reads the number termination table to retrieve the route to the destination switch.

Dial Plan File

This section explains the format of the digit modification, results, digit trees and routing MGC dial plan tables. In this version there are two files for a set of customer plans generated. This file contains the digit modification, resultTable, and the two digitTree tables. The naming convention of this file is <CustomerGroupID>.dialplan. The CustomerGroupID is a four alphanumeric string that is defined for each set of dial plan files.

Field Formats

digitTree

This table always gets generated as blocks of ten to represent the digits 0-9.

Table 4: digitTree

Field Name Data Type Maximum Length Specific Instructions and Exceptions
DigitsToPresent Integer   This number is a positive integer that specifies the next digit that needs to be presented in the digit string.
NextIndex Integer   This number is a positive integer that points to another entry in this table.
ResultIndex Integer   This number is a positive integer that points to an entry in the result table.

resultTable

Table 5: resultTree

Field Name Data Type Maximum Length Specific Instructions and Exceptions
ResultType Integer   This number is a positive integer that defines the result type.
DataWord1 Integer   This number is a positive integer that defines the first data word.
DataWord2 Integer   This number is a positive integer that defines the second data word.
DataWord3 Integer   This number is a positive integer that defines the third data word.
DataWord4 Integer   This number is a positive integer that defines the fourth data word.
NextIndex Integer   This number is a positive integer that points to another entry in this table.

DigModString

Table 6: digModString

Field Name Data Type Maximum Length Specific Instructions and Exceptions
ModString Integer   This number is a positive integer that defines the modified digits.

NOA

Table 7: NOA

Field Name Data Type Maximum Length Specific Instructions and Exceptions
NPIIndex Integer   This number is a positive integer that defines the index into the NPI table.
ResultIndex Integer   This number is a positive integer that points to an entry in the result table.

NPI

Table 8: NPI

Field Name Data Type Maximum Length Specific Instructions and Exceptions
ResultIndex Integer   This number is a positive integer that points to an entry in the result table.

Cause

Table 9: Cause

Field Name Data Type Maximum Length Specific Instructions and Exceptions
LocationIndex Integer   This number is a positive integer that defines the index into the location table.
ResultIndex Integer   This number is a positive integer that points to an entry in the result table.

Location

Table 10: Location

Field Name Data Type Maximum Length Specific Instructions and Exceptions
ResultIndex Integer   This number is a positive integer that points to an entry in the result table.

Service

Table 11: Service

Field Name Data Type Maximum Length Specific Instructions and Exceptions
ServiceName String   This name is up to 20 alphanumeric characters.

ResultSet

Table 12: ResultSet

Field Name Data Type Maximum Length Specific Instructions and Exceptions
ResultSetName String   This name is up to 20 alphanumeric characters.
StartIndex Integer   This number is a positive integer that points to the start of the result set in the result table.

DefaultResultSet

Table 13: DefaultResultSet

Field Name Data Type Maximum Length Specific Instructions and Exceptions
ResultType Integer   This number is a positive integer that defines the result type.
DataWord1 Integer   This number is a positive integer that defines the first data word.
DataWord2 Integer   This number is a positive integer that defines the second data word.
DataWord3 Integer   This number is a positive integer that defines the third data word.
DataWord4 Integer   This number is a positive integer that defines the fourth data word.

dpselection

Table 14: dpselection

Field Name Data Type Maximum Length Specific Instructions and Exceptions
Customer Group Id String 4 Dial plan name that presents the customer group id.

dpBase

Table 15: dpBase

Field Name Data Type Maximum Length Specific Instructions and Exceptions
Over-decadic Status Short Int 2 Can only be either 10 or 16 (10) 10 – not Over-decadic 16 – Over-decadic.

NotypeNodes

Table 16: NotypeNodes

Field Name Data Type Maximum Length Specific Instructions and Exceptions
NumberNodes Integer   This number is a positive integer that specifies the number of nodes for either the A or B table, where type is either A or B.

routeHoliday

Table 17: routeHoliday

Field Name Data Type Maximum Length Specific Instructions and Exceptions
HolidayDate String 8 The date is entered in the format yy.mm.dd. These ranges apply: yy = 2000-9999 mm = 01-12 dd = 01-31.
HolidayDay Integer   This number is a positive integer that indicates the holiday day. Valid values are 8 (HOL1), 9 (HOL2), and 10 (HOL3).

Examples

#format4
$version 2

$dpbasebb
10

$digModStrings
# Customer: T002
#digString
#digMod1  digname
9

$resultTable
# Customer: T002
#type       dw1    dw2    dw3    dw4    nextResult
# result1      result2
2           1      0      0      0      2
# result2      result1
23          1      1      0      0      0
# result3      result1
4           1      3      1      0      0
# result4      result1
4           1      2      0      0      0
# result5      result1
16          3      0      0      0      0
# result6      result1
8           100    1      1      0      0

$resultSet
# Customer: T002
#set                startIndex
setone              1
settwo              3
setthree            4
setfour             5
setfive             6

$defaultResultSet
# Customer: T001
#resultType  dw1  dw2  dw3  dw4
2            1    0    0    0  

$NoBNodes
16

$BdigitTree
# Customer: T002
#digitsToPresent      nextNode   resultIndex
# node1
0	0	0
0	0	0
0	0	0
0	2	0
0	0	0
0	0	0
0	0	0
0	0	0
0	0	0
0	0	0
0	0	0
0	0	0
0	0	0
0	0	0
# node2
0	0	0
0	0	0
0	0	0
0	3	0
0	0	0
0	0	0
0	0	0
0	0	0
0	0	0
0	0	0
0	0	0
0	0	0
0	0	0
0	0	0
# node3
0	0	0
0	0	0
0	0	0
0	0	0
0	0	0
0	4	0
0	0
0	0	0
0	0	0
0	0	0
0	0	0
0	0	0
0	0	0
0	0	0
# node4
0	0	0
0	0	0
0	0	0
0	0	1
0	0	2
0	0	0
0	0	0
0	0	0
0	0	0
0	0	0
0	0	0
0	0	0
0	0	0
0	0	0

$routing
# Customer: T002
#routeGroup

$NPI
# Customer: T002
#resultIndex
# block1
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

$NOA
# Customer: T002
#NPIIndex  resultIndex
0

$routeHoliday
# Customer: T002
# Date      Holiday_Index
20011225    8
20010101    8
20010704    8
20010903    10

$location
# Customer: T002
#resultIndex
# block1
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

$cause
# Customer: T002
#locationIndex  resultIndex
0

$service
# Customer: T002
#serviceName
TollFree

$dpselection
# Customer: 001
#CustomerGroupId
T001
T002

MML Provisioning Components

Routing

This section is used to configure the routing file. This section is subdivided into Routing Trunk Group (RTTRNKGRP), Trunk Route (RTTRNK), and Route List (RTLIST) .

Please note that the .dat file affected is routeAnalysis.dat.

  • To add/modify/delete the contents of a routing table, an active provisioning session is required. (refer to the EMS High-Level Design document for provisioning session MML commands). At the time of deploy/copy, routing files from the provisioning directory are copied to the active directory. The active directory for the routing file is /opt/CiscoMGC/etc.

  • All the TIDs except CARRIERTBL and ROUTING need a name. It is only possible (at present) to retrieve against a name.

  • All the Carrier table, Route lists, Route trunks, and Route trunk groups information are retrieved with the help of the prov:rtrv :rtlist:"ALL" command. The ALL option is not used with other parameters.

  • The NEXTRTNAME parameter is used to change the order of Routes in the Route list. If it is not specified when a Route is added to a Route list, the routes are added in the order they are entered. It is only valid for use when modifying the Route list.

  • The NEXTRKGRP parameter is used to change the order of Trunk Groups in the Route. If it is not specified when a Trunk Group is added to a Route, the Trunk Groups are added in the order they are entered. It is only valid for use when modifying the Route list.

  • The CARRIERID is removed from the RTLIST in Esprit.

  • The ROUTING TID provides the functionality to add and delete a routing file. When performing adds, if there is currently no routing file, it creates one, otherwise it creates an error. During a delete, if a routing file exists, it deletes it, otherwise it creates an error. Edits are not supported for this TID. For CARRIERTBL, it is only valid to use the RTLISTNAME with the RTOPTION "CARRIER".

  • It is mandatory that the first entry added to a conditional route has the day of week as default so that a default value is always set for all conditional Routes. For all days of the week, the user enters as the first value in the set a conditional Route name. This is followed optionally by up to four pairs of time change and conditional route names. The time changes are configured in the range 0015 to 2345 and must be divisible by 15 minutes. There is a check to ensure that the times are only added in ascending order.

Routing Trunk Group

This section is used to configure the Routing Trunk group. The MML Component Name is RTTRNKGRP.

Table 18: rtTrnkGrp

Parameter's MML Name Parameter's Description Parameter's Values (default)
NAME Trunk group number  
TYPE Trunk group type
  • 0-8; (0)
  • 0- General (currently set to "General" as a catch-all)
  • 1-ISUP
  • 2-CAS
  • 3-TUP
  • 4-IP
  • 5-ATM
  • 6-DPNSS
  • 7-PRI
  • 8-BTNUP
REATTEMPTS Number of reattempts 0-5; (0)
QUEUING Queuing time 0-120; (0)
CUTTHROUGH Cut through 0-3; (0)
RESINCPERC   0-100;(0)
BEARERCAPNAME Bearer capability name 20 alphanumeric (NULL)

SIP Routing Trunk Group

This command is used to configure the SIP Routing Trunk Group. The MML Component Name is SIPRTTRNKGRP.

Table 19: SIPrtTrnkGrp

Parameter's MML Name Parameter's Description Parameter's Values (default)
NAME Trunk group number  
URL The SIP proxy service address is in the format of IP address, hostname, or DNS name (x@y).  
SIPPROXYPORT UDP port number used by the SIP proxy server.  
VERSION SIP version of the SIP proxy server.  
CUTTHROUGH Cut through 0-3; (0)
EXTSUPPORT SIP extension supported 0-1; (0)
SRVRR URL is SRV DNS name 0-1; (0)
BEARERCAPNAME Bearer capability name 20 alphanumeric characters (NULL)

Bearer Capability

This section is used to configure the Bearer Capability. The MML Component Name is BEARERCAP.

Table 20: bearerCap

Parameter's MML Name Parameter's Description Parameter's Values (default)
NAME Bearer Cap Name 20 alphanumeric characters
BEARERCAP Bearer capability is a series of TMR values separated by semicolons. For example 5;12;20. String with Length <= 96 using 0-9 and ; only

Codec String

This section is used to configure the codec string . The MML Component Name is CODECSTRING.

Table 21: codecString

Parameter's MML Name Parameter's Description Parameter's Values (default)
NAME Codec String Name 20 alphanumeric characters
CODECSTRING Codec string is a series of codec choices separated by semicolons. For example, <codec1>;<codec2>. String with Length<=140

Route

This section is used to configure the Trunk Route. The MML Component Name is RTTRNK.

Table 22: rtTrnk

Parameter's MML Name Parameter's Description Parameter's Values (default)
NAME Route Name 20 alphanumeric characters
TRNKGRPNUM Trunk group number 0-65,536; (0)
NEXTTRKGRP Next trunk group number 0-65,536; (0)
WEIGHTEDTG Weighted Trunk Group ON or OFF; (OFF)

Route List

This section is used to configure the Route List. The MML Component Name is RTLIST.

Table 23: rtList

Parameter's MML Name Parameter's Description Parameter's Values (default)
NAME Route list Name 20 alphanumeric characters
RTNAME Route Name 20 alphanumeric characters
NEXTRTNAME Next route name 20 alphanumeric characters
DISTRIB Sequential distribution ON or OFF; (OFF)

Carrier Table

This section is used to configure the carrier translation table. The MML Component Name is CARRIERTBL.

Table 24: carrierTbl

Parameter's MML Name Parameter's Description Parameter's Values (default)
CARRIERID Carrier ID 2-5 Numeric
RTOPTION Route Option DN, CARRIER, BLOCKED; (DN)
RTLISTNAME Route List Name 20 alphanumeric characters

Time Conditional Routing Table

The MML Component Name is CONDRTE.

Table 25: condRte

Parameter's MML Name Parameter's Description Parameter's Values (default)
NAME Conditional Routing name Up to 20 alphanumeric characters
DOW Day of week The value can be one of these strings:
  • DEFAULT
  • MONDAY
  • TUESDAY
  • WEDNESDAY
  • THURSDAY
  • FRIDAY
  • SATURDAY
  • SUNDAY
  • HOL1
  • HOL2
  • HOL3
CONDRTEDESC Conditional Routing descriptor name 20 alphanumeric characters

The MML Component Name is CONDRTEDESC.

Table 26: condRteDesc

Parameter's MML Name Parameter's Description Parameter's Values (default)
NAME Conditional Routing description name Up to 20 alphanumeric characters
STARTTIME Time to start 0000 - 2359 clock
ENDTIME Time to end 0000 - 2359 clock
PRIMARY This entry is the primary entry which is to be used for routing for unspecified time periods. Sets this entry on a prov-ed as the primary route. Either startTime and endTime or primary with a value of ON must be specified. OFF or ON;(ON).
RTLISTNAME Route List Name 20 alphanumeric characters
PERCNAME Percentage Based Routing name 20 alphanumeric characters

Percentage Based Route Table

This section is used to configure the percentage route table. The MML Component Name is PERCRTE.

Table 27: PERCRTE

Parameter's MML Name Parameter's Description Parameter's Values (default)
NAME Percentage Based Routing name Up to 20 alphanumeric characters
LOAD The load in percentage 0-100. This parameter is not configurable on a prov-add as it is defaulted to 100, mandatory on an edit. Either load or overflow is supported.
RTLISTNAME Route List Name 20 alphanumeric characters
CONDRTENAME Conditional Route Name 20 alphanumeric characters
OVRFLWSET Overflow supported OFF or ON;(ON)
OVERFLOW This entry is the overflow entry for the percentage based routing name. Sets this entry on a prov-ed as the overflow only route. Either load or overflow with a value of ON is supported. OFF or ON;(OFF).
PRIMARY This entry is the primary entry and is used for unallocated load. Sets this entry on a prov-ed as the primary route. Either load or primary with a value of ON must be specified. OFF or ON;(ON).

Dial Plan

All components have a name parameter, which is the MML name, and a description, which is a text description. The dial plan provisioning is contained in the file <customer group ID>.dialPlan where the customer group ID is four alphanumeric characters.

This is the generic format of the MML dial plan commands: NUMAN-<VERB>:<TID>:CUSTGRPID=<customer group ID>, INDEX=<index>, <PARAM_NAME> = <param value>

Table 28: Dial Plan

Component's MML Name Parameter's MML Name Parameter's Description Parameter's Values (default)
DIALPLAN OVERDEC Over-decadic Status. This parameter is only used when adding a dial plan. The value can be either "YES", or "NO". (NO)
ADIGTREE SETNAME Result Set Name MML name of the result set; (x).
  DIGITTOPRESENT Digit (0) It is set to 0 if it is the next digit otherwise it is the appropriate digit application point.
  CALLSIDE string Call side is like originating, terminating; (x).
BDIGTREE SETNAME Result Set Name ; (x) Could not use with NEXTNODE or DIGIT or INDEX.
  DIGITTOPRESENT Digit (0) It is set to 0 if it is the next digit otherwise it is the appropriate digit application point.
  CALLSIDE String Call side is like originating, terminating; (x).
  DIGITSTRING Digits ; (x) Could not use with NEXTNODE or DIGIT or INDEX.
RESULTTABLE NAME Result Name The MML name of the result.
  RESULTTYPE Result type ; (0)
  DW1 Data word 1 ; (x)
  DW2 Data word 2 ; (x)
  DW3 Data word 3 ; (x)
  DW4 Data word 4 ; (x)
  NEXTRESULT Next result name ; (x)
  SETNAME Result Set Name MML name of the result set;
DIGMODSTRING NAME Digit Modification Name MML name of the digit modification string; (x)
  DIGSTRING Digit String ;(x)
NOA NOAVALUE NOA Value ;(0)
  NPIBLOCK NPI Block ;(0)
  SETNAME Result Set Name MML name of the result set; (x)
NPI NPIBLOCK NPI Block ;(0)
  BLOCKVALUE Block Value 0 – 15; (-1) If the block value is not specified the result index is applied to all block values (0 – 15).
  SETNAME Result Set Name MML name of the result set; (x).
CAUSE CAUSEVALUE Cause Value ;(0)
  LOCATIONBLOCK Location Block ;(0)
  SETNAME Result Set Name MML name of the result set; (x).
LOCATION LOCATIONBLOCK Location Block ;(0)
  SETNAME Result Set Name MML name of the result set; (x).
  BLOCKVALUE Block Value 0 – 15; (-1) If the block value is not specified the result index is applied to all block values (0 – 15).
SERVICE NAME Service Name MML name of the service; (x).
RESULTSET NAME Result Set Name MML name of the result set; (x). Has to be set.
AWHITE CLI Calling Line Identity  
ABLACK CLI Calling Line Identity  
BWHITE CLI Calling Line Identity  
  SVCNAME Service Name MML name of a previously defined service; (x).
BBLACK CLI Calling Line Identity  
  SVCNAME Service Name MML name of a previously defined service; (x).
PORTTBL DIGITSTRING Called Number (x)
  ROUTENUM Routing Number (x)
TERMTBL DIGITSTRING Called Number (x)
  RTLISTNAME Route List Name (x)
ACHGORIGIN CUSTGRPID Customer Group ID  
  CLI Calling Line Identity  
  CORIGIN Charge Origin  
DEFRESULSTSET RESULTTYPE Result Type ; (0)
  DW1 Data Word 1 ; (x)
  DW2 Data Word 2 ; (x)
  DW3 Data Word 3 ; (x)
  DW4 Data Word 4 ; (x)
DPSEL NEWDP New Dial Plan Id. It must exist in the dial plan reference file digitAnalysis.dat. 4 alphanumeric characters
ANUMDPSEL CLI Calling Party Number 20 alphanumeric characters
  NEWDP New Dial Plan ID. It must exist in the dial plan reference file digitAnalysis.dat 4 alphanumeric characters
RTEHOLIDAY DATE The date of the holiday Format for the data is yy.mm.dd.
  HDAY Holiday Day The value can be one of the following strings: HOL1 HOL2 HOL3.
CPC CPCVALUE CPC Value Integer – (0 – 255)
  SETNAME Result Set Name MML result set name.
TMR TMRVALUE TMR Value Integer – (0 – 255)
  SETNAME Result Set Name MML result set name.
TNS TNSVALUE TNS Value String – (“000” -> “ffffffff”)
  SETNAME Result Set Name MML result set name.

  • To add/modify/delete the contents of a dial plan table, an active provisioning session is required (refer to the EMS High-Level Design document for provisioning session MML commands). At the time of deploy/copy, dial plan files from the provisioning directory are copied to the active directory. The active directory for dial plan files is /opt/Transpath/dialPlan.

  • All the TIDs except DIALPLAN need customer group ID and a name. DIALPLAN needs customer group ID only. The verb ED is not used with the DIALPLAN. The verb RTRV is used with DIALPLAN to determine all of the Dial Plans currently configured. In the Elan drop 4 time frame, the result table and the result set supports the name only, and not the index to refer to the entry.

  • The routes and digit modification string table should be provisioned before the result and digit tree tables.

  • When an index is added to a table, the missing indices are also added with default values. For example, if index 10 is added to a digit tree table, and indices 4-9 are missing, they are added with default values.

  • When an index is deleted from a result or digit tree table, all the elements in the index are made zero. When an index is deleted from routes or the digit modification string table, all the elements in the index are made 'x'. When an index is deleted from any table and if there are no indices with non-default values that follow this index, all the indices that follow this index are deleted.

  • The modify command is not supported for result sets as modifications are done at the result table level.

  • The modify command is not supported for the service table.

  • When an entry is added to the result table, the corresponding entry is added to the result set table.

  • When an entry is deleted from the result set table, the corresponding entries are deleted from the result table.

  • The index is no longer required to perform any operations on the result table, service table, or digit modification table.

  • The result set is not modified for a result table.

  • The TIDs Dial Plan, RESULTTABLE, DIGMODSTRING, NOA, NPI, CAUSE, LOCATION, SERVICE, and RESULTSET support the ability to retrieve all entries in the table by specifying ALL. For example, numan-rtrv:resultset:custgrpid="T001","all".

  • The TIDs ADIGTREE and BDIGTREE support the ability to retrieve all entries in the table by either not specifying a digit string or specifying an empty digit string. For example, numan-rtrv:adigtree:custgrpid="T001",digitstring=""

  • Configuring a result set as the default result set replaces the previous one.

  • The default result set has only one of the following result types: BLACKLIST, ROUTE, or CAUSE.

Cisco Support Community - Featured Conversations

Related Information


Updated: Aug 04, 2006Document ID: 46281