RADIUS-ACC-CLIENT-MIB DEFINITIONS ::= BEGIN

IMPORTS
       MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY,
       Counter32, Integer32, Gauge32,
       IpAddress, TimeTicks, mib-2      FROM SNMPv2-SMI
       SnmpAdminString                  FROM SNMP-FRAMEWORK-MIB
       InetAddressType, InetAddress,
       InetPortNumber                   FROM INET-ADDRESS-MIB
       MODULE-COMPLIANCE, OBJECT-GROUP  FROM SNMPv2-CONF;


radiusAccClientMIB MODULE-IDENTITY
       LAST-UPDATED "200608210000Z" -- 21 August 2006
       ORGANIZATION "IETF RADIUS Extensions Working Group."
       CONTACT-INFO
             " Bernard Aboba
               Microsoft
               One Microsoft Way
               Redmond, WA  98052
               US
               Phone: +1 425 936 6605
               EMail: bernarda@microsoft.com"
       DESCRIPTION
             "The MIB module for entities implementing the client
              side of the Remote Authentication Dial-In User Service
              (RADIUS) accounting protocol.  Copyright (C) The
              Internet Society (2006).  This version of this MIB
              module is part of RFC 4670; see the RFC itself for
              full legal notices."
       REVISION "200608210000Z"  -- 21 August 2006
       DESCRIPTION
             "Revised version as published in RFC 4670.
              This version obsoletes that of RFC 2620 by
              deprecating the MIB table containing IPv4-only
              address formats and defining a new table to add support
              for version-neutral IP address formats.  The remaining
              MIB objects from RFC 2620 are carried forward into this
              version."
       REVISION "199906110000Z"  -- 11 Jun 1999
       DESCRIPTION "Initial version as published in RFC 2620."
       ::= { radiusAccounting 2 }

radiusMIB OBJECT-IDENTITY
       STATUS  current
       DESCRIPTION
             "The OID assigned to RADIUS MIB work by the IANA."
       ::= { mib-2 67 }

radiusAccounting  OBJECT IDENTIFIER ::= {radiusMIB 2}

radiusAccClientMIBObjects     OBJECT IDENTIFIER
       ::= { radiusAccClientMIB 1 }

radiusAccClient  OBJECT IDENTIFIER
       ::= { radiusAccClientMIBObjects 1 }

radiusAccClientInvalidServerAddresses OBJECT-TYPE
       SYNTAX Counter32
       UNITS "packets"
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "The number of RADIUS Accounting-Response packets
             received from unknown addresses."
             ::= { radiusAccClient 1 }

radiusAccClientIdentifier OBJECT-TYPE
       SYNTAX SnmpAdminString
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "The NAS-Identifier of the RADIUS accounting client.
              This is not necessarily the same as sysName in MIB
              II."
       REFERENCE "RFC 2865 section 5.32"
       ::= { radiusAccClient 2 }

radiusAccServerTable OBJECT-TYPE
       SYNTAX SEQUENCE OF RadiusAccServerEntry
       MAX-ACCESS not-accessible
       STATUS     deprecated
       DESCRIPTION
             "The (conceptual) table listing the RADIUS accounting
              servers with which the client shares a secret."
       ::= { radiusAccClient 3 }

radiusAccServerEntry OBJECT-TYPE
       SYNTAX     RadiusAccServerEntry
       MAX-ACCESS not-accessible
       STATUS     deprecated
       DESCRIPTION
             "An entry (conceptual row) representing a RADIUS
              accounting server with which the client shares a
              secret."
       INDEX      { radiusAccServerIndex }
       ::= { radiusAccServerTable 1 }

RadiusAccServerEntry ::= SEQUENCE {
       radiusAccServerIndex                           Integer32,
       radiusAccServerAddress                         IpAddress,
       radiusAccClientServerPortNumber                Integer32,
       radiusAccClientRoundTripTime                   TimeTicks,
       radiusAccClientRequests                        Counter32,
       radiusAccClientRetransmissions                 Counter32,
       radiusAccClientResponses                       Counter32,
       radiusAccClientMalformedResponses              Counter32,
       radiusAccClientBadAuthenticators               Counter32,
       radiusAccClientPendingRequests                   Gauge32,
       radiusAccClientTimeouts                        Counter32,
       radiusAccClientUnknownTypes                    Counter32,
       radiusAccClientPacketsDropped                  Counter32
}

