cc/td/doc/product/access/sc/r2
hometocprevnextglossaryfeedbacksearchhelp
PDF

Table of Contents

Dial Plan Output Files

Dial Plan Output Files

This appendix describes the Dial Plan Provisioning (DPP) output files required by the open packet telephony controller application.

A.1 Generated Output

When it is generated, a dial plan creates five tables that produce two output files:

These tables are sent to the data repository by the telephony controller application.


Note The Results Table, A-Digit Tree, B-Digit Tree, and digit modification files are all displayed in one table.

The telephony controller runs through a series of look-ups in these tables each time a number in your dial plan comes through it. These look-ups access the following information:
Look-up Descriptions

Customer ID

VNET ID

Minimum or maximum digits

Indexes: start, modification, next result

Result type

Screening criteria

A/B number type

Number of digits to remove

Application point

Trunk location, name, ID, route type, route name

A.1.1 Output Files

Two files, dialPlan and routing, will be provisioned per customer using the following file name conventions:

<VnetID>.<version>.<dialplan>

<VnetID>.<version>.<routing>

The file formats consist of one entry per line, and spaces separate parameters. Comments can be added to the file and are preceded by a #. Comments may only appear on lines that do not contain table data.

These files are in the C:\Lightspeed\TransPathCM\DialPlan\output directory.

The dial plan system can process two types of number analysis, A and B.


Note When you see CLI, be careful to determine whether it means Calling Line ID or Command Line Interface, which is its other meaning in Cisco's user documents.

Number analysis is available on both the incoming and outgoing sides of the call.

The A-Digit Tree table and B-Digit Tree table are generated based on the A-number and B-number entries specified in your dial plan. These tables consist of a series of nodes.

To view your output tables, open the output directory C:/Lightspeed/TransPathCM/DialPlan (see Figure A-1) and select the table you want to view, dial plan or routing.


Figure A-1: Output Files


The process for analyzing the called number (B-Number) only is described below. The process for analyzing the A-number is the same except that the A-Digit Tree is accessed instead of the B-Digit Tree. Tree selection is made by the gen_analysis function call to read the dial plan.

Analysis Procedure

In the dial plan analysis tables, the start index determines the starting location in the table. This is usually 1 for an originating call control (OCC) query and 2 for a terminating call control (TCC) query.

The start index points to the first Tree position at which to start analyzing, so if we have startindex 1, then we begin with Tree 1 in $BdigitTree.The received called number digits are then input one at a time to read the table, so if we have digit 2 we will read line3 of Tree1 (the counting is 0,1,2,3,4,5,6,7,8,9). For clarity these are noted as follows:

column 4

column 3

column 2

column 1

x

x

x

x

Columns 4 and 3 are not used.

Column 2 indicates a "next pointer" that is, the next digit Tree to go to after this, If this is a Zero then analysis completes at this stage. Column 1 indicates a result pointer, which is used as a location pointer to access data from the $resultTable.


Note For analysis of a called number multiple results are possible at each stage of analysis.

If we have a next pointer, that indicates the next Tree to go to and to read that table the next digit of the called number is input as a location pointer.

This continues until the next pointer is 0, analysis complete.

If there are no problems with your analysis, you should receive a result of Route_ID in a VSC2700 configuration. This is a route list pointer to use to analyses for Routes and Trunk Groups.

Work is now complete with the dial plan, and the code will now action the Routing analysis by reading of the Routing Plan flat file.

A.1.2 Data Words

Each option could require up to four data words. Data words are number coded.

For routing tables, with two telephony controllers, use the IPROUTE option. IPROUTE requires a route type and name:

You can perform number analysis on either incoming or outgoing numbers.

Because all routing information is coming from the PBX (contained in PRI messages) into the telephony controller, routing number analysis is performed on outgoing numbers.

Set the following property overrides in the Signal Path on the configuration tool:

For more information about data words, see "Dial Plan Table Information."

A.1.3 Result Table Format

The VSC application goes through each table until it locates the end point of each set of digits in your dial plan. The table fields are described in Table A-1.


Table A-1: Result Table Fields
Column Number Data Type Description

1

ResultType

Identifies the result action that is required.

2-5

Data words 1 to 4

Contents vary depending on the result type.

6

NextRsltIdx

  • 0=None

  • 1, etc.=Index to additional result

Example A-1 provides an output file based on the example dial plan used in this document.


Example A-1: Dial Plan Output File
$version 0
$digModStrings
# Customer:     TR01
# Version:      0
# Trunks:        loc11, truck11, 1; loc11, truck11, 1; loc11, truck11, 1;
$resultTable
# Customer:     TR01
# Version:      0
# Trunks:        loc11, truck11, 1; loc11, truck11, 1; loc11, truck11, 1;
# Results Table
20      1       1       0       0       0       
20      2       2       0       0       0       
20      1       3       0       0       0       
20      2       2       0       0       0       
20      2       2       0       0       0       
20      2       2       0       0       0       

