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

