summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc2924.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc2924.txt')
-rw-r--r--doc/rfc/rfc2924.txt2019
1 files changed, 2019 insertions, 0 deletions
diff --git a/doc/rfc/rfc2924.txt b/doc/rfc/rfc2924.txt
new file mode 100644
index 0000000..160124e
--- /dev/null
+++ b/doc/rfc/rfc2924.txt
@@ -0,0 +1,2019 @@
+
+
+
+
+
+
+Network Working Group N. Brownlee
+Request for Comments: 2924 The University of Auckland
+Category: Informational A. Blount
+ MetraTech Corp.
+ September 2000
+
+
+ Accounting Attributes and Record Formats
+
+Status of this Memo
+
+ This memo provides information for the Internet community. It does
+ not specify an Internet standard of any kind. Distribution of this
+ memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (2000). All Rights Reserved.
+
+Abstract
+
+ This document summarises Internet Engineering Task Force (IETF) and
+ International Telecommunication Union (ITU-T) documents related to
+ Accounting. A classification scheme for the Accounting Attributes in
+ the summarised documents is presented. Exchange formats for
+ Accounting data records are discussed, as are advantages and
+ disadvantages of integrated versus separate record formats and
+ transport protocols. This document discusses service definition
+ independence, extensibility, and versioning. Compound service
+ definition capabilities are described.
+
+Table of Contents
+
+ 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
+ 2. Terminology and Notation . . . . . . . . . . . . . . . . . . . 3
+ 3. Architecture Model . . . . . . . . . . . . . . . . . . . . . . 4
+ 4. IETF Documents . . . . . . . . . . . . . . . . . . . . . . . . 4
+ 4.1. RADIUS . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
+ 4.1.1. RADIUS Attributes . . . . . . . . . . . . . . . . . . . . 5
+ 4.2. DIAMETER . . . . . . . . . . . . . . . . . . . . . . . . . . 6
+ 4.2.1. DIAMETER Attributes . . . . . . . . . . . . . . . . . . . 7
+ 4.3. ROAMOPS . . . . . . . . . . . . . . . . . . . . . . . . . . 8
+ 4.4. RTFM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
+ 4.4.1. RTFM Attributes . . . . . . . . . . . . . . . . . . . . . 9
+ 4.5. ISDN MIB . . . . . . . . . . . . . . . . . . . . . . . . . . 10
+ 4.5.1. ISDN Attributes . . . . . . . . . . . . . . . . . . . . . 10
+ 4.6. AToMMIB . . . . . . . . . . . . . . . . . . . . . . . . . . 11
+ 4.6.1. AToMMIB Attributes . . . . . . . . . . . . . . . . . . . . 11
+
+
+
+Brownlee & Blount Informational [Page 1]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ 4.7. QoS: RSVP and DIFFSERV . . . . . . . . . . . . . . . . . . . 12
+ 4.7.1. QoS: RSVP and DIFFSERV Attributes . . . . . . . . . . . . 13
+ 5. ITU-T Documents . . . . . . . . . . . . . . . . . . . . . . . 13
+ 5.1. Q.825: Call Detail Recording . . . . . . . . . . . . . . . . 13
+ 5.2. Q.825 Attributes . . . . . . . . . . . . . . . . . . . . . . 14
+ 6. Other Documents . . . . . . . . . . . . . . . . . . . . . . . 18
+ 6.1. TIPHON: ETSI TS 101 321 . . . . . . . . . . . . . . . . . . 18
+ 6.2. MSIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
+ 7. Accounting File and Record Formats . . . . . . . . . . . . . . 19
+ 7.1. ASN.1 Records . . . . . . . . . . . . . . . . . . . . . . . 19
+ 7.1.1. RTFM and AToMMIB . . . . . . . . . . . . . . . . . . . . . 19
+ 7.1.2. Q.825 . . . . . . . . . . . . . . . . . . . . . . . . . . 20
+ 7.2. Binary Records . . . . . . . . . . . . . . . . . . . . . . . 20
+ 7.2.1. RADIUS . . . . . . . . . . . . . . . . . . . . . . . . . . 20
+ 7.2.2. DIAMETER . . . . . . . . . . . . . . . . . . . . . . . . . 20
+ 7.3. Text Records . . . . . . . . . . . . . . . . . . . . . . . . 21
+ 7.3.1. ROAMOPS . . . . . . . . . . . . . . . . . . . . . . . . . 21
+ 8. AAA Requirements . . . . . . . . . . . . . . . . . . . . . . . 22
+ 8.1. A Well-defined Set of Attributes . . . . . . . . . . . . . . 22
+ 8.2. A Simple Interchange Format . . . . . . . . . . . . . . . . 23
+ 9. Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
+ 9.1. Record Format vs. Protocol . . . . . . . . . . . . . . . . . 24
+ 9.2. Tagged, Typed Data . . . . . . . . . . . . . . . . . . . . . 24
+ 9.2.1. Standard Type Definitions . . . . . . . . . . . . . . . . 25
+ 9.3. Transaction Identifiers . . . . . . . . . . . . . . . . . . 26
+ 9.4. Service Definitions . . . . . . . . . . . . . . . . . . . . 26
+ 9.4.1. Service Independence . . . . . . . . . . . . . . . . . . . 27
+ 9.4.2. Versioned Service Definitions . . . . . . . . . . . . . . 29
+ 9.4.3. Relationships Among Usage Events . . . . . . . . . . . . . 29
+ 9.4.4. Service Namespace Management . . . . . . . . . . . . . . . 30
+ 10. Encodings . . . . . . . . . . . . . . . . . . . . . . . . . . 30
+ 11. Security Considerations . . . . . . . . . . . . . . . . . . . 31
+ 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 31
+ 13. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 35
+ 14. Full Copyright Statement . . . . . . . . . . . . . . . . . . 36
+
+1. Introduction
+
+ This document summarises IETF and ITU-T documents related to
+ Accounting. For those documents which describe Accounting Attributes
+ (i.e. quantities which can be measured and reported), an Attribute
+ Summary is given. Although several of the documents describe
+ Attributes which are similar, no attempt is made to identify those
+ which are the same in several documents. An extensible
+ classification scheme for AAA Accounting Attributes is proposed; it
+ is a superset of the attributes in all the documents summarised.
+
+
+
+
+
+Brownlee & Blount Informational [Page 2]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ Many existing accounting record formats and protocols [RAD-ACT]
+ [TIPHON] are of limited use due to their single-service descriptive
+ facilities and lack of extensibility. While some record formats and
+ protocols support extensible attributes [RAD-ACT], none provide
+ identification, type checking, or versioning support for defined
+ groupings of attributes (service definitions). This document makes a
+ case for well-defined services.
+
+ Advantages and disadvantages of integrated versus separate record
+ formats and transport protocols are discussed. This document
+ discusses service definition independence, extensibility, and
+ versioning. Compound service definition capabilities are described.
+
+2. Terminology and Notation
+
+ The following terms are used throughout the document.
+
+ Accounting Server
+ A network element that accepts Usage Events from Service Elements.
+ It acts as an interface to back-end rating, billing, and
+ operations support systems.
+
+ Attribute-Value Pair (AVP)
+ A representation for a Usage Attribute consisting of the name of
+ the Attribute and a value.
+
+ Property
+ A component of a Usage Event. A Usage Event describing a phone
+ call, for instance, might have a "duration" Property.
+
+ Service
+ A type of task that is performed by a Service Element for a
+ Service Consumer.
+
+ Service Consumer
+ Client of a Service Element. End-user of a network service.
+
+ Service Definition
+ A specification for a particular service. It is composed of a
+ name or other identifier, versioning information, and a collection
+ of Properties.
+
+ Service Element
+ A network element that provides a service to Service Consumers.
+ Examples include RAS devices, voice and fax gateways, conference
+ bridges.
+
+
+
+
+
+Brownlee & Blount Informational [Page 3]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ Usage Attribute
+ A component of a Usage Event that describes some metric of service
+ usage.
+
+ Usage Event
+ The description of an instance of service usage.
+
+3. Architecture Model
+
+ Service Elements provide Services to Service Consumers. Before,
+ while, and/or after services are provided, the Service Element
+ reports Usage Events to an Accounting Server. Alternately, the
+ Accounting Server may query the Service Element for Usage Events.
+ Usage events are sent singly or in bulk.
+
+ +------------+ +-----------+ +------------+
+ | Service |<----->| Service | Usage Events | Accounting |
+ | Consumer | +-->| Element |------------->| Server |
+ +------------+ | +-----------+ +------------+
+ |
+ +------------+ |
+ | Service |<--+
+ | Consumer |
+ +------------+
+
+ Accounting Servers may forward Usage Events to other systems,
+ possibly in other administrative domains. These transfers are not
+ addressed by this document.
+
+4. IETF Documents
+
+ In March 1999 there were at least 19 Internet Drafts and 8 RFCs
+ concerned with Accounting. These are summarised (by working group)
+ in the following sections.
+
+4.1. RADIUS
+
+ The RADIUS protocol [RAD-PROT] carries authentication, authorization
+ and configuration information between a Network Access Server (NAS)
+ and an authentication server. Requests and responses carried by the
+ protocol are expressed in terms of RADIUS attributes such as User-
+ Name, Service-Type, and so on. These attributes provide the
+ information needed by a RADIUS server to authenticate users and to
+ establish authorized network service for them.
+
+ The protocol was extended to carry accounting information between a
+ NAS and a shared accounting server. This was achieved by defining a
+ set of RADIUS accounting attributes [RAD-ACT].
+
+
+
+Brownlee & Blount Informational [Page 4]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ RADIUS packets have a short header containing the RADIUS packet type
+ and authenticator (sixteen octets) and length, followed by a sequence
+ of (Type, Length, Value) triples, one for each attribute.
+
+ RADIUS is very widely used, and a number of significant new
+ extensions to it have been proposed. For example [RAD-EXT] discusses
+ extensions to implement the Extensible Authentication Protocol (EAP)
+ and the Apple Remote Access Protocol (ARAP). [RAD-TACC] discusses
+ extensions to permit RADIUS to interwork effectively with tunnels
+ using protocols such as PPTP and L2TP.
+
+4.1.1. RADIUS Attributes
+
+ Each RADIUS attribute is identified by an 8-bit number, referred to
+ as the RADIUS Type field. Up-to-date values of this field are
+ specified in the most recent Assigned Numbers RFC [ASG-NBR], but the
+ current list is as follows:
+
+ RADIUS Attributes [RAD-PROT] 36 Login-LAT-Group
+ 37 Framed-AppleTalk-Link
+ 1 User-Name 38 Framed-AppleTalk-Network
+ 2 User-Password 39 Framed-AppleTalk-Zone
+ 3 CHAP-Password
+ 4 NAS-IP-Address 60 CHAP-Challenge
+ 5 NAS-Port 61 NAS-Port-Type
+ 6 Service-Type 62 Port-Limit
+ 7 Framed-Protocol 63 Login-LAT-Port
+ 8 Framed-IP-Address
+ 9 Framed-IP-Netmask RADIUS Accounting Attributes
+ 10 Framed-Routing [RAD-ACT]
+ 11 Filter-Id
+ 12 Framed-MTU 40 Acct-Status-Type
+ 13 Framed-Compression 41 Acct-Delay-Time
+ 14 Login-IP-Host 42 Acct-Input-Octets
+ 15 Login-Service 43 Acct-Output-Octets
+ 16 Login-TCP-Port 44 Acct-Session-Id
+ 17 (unassigned) 45 Acct-Authentic
+ 18 Reply-Message 46 Acct-Session-Time
+ 19 Callback-Number 47 Acct-Input-Packets
+ 20 Callback-Id 48 Acct-Output-Packets
+ 21 (unassigned) 49 Acct-Terminate-Cause
+ 22 Framed-Route 50 Acct-Multi-Session-Id
+ 23 Framed-IPX-Network 51 Acct-Link-Count
+ 24 State
+ 25 Class RADIUS Extension Attributes
+ 26 Vendor-Specific [RAD-EXT]
+ 27 Session-Timeout
+ 28 Idle-Timeout 52 Acct-Input-Gigawords
+
+
+
+Brownlee & Blount Informational [Page 5]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ 29 Termination-Action 53 Acct-Output-Gigawords
+ 30 Called-Station-Id 54 Unused
+ 31 Calling-Station-Id 55 Event-Timestamp
+ 32 NAS-Identifier
+ 33 Proxy-State 70 ARAP-Password
+ 34 Login-LAT-Service 71 ARAP-Features
+ 35 Login-LAT-Node 72 ARAP-Zone-Access
+ 73 ARAP-Security
+ 74 ARAP-Security-Data
+ 75 Password-Retry
+ 76 Prompt
+ 77 Connect-Info
+ 78 Configuration-Token
+ 79 EAP-Message
+ 80 Message-Authenticator
+
+ 84 ARAP-Challenge-Response
+ 85 Acct-Interim-Interval
+ 87 NAS-Port-Id
+ 88 Framed-Pool
+
+ RADIUS Tunneling Attributes
+ [RAD-TACC]
+
+ 64 Tunnel-Type
+ 65 Tunnel-Medium-Type
+ 66 Tunnel-Client-Endpoint
+ 67 Tunnel-Server-Endpoint
+ 68 Acct-Tunnel-Connection
+ 69 Tunnel-Password
+
+ 81 Tunnel-Private-Group-ID
+ 82 Tunnel-Assignment-ID
+ 83 Tunnel-Preference
+
+ 90 Tunnel-Client-Auth-ID
+ 91 Tunnel-Server-Auth-ID
+
+4.2. DIAMETER
+
+ The DIAMETER framework [DIAM-FRAM] defines a policy protocol used by
+ clients to perform Policy, AAA and Resource Control. This allows a
+ single server to handle policies for many services. The DIAMETER
+ protocol consists of a header followed by objects. Each object is
+ encapsulated in a header known as an Attribute-Value Pair (AVP).
+
+
+
+
+
+
+Brownlee & Blount Informational [Page 6]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ DIAMETER defines a base protocol that specifies the header formats,
+ security extensions and requirements as well as a small number of
+ mandatory commands and AVPs. A new service can extend DIAMETER by
+ extending the base protocol to support new functionality.
+
+ One key differentiator with DIAMETER is its inherent support for
+ Inter-Server communication. Although this can be achieved in a
+ variety of ways, the most useful feature is the ability to "proxy"
+ messages across a set of DIAMETER servers (known as a proxy chain).
+
+ The DIAMETER Accounting Extension document [DIAM-ACT] extends
+ DIAMETER by defining a protocol for securely transferring accounting
+ records over the DIAMETER base protocol. This includes the case
+ where accounting records may be passed through one or more
+ intermediate proxies, in accordance with the 'referral broker' model.
+
+ The DIAMETER accounting protocol [DIAM-ACT] defines DIAMETER records
+ for transferring an ADIF record (see below). It introduces five new
+ attributes (480..485) which specify the way in which accounting
+ information is to be delivered between DIAMETER servers.
+
+4.2.1. DIAMETER Attributes
+
+ DIAMETER AVPs are identified by a 16-bit number defined in [DIAM-
+ AUTH]. Since most of the AVPs found in that document were copied
+ from the RADIUS protocol [RAD-PROT], it is possible to have both
+ RADIUS and DIAMETER servers read the same dictionary and users files.
+
+ The backward compatibility that DIAMETER offers is intended to
+ facilitate deployment. To this end, DIAMETER inherits the RADIUS
+ attributes, and adds only a few of its own.
+
+ In the list below attribute numbers which are used for RADIUS
+ attributes but not for DIAMETER are indicated with a star (*).
+ RADIUS attributes used by DIAMETER are not listed again here.
+
+ The DIAMETER attributes are:
+
+ 4 (unassigned, *)
+ 17 (unassigned)
+ 21 (unassigned)
+ 24 (unassigned, *)
+ 25 (unassigned, *)
+ 27 (unassigned, *)
+ 32 (unassigned, *)
+ 33 (unassigned, *)
+ 280 Filter-Rule
+ 281 Framed-Password-Policy
+
+
+
+Brownlee & Blount Informational [Page 7]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ 480 Accounting-Record-Type
+ 481 ADIF-Record
+ 482 Accounting-Interim-Interval
+ 483 Accounting-Delivery-Max-Batch
+ 484 Accounting-Delivery-Max-Delay
+ 485 Accounting-Record-Number
+
+ 600 SIP-Sequence
+ 601 SIP-Call-ID
+ 602 SIP-To
+ 603 SIP-From
+
+4.3. ROAMOPS
+
+ [ROAM-IMPL] reviews the design and functionality of existing roaming
+ implementations. "Roaming capability" may be loosely defined as the
+ ability to use any one of multiple Internet service providers (ISPs),
+ while maintaining a formal customer-vendor relationship with only
+ one. One requirement for successful roaming is the provision of
+ effective accounting.
+
+ [ROAM-ADIF] proposes a standard accounting record format, the
+ Accounting Data Interchange Format (ADIF), which is designed to
+ compactly represent accounting data in a protocol-independent manner.
+ As a result, ADIF may be used to represent accounting data from any
+ protocol using attribute value pairs (AVPs) or variable bindings.
+
+ ADIF does not define accounting attributes of its own. Instead, it
+ gives examples of accounting records using the RADIUS accounting
+ attributes.
+
+4.4. RTFM
+
+ The RTFM Architecture [RTFM-ARC] provides a general method of
+ measuring network traffic flows between "metered traffic groups".
+ Each RTFM flow has a set of "address" attributes, which define the
+ traffic groups at each of the flow's end-points.
+
+ As well as address attributes, each flow has traffic-related
+ attributes, e.g. times of first and last packets, counts for packets
+ and bytes in each direction.
+
+ RTFM flow measurements are made by RTFM meters [RTFM-MIB] and
+ collected by RTFM meter readers using SNMP. The MIB uses a
+ "DataPackage" convention, which specifies the attribute values to be
+ read from a flow table row. The meter returns the values for each
+
+
+
+
+
+Brownlee & Blount Informational [Page 8]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ required attribute within a BER-encoded sequence. This means there
+ is only one object identifier for the whole sequence, greatly
+ reducing the number of bytes required to retrieve the data.
+
+4.4.1. RTFM Attributes
+
+ RTFM attributes are identified by a 16-bit attribute number.
+
+ The RTFM Attributes are:
+
+ 0 Null
+ 1 Flow Subscript Integer Flow table info
+
+ 4 Source Interface Integer Source Address
+ 5 Source Adjacent Type Integer
+ 6 Source Adjacent Address String
+ 7 Source Adjacent Mask String
+ 8 Source Peer Type Integer
+ 9 Source Peer Address String
+ 10 Source Peer Mask String
+ 11 Source Trans Type Integer
+ 12 Source Trans Address String
+ 13 Source Trans Mask String
+
+ 14 Destination Interface Integer Destination Address
+ 15 Destination Adjacent Type Integer
+ 16 Destination Adjacent Address String
+ 17 Destination AdjacentMask String
+ 18 Destination PeerType Integer
+ 19 Destination PeerAddress String
+ 20 Destination PeerMask String
+ 21 Destination TransType Integer
+ 22 Destination TransAddress String
+ 23 Destination TransMask String
+
+ 26 Rule Set Number Integer Meter attribute
+
+ 27 Forward Bytes Integer Source-to-Dest counters
+ 28 Forward Packets Integer
+ 29 Reverse Bytes Integer Dest-to-Source counters
+ 30 Reverse Packets Integer
+ 31 First Time Timestamp Activity times
+ 32 Last Active Time Timestamp
+ 33 Source Subscriber ID String Session attributes
+ 34 Destination Subscriber ID String
+ 35 Session ID String
+
+
+
+
+
+Brownlee & Blount Informational [Page 9]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ 36 Source Class Integer "Computed" attributes
+ 37 Destination Class Integer
+ 38 Flow Class Integer
+ 39 Source Kind Integer
+ 40 Destination Kind Integer
+ 41 Flow Kind Integer
+
+ 50 MatchingStoD Integer PME variable
+
+ 51 v1 Integer Meter Variables
+ 52 v2 Integer
+ 53 v3 Integer
+ 54 v4 Integer
+ 55 v5 Integer
+
+ 65-127 "Extended" attributes
+ (to be defined by the RTFM working group)
+
+4.5. ISDN MIB
+
+ The ISDN MIB [ISDN-MIB] defines a minimal set of managed objects for
+ SNMP-based management of ISDN terminal interfaces. It does not
+ explicitly define anything related to accounting, however it does
+ define isdnBearerChargedUnits as
+
+ The number of charged units for the current or last connection.
+ For incoming calls or if charging information is not supplied by
+ the switch, the value of this object is zero.
+
+ This allows for an ISDN switch to convert its traffic flow data (such
+ as Call Connect Time) into charging data.
+
+4.5.1. ISDN Attributes
+
+ The relevant object in the MIB is the ISDN bearer table, which has
+ entries in the following form:
+
+ IsdnBearerEntry ::=
+ SEQUENCE {
+ isdnBearerChannelType INTEGER,
+ isdnBearerOperStatus INTEGER,
+ isdnBearerChannelNumber INTEGER,
+ isdnBearerPeerAddress DisplayString,
+ isdnBearerPeerSubAddress DisplayString,
+ isdnBearerCallOrigin INTEGER,
+ isdnBearerInfoType INTEGER,
+ isdnBearerMultirate TruthValue,
+ isdnBearerCallSetupTime TimeStamp,
+
+
+
+Brownlee & Blount Informational [Page 10]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ isdnBearerCallConnectTime TimeStamp,
+ isdnBearerChargedUnits Gauge32
+ }
+
+4.6. AToMMIB
+
+ The "ATM Accounting Information MIB" document [ATM-ACT] describes a
+ large set of accounting objects for ATM connections. An
+ administrator may select objects from this set using a selector of
+ the form (subtree, list) where "subtree" specifies an object
+ identifier from the AToMMIB. For each subtree there is a table
+ holding values for each ATM connection. The required connections are
+ indicated by setting bits in "list", which is an octet string. For
+ example, the set containing the number of received cells for the
+ first eight ATM connections would be selected by
+ (atmAcctngReceivedCells, 0xFF).
+
+ The Connection-Oriented Accounting MIB document [ATM-COLL] defines a
+ MIB providing managed objects used for controlling the collection and
+ storage of accounting information for connection-oriented networks
+ such as ATM. The accounting data is collected into files for later
+ retrieval via a file transfer protocol. Records within an accounting
+ file are stored as BER strings [ASN1, BER].
+
+4.6.1. AToMMIB Attributes
+
+ Accounting data objects within the AToMMBIB are identified by the
+ last integer in their object identifiers.
+
+ The ATM accounting data objects are:
+
+ 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
+ 16 atmAcctngTransmittedClp0Cells
+ 17 atmAcctngReceivedCells
+
+
+
+Brownlee & Blount Informational [Page 11]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ 18 atmAcctngReceivedClp0Cells
+ 19 atmAcctngTransmitTrafficDescriptorType
+ 20 atmAcctngTransmitTrafficDescriptorParam1
+ 21 atmAcctngTransmitTrafficDescriptorParam2
+ 22 atmAcctngTransmitTrafficDescriptorParam3
+ 23 atmAcctngTransmitTrafficDescriptorParam4
+ 24 atmAcctngTransmitTrafficDescriptorParam5
+ 25 atmAcctngReceiveTrafficDescriptorType
+ 26 atmAcctngReceiveTrafficDescriptorParam1
+ 27 atmAcctngReceiveTrafficDescriptorParam2
+ 28 atmAcctngReceiveTrafficDescriptorParam3
+ 29 atmAcctngReceiveTrafficDescriptorParam4
+ 30 atmAcctngReceiveTrafficDescriptorParam5
+ 31 atmAcctngCallingPartySubAddress
+ 32 atmAcctngCalledPartySubAddress
+ 33 atmAcctngRecordCrc16
+
+4.7. QoS: RSVP and DIFFSERV
+
+ As we move towards providing more than simple "best effort"
+ connectivity, there has been a tremendous surge of interest in (and
+ work on) protocols to provide managed Quality of Service for Internet
+ sessions. This is of particular interest for the provision of
+ "Integrated Services", i.e. the transport of audio, video, real-time,
+ and classical data traffic within a single network infrastructure.
+
+ Two approaches to this have emerged so far:
+
+ - the Integrated Services architecture (intserv) [IIS-ARC], with its
+ accompanying signaling protocol, RSVP [RSVP-ARC], and RSVP's
+ Common Open Policy Service protocol, COPS [RAP-COPS]
+
+ - the Differentiated Services architecture (diffserv) [DSRV-ARC]
+
+ RSVP is a signaling protocol that applications may use to request
+ resources from the network. The network responds by explicitly
+ admitting or rejecting RSVP requests. Certain applications that have
+ quantifiable resource requirements express these requirements using
+ intserv parameters [IIS-SPEC].
+
+ Diffserv networks classify packets into one of a small number of
+ aggregated flows or "classes", based on the diffserv codepoint (DSCP)
+ in the packet's IP header. At each diffserv router, packets are
+ subjected to a "per-hop behavior" (PHB), which is invoked by the
+ DSCP. Since RSVP is purely a requirements signalling protocol it can
+ also be used to request connections from a diffserv network [RS-DS-
+ OP].
+
+
+
+
+Brownlee & Blount Informational [Page 12]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+4.7.1. RSVP and DIFFSERV Attributes
+
+ A set of parameters for specifying a requested Quality of Service are
+ given in [IIS-SPEC]. These have been turned into accounting
+ attributes within RTFM [RTFM-NEWA] and within the RSVP MIB [RSVP-
+ MIB].
+
+ The RTFM QoS attributes are:
+
+ 98 QoSService
+ 99 QoSStyle
+ 100 QoSRate
+ 101 QoSSlackTerm
+ 102 QoSTokenBucketRate
+ 103 QoSTokenBucketSize
+ 104 QoSPeakDataRate
+ 105 QoSMinPolicedUnit
+ 106 QoSMaxPolicedUnit
+
+ The RSVP MIB contains a large number of objects, arranged within the
+ following sections:
+
+ General Objects
+ Session Statistics Table
+ Session Sender Table
+ Reservation Requests Received Table
+ Reservation Requests Forwarded Table
+ RSVP Interface Attributes Table
+ RSVP Neighbor Table
+
+ The Session tables contain information such as the numbers of senders
+ and receivers for each session, while the Reservation Requests tables
+ contain details of requests handled by the RSVP router. There are
+ too many objects to list here, but many of them could be used for
+ accounting. In particular, RSVP Requests contain the specification
+ of the service parameters requested by a user; these, together with
+ the actual usage data for the connection make up an accounting record
+ for that usage.
+
+5. ITU-T Documents
+
+5.1. Q.825: Call Detail Recording
+
+ ITU-T Recommendation Q.825 specifies how CDRs (Call Detail Records)
+ are produced and managed in Network Elements for POTS, ISDN and IN
+ (Intelligent Networks).
+
+ Uses of Call Detail information for various purposes are discussed.
+
+
+
+Brownlee & Blount Informational [Page 13]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ Each call produces one or more records describing events that
+ occurred during the life of a call. Data may be produced in real
+ time (single CDRs), near real-time (blocks of CDRs), or as batch
+ files of CDRs.
+
+ The information model for Call Detail Recording is formally described
+ in terms of an Entity-Relationship model, and an object model
+ specified in terms of GDMO templates (Guidelines for the Definition
+ of Managed Objects). Note that this model includes the ways in which
+ CDRs are transported from the (NE) Network Element where they are
+ generated to the OS (Operations System) where they are used.
+
+5.2. Q.825 Attributes
+
+ The following attributes are defined. The explanations given are
+ very brief summaries only, see [Q-825] for the complete text.
+
+ 1 accessDelivery
+ Indicates that the call was delivered to the called subscriber
+
+ 2 accountCodeInput
+ Account code (for billing), supplied by subscriber.
+
+ 78 additionalParticipantInfo
+ (No details given)
+
+ 5 b-PartyCategory
+ Subscriber category for called subscriber.
+
+ 4 bearerService
+ Bearer capability information (only for ISDN calls).
+
+ 13 cDRPurpose
+ Reason for triggering this Call Data Record.
+
+ 70 callDetailDataId
+ Unique identifier for the CallDetailData object.
+
+ 79 callDuration
+ Duration of call
+
+ 6 callIdentificationNumber
+ Identification number for call; all records produced for this
+ call have the same callIdenfificationNumber.
+
+ 73 callStatus
+ Identifies whether the call was answered or not.
+
+
+
+
+Brownlee & Blount Informational [Page 14]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ 9 calledPartyNumber
+ Telephone number of the called subscriber (may be a
+ "diverted-to" or "translated" number.
+
+ 7 callingPartyCategory
+ Calling subscriber category.
+
+ 8 callingPartyNumber
+ Telephone number of the calling party.
+
+ 10 callingPartyNumberNotScreened
+ An additional, user-provided (not screened) number to the
+ calling party.
+
+ 11 callingPartyType
+ Calling subscriber type.
+
+ 74 carrierId
+ Carrier ID to which the call is sent.
+
+ 12 cause
+ Cause and location value for the termination of the call.
+
+ 14 chargedDirectoryNumber
+ Charged directory number (where the charged participant
+ element can't indicate the number).
+
+ 16 chargedParticipant
+ Participant to be charged for the usage.
+
+ 15 chargingInformation
+ Charging information generated by a Network Element which is
+ capable of charging.
+
+ 17 configurationMask
+ Time consumption, e.g. from B-answer to termination time,
+ between partial call records, etc.
+
+ 18 conversationTime
+ Time consumption from B-answer to end of call.
+
+ 19 creationTriggerList
+ List of trigger values which will create Call Detail data
+ objects.
+
+ 75 dPC
+ Destination point code (for analysis purposes).
+
+
+
+
+Brownlee & Blount Informational [Page 15]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ 20 dataValidity
+ Indicates that the NE is having problems, contents of the
+ generated Call Detail record is not reliable.
+
+ 23 durationTimeACM
+ Time consumption from seizure until received ACM.
+
+ 21 durationTimeB-Answer
+ Time consumption from seizure until B-answer.
+
+ 22 durationTimeNoB-Answer
+ Time from seizure to termination when no B-answer was
+ received.
+
+ 25 exchangeInfo
+ Identity of exchange where Call Detail record was generated.
+
+ 26 fallbackBearerService
+ Fallback bearer capability information for a call.
+
+ 27 glare
+ Indicates if a glare condition was encountered.
+
+ 31 iNServiceInformationList
+ Contains information about the use of IN (Intelligent Network)
+ services.
+
+ 32 iNSpecificInformation
+ Contains information about the use of one IN service.
+
+ 33 iSUPPreferred
+ Indicate whether an ISUP preference was requested.
+
+ 28 immediateNotificationForUsageMetering
+ Indicates that the Call Detail records requires
+ immediate data transfer to the Operations System.
+
+ 34 maxBlockSize
+ Maximum number of Call Detail records in a block.
+
+ 35 maxTimeInterval
+ Maximum latency allowable for near-real-time Call Detail
+ data delivery.
+
+ 36 networkManagementControls
+ Indicates which Traffic Management Control has affected
+ the call.
+
+
+
+
+Brownlee & Blount Informational [Page 16]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ 37 networkProviderId
+ Indicates the Network Provider for whom the CDR is generated.
+
+ 76 oPC
+ Originating point code for a failed call (for analysis
+ purposes).
+
+ 38 operatorSpecific1AdditionalNumber
+ 40 operatorSpecific2AdditionalNumber
+ 42 operatorSpecific3AdditionalNumber
+ Operator-defined additional participant information.
+
+ 39 operatorSpecific1Number
+ 41 operatorSpecific2Number
+ 43 operatorSpecific3Number
+ Operator-defined participant information.
+
+ 44 originalCalledNumber
+ Telephone number of the original called party.
+
+ 45 partialGeneration
+ Included if the CDR (Call Detail record) output is partial.
+ Such CDRs have a field indicating their partial record number.
+
+ 77 participantInfo
+ (No details given).
+
+ 46 percentageToBeBilled
+ Percentage to be billed when normal billing rules are
+ not to be followed.
+
+ 47 periodicTrigger
+ Defines the intervals at which the CDR file should be created.
+
+ 48 personalUserId
+ Internationally unique personal User Identity (for UPT calls).
+
+ 49 physicalLineCode
+ Identifies the call subscriber's physical line.
+
+ 50 progress
+ Describes an event which occurred during the life of a call.
+
+ 51 queueInfo
+ Used to record usage of queueing resources with IN calls.
+
+
+
+
+
+
+Brownlee & Blount Informational [Page 17]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ 52 receivedDigits
+ The digits dialed by the subscriber. (Normally only included
+ for customer care purposes).
+
+ 53 recordExtensions
+ Information elements added by network operators and/or
+ manufacturers in addition to the standard ones above.
+
+6. Other Documents
+
+6.1. TIPHON: ETSI TS 101 321
+
+ TIPHON [TIPHON] is an XML-based protocol, carried by HTTP, which
+ handles accounting and authorization requests and responses.
+
+ The following are elements selected from TIPHON's DTD that are used
+ for accounting.
+
+ <!ELEMENT Currency (#PCDATA)> <!ELEMENT Amount (#PCDATA)>
+ Identifies a numeric value. Expressed using the period (.) as a
+ decimal separator with no punctuation as the thousands separator.
+
+ <!ELEMENT CallId (#PCDATA)>
+ Contains a call's H.323 CallID value, and is thus used to
+ uniquely identify individual calls.
+
+ <!ELEMENT Currency (#PCDATA)>
+ Defines the financial currency in use for the parent element.
+
+ <!ELEMENT DestinationInfo type ( e164 | h323 | url | email |
+ transport | international |
+ national | network | subscriber |
+ abbreviated | e164prefix )
+ Gives the primary identification of the destination for a call.
+
+ <!ELEMENT Increment (#PCDATA)>
+ Indicates the number of units being accounted.
+
+ <!ELEMENT Service EMPTY>
+ Indicates a type of service being priced, authorized, or
+ reported. An empty Service element indicates basic Internet
+ telephony service, which is the only service type defined by
+ V1.4.2 of the specification. The specification notes that "Later
+ revisions of this standard are expected to specify more enhanced
+ service definitions to represent quality of service,
+ availability, payment methods, etc."
+
+
+
+
+
+Brownlee & Blount Informational [Page 18]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ <!ELEMENT DestinationInfo type ( e164 | h323 | url | email |
+ transport | international |
+ national | network | subscriber |
+ abbreviated | e164prefix)
+ Gives the primary identification of the source of a call.
+
+
+ <!ELEMENT Timestamp (#PCDATA)>
+ A restricted form of [ISO-DATE] that indicates the time at which
+ the component was generated.
+
+ <!ELEMENT TransactionId (#PCDATA)>
+ Contains an integer, decimal valued identifier assigned to a
+ specific authorized transaction.
+
+ <!ELEMENT Unit (#PCDATA)>
+ Indicates the units by which pricing is measured or usage
+ recorded. It shall contain one of the following values:
+ s seconds
+ p packets (datagrams)
+ byte bytes
+
+ <!Element UsageDetail ( Service, Amount, Increment, Unit ) >
+ Collects information describing the usage of a service.
+
+6.2. MSIX
+
+ MSIX [MSIX-SPEC] is an XML-based protocol transported by HTTP that is
+ used to make accounting service definitions and transmit service
+ usage information. As its service definitions are parameterized and
+ dynamic, it makes no definition of services or attributes itself, but
+ allows implementors to make their own. It specifies only the base
+ data types that attributes may take: STRING, UNISTRING, INT32, FLOAT,
+ DOUBLE, BOOLEAN, TIMESTAMP.
+
+7. Accounting File and Record Formats
+
+7.1. ASN.1 Records
+
+7.1.1. RTFM and AToMMIB
+
+ RTFM and AToMMIB use ASN.1 Basic Encoding Rules (BER) to encode lists
+ of attributes into accounting records. RTFM uses SNMP to retrieve
+ such records as BER strings, thus avoiding having to have an object
+ identifier for every object.
+
+
+
+
+
+
+Brownlee & Blount Informational [Page 19]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ AToMMIB carries this a stage further by defining an accounting file
+ format in ASN.1 and making it available for retrieval by a file
+ transfer protocol, thereby providing a more efficient alternative to
+ simply retrieving the records using SNMP.
+
+7.1.2. Q.825
+
+ A Q.825 Call Record is an ASN.1 SET containing a specified group of
+ the Q.825 attributes. Call records would presumably be encoded as
+ BER strings before being collected for later processing.
+
+7.2. Binary Records
+
+7.2.1. RADIUS
+
+ Radius packets carry a sequence of attributes and their values, as
+ (Type, Length, Value) triples. The format of the value field is one
+ of four data types.
+
+ string 0-253 octets
+
+ address 32 bit value, most significant octet first.
+
+ integer 32 bit value, most significant octet first.
+
+ time 32 bit value, most significant octet first -- seconds
+ since 00:00:00 GMT, January 1, 1970. The standard
+ Attributes do not use this data type but it is presented
+ here for possible use within Vendor-Specific attributes.
+
+7.2.2. DIAMETER
+
+ Each DIAMETER message consists of multiple AVP's that are 32-bit
+ aligned, with the following format:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | AVP Code |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | AVP Length | Reserved |P|T|V|R|M|
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Vendor ID (opt) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Tag (opt) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Data ...
+ +-+-+-+-+-+-+-+-+
+
+
+
+Brownlee & Blount Informational [Page 20]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ Code
+ The AVP Code identifies the attribute uniquely. If the Vendor-
+ Specific bit is set, the AVP Code is allocated from the
+ vendor's private address space.
+
+ The first 256 AVP numbers are reserved for backward
+ compatibility with RADIUS and are to be interpreted as per
+ RADIUS [RAD-PROT]. AVP numbers 256 and above are used for
+ DIAMETER, which are allocated by IANA.
+
+ AVP Length
+ A 16-bit field contains the total object length in bytes.
+ Must always be a multiple of 4, and at least 8.
+
+ AVP Flags
+ P Protected bit
+ T Tag bit
+ V Vendor-ID bit
+ R Reserved (MUST be set to 0)
+ M Mandatory bit
+
+7.3. Text Records
+
+7.3.1. ROAMOPS
+
+ ADIF (Accounting Data Interchange Format [ROAM-ADIF]) presents a
+ general, text-based format for accounting data files, described in a
+ straightforward BNF grammar. Its file header contains a field
+ indicating the default protocol from which accounting attributes are
+ drawn. If an attribute from another protocol is to be used, it is
+ preceded by its protocol name, for example rtfm//27 would be RTFM's
+ "forward bytes" attribute. Comments in an ADIF file begin with a
+ cross-hatch.
+
+ Example: An ADIF file encoding RADIUS accounting data
+
+ version: 1
+ device: server3
+ description: Accounting Server 3
+ date: 02 Mar 1999 12:19:01 -0500
+ defaultProtocol: radius
+
+ rdate: 02 Mar 1999 12:20:17 -0500
+ #NAS-IP-Address
+ 4: 204.45.34.12
+ #NAS-Port
+ 5: 12
+ #NAS-Port-Type
+
+
+
+Brownlee & Blount Informational [Page 21]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ 61: 2
+ #User-Name
+ 1: fred@bigco.com
+ #Acct-Status-Type
+ 40: 2
+ #Acct-Delay-Time
+ 41: 14
+ #Acct-Input-Octets
+ 42: 234732
+ #Acct-Output-Octets
+ 43: 15439
+ #Acct-Session-Id
+ 44: 185
+ #Acct-Authentic
+ 45: 1
+ #Acct-Session-Time
+ 46: 1238
+ #Acct-Input-Packets
+ 47: 153
+ #Acct-Output-Packets
+ 48: 148
+ #Acct-Terminate-Cause
+ 49: 11
+ #Acct-Multi-Session-Id
+ 50: 73
+ #Acct-Link-Count
+ 51: 2
+
+8. AAA Requirements
+
+8.1. A Well-Defined Set of Attributes
+
+ AAA needs a well-defined set of attributes whose values are to be
+ carried in records to or from accounting servers.
+
+ Most of the existing sets of documents described above include a set
+ of attributes, identified by small integers. It is likely that these
+ sets overlap, i.e. that some of them have attributes which represent
+ the same quantity using different names in different sets. This
+ suggests it might be possible to produce a single combined set of
+ "universal" accounting attributes, but such a "universal" set does
+ not seem worthwhile.
+
+ The ADIF approach of specifying a default protocol (from which
+ attributes are assumed to come) and identifying any exceptions seems
+ much more practical. We therefore propose that AAA should use the
+
+
+
+
+
+Brownlee & Blount Informational [Page 22]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ ADIF convention (or something like it) to identify attributes,
+ together with all the sets of attributes covered by the [ASG-NBR]
+ document.
+
+8.2. A Simple Interchange Format
+
+ AAA needs a simple interchange file format, to be used for accounting
+ data. Several schemes for packaging and transporting such data have
+ been described above.
+
+ The SNMP-based ones fit well within the context of an SNMP-based
+ network management system. RTFM and AToMMIB provide ways to reduce
+ the SNMP overhead for collecting data, and AToMMIB defines a complete
+ file format. Both provide good ways to collect accounting data.
+
+ As an interchange format, however, ASN.1-based schemes suffer from
+ being rather complex binary structures. This means that one requires
+ suitable tools to work with them, as compared to plain-text files
+ where one can use existing text-based utilities.
+
+ The binary schemes such as RADIUS and DIAMETER have simpler
+ structures, but they too need purpose-built tools. For general use
+ they would need to be extended to allow them to use attributes from
+ other protocols.
+
+ From the point of view of being easy for humans to understand, ADIF
+ seems very promising. Of course any processing program would need a
+ suitable ADIF input parser, but using plain-text files makes them
+ much easier to understand.
+
+ TIPHON's record format is specified by an XML DTD. While XML
+ representations have the advantages of being well-known, they are
+ limited by XML's inability to specify type or other validity checking
+ for information within the tags. This situation will likely be
+ improved by the XML Schema [XML-SCHM] efforts that are underway, but
+ a stable reference is not yet available.
+
+9. Issues
+
+ It is generally agreed that there is a need for a standard record
+ format and transport protocol for communication between Service
+ Elements and Accounting Servers.
+
+ There is less agreement on the following issues:
+
+ o Separate or integral record format and transport protocol
+ o Standard set of base data types
+ o Service definitions: part of the protocol or separately defined
+
+
+
+Brownlee & Blount Informational [Page 23]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ o Service definition namespace management
+
+ The following sections address these issues.
+
+9.1. Record Format vs. Protocol
+
+ All known Internet-centric billing protocols to date have an integral
+ record format. That is, the collection of Properties that describe a
+ Usage Event are specified as an integral part of the protocol,
+ typically as a part of a "submit" message that is used to transmit a
+ Usage Event from a Service Entity to an Accounting Server.
+
+ It may be advantageous to define a record format that is independent
+ of the transport protocol. Such a record format should support both
+ representation of individual records and records in bulk, as Usage
+ Events are often aggregated and transmitted in bulk.
+
+ A separate record format is useful for record archiving and temporary
+ file storage. Multiple transport protocols may be defined without
+ affecting the record format. The task of auditing is made easier if
+ a standard file format is defined. If a canonical format is used,
+ bulk records may be hashed with MD5 [MD5] or a similar function, for
+ reliability and security purposes.
+
+ +------------+
+ | transport |
+ | header |
+ +------------+ +------------+
+ | | | |
+ | Usage | | Usage |
+ | Event(s) | | Event(s) |
+ | | | |
+ | | | |
+ +------------+ +------------+
+ | trailer |
+ +------------+
+
+ record format transport protocol
+
+ If the protocol is written such that it can transmit Usage Events in
+ the record format, no record rewriting for transport is required.
+
+9.2. Tagged, Typed Data
+
+ Record formats and protocols use a combination of data locality and
+ explicit tagging to identify data elements. Mail [RFC822], for
+ instance, defines a header block composed of several Attribute-Value
+ Pairs, followed by a message body. Each header field is explicitly
+
+
+
+Brownlee & Blount Informational [Page 24]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ tagged, but the order of the AVPs is undefined. The message body is
+ not tagged (except with an additional preceding blank line), and is
+ found through its position in the message, which must be after all
+ header fields.
+
+ Some record formats make no use of tags--data elements are identified
+ only by their position within a record structure. While this
+ practice provides for the least amount of record space overhead, it
+ is difficult to later modify the record format by adding or removing
+ elements, as all record readers will have to be altered to handle the
+ change. Tagged data allows old readers to detect unexpected tags and
+ to detect if required data are missing. If the overhead of carrying
+ explicit tags can be borne, it is advantageous to use explicitly
+ tagged data elements where possible.
+
+ An AVP approach has proven useful in accounting. RADIUS [RADIUS]
+ uses numeric data type identifiers. ETSI's TIPHON [TIPHON] uses XML
+ markup.
+
+ For an AAA accounting record format, the authors suggest that each
+ Property be named by a textual or numeric identifier and carry a
+ value and a data type indicator, which governs interpretation of the
+ value. It may also be useful for each Property to carry a units of
+ measure identifier. The TIPHON specification takes this approach.
+ TS 101 321 also carries an Increment field, which denominates the
+ Property's Unit of Measure field. Whether this additional
+ convenience is necessary is a matter for discussion.
+
+ It is not strictly necessary for each data record to carry data type,
+ units of measure, or increments identifiers. If this information is
+ recorded in a record schema document that is referenced by each data
+ record, each record may be validated against the schema without the
+ overhead of carrying type information.
+
+9.2.1. Standard Type Definitions
+
+ It is useful to define a standard set of primitive data types to be
+ used by the record format and protocol. Looking at the prior art,
+ DIAMETER supports Data (arbitrary octets), String (UTF-8), Address
+ (32 or 128 bit), Integer32, Integer64, Time (32 bits, seconds since
+ 1970), and Complex. MSIX [MSIX-SPEC] supports String, Unistring,
+ Int32, Float, Double, Boolean, and Timestamp. SMIv2 [SMI-V2] offers
+ ASN.1 types INTEGER, OCTET STRING, and OBJECT IDENTIFIER, and the
+ application-defined types Integer32, IpAddress, Counter32, Gauge32,
+ Unsigned32, TimeTicks, Opaque, and Counter64.
+
+
+
+
+
+
+Brownlee & Blount Informational [Page 25]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ An appropriate set would likely include booleans, 32 and 64 bit
+ signed integers, 32 and 64 bit floats, arbitrary octets, UTF-8 and
+ UTF-16 strings, and ISO 8601:1988 [ISO-DATE] timestamps. Fixed-
+ precision numbers capable of representing currency amounts (with
+ precision specified on both sides of the decimal point) have proven
+ useful in accounting record formats, as they are immune to the
+ precision problems that are encountered when one attempts to
+ represent fixed-point amounts with floating point numbers.
+
+ It may be worthwhile to consider the datatypes that are being
+ specified by the W3C's "XML Schema Part 2: Datatypes" [XML-DATA]
+ document. That document specifies a rich set of base types, along
+ with a mechanism to specify derivations that further constrain the
+ base types.
+
+9.3. Transaction Identifiers
+
+ Each Usage Event requires its own unique identifier.
+
+ It is expedient to allow Service Elements to create their own unique
+ identifiers. In this manner, Usage Events can be created and
+ archived without the involvement of an Accounting Server or other
+ central authority.
+
+ A number of methods for creating unique identifiers are well known.
+ One popular identifier is an amalgamation of a monotonically
+ increasing sequence number, a large random value, a network element
+ identifier, and a timestamp. Another possible source of entropy is a
+ hash value of all or part of the record itself.
+
+ RFC 822 [MAIL], RFC 1036 [NEWS], and RFC 2445 [ICAL-CORE] give
+ guidance on the creation of good unique identifiers.
+
+9.4. Service Definitions
+
+ A critical differentiator in accounting record formats and protocols
+ is their capability to account for arbitrary service usage. To date,
+ no accounting record format or protocol that can handle arbitrary
+ service definitions has achieved broad acceptance on the Internet.
+
+ This section analyzes the issues in service definition and makes a
+ case for a record format and protocol with the capability to carry
+ Usage Events for rich, independently-defined services.
+
+
+
+
+
+
+
+
+Brownlee & Blount Informational [Page 26]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+9.4.1. Service Independence
+
+ It is informative to survey a number of popular Internet protocols
+ and document encodings and examine their capacities for extension.
+ These protocols can be categorized into two broad categories--"fully
+ specified" protocols that have little provision for extension and
+ "framework" protocols that are incomplete, but provide a basis for
+ future extension when coupled with application documents.
+
+ Examples of fully-specified protocols are NTP [NTP], NNTP [NNTP],
+ RADIUS Accounting [RAD-ACT], and HTML [HTML].
+
+ Aside from leaving some field values "reserved for future use", all
+ of Network Time Protocol's fields are fixed-width and completely
+ defined. This is appropriate for a simple protocol that solves a
+ simple problem.
+
+ Network News Transfer Protocol [NEWS-PROT] specifies that further
+ commands may be added, and requests that non-standard implementations
+ use the "X-" experimental prefix so as to not conflict with future
+ additions. The content of news is 7-bit data, with the high-order
+ bit cleared to 0. Nothing further about the content is defined.
+ There is no in-protocol facility for automating decoding of content
+ type.
+
+ We pay particular attention to RADIUS Accounting [RAD-ACT]. Perhaps
+ the second most frequently heard complaint (after security
+ shortcomings) about RADIUS Accounting is its preassigned and fixed
+ set of "Types". These are coded as a range of octets from 40 to 51
+ and are as follows:
+
+ 40 Acct-Status-Type
+ 41 Acct-Delay-Time
+ 42 Acct-Input-Octets
+ 43 Acct-Output-Octets
+ 44 Acct-Session-Id
+ 45 Acct-Authentic
+ 46 Acct-Session-Time
+ 47 Acct-Input-Packets
+ 48 Acct-Output-Packets
+ 49 Acct-Terminate-Cause
+ 50 Acct-Multi-Session-Id
+ 51 Acct-Link-Count
+
+ These identifiers were designed to account for packet-based network
+ access service. They are ill-suited for describing other services.
+ While extension documents have specified additional types, the base
+
+
+
+
+Brownlee & Blount Informational [Page 27]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ protocol limits the type identifier to a single octet, limiting the
+ total number of types to 256.
+
+ HTML/2.0 [HTML] is mostly a fully-specified protocol, but with W3C's
+ HTML/4.0, HTML is becoming more of a framework protocol. HTML/2.0
+ specified a fixed set of markups, with no provision for addition
+ (without protocol revision).
+
+ Examples of "framework" protocols and document encodings are HTTP,
+ XML, and SNMP.
+
+ HTTP/1.1 [HTTP] is somewhat similar to NNTP in that it is designed to
+ transport arbitrary content. It is different in that it supports
+ description of that content through its Content-Type, Content-
+ Encoding, Accept-Encoding, and Transfer-Encoding header fields. New
+ types of content can be designated and carried by HTTP/1.1 without
+ modification to the HTTP protocol.
+
+ XML [XML] is a preeminent general-purpose framework encoding. DTD
+ publishing is left to users. There is no standard registry of DTDs.
+
+ SNMP presents a successful example of a framework protocol. SNMP's
+ authors envisioned SNMP as a general management protocol, and allow
+ extension through the use of private MIBs. SNMP's ASN.1 MIBs are
+ defined, published, and standardized without the necessity to modify
+ the SNMP standard itself. From "An Overview of SNMP" [SNMP-OVER]:
+
+ It can easily be argued that SNMP has become prominent mainly from
+ its ability to augment the standard set of MIB objects with new
+ values specific for certain applications and devices. Hence, new
+ functionality can continuously be added to SNMP, since a standard
+ method has been defined to incorporate that functionality into
+ SNMP devices and network managers.
+
+ Most accounting protocols are fully-specified, with either a
+ completely defined service or set of services (RADIUS Accounting) or
+ with one or more services defined and provision for "extension"
+ services to be added to the protocol later (TIPHON). While the
+ latter is preferable, it may be preferable to take a more SNMP-like
+ approach, where the accounting record format and protocol provide
+ only a framework for service definition, and leave the task of
+ service definition (and standardization) to separate efforts. In
+ this manner, the accounting protocol itself would not have to be
+ modified to handle new services.
+
+
+
+
+
+
+
+Brownlee & Blount Informational [Page 28]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+9.4.2. Versioned Service Definitions
+
+ Versioning is a naming and compatibility issue. Version identifiers
+ are useful in service definition because they enable service
+ definitions to be upgraded without a possibly awkward name change.
+ They also enable possible compatibility between different versions of
+ the same service.
+
+ An example could be the service definition of a phone call. Version
+ 1 might define Properties for the start time, duration, and called
+ and calling party numbers. Later, version 2 is defined, which
+ augments the former service definition with a byte count. An
+ Accounting Server, aware only of Version 1, may accept Version 2
+ records, discarding the additional information (forward
+ compatibility). Alternately, if an Accounting Server is made aware
+ of version 2, it could optionally still accept version 1 records from
+ Service Elements, provided the Accounting Sever does not require the
+ additional information to properly account for service usage
+ (backward compatibility).
+
+9.4.3. Relationships Among Usage Events
+
+ Accounting record formats and protocols to date do not sufficiently
+ addressed "compound" service description.
+
+ A compound service is a service that is described as a composition of
+ other services. A conference call, for example, may be described as
+ a number of point-to-point calls to a conference bridge. It is
+ important to account for the individual calls, rather than just
+ summing up an aggregate, both for auditing purposes and to enable
+ differential rating. If these calls are to be reported to the
+ Accounting Server individually, the Usage Events require a shared
+ identifier that can be used by the Accounting Server and other back-
+ end systems to group the records together.
+
+ In order for a Service Element to report compound events over time as
+ a succession of individual Usage Events, the accounting protocol
+ requires a facility to communicate that the compound event has
+ started and stopped. The "start" message can be implicit--the
+ transmission of the first Usage Event will suffice. An additional
+ semaphore is required to tell the Accounting Server that the compound
+ service is complete and may be further processed. This is necessary
+ to prevent the Accounting Server from prematurely processing compound
+ events that overlap the end of a billing period.
+
+
+
+
+
+
+
+Brownlee & Blount Informational [Page 29]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ RADIUS Accounting has some provision for this sort of accounting with
+ its "Acct-Multi-Session-Id" field. Unfortunately, RADIUS
+ Accounting's other shortcomings preclude it from being used in
+ general purpose service usage description.
+
+9.4.4. Service Namespace Management
+
+ "Framework" protocols, as previously mentioned, do not define
+ complete schema for their payload. For interoperability to be
+ achieved, it must be possible for:
+
+ (1) content definers to specify definitions without conflicting
+ with the names of other definitions
+
+ (2) protocol users to find and use content definitions
+
+ Condition (1) can be readily managed through IANA assignment or by
+ using an existing namespace differentiator (for example, DNS).
+
+ Condition (2) is harder, and places considerable burden on the
+ implementors. Their clients and servers must be able, statically or
+ dynamically, to find and validate definitions, and manage versioning
+ issues.
+
+ As previously mentioned, the XML specification provides no facility
+ for DTD discovery or namespace management. XML specifies only a
+ document format, and as such does not need to specify support for
+ more "protocol" oriented problems.
+
+ For an accounting record format and protocol, an approach closer to
+ SNMP's is useful. SNMP uses an ISO-managed dotted-decimal namespace.
+ An IANA-managed registry of service types is a possibility. Another
+ possibility, used by MSIX [MSIX-SPEC], is for Service Element
+ creators to identify their services by concatenation of a new service
+ name with existing unique identifier, such as a domain name.
+
+ A standard record format for service definitions would make it
+ possible for Service Element creators to directly supply accounting
+ system managers with the required definitions, via the network or
+ other means.
+
+10. Encodings
+
+ It may be useful to define more than one record encoding.
+
+ A "verbose" XML encoding is easily implemented and records can be
+ syntactically verified with existing tools. "Human-readable"
+ protocols tend to have an edge on "bitfield" protocols where ease of
+
+
+
+Brownlee & Blount Informational [Page 30]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ implementation is paramount and the application can tolerate any
+ additional processing required to generate, parse, and transport the
+ records.
+
+ A alternative "compressed" encoding that makes minimal use of storage
+ and processing may be useful in many contexts.
+
+ There are disadvantages to supporting multiple encodings.
+ Optionally-supported multiple encodings mandate the requirement for
+ capabilities exchange between Service Element and Accounting Server.
+ Also, implementations can tend to "drift apart", with one encoding
+ better-supported than another. Unless all encodings are mandatory,
+ implementors may find they are unable to interoperate because they
+ picked the wrong encoding.
+
+11. Security Considerations
+
+ This document summarises many existing IETF and ITU documents; please
+ refer to the original documents for security considerations for their
+ particular protocols.
+
+ It must be possible for the accounting protocol to be carried by a
+ secure transport. A canonical record format is useful so that
+ regeneration of secure record hashes is possible.
+
+ When dealing with accounting data files, one must take care that
+ their integrity and privacy are preserved. This document, however,
+ is only concerned with the format of such files.
+
+12. References
+
+ [ACC-BKG] Mills, C., Hirsch, G. and G. Ruth, "Internet Accounting
+ Background", RFC 1272, November 1991.
+
+ [ASG-NBR] Reynolds, J. and J. Postel, "Assigned Numbers", STD 2,
+ RFC 1700, October 1994.
+
+ [ASN1] Information processing systems - Open Systems
+ Interconnection - Specification of Abstract Syntax
+ Notation One (ASN.1), International Organization for
+ Standardization, International Standard 8824, December
+ 1987.
+
+ [ATM-ACT] McCloghrie, K., Heinanen, J., Greene, W. and A. Prasad,
+ "Accounting Information for ATM Networks", RFC 2512,
+ February 1999.
+
+
+
+
+
+Brownlee & Blount Informational [Page 31]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ [ATM-COLL] McCloghrie, K., Heinanen, J., Greene, W. and A. Prasad, "
+ Managed Objects for Controlling the Collection and
+ Storage of Accounting Information for Connection-Oriented
+ Networks", RFC 2513, February 1999.
+
+ [BER] Information processing systems - Open Systems
+ Interconnection - Specification of Basic Encoding Rules
+ for Abstract Notation One (ASN.1), International
+ Organization for Standardization, International Standard
+ 8825, December 1987.
+
+ [DIAM-ACT] Arkko, J., Calhoun, P.R., Patel, P. and Zorn, G.,
+ "DIAMETER Accounting Extension", Work in Progress.
+
+ [DIAM-AUTH] Calhoun, P.R. and Bulley, W., "DIAMETER User
+ Authentication Extensions", Work in Progress.
+
+ [DIAM-FRAM] Calhoun, P.R., Zorn, G. and Pan, P., "DIAMETER Framework
+ Document", Work in Progress.
+
+ [DSRV-ARC] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z.
+ and W. Weiss, "An Architecture for Differentiated
+ Services", RFC 2475, December 1998.
+
+ [HTML] Berners-Lee, T. and D. Connolly, "Hypertext Markup
+ Language - 2.0", RFC 1866, November 1995.
+
+ [HTTP] Fielding, R., Gettys, J., Mogul, J. Frystyk, H. and T.
+ Berners-Lee, "Hypertext Transfer Protocol--HTTP/1.1", RFC
+ 2068, January 1997.
+
+ [ICAL-CORE] Dawson, F. and D. Stenerson, "Internet Calendaring and
+ Scheduling Core Object Specification", RFC 2445, November
+ 1998.
+
+ [IIS-ARC] Braden, R., Clark, D. and S. Shenker, "Integrated
+ Services in the Internet Architecture: an Overview", RFC
+ 1633, June 1994.
+
+ [IIS-SPEC] Shenker, S., Partridge, C. and R. Guerin, "Specification
+ of Guaranteed Quality of Service", RFC 2212, September
+ 1997.
+
+ [ISDN-MIB] Roeck, G., "ISDN Management Information Base using
+ SMIv2", RFC 2127, March 1997.
+
+
+
+
+
+
+Brownlee & Blount Informational [Page 32]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ [ISO-DATE] "Data elements and interchange formats -- Information
+ interchange -- Representation of dates and times", ISO
+ 8601:1988.
+
+ [MAIL] Crocker, D., "STANDARD FOR THE FORMAT OF ARPA INTERNET
+ TEXT MESSAGES", STD 11, RFC 822, August 1982.
+
+ [MD5] Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321,
+ April 1992.
+
+ [MSIX-SPEC] Blount, A. and D. Young, "Metered Service Information
+ Exchange 1.2", Work in Progress.
+
+ [NEWS-MSGS] Horton, M. and R. Adams, "Standard for Interchange of
+ USENET Messages", RFC 1036, December 1987.
+
+ [NEWS-PROT] Kantor, B. and P. Lapsley, "Network News Transfer
+ Protocol", RFC 977, February 1986.
+
+ [NTP] Mills, D., "Network Time Protocol (NTP)", RFC 958,
+ September 1985.
+
+ [Q-825] "Specification of TMN applications at the Q3 interface:
+ Call detail recording", ITU-T Recommendation Q.825, 1998.
+
+ [RAD-ACT] Rigney, C., "RADIUS Accounting", RFC 2866, June 2000.
+
+ [RAD-EXT] Rigney, C., Willats, W. and Calhoun, P., "RADIUS
+ Extensions", RFC 2869, June 2000.
+
+ [RAD-PROT] Rigney, C., Willens, S., Rubens, A., and W. Simpson,
+ "Remote Authentication Dial In User Service (RADIUS)",
+ RFC 2865, June 2000.
+
+ [RAD-TACC] Zorn, G., Mitton, D. and A. Aboba, "RADIUS Accounting
+ Modifications for Tunnel Protocol Support", RFC 2867,
+ June 2000.
+
+ [RAP-COPS] Boyle, J., Cohen, R., Durham, D., Herzog, S., Rajan, R.
+ and A. Sastry, "The COPS (Common Open Policy Service)
+ Protocol", RFC 2748, January 2000.
+
+ [ROAM-ADIF] Aboba, B. and D. Lidyard, "The Accounting Data
+ Interchange Format (ADIF)", Work in Progress.
+
+ [ROAM-IMPL] Aboba, B., Lu, J., Alsop, J., Ding, J. and W. Wang,
+ "Review of Roaming Implementations", RFC 2194, September
+ 1997.
+
+
+
+Brownlee & Blount Informational [Page 33]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ [RS-DS-OP] Bernet, Y., Yavatkar, R., Ford, P., Baker, F., Zhang, L.,
+ Speer, M., Braden, R., Davie, B., Wroclawski, J. and E.
+ Felstaine, "A Framework For Integrated Services Operation
+ Over Diffserv Networks", Work in Progress.
+
+ [RSVP-ARC] Braden, R., Zhang, L., Berson, S., Herzog, S. and S.
+ Jamin, "Resource Reservation Protocol (RSVP) Version 1
+ Functional Specification", RFC 2205, September 1997.
+
+ [RSVP-MIB] Baker, F., Krawczyk, J. and A. Sastry, "RSVP Management
+ Information Base using SMIv2", RFC 2206, September 1997.
+
+ [RTFM-ARC] Brownlee, N., Mills, C. and G. Ruth, "Traffic Flow
+ Measurement: Architecture", RFC 2722, October 1999.
+
+ [RTFM-MIB] Brownlee, N., "Traffic Flow Measurement: Meter MIB",
+ Measurement: Architecture", RFC 2720, October 1999.
+
+ [RTFM-NEWA] Handelman, S., Brownlee, N., Ruth, G. and S. Stibler,
+ "New Attributes for Traffic Flow Measurement", RFC 2724,
+ October 1999.
+
+ [SIP-PROT] Handley, M., Schulzrinne, H., Schooler, E. and J.
+ Rosenberg, "SIP: Session Initiation Protocol", RFC 2543,
+ March 1999.
+
+ [SMI-V2] McCloghrie, K., Perkins, D. and J. Schoenwaelder,
+ "Structure of Management Information Version 2 (SMIv2)",
+ STD 58, RFC 2578, April 1999.
+
+ [SNMP-OVER] "AN OVERVIEW OF SNMP V2.0", Diversified Data Resources,
+ Inc., http://www.ddri.com, 1999.
+
+ [TIPHON] "Telecommunications and Internet Protocol Harmonization
+ Over Networks (TIPHON); Inter-domain pricing,
+ authorization, and usage exchange", TS 101 321 V1.4.2,
+ December 1998.
+
+ [XML] Bray, T., J. Paoli, and C. Sperberg-McQueen, "Extensible
+ Markup Language (XML) 1.0", W3C Recommendation, February
+ 1998.
+
+
+
+
+
+
+
+
+
+
+Brownlee & Blount Informational [Page 34]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+ [XML-DATA] "XML Schema Part 2: Datatypes", W3C Working Draft 07
+ April 2000, April 2000.
+
+ [XML-SCHM] "XML Schema Part 1: Structures", W3C Working Draft 7
+ April 2000, April 2000.
+
+13. Authors' Addresses
+
+ Nevil Brownlee
+ Information Technology Systems & Services
+ The University of Auckland
+
+ Phone: +64 9 373 7599 x8941
+ EMail: n.brownlee@auckland.ac.nz
+
+
+ Alan Blount
+ MetraTech Corp.
+ 330 Bear Hill Road
+ Waltham, MA 02451
+
+ EMail: blount@alum.mit.edu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Brownlee & Blount Informational [Page 35]
+
+RFC 2924 Accounting Attributes and Record Formats September 2000
+
+
+14. Full Copyright Statement
+
+ Copyright (C) The Internet Society (2000). All Rights Reserved.
+
+ This document and translations of it may be copied and furnished to
+ others, and derivative works that comment on or otherwise explain it
+ or assist in its implementation may be prepared, copied, published
+ and distributed, in whole or in part, without restriction of any
+ kind, provided that the above copyright notice and this paragraph are
+ included on all such copies and derivative works. However, this
+ document itself may not be modified in any way, such as by removing
+ the copyright notice or references to the Internet Society or other
+ Internet organizations, except as needed for the purpose of
+ developing Internet standards in which case the procedures for
+ copyrights defined in the Internet Standards process must be
+ followed, or as required to translate it into languages other than
+ English.
+
+ The limited permissions granted above are perpetual and will not be
+ revoked by the Internet Society or its successors or assigns.
+
+ This document and the information contained herein is provided on an
+ "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+ TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+ HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+Acknowledgement
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Brownlee & Blount Informational [Page 36]
+