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.



Performance and Fault Management
Performance and Fault Management: A Practical Guide to Effectively Managing Cisco Network Devices (Cisco Press Core Series)
ISBN: 1578701805
EAN: 2147483647
Year: 2005
Pages: 200

Similar book on Amazon

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net