radiusAccServerIndex OBJECT-TYPE
       SYNTAX     Integer32 (1..2147483647)
       MAX-ACCESS not-accessible
       STATUS     deprecated
       DESCRIPTION
             "A number uniquely identifying each RADIUS
              Accounting server with which this client
              communicates."
       ::= { radiusAccServerEntry 1 }

radiusAccServerAddress OBJECT-TYPE
       SYNTAX     IpAddress
       MAX-ACCESS read-only
       STATUS     deprecated
       DESCRIPTION
             "The IP address of the RADIUS accounting server
              referred to in this table entry."
       ::= { radiusAccServerEntry 2 }

radiusAccClientServerPortNumber  OBJECT-TYPE
       SYNTAX Integer32 (0..65535)
       MAX-ACCESS read-only
       STATUS deprecated
       DESCRIPTION
             "The UDP port the client is using to send requests to
              this server."
       REFERENCE "RFC 2866 section 3"
       ::= { radiusAccServerEntry 3 }

radiusAccClientRoundTripTime  OBJECT-TYPE
       SYNTAX TimeTicks
       MAX-ACCESS read-only
       STATUS deprecated
       DESCRIPTION
             "The time interval between the most recent
              Accounting-Response and the Accounting-Request that
              matched it from this RADIUS accounting server."
       REFERENCE "RFC 2866 section 2"
       ::= { radiusAccServerEntry 4 }

-- Request/Response statistics
--
-- Requests = Responses + PendingRequests + ClientTimeouts
--
-- Responses - MalformedResponses - BadAuthenticators -
-- UnknownTypes - PacketsDropped = Successfully received
radiusAccClientRequests OBJECT-TYPE
       SYNTAX Counter32
       UNITS "packets"
       MAX-ACCESS read-only
       STATUS deprecated
       DESCRIPTION
             "The number of RADIUS Accounting-Request packets
              sent.  This does not include retransmissions."
       REFERENCE "RFC 2866 section 4.1"
       ::= { radiusAccServerEntry 5 }

radiusAccClientRetransmissions OBJECT-TYPE
       SYNTAX Counter32
       UNITS "packets"
       MAX-ACCESS read-only
       STATUS deprecated
       DESCRIPTION
             "The number of RADIUS Accounting-Request packets
              retransmitted to this RADIUS accounting server.
              Retransmissions include retries where the
              Identifier and Acct-Delay have been updated, as
              well as those in which they remain the same."
       REFERENCE "RFC 2866 section 2"
       ::= { radiusAccServerEntry 6 }

radiusAccClientResponses OBJECT-TYPE
       SYNTAX Counter32
       UNITS "packets"
       MAX-ACCESS read-only
       STATUS deprecated
       DESCRIPTION
             "The number of RADIUS packets received on the
              accounting port from this server."
       REFERENCE "RFC 2866 section 4.2"
       ::= { radiusAccServerEntry 7 }

radiusAccClientMalformedResponses OBJECT-TYPE
       SYNTAX Counter32
       UNITS "packets"
       MAX-ACCESS read-only
       STATUS deprecated
       DESCRIPTION
             "The number of malformed RADIUS Accounting-Response
              packets received from this server.  Malformed packets
              include packets with an invalid length.  Bad
              authenticators and unknown types are not included as
              malformed accounting responses."
       REFERENCE "RFC 2866 section 3"
       ::= { radiusAccServerEntry 8 }

radiusAccClientBadAuthenticators OBJECT-TYPE
       SYNTAX Counter32
       UNITS "packets"
       MAX-ACCESS read-only
       STATUS deprecated
       DESCRIPTION
             "The number of RADIUS Accounting-Response
              packets that contained invalid authenticators
              received from this server."
              REFERENCE "RFC 2866 section 3"
       ::= { radiusAccServerEntry 9 }

radiusAccClientPendingRequests OBJECT-TYPE
       SYNTAX Gauge32
       UNITS "packets"
       MAX-ACCESS read-only
       STATUS deprecated
       DESCRIPTION
             "The number of RADIUS Accounting-Request packets
              sent to this server that have not yet timed out or
              received a response.  This variable is incremented
              when an Accounting-Request is sent and decremented
              due to receipt of an Accounting-Response, a timeout,
              or a retransmission."
       REFERENCE "RFC 2866 section 2"
       ::= { radiusAccServerEntry 10 }