Note The first section of the output file is the Result table.

For an explanation of this particular example, see Table A-2.

Table A-2: Result Table Explanation
Column Number Description

1

20 is the Result Type.

20 is IP route, which is a B-number with a Point Type of End of analysis.

2

1 is Route Type.

1 is local ATM switch (2 would be another telephony controller in your network, which would be extended ISUP)

3

1 is Route Name.

The signal path for this particular telephone number (the x in the SC-x number).

5

0 is the Next Result Index.

0 indicates end of result.

1 indicates there are more results.

6

0 is the Final Result Index.

This indicates the end of the analysis.

A.1.4 Result Table Options

The following table lists all available options, an example of how each option is implemented, the analysis point for each option (Intermediate/End Point), and an indication of whether the option is available for A-numbers or B-numbers or both. (See Table A-3.)

Table A-3: Result Table Options
Result Type Options (Example) A or B or Both (AB) Point Type1
0, NONE ()

AB

Intermediate

1, DIGIT_REQ (2)

B

Intermediate

3, INC_NUMBERING (0,4,4)

B

Intermediate

4, MODDIG (144xx)

A

Intermediate

5, MODDIG 

B

Intermediate

6, CAUSE

B

End point

11,CPC_REQ 

AB

Intermediate

12, CLI_REQ ()

AB

Intermediate

13, BSM_REQ ()

AB

Intermediate

14, FSM_REQ ()

AB

Intermediate

15, A_NUMBER_TYPE (1)

AB

Intermediate

16, B_NUMBER_TYPE (1)

AB

Intermediate

17, OTG_NUMBERING (1,4,4)

B

Intermediate

18, BLACKLIST (1)

A

End of analysis

19, CLI_NBR_LENGTH (1,4,4)

A

Intermediate

20, IPROUTE (1, traffic 1)

B

End of analysis

1Point Type refers to the point in the call flow at which this information is captured for analysis. 

A result table is a list of result entries indexed by VNET ID and the result index obtained from the digit tree tables. The table has six values per entry, all integers. (See Figure A-2.)


Figure A-2: Result Table Example


A.1.5 Digit Tree Table Format

The dial plan output file contains the Results Table, A Digit Tree Table, and B Digit Tree Table as one long table. The result table is a list of result entries indexed by VNET ID and the result index obtained from the first table.

Each node contains 10 rows and 4 columns (one column for each possible data word). Columns one and two are currently unused and are filled with 0s. An explanation of how to read these tables follows the example.

$AdigitTree
# Customer:     TR01
# Version:      0
# Trunks:        loc11, truck11, 1; loc11, truck11, 1; loc11, truck11, 1;
# node1
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       0       
0       0       0       0       
0       0       0       0       
# node2
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       0       
0       0       0       0       
0       0       0       0       
 
$BdigitTree
# Customer:     TR01
# Version:      0
# Trunks:        loc11, truck11, 1; loc11, truck11, 1; loc11, truck11, 1;
# node1
0       0       0       0       
0       0       0       0       
0       0       5       0       
0       0       11      0       
0       0       0       0       
0       0       3       0       
0       0       0       0       
0       0       7       0       
0       0       0       0       
0       0       0       0       
# node2
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       0       
0       0       0       0       
0       0       0       0   
# node3
0       0       9       0       
0       0       10      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       0       
0       0       0       0       
# node4
0       0       0       0       
0       0       0       0       
0       0       0       0       
0       0       0       1       
0       0       0       0       
0       0       0       0       
0       0       0       0       
0       0       0       0       
0       0       0       0       
0       0       0       0       
# node5
0       0       0       0       
0       0       0       0       
0       0       6       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       
# node6
0       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       
# node7
0       0       0       0 
0       0       0       0 
0       0       8       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       
# node8
0       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       
# node9
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       
# node10
0       0       0       0       
0       0       0       0       
0       0       0       0       
0       0       0       5       
0       0       0       0       
0       0       0       0       
0       0       0       0       
0       0       0       0       
0       0       0       0       
0       0       0       0       
# node11
0       0       0       0       
0       0       0       0       
0       0       12      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       
# node12
0       0       0       0       
0       0       0       0       
0       0       0       6       
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       
 

The routing portion of the output file is shown next, followed by an explanation of how to read it.

$routing
# Customer:     TR01
# Version:      0
# Trunks:        loc11, truck11, 1; loc11, truck11, 1; loc11, truck11, 1;
00070001
00190001
00070002
 

