Configuring BAMS for ASCII Output and Measurements


Overview

This chapter describes how to configure the Cisco Billing and Measurements Server (BAMS) for ASCII output and measurements. Refer to "Configuring BAMS for BAF Output," for details on setting up BAMS for Bellcore AMA Format (BAF) output.


Note You enable ASCII and/or measurements output with the NODEPARMS tag ID. For more information, see the "NODEPARMS Tag ID" section.


Starting and Completing a Provisioning Session

A provisioning session must start with a prov-sta (start provisioning) command and end with a prov-dply (deploy provisioning changes) command:

mml:1> prov-sta::srcver=new,dstver=directory name [confirm] (starts a provisioning session)

mml:1> prov-dply::[srcver=directory name] (activates the provisioning changes)


Note You must press the Enter key after typing a command string at the mml:> prompt to complete the data entry, which is limited to 256 characters per command line. You specify the directory name path for a new session. If the directory name already exists, you must confirm that you want to override the existing UNIX file. Consider the use of batch provisioning for longer or repetitive entries. The changes you make to configuration files during a provisioning session become effective only when you end the session with a prov-dply command.



Note When you are provisioning a table, you are required to enter the appropriate field values, as described in the "Tag IDs and Field Names" section. Please note the following exceptions:

1. You are not required to fill in all values for the Threshold Crossing Alarms (TCA) thresholds. Fill in the values only for those alarms that you want to set up. When setting up desired alarms, you must populate the condition and value fields for the desired alarm, as well as the id field.

2. You are not required to fill in the Zone Information table, but it is useful for reference purposes.

3. Populate the host-name2, rem-dir2, file-prefix2, and file-suffix2 fields in the Poll table only if the second VSC is operational.


ASCII Output Provisioning Example

Here is an example of an ASCII output provisioning session:

set-node:1:
prov-sta::srcver=new,dstver=bams_system,confirm
set-nodename::name="va-okinawa"
prov-add:TRUNKGRP:trunkgrp=800,connection="D",orgnpa=123,trmnpa=456,circuits=784
prov-add:TRUNKGRP:trunkgrp=801,connection="D",orgnpa=123,trmnpa=456,circuits=992
prov-add:TRUNKGRP:trunkgrp=802,connection="D",orgnpa=123,trmnpa=456,circuits=192
prov-add:TRUNKGRP:trunkgrp=803,connection="D",orgnpa=123,trmnpa=456,circuits=496
prov-add:TRUNKGRP:trunkgrp=804,connection="D",orgnpa=123,trmnpa=456,circuits=744
prov-add:TRUNKGRP:trunkgrp=805,connection="D",orgnpa=123,trmnpa=456,circuits=248
prov-add:TRUNKGRP:trunkgrp=806,connection="D",orgnpa=123,trmnpa=456,circuits=96
prov-add:TRUNKGRP:trunkgrp=709,connection="D",orgnpa=703,trmnpa=703,circuits=248
prov-add:ALM-PARMS:maxlines=10000,msgdisclvl=5,msgfwdlvl=3
prov-add:MAPTYPE:maptype="INTERLATAORIGINATING",calltype="110",answered="625",unanswered= 
"625"
prov-add:MAPTYPE:maptype="INTERLATATERMINATING",calltype="119",answered="625",unanswered= 
"653"
prov-add:MAPTYPE:maptype="INTERLATATANDEM",calltype="110",answered="625",unanswered="625"
prov-add:NODEPARMS:activate=1,statoutput=1,bafoutput=0,asciibafoutput=0, 
asciioutput=2,lookupinfo=1,bafinfo=1,dynamicaccumes=0,sup-zero-counts=0,interval-minutes= 
15,nailed-cfg=0,p01output=0,p01prefix="p01_",enable-h323=0,extasciioutput=0,nicsoutput=0
prov-add:P01FILTER:answered=1,noanswer=1,busy=1,other=1
prov-add:POLL:host-name1="va-seiko",rem-dir1="/opt/CiscoMGC/var/bam",file-prefix1="cdr*", 
file-suffix1=".bin",host-name2="va-rolex",rem-dir2="/opt/CiscoMGC/var/bam",file-prefix2= 
"cdr*",file-suffix2=".bin",action="R",interval=3,timeout=3,maxtries=3
prov-add:SKIPCDB:id=1020
prov-dply::