radiusAccClientTimeouts OBJECT-TYPE
       SYNTAX Counter32
       UNITS "timeouts"
       MAX-ACCESS read-only
       STATUS deprecated
       DESCRIPTION
             "The number of accounting timeouts to this server.
              After a timeout, the client may retry to the same
              server, send to a different server, or give up.
              A retry to the same server is counted as a
              retransmit as well as a timeout.  A send to a different
              server is counted as an Accounting-Request as well as
              a timeout."
       REFERENCE "RFC 2866 section 2"
       ::= { radiusAccServerEntry  11 }

radiusAccClientUnknownTypes OBJECT-TYPE
       SYNTAX Counter32
       UNITS "packets"
       MAX-ACCESS read-only
       STATUS deprecated
       DESCRIPTION
             "The number of RADIUS packets of unknown type that
              were received from this server on the accounting port."
              REFERENCE "RFC 2866 section 4"
              ::= { radiusAccServerEntry  12 }

radiusAccClientPacketsDropped OBJECT-TYPE
       SYNTAX Counter32
       UNITS "packets"
       MAX-ACCESS read-only
       STATUS deprecated
       DESCRIPTION
             "The number of RADIUS packets that were received from
              this server on the accounting port and dropped for some
              other reason."
       ::= { radiusAccServerEntry  13 }


-- New MIB objects added in this revision

radiusAccServerExtTable OBJECT-TYPE
       SYNTAX SEQUENCE OF RadiusAccServerExtEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "The (conceptual) table listing the RADIUS accounting
              servers with which the client shares a secret."
       ::= { radiusAccClient 4 }

radiusAccServerExtEntry OBJECT-TYPE
       SYNTAX     RadiusAccServerExtEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "An entry (conceptual row) representing a RADIUS
              accounting server with which the client shares a
              secret."
       INDEX      { radiusAccServerExtIndex }
       ::= { radiusAccServerExtTable 1 }

RadiusAccServerExtEntry ::= SEQUENCE {
       radiusAccServerExtIndex                    Integer32,
       radiusAccServerInetAddressType             InetAddressType,
       radiusAccServerInetAddress                 InetAddress,
       radiusAccClientServerInetPortNumber        InetPortNumber,
       radiusAccClientExtRoundTripTime            TimeTicks,
       radiusAccClientExtRequests                 Counter32,
       radiusAccClientExtRetransmissions          Counter32,
       radiusAccClientExtResponses                Counter32,
       radiusAccClientExtMalformedResponses       Counter32,
       radiusAccClientExtBadAuthenticators        Counter32,
       radiusAccClientExtPendingRequests          Gauge32,
       radiusAccClientExtTimeouts                 Counter32,
       radiusAccClientExtUnknownTypes             Counter32,
       radiusAccClientExtPacketsDropped           Counter32,
       radiusAccClientCounterDiscontinuity        TimeTicks
}

radiusAccServerExtIndex OBJECT-TYPE
       SYNTAX     Integer32 (1..2147483647)
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "A number uniquely identifying each RADIUS
              Accounting server with which this client
              communicates."
       ::= { radiusAccServerExtEntry 1 }


radiusAccServerInetAddressType OBJECT-TYPE
       SYNTAX     InetAddressType
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The type of address format used for the
              radiusAccServerInetAddress object."
       ::= { radiusAccServerExtEntry 2 }


radiusAccServerInetAddress OBJECT-TYPE
       SYNTAX     InetAddress
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The IP address of the RADIUS accounting
              server referred to in this table entry, using
              the version-neutral IP address format."
              ::= { radiusAccServerExtEntry 3 }

radiusAccClientServerInetPortNumber  OBJECT-TYPE
       SYNTAX InetPortNumber ( 1..65535 )
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "The UDP port the client is using to send requests
              to this accounting server.  The value zero (0) is
              invalid."
       REFERENCE "RFC 2866 section 3"
       ::= { radiusAccServerExtEntry 4 }


    radiusAccClientExtRoundTripTime  OBJECT-TYPE
       SYNTAX TimeTicks
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "The time interval between the most recent
              Accounting-Response and the Accounting-Request that
              matched it from this RADIUS accounting server."
       REFERENCE "RFC 2866 section 2"
       ::= { radiusAccServerExtEntry 5 }

-- Request/Response statistics
--
-- Requests = Responses + PendingRequests + ClientTimeouts
--
-- Responses - MalformedResponses - BadAuthenticators -
-- UnknownTypes - PacketsDropped = Successfully received

