Appendix B. ATM Accounting Files

This appendix shows you how to decode the ATM Accounting files you log on your LS1010 or 8500MSR ATM switches. As discussed in the ATM chapter, an LS1010 or 8500MSR ATM switch can be configured to collect data of many different traffic parameters on the virtual circuits the switch is processing. This data can be used to measure the use of each virtual circuit, so it is a useful billing mechanism. The data is collecting in files that reside on the switch. After you retrieve the file from the switch, you must decode it. This appendix discusses the details of decoding these files.

You configure your ATM switches to log values on one or more of the following variables:

atmAcctngConnectionType
atmAcctngCastType
atmAcctngIfName
atmAcctngIfAlias
atmAcctngVpi
atmAcctngVci
atmAcctngCallingParty
atmAcctngCalledParty
atmAcctngCallReference
atmAcctngStartTime
atmAcctngCollectionTime
atmAcctngCollectMode
atmAcctngReleaseCause
atmAcctngServiceCategory
atmAcctngTransmittedCells
atmAcctngTransmittedClp0Cells
atmAcctngReceivedCells
atmAcctngReceivedClp0Cells
atmAcctngTransmitTrafficDescriptorType
atmAcctngTransmitTrafficDescriptorParam1
atmAcctngTransmitTrafficDescriptorParam2
atmAcctngTransmitTrafficDescriptorParam3
atmAcctngTransmitTrafficDescriptorParam4
atmAcctngTransmitTrafficDescriptorParam5
atmAcctngReceiveTrafficDescriptorType
atmAcctngReceiveTrafficDescriptorParam1
atmAcctngReceiveTrafficDescriptorParam2
atmAcctngReceiveTrafficDescriptorParam3
atmAcctngReceiveTrafficDescriptorParam4
atmAcctngReceiveTrafficDescriptorParam5
atmAcctngCallingPartySubAddress
atmAcctngCalledPartySubAddress
atmAcctngRecordCrc16
atmAcctngTransmittedPeakCells
atmAcctngReceivedPeakCells

Please refer to the ATM-ACCOUNTING-INFORMATION-MIB for details on each of these MIB objects.