The routing portion of this output file is read as follows:

00070001 is SC-1.

00190001 is extended ISUP.

00070002 is SC-2.

A.1.6 Digit Trees

Table A-4 explains the digit tree tables.


Table A-4: Digit Tree Table Layout for One Node
Location Column 1 Column 2 Column 3 Column 4

Row

Row count, row designation

Does not display

Reserved

DigitToPresent:

0=Go to next digit

1=Digit application point

Default is 0

NextIdx:

Index to the next node

0=End of analysis

ResultIdx:

Index into a Result table

0=No result

Row 1,  #0
Always 0
0
1 = Row 10 (Node 1)
1 (first Result table)
Row 2,  #1
Always 0
0
2 = Row 20 (Node 2)
2 (second Result table)
Row 3,  #2
Always 0
0
3 = Node 3
0
Row 4,  #3
Always 0
0
21 = Node 21
0
Row 5,  #4
Always 0
0
0
0
Row 6,  #5
Always 0
0
0
0
Row 7,  #6
Always 0
0
0
0
Row 8,  #7
Always 0
0
0
0
Row 9,  #8
Always 0
0
0
0
Row 10, #9
Always 0
0
0
0

The VNET ID and the originating or terminating start index are used to identify a particular customer's A-Digit Tree or B-Digit Tree table and dialed digits to access. The result of this access process is to create a new index into the table for the A-Digit Tree or B-Digit Tree. This access process continues until no further A-Digit Tree or B-Digit Tree indexes are received.

If, during the process of repeatedly accessing the indexes, a result index is defined, this will cause an access to the results table where a variety of result types may be defined. If the result type indicates digit modification, then an index may be present to access the third table for digit modification strings.

All of the results obtained by accessing the A-Digit Tree or B-Digit Tree are returned by the B number analysis MDL (Message Definition Language) to the Universal Call Model for processing.

A.2 Routing Process Overview

After number analysis is complete, the "RouteID" that is output from that stage is received by The Routing analysis stage. This RouteID is used as a start index to read a Route List Index table.

Step 1 The Index value is used as a location pointer to access the Route List table from which a "List of Route Indexes" is generated and saved within the gen_analysis module.

Step 2 The first Route index value is then used as a location pointer to read the Route table.

Step 3 Output from the Route table is a "List of Trunk Group Index" for the selected route.

Step 4 All Trunk Group Indexes are then selected one at a time and using this value as a pointer to the Trunk Group data table, all data is read for that Trunk group (including any Attribute data).

Step 5 The Trunk Group is interrogated against both Customer preferences (requirements for certain types of circuits) and IAM bearer preferences (also requirements for certain types of circuits).

If preferences exist but are not essential, then the Trunk Groups are sorted according to the preference criteria and are saved in a Primary or secondary list. If there are no preferences or they are essential-marked then all Trunk Group data is saved in a single Primary list. All this data is saved within the gen_analysis module.

Step 6 The first Trunk Group is now recalled (and removed from storage) and is returned to the UCM as a result from A-number, B-number, and Routing analysis. The UCM then activates the routing manager to select a circuit on this Trunk Group.

If circuit selection is successful the call continues as normal.

If there is Trunk Group congestion, the UCM will signal back to gen_analysis indicating this and gen_analysis will retrieve the next Trunk Group ID & data (and remove it from storage) and return that for circuit selection.

If the call still cannot continue, this process continues until all Trunk groups in Primary and Secondary lists have been exhausted. At the next call from the UCM, gen_analysis will find no Trunk groups stored and will go back and retrieve the next Route index (as previously stored), then repeat the earlier process for this Route to develop a new list/s of Primary/Secondary Trunk Groups and data. Then again the first one will be returned to the UCM (and removed from storage).

If all Routes have been tried and there is nothing further to offer, gen_analysis will return a result "No_Trunk_Groups_Available" to the UCM, which will clear the call with congestion indication.

The Routing analysis input is with a Route ID (or Route List ID) obtained as a result from B-number analysis. A Route List is a collection of routing alternatives that can be used to transport a call between origin and destination. Individual Routes in the list provide routing to the same destination but via different physical paths.

A.2.1 Routing Hierarchy

Routing follows a hierarchy:

    1. Route list---A collection of routing alternatives (a list of Routes).

    2. Route---A collection of Trunk Groups.

    3. Trunk Group---A collection of circuits.

A.2.2 Routing Plan

The contents of the flat file Routing Plan are described below:

For routing tables, when you have two Cisco VSC2700s, use the IPROUTE option. IPROUTE requires a route type and name.


hometocprevnextglossaryfeedbacksearchhelp
Posted: Fri May 28 15:25:18 PDT 1999
Copyright 1989-1999©Cisco Systems Inc.