ASCII Output

Many mediation systems depend on input data that is preformatted as ASCII. You can configure BAMS to create ASCII records. In addition to requiring ASCII records for billing purposes, the same mediation systems might require bearer-level measurements that are produced on BAMS. In order to satisfy both requirements, BAMS can produce ASCII output that mirrors what is currently produced on the Cisco MGC.

To enable ASCII record generation on BAMS, set the parameter asciioutput in the NODEPARMS tag ID to a value of 1 for ANSI output and 2 for ITU output. See "Setup and Installation," for further details.

BAMS creates ASCII 1110 records when a call has terminated. Filenames are identical to the names that are currently used on the Cisco MGC and BAMS, with the suffix changed to "csv" (that is, comma-separated values). For example, if a Tag-Length Value (TLV) billing file on the Cisco MGC is named cdr_20000714195130_000777.bin on the Cisco MGC, any file that is produced as a result of processing this file is named cdr_20000714195130_000777.csv. Some files are created with zero records, when no calls terminate during the processing of a TLV file from the Cisco MGC.


Note To turn on the Cisco MGC End of Call ASCII 1110 output, use the NODEPARMS tag ID to set the asciioutput value in the table to 1. For example:

prov-ed:NODEPARMS:asciioutput=1


All fields for records 1110 and 1060 are written in comma-separated format. Tag 6000 (Virtual Switch Controller [VSC] ID) is collected from the 1090 Call Detail Block (CDB). The fields are written in the exact order specified in Table 6-1. When a field was not created by the Cisco MGC, because the field did not apply to the type of call recorded, a blank field or zero field is inserted as a place holder.

A normalized set of fields, or CDEs, is written for every record type, even if that record type does not contain a particular field. In this way, the end user can quickly import the CDR ASCII file into a database with standard data-importing tools. If more fields are added at a later time, they are appended to the end of the record, so you can ignore them, or modify their database import structure by simply adding fields to the end of the layout.

The accuracy selection for time points is configurable in seconds or milliseconds. When you are using ASCII output from BAMS, either choice is possible, because a place holder for each type has been provided in the ASCII formatting layout. For each type of time point, two entries are contained in the output format, one for seconds and one for milliseconds of granularity.

A downstream mediation or billing system can parse these ASCII records easily. Each record is prefixed in the ASCII file with a record identifier field. For example, an 1110 record would begin this way: 1110,1234,5678,2222

Table 6-1 ASCII Output Field Ordering: ANSI and ITU 

Field
Tag
Description
Format

1

1060, 1090, or 1110

CDB (record) identifier

Decimal

2

4000

CDB Version

Decimal

3

4001

CDB Timepoint

Seconds (decimal)

4

4002

Call Reference ID

Hex

5

4003

IAM Timepoint

Seconds (decimal)

6

4004

ACM Timepoint

Seconds (decimal)

7

4005

ANM Timepoint

Seconds (decimal)

8

4008

Originating Trunk Group

Decimal

9

4009

Originating Member

Decimal

10

4010

Calling Number

Text

11

4011

Charged Number

Text

12

4012

Dialed Number

Text

13

4014

Called Number

Text

14

4015

Terminating Trunk Group

Decimal

15

4016

Terminating Member

Decimal

16

4028

First Release Source

Decimal

17

4031

VSC Info Field

Hex

18

4100

IAM Timepoint rcvd ms

Seconds, milliseconds

19

4101

IAM Timepoint sent ms

Seconds, milliseconds

20

4102

ACM Timepoint rcvd ms

Seconds, milliseconds

21

4103

ACM Timepoint sent ms

Seconds, milliseconds

22

4104

ANM Timepoint rcvd ms

Seconds, milliseconds

23

4105

ANM Timepoint sent ms

Seconds, milliseconds

24

4106

First REL Timepoint ms

Seconds, milliseconds

25

4107

Second REL Timepoint ms

Seconds, milliseconds

26

4108

RLC Timepoint rcvd ms

Seconds, milliseconds

27

4109

RLC Timepoint sent ms

Seconds, milliseconds

28

2000

ANSI Calling Party Category

Decimal

29

2001

ANSI User Service Information

Hex

30

2003

ANSI Calling Number Nature of Address

Decimal

31

2004

ANSI Charged Number Nature of Address

Decimal

32