radiusAccClientExtRequests OBJECT-TYPE
       SYNTAX Counter32
       UNITS "packets"
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "The number of RADIUS Accounting-Request packets
              sent.  This does not include retransmissions.
              This counter may experience a discontinuity when the
              RADIUS Accounting Client module within the managed
              entity is reinitialized, as indicated by the current
              value of radiusAccClientCounterDiscontinuity."
       REFERENCE "RFC 2866 section 4.1"
       ::= { radiusAccServerExtEntry 6 }

    radiusAccClientExtRetransmissions OBJECT-TYPE
       SYNTAX Counter32
       UNITS "packets"
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "The number of RADIUS Accounting-Request packets
              retransmitted to this RADIUS accounting server.
              Retransmissions include retries where the
              Identifier and Acct-Delay have been updated, as
              well as those in which they remain the same.
              This counter may experience a discontinuity when the
              RADIUS Accounting Client module within the managed
              entity is reinitialized, as indicated by the current
              value of radiusAccClientCounterDiscontinuity."
       REFERENCE "RFC 2866 section 2"
       ::= { radiusAccServerExtEntry 7 }

radiusAccClientExtResponses OBJECT-TYPE
       SYNTAX Counter32
       UNITS "packets"
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "The number of RADIUS packets received on the
              accounting port from this server.  This counter
              may experience a discontinuity when the RADIUS
              Accounting Client module within the managed entity is
              reinitialized, as indicated by the current value of
              radiusAccClientCounterDiscontinuity."
              REFERENCE "RFC 2866 section 4.2"
       ::= { radiusAccServerExtEntry 8 }

radiusAccClientExtMalformedResponses OBJECT-TYPE
       SYNTAX Counter32
       UNITS "packets"
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "The number of malformed RADIUS Accounting-Response
              packets received from this server.  Malformed packets
              include packets with an invalid length.  Bad
              authenticators and unknown types are not included as
              malformed accounting responses.  This counter may
              experience a discontinuity when the RADIUS Accounting
              Client module within the managed entity is
              reinitialized, as indicated by the current
              value of radiusAccClientCounterDiscontinuity."
       REFERENCE "RFC 2866 section 3"
       ::= { radiusAccServerExtEntry 9 }

radiusAccClientExtBadAuthenticators OBJECT-TYPE
       SYNTAX Counter32
       UNITS "packets"
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "The number of RADIUS Accounting-Response
              packets that contained invalid authenticators
              received from this server.  This counter may
              experience a discontinuity when the RADIUS
              Accounting Client module within the managed
              entity is reinitialized, as indicated by the
              current value of
              radiusAccClientCounterDiscontinuity."
              REFERENCE "RFC 2866 section 3"
              ::= { radiusAccServerExtEntry 10 }

radiusAccClientExtPendingRequests OBJECT-TYPE
       SYNTAX Gauge32
       UNITS "packets"
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "The number of RADIUS Accounting-Request packets
              sent to this server that have not yet timed out or
              received a response.  This variable is incremented
              when an Accounting-Request is sent and decremented
              due to receipt of an Accounting-Response, a timeout,
              or a retransmission.  This counter may experience a
              discontinuity when the RADIUS Accounting Client module
              within the managed entity is reinitialized, as
              indicated by the current value of
              radiusAccClientCounterDiscontinuity."
              REFERENCE "RFC 2866 section 2"
              ::= { radiusAccServerExtEntry 11 }

radiusAccClientExtTimeouts OBJECT-TYPE
       SYNTAX Counter32
       UNITS "timeouts"
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "The number of accounting timeouts to this server.
              After a timeout, the client may retry to the same
              server, send to a different server, or give up.
              A retry to the same server is counted as a
              retransmit as well as a timeout.  A send to a different
              server is counted as an Accounting-Request as well as
              a timeout.  This counter may experience a discontinuity
              when the RADIUS Accounting Client module within the
              managed entity is reinitialized, as indicated by the
              current value of radiusAccClientCounterDiscontinuity."
       REFERENCE "RFC 2866 section 2"
       ::= { radiusAccServerExtEntry  12 }

radiusAccClientExtUnknownTypes OBJECT-TYPE
       SYNTAX Counter32
       UNITS "packets"
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "The number of RADIUS packets of unknown type that
              were received from this server on the accounting port.
              This counter may experience a discontinuity when the
              RADIUS Accounting Client module within the managed
              entity is reinitialized, as indicated by the current
              value of radiusAccClientCounterDiscontinuity."
              REFERENCE "RFC 2866 section 4"
       ::= { radiusAccServerExtEntry  13 }

