GRAY-RADIUS-STAT-MIB DEFINITIONS ::= BEGIN

IMPORTS
       MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY,
       Counter32, Integer32,
       IpAddress, TimeTicks, mib-2      FROM SNMPv2-SMI
       SnmpAdminString                  FROM SNMP-FRAMEWORK-MIB;

radiusStatMIB MODULE-IDENTITY
       LAST-UPDATED "0001020000Z"
       ORGANIZATION "IETF RADIUS Working Group."
       CONTACT-INFO
              " Sergey Poznyakoff
                email: gray@farlep.net"
       DESCRIPTION
             "The MIB module for entities implementing the statistics
              side of the Remote Access Dialin User Service (RADIUS)
              authentication protocol."
       REVISION "0001020000Z"    
       DESCRIPTION "Experimental Version"
       ::= { radiusStatistics 1 }

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

radiusStatistics  OBJECT IDENTIFIER ::= {radiusMIB 3}

radiusStatIdent OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
             "The implementation identification string for the
              RADIUS statistics server software in use on the
              system"
       ::= {radiusStatistics 1}

radiusStatUpTime OBJECT-TYPE
       SYNTAX      TimeTicks
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
             "Time (in hundredths of a second) since the statistics
              was started."
       ::= {radiusStatistics 2}

radiusStatConfigReset OBJECT-TYPE
       SYNTAX INTEGER { other(1),
                        reset(2),
                        initializing(3),
                        running(4)}
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
              "Status/action object to reinitialize any persistent
               server state.  When set to reset(2), any persistent
               server state (such as a process) is reinitialized as if
               the server had just been started.  This value will
               never be returned by a read operation.  When read, one of
               the following values will be returned:
                   other(1) - server in some unknown state;
                   initializing(3) - server (re)initializing;
                   running(4) - server currently running."
       ::= {radiusStatistics 3}

radiusStatTotalLines OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The number of dialup lines registered by the statistics
                module"
        ::= { radiusStatistics 4}

radiusStatTotalLinesInUse OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
              "The number dial-up lines currently in use"
        ::= { radiusStatistics 5 }

radiusStatTotalLinesIdle OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
              "The number dial-up lines currently idle"
        ::= { radiusStatistics 6 }

radiusStatNasTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF RadiusStatNASEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "The (conceptual) table listing the available
              Network Access Servers"
       ::= { radiusStatistics 5 }

radiusStatNASEntry OBJECT-TYPE
       SYNTAX     RadiusNASStatEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "An entry (conceptual row) representing a Network
              Access Server"
       INDEX      { NASIndex }
       ::= { radiusStatNASTable 1 }

RadiusStatNASEntry ::= SEQUENCE {
       NASIndex                           Integer32,
       NASAddress                         IpAddress,
       NASID                              SnmpAdminString,
       NASLines                           Counter32,
       NASLinesInUse                      Counter32,
       NASLinesIdle                       Counter32,
       NASPortTable                       RadiusStatNASPortTable
}

NASIndex OBJECT-TYPE
       SYNTAX     Integer32 (1..2147483647)
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "A number uniquely identifying each NAS"
       ::= { radiusStatNASEntry 1 }

NASAddress OBJECT-TYPE
       SYNTAX     IpAddress
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The NAS-IP-Address"
       ::= { radiusStatNASEntry 2 }

NASID OBJECT-TYPE
       SYNTAX     SnmpAdminString
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The NAS-Identifier"
       ::= { radiusStatNASEntry 3 }

NASLines OBJECT-TYPE
       SYNTAX Counter32
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "The number of lines served by the NAS"
       ::= { radiusStatNASEntry 4 }

NASLinesInUse OBJECT-TYPE
       SYNTAX Counter32
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "The number of lines currently in use on this NAS"
       ::= { radiusStatNASEntry 5 }

NASLinesIdle OBJECT-TYPE
       SYNTAX Counter32
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "The number of lines currently idle on this NAS"
       ::= { radiusStatNASEntry 6 }

NASPortTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF RadiusStatNASPortEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "The (conceptual) table listing the available ports"
       ::= { radiusStatNASEntry 7 }

NASPortEntry OBJECT-TYPE
       SYNTAX     RadiusStatNASPortEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
             "An entry (conceptual row) representing a port"
       INDEX      { PortIndex }
       ::= { NASPortTable 1 }

RadiusStatNASPortEntry ::= SEQUENCE {
       PortIndex                           Integer32,
       PortID                              SnmpAdminString,
       PortTotalLogins                     Counter32,
       PortStatus                          Counter32,
       PortStatusDate                      DateAndTime,
       PortUpTime                          TimeTicks,
       PortLastLogin                       SnmpAdminString,
       PortLastLoginDate                   DateAndTime,
       PortLastLogoutDate                  DateAndTime,
       PortIdleTotalTime                   TimeTicks,
       PortIdleMaxTime                     TimeTicks,
       PortIdleMaxDate                     DateAndTime,
       PortInUseTotalTime                  TimeTicks,
       PortInUseMaxTime                    TimeTicks,
       PortInUseMaxDate                    DateAndTime,
}

PortIndex OBJECT-TYPE
       SYNTAX     Integer32 (1..2147483647)
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "A number uniquely identifying each port"
       ::= { NASPortEntry 1 }

PortID OBJECT-TYPE
       SYNTAX     SnmpAdminString
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
             "The Port-Identifier"
       ::= { NASPortEntry 2 }

PortTotalLogins OBJECT-TYPE
       SYNTAX Counter32
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "The number of logins registered so far"
       ::= { NASPortEntry 3 }

PortStatus OBJECT-TYPE
       SYNTAX INTEGER {
		idle(1),
		inUse(2)
       }
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "The status of the port"
       ::= { NASPortEntry 4 }

PortStatusDate OBJECT-TYPE
       SYNTAX DateAndTime
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "Time of the last change in port status"
       ::= { NASPortEntry 5 }

PortUpTime OBJECT-TYPE
       SYNTAX TimeTicks
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "Time in thousandths of a second since the port changed its
              status"
       ::= { NASPortEntry 6 }

PortLastLoginName OBJECT-TYPE
       SYNTAX SnmpAdminString
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "The username of the last user logged in on that port"
       ::= { NASPortEntry 7 }

PortLastLoginDate OBJECT-TYPE
       SYNTAX DateAndTime
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "Time of the last login"
       ::= { NASPortEntry 8 }

PortLastLogoutDate OBJECT-TYPE
       SYNTAX DateAndTime
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "Time of the last logout"
       ::= { NASPortEntry 9 }

PortIdleTotalTime OBJECT-TYPE
       SYNTAX TimeTicks
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "Total time the port was idle"
       ::= { NASPortEntry 10 }

PortIdleMaxTime OBJECT-TYPE
       SYNTAX TimeTicks
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "Maximum time the port was idle"
       ::= { NASPortEntry 11 }

PortIdleMaxDate OBJECT-TYPE
       SYNTAX DateAndTime
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "Date when the maximum idle time was registered"
       ::= { NASPortEntry 12 }

PortInUseTotalTime OBJECT-TYPE
       SYNTAX TimeTicks
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "Total time the port was in use"
       ::= { NASPortEntry 13 }

PortInUseMaxTime OBJECT-TYPE
       SYNTAX TimeTicks
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "Maximum time the port was in use"
       ::= { NASPortEntry 14 }

PortInUseMaxDate OBJECT-TYPE
       SYNTAX DateAndTime
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "Date when the maximum in use time was registered"
       ::= { NASPortEntry 15 }


END