The ATM accounting file is a binary file that must be decoded into human readable data. The binary data is in ASN.1 format. At the beginning of the file is a header consisting of the following:

  • The system name (sysName)

  • A description of the collection (as set in the switch's configuration)

  • The start time of the collection

  • A list of the objects for which data was collected

The rest of the file is a series of data records that contain the values of the objects in the list.

RFC 2513 formally defines the format of the ATM account file as follows:

File ::=
   [1]
      IMPLICIT SEQUENCE {
                           -- header information
          sysName               -- name of the switch
              DisplayString,

          description           -- textual description of the collection
              DisplayString,

          startTime             -- start time of the collection

          DateAndTime,

          SEQUENCE OF {         -- sequence of (subtree, list) tuples
              SEQUENCE {
                  subtree
                      OBJECT IDENTIFIER,
                  list
                      OCTET STRING
              }
          }
                           -- sequence of connection records
          SEQUENCE OF {
                                -- each record containing a sequence
              SEQUENCE OF {     -- per identified tuple

                  SEQUENCE OF {     -- each per-tuple sequence containing
                      value         -- a sequence of object values
                          ObjectSyntax
                  }
              }
          }
      }

There is a sample C program to decode the binary file into hex located on Cisco's ftp-eng server:

ftp://ftp-eng.cisco.com/kzm/pub/

The C program acct_decode4 was used to decode a sample binary ATM accounting file, and Example B-1 shows the hex output from that program. Then, you use the definitions in the ATM-ACCOUNTING-INFORMATION-MIB, ATM-MIB and the ISO signaling specification Q.2931 to decode the output shown in Example B-1 into legible data, as shown in Example B-2.

Example B-1. Hex decode of sample binary ATM accounting file output.
% acct_decode acctng_file1
Read 4 bytes from file acctng_file1
Offset   Tag-Len Data
00000000 a1 80  SEQUENCE IMPLICIT { --- Start of Accounting Data File ----
00000002 04 0b  73 77 69 74 63 68 2d 31 32
00000015 04 13  41 63 63 6f 75 6e 74 69 6e 67
00000036 04 08  07 cc 07 14 10 05 00 00
00000046 30 82  SEQUENCE OF { SelectionEntry
00000048 30 82    SEQUENCE {Read Selection Entry of 18 bytes

00000052 06 16      subtree     2b 06 01 04 01 09 0a 12 01 01
00000063 04 16      list        {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,}
00000069 30 80    SEQUENCE OF { Start of Records

00000073 30 82    SEQUENCE OF {  ------Record #0 ------------
00000079 30 82      SEQUENCE {  Read Record tuple of 146 bytes
00000084 02 01      INTEGER     3
00000087 02 01      INTEGER     1
00000089 04 01      STRING      41 54 30 2f 30 2f 31
00000091 04 01      STRING 
00000094 02 01      INTEGER     0
00000097 02 01      INTEGER     78
00000099 04 01      STRING 
00000101 04 01      STRING      47 00 91 81 00 00 00 00 60 83 c4 2c 01 00 60 70 fa
38 23 00
00000107 02 01      INTEGER     8389197
00000109 04 01      STRING      07 cc 07 14 10 2e 04 01
00000111 04 01      STRING      07 cc 07 14 10 2e 04 01
00000114 02 01      INTEGER     1
00000117 02 01      INTEGER     16
00000120 02 01      INTEGER     6
00000123 06 01      COUNTER64   0 0
00000126 06 01      COUNTER64   0 0
00000128 06 01      OBJ ID      2b 06 01 02 01 25 01 01 02
00000134 02 01      INTEGER     16777215
00000137 02 01      INTEGER     -1
00000140 02 01      INTEGER     -1
00000143 02 01      INTEGER     0
00000146 02 01      INTEGER     0
00000148 06 01      OBJ ID      2b 06 01 02 01 25 01 01 02
00000154 02 01      INTEGER     16777215
00000157 02 01      INTEGER     -1
00000160 02 01      INTEGER     -1
00000163 02 01      INTEGER     0
00000166 02 01      INTEGER     0
00000168 30 82    SEQUENCE OF {  ------Record #1 ------------
.
.
.

The records then repeat, each record being a subsequent sample of the list of objects from the ATM-ACCOUNTING-MIB. A plain-English decode of the hex decode from Example B-1 is shown in Example B-2:

Example B-2. English translation of sample hex decode shown in Example B-1.
SysName = switch-12
Description = Accounting
Start time = 1996 July 20 16:05:00

Sub tree = 1.3.6.1.4.1.9.10.18.1.1 (atmAcctngDataObjects)

List:

1          atmAcctngConnectionType
2          atmAcctngCastType
3          atmAcctngIfName
4          atmAcctngIfAlias
5          atmAcctngVpi
6          atmAcctngVci
7          atmAcctngCallingParty
8          atmAcctngCalledParty
9          atmAcctngCallReference
10         atmAcctngStartTime
11         atmAcctngCollectionTime
12         atmAcctngCollectMode
13         atmAcctngReleaseCause
14         atmAcctngServiceCategory
15         atmAcctngTransmittedCells
17         atmAcctngReceivedCells
19         atmAcctngTransmitTrafficDescriptorType
20         atmAcctngTransmitTrafficDescriptorParam1
21         atmAcctngTransmitTrafficDescriptorParam2
22         atmAcctngTransmitTrafficDescriptorParam3
23         atmAcctngTransmitTrafficDescriptorParam4
24         atmAcctngTransmitTrafficDescriptorParam5
25         atmAcctngReceiveTrafficDescriptorType
26         atmAcctngReceiveTrafficDescriptorParam1
27         atmAcctngReceiveTrafficDescriptorParam2
28         atmAcctngReceiveTrafficDescriptorParam3
29         atmAcctngReceiveTrafficDescriptorParam4
atmAcctngReceiveTrafficDescriptorParam5

Record #0

svcIncoming(3)
point-to-point(1)
ifName = AT0/0/1
ifAlias =
VPI = 0
VCI = 78
Calling Party =
Called Party = 47.0091.8100.0000.0060.83c4.2c01.0060.70fa.3823
Call Reference = 8389197
Start Time = 1996 May 15 10:26:04.1
Collection Time = 1996 May 15 10:26:04.1
Collect Mode = onRelease
Release Cause = 16
Service Category = ubr
Transmitted Cells = 00
Received Cells = 00
Transmitted Traffic Descriptor Type = No CLP, No Sustained Cell Rate (atmNoClpNoScr)
Parameter 1 = 16777215 (CLP=0+1 peak cell rate in cells per second)
Parameter 2 = not used
Parameter 3 = not used
Parameter 4 = not used
Parameter 5 = not used
Received Traffic Descriptor Type = No CLP, No Sustained Cell Rate (atmNoClpNoScr)
Parameter 1 = 16777215 (CLP=0+1 peak cell rate in cells per second)
Parameter 2 = not used
Parameter 3 = not used
Parameter 4 = not used
Parameter 5 = not used

The rest of the records can be decoded, as shown in Examples B-2, using the same method as the first record.

As you see, it is not a simple task to turn the ATM accounting files into useful data. But the amount of data generated requires mechanisms different than simple SNMP polling. If you need billing information, however, ATM Accounting is a good mechanism to gather that data.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.17.184.90