radiusAccClientExtPacketsDropped OBJECT-TYPE
       SYNTAX Counter32
       UNITS "packets"
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "The number of RADIUS packets that were received from
              this server on the accounting port and dropped for some
              other reason.  This counter may experience a
              discontinuity when the RADIUS Accounting Client module
              within the managed entity is reinitialized, as indicated
              by the current value of
              radiusAccClientCounterDiscontinuity."
       ::= { radiusAccServerExtEntry  14 }

radiusAccClientCounterDiscontinuity OBJECT-TYPE
       SYNTAX TimeTicks
       UNITS "centiseconds"
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "The number of centiseconds since the last
              discontinuity in the RADIUS Accounting Client
              counters.  A discontinuity may be the result of a
              reinitialization of the RADIUS Accounting Client
              module within the managed entity."
       ::= { radiusAccServerExtEntry 15 }

-- conformance information

radiusAccClientMIBConformance  OBJECT IDENTIFIER
       ::= { radiusAccClientMIB 2 }

radiusAccClientMIBCompliances  OBJECT IDENTIFIER
       ::= { radiusAccClientMIBConformance 1 }

radiusAccClientMIBGroups  OBJECT IDENTIFIER
       ::= { radiusAccClientMIBConformance 2 }


-- units of conformance

radiusAccClientMIBCompliance MODULE-COMPLIANCE
       STATUS  deprecated
       DESCRIPTION
             "The compliance statement for accounting clients
              implementing the RADIUS Accounting Client MIB.
              Implementation of this module is for IPv4-only
              entities, or for backwards compatibility use with
              entities that support both IPv4 and IPv6."
              MODULE  -- this module
              MANDATORY-GROUPS { radiusAccClientMIBGroup }

       ::= { radiusAccClientMIBCompliances 1 }


radiusAccClientExtMIBCompliance MODULE-COMPLIANCE
       STATUS  current
       DESCRIPTION
             "The compliance statement for accounting
              clients implementing the RADIUS Accounting
              Client IPv6 Extensions MIB.  Implementation of
              this module is for entities that support IPv6,
              or support IPv4 and IPv6."
              MODULE  -- this module
              MANDATORY-GROUPS { radiusAccClientExtMIBGroup }

       OBJECT radiusAccServerInetAddressType
       SYNTAX InetAddressType { ipv4(1), ipv6(2) }
       DESCRIPTION
             "An implementation is only required to support
              IPv4 and globally unique IPv6 addresses."

       OBJECT radiusAccServerInetAddress
       SYNTAX InetAddress ( SIZE (4|16) )
       DESCRIPTION
              "An implementation is only required to support
               IPv4 and globally unique IPv6 addresses."

       ::= { radiusAccClientMIBCompliances 2 }


-- units of conformance

radiusAccClientMIBGroup OBJECT-GROUP
       OBJECTS { radiusAccClientIdentifier,
                 radiusAccClientInvalidServerAddresses,
                 radiusAccServerAddress,
                 radiusAccClientServerPortNumber,
                 radiusAccClientRoundTripTime,
                 radiusAccClientRequests,
                 radiusAccClientRetransmissions,
                 radiusAccClientResponses,
                 radiusAccClientMalformedResponses,
                 radiusAccClientBadAuthenticators,
                 radiusAccClientPendingRequests,
                 radiusAccClientTimeouts,
                 radiusAccClientUnknownTypes,
                 radiusAccClientPacketsDropped
              }
       STATUS  deprecated
       DESCRIPTION
             "The basic collection of objects providing management of
              RADIUS Accounting Clients."
       ::= { radiusAccClientMIBGroups 1 }


radiusAccClientExtMIBGroup OBJECT-GROUP
       OBJECTS { radiusAccClientIdentifier,
                 radiusAccClientInvalidServerAddresses,
                 radiusAccServerInetAddressType,
                 radiusAccServerInetAddress,
                 radiusAccClientServerInetPortNumber,
                 radiusAccClientExtRoundTripTime,
                 radiusAccClientExtRequests,
                 radiusAccClientExtRetransmissions,
                 radiusAccClientExtResponses,
                 radiusAccClientExtMalformedResponses,
                 radiusAccClientExtBadAuthenticators,
                 radiusAccClientExtPendingRequests,
                 radiusAccClientExtTimeouts,
                 radiusAccClientExtUnknownTypes,
                 radiusAccClientExtPacketsDropped,
                 radiusAccClientCounterDiscontinuity
               }
       STATUS  current
       DESCRIPTION
             "The basic collection of objects providing management of
              RADIUS Accounting Clients."
       ::= { radiusAccClientMIBGroups 2 }


END