2005

ANSI Dialed Number Nature of Address

Decimal

33

2007

ANSI Called Number Nature of Address

Decimal

34

2008

ANSI Reason Code

Decimal

35

2013

ANSI Transit Network Selection

Hex

36

2015

ANSI Carrier Selection Parameter

Decimal

37

3000

ITU Calling Party Category

Decimal

38

3001

ITU User Service Information

Hex

39

3003

ITU Calling Number Nature of Address

Decimal

40

N.A.

Blank

N.A.

41

3005

ITU Dialed Number Nature of Address

Decimal

42

3007

ITU Called Number Nature of Address

Decimal

43

3008

ITU Reason Code

Decimal

44

6000

VSC ID

Text

45

Derived

Subscriber Duration (4106 minus (whichever is greater: 4104 or 4105))

Seconds, milliseconds

46

Derived

Network Usage Duration (whichever is greater: 4108 or 4109) minus (whichever is less: 4100 or 4101))

Seconds, milliseconds

47

4060

Redirecting Number

Decimal

48

5000

Global Call Id

Text


Correlation of Billing Information

BAMS collects information about calls with the various Primary Interexchange Carrier (PIC) CDBs; therefore, at any point in time, some calls are terminating and some calls are just being set up. BAMS must collect the information from the various records, just as with a BAF output, and then output records only upon receipt of either a long-call duration record or a call termination event.

Files and Records

The ASCII file contains the following records:

090 - File Header

110 - End of Call Record

060 - Long Call Duration Event

These files and records are written as if they had been produced from the Cisco MGC. The most significant information from the 1090 records is the VSC ID, and the time stamp and other information on that record should match corresponding entries in the 1090 record from the file that triggered the current file processing.

Extendable ASCII Output

Extendable ASCII is based on ASCII output, but it includes four supplementary fields. These fields are appended to the end of a standard comma-separated value ASCII record, to create a new extendable ASCII record.

To enable extendable ASCII record generation on BAMS, use the NODEPARMS tag ID to set the extasciioutput parameter to a value of 1 for ANSI output, or 2 for ITU output. See "Configuring Node Parameters" section for further details. For file-naming conventions, see the "Extendable ASCII Output" section.

Extendable ASCII Output Format

The following table illustrates the four additional fields that are appended to a standard ASCII record. Each record is prefixed in the extendable ASCII file with a record identifier field (e.g., an 1110 record would begin like this: 1110,1234,5678,2222). For details about the first 48 fields in an extendable ASCII record, see the "ASCII Output" section.

Table 6-2 Extendable ASCII Output Field Ordering: ANSI and ITU 

Field
Tag
Description
Format

49

2002

ANSI Originating Line Information

Hex

50

4201

Ingress SIP URL

1 to 256 characters

51

4202

Egress SIP URL

1 to 256 characters

52

4203

SIP Callid

1 to 256 characters


Operational Measurements

Defining Bucket Size

The bucket size refers to the measurements interval that is set up during installation through use of the NODEPARMS tag ID.

To change the system settings for the measurement intervals, for example, to take measurements every 5 minutes, you can update the Node Parameters table.

Refer to the "Updating the Node Parameters Table" section for further details.

Setting Up the TCA Table

Use the TCA-TBL tag ID to set up the Threshold Crossing Alarms (TCA) table. The table is used to define the types of measurements that BAMS traps and makes available to downstream processes. Refer to the "TCA-TBL Tag ID" section for TCA-TBL tag ID field names, and to "Obtaining Measurements," for required values and a detailed description of the measuring process.

When a measurement threshold is crossed, an alarm is generated. This alarm is automatically cleared when the measurement statistics fall below the boundary. You set up the conditions to be monitored using the TCA-TBL tag ID. The following example shows which parameters you would set to achieve a specific result:

Objective

Generate a threshold alarm for trunk group 008 that exceeds 10 egress call attempts during a specified interval.

Parameters

id/trkgrp = 0

Egress call attempt condition = 3 (greater than)

Egress call attempt value = 10

Result

A threshold alarm is generated every time the call attempts exceed 10 in the interval. This alarm is set only once until it is cleared. It is cleared when the number of egress call attempts in the measurement interval drops below 10.



Note Set up only those measurement conditions in the TCA table that you are interested in monitoring (that is, not all table values need to be provisioned).