-- *****************************************************************
-- CISCO-AAA-SERVER-MIB.my:  Cisco AAA Server MIB file.
--
-- Copyright (c) 1999-2003 by cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************



CISCO-AAA-SERVER-MIB DEFINITIONS ::= BEGIN


IMPORTS
	MODULE-IDENTITY,
	NOTIFICATION-TYPE,
	OBJECT-TYPE,
	Counter32,
	IpAddress, Unsigned32
		FROM SNMPv2-SMI
	MODULE-COMPLIANCE,
	OBJECT-GROUP, NOTIFICATION-GROUP
		FROM SNMPv2-CONF
	TimeInterval, DisplayString,
	TruthValue, RowStatus,
	TEXTUAL-CONVENTION
		FROM SNMPv2-TC
	ciscoExperiment
		FROM CISCO-SMI;


ciscoAAAServerMIB MODULE-IDENTITY
	LAST-UPDATED	"200311170000Z"
	ORGANIZATION	"Cisco Systems,	Inc."
	CONTACT-INFO
		"	Cisco Systems
			Customer Service

		Postal:	170 W Tasman Drive
			San Jose, CA  95134
			USA

		   Tel:	+1 800 553-NETS

		E-mail:	cs-aaa@cisco.com"
	DESCRIPTION
		"The MIB module	for monitoring communications and status
		 of AAA	Server operation
		"
        REVISION    "200311170000Z"
        DESCRIPTION
           "Expanded the list of AAA protocols to include LDAP,
           Kerberos, NTLM and SDI; defined textual convention
           CiscoAAAProtocol to denote the type of AAA protocols.
           "

	REVISION	 "200203280000Z"
	DESCRIPTION
		"Imported Unsigned32 from SNMPv2-SMI instead of
		CISCO-TC"
	REVISION	 "200001200000Z"
	DESCRIPTION
		"Added objects to support AAA server configuration
			  casConfigTable
			     casProtocol
			     casIndex
			     casAddress
			     casAuthenPort
			     casAcctPort
			     casConfigRowStatus
		"
	::= { ciscoExperiment 56 }



--	  Overview of AAA Server MIB
--
--	  MIB description
--
--
--	This MIB provides configuration	and statistics reflecting the state
--	of AAA Server operation	within the device and AAA communications
--	with external servers.
--
--	AAA stands for authentication, authorization, and accounting
--
--	The AAA	Server MIB provides the	following information:
--	 1) A Table for	configuring AAA	servers
--	 2) Identities of external AAA servers
--	 3) Distinct statistics	for each AAA function
--	 4) Status of servers providing	AAA functions
--
--	A server is defined as a logical entity	which provides any
--	of the three AAA functions. A TACACS+ server consists of
--	all three functions with a single IP address and single	TCP
--	port.  A RADIUS	server consists	of the authentication/accounting
--	pair with a single IP address but distinct UDP ports, or
--	it may be just one of authentication or	accounting. It is
--	possible to have two distinct RADIUS servers at	the same IP
--	address, one providing authentication only, the	other accounting
--	only.
--

-- +++++++++++++++++++++++++++++++++++++++++++++++++++
-- Local Textual Conventions
-- +++++++++++++++++++++++++++++++++++++++++++++++++++

CiscoAAAProtocol ::= TEXTUAL-CONVENTION
        STATUS         current
        DESCRIPTION
            "Protocol used with this server.
                 tacacsplus(1) - TACACS+

                 radius(2)   - RADIUS

                 ldap(3)     -   Light Weight Directory Protocol

                 kerberos(4) -   Kerberos

                 ntlm(5)     -   Authentication/Authorization using
				 NT Domain

                 sdi(6)      -   Authentication/Authorization using
				 Secure ID

                 other(7)    -   Other protocols
                "
        REFERENCE
            "
             RFC 2138 Remote Authentication Dial In User Service 
		      (RADIUS)
             RFC 2139 RADIUS Accounting
             The TACACS+ Protocol Version 1.78, Internet Draft
            "
        SYNTAX      INTEGER {
                        tacacsplus(1),
                        radius(2),
                        ldap(3),
                        kerberos(4),
                        ntlm(5),
                        sdi(6),
                        other(7)
                    }


-- AAA Server MIB object definitions

cAAAServerMIBObjects	 OBJECT	IDENTIFIER ::= { ciscoAAAServerMIB 1 }


-- Configuration objects

casConfig		 OBJECT	IDENTIFIER ::= { cAAAServerMIBObjects 1	}


-- Statistics objects

casStatistics		 OBJECT	IDENTIFIER ::= { cAAAServerMIBObjects 2	}



--
-- Notification	Configuration
--

casServerStateChangeEnable OBJECT-TYPE
	SYNTAX	    TruthValue
	MAX-ACCESS  read-write
	STATUS	    current
	DESCRIPTION
	    "This variable controls the	generation of
	     casServerStateChange notification.

	     When this variable	is true(1), generation of
	     casServerStateChange notifications	is enabled.
	     When this variable	is false(2), generation	of
	     casServerStateChange notifications	is disabled.

	     The default value is false(2).
	    "
	::= { casConfig	1 }

--
-- Server Configuration	Table
--

casConfigTable OBJECT-TYPE
	SYNTAX	    SEQUENCE OF	CasConfigEntry
	MAX-ACCESS  not-accessible
	STATUS	    current
	DESCRIPTION
		"This table shows current configurations for each
		 AAA server, allows existing servers to	be removed
		 and new ones to be created.
		"
	::= { casConfig	2 }

casConfigEntry OBJECT-TYPE
	SYNTAX	    CasConfigEntry
	MAX-ACCESS  not-accessible
	STATUS	    current
	DESCRIPTION
	    "An	AAA server configuration identified by its protocol
	     and its index.

	     An	entry is created/removed when a	server is defined
	     or	undefined with IOS configuration commands via
	     CLI or by issuing appropriate sets	to this	table
	     using snmp.

	     A management station wishing to create an entry should
	     first generate a random number to be used as the index
	     to	this sparse table.  The	station	should then create the
	     associated	instance of the	row status and row index objects.
	     It	must also, either in the same or in successive PDUs,
	     create an instance	of casAddress where casAddress is the
	     IP	address	of the server to be added.

	     It	should also modify the default values for casAuthenPort,
	     casAcctPort if the	defaults are not appropriate.

	     If	casKey is a zero-length	string or is not explicitly set,
	     then the global key will be used.	Otherwise, this	value
	     is	used as	the key	for this server	instance.

	     Once the appropriate instance of all the configuration
	     objects have been created,	either by an explicit SNMP set
	     request or	by default, the	row status should be set to
	     active(1) to initiate the request.

	     After the AAA server is made active, the entry can	not be
	     modified -	the only allowed operation after this is to
	     destroy the entry by setting casConfigRowStatus to	destroy(6).

	     casPriority is automatically assigned once	the entry is
	     made active and reflects the relative priority of the
	     defined server with respect to already configured servers.
	     Newly-created servers will	be assigned the	lowest priority.
	     To	reassign server	priorities to existing server entries,
	     it	may be necessary to destroy and	recreate entries in order
	     of	priority.

	     Entries in	this table with	casConfigRowStatus equal to
	     active(1) remain in the table until destroyed.

	     Entries in	this table with	casConfigRowStatus equal to
	     values other than active(1) will be destroyed after timeout
	     (5	minutes).

	     If	a server address being created via SNMP	exists already
	     in	another	active casConfigEntry, then a newly created row
	     can not be	made active until the original row with	the
	     with the same server address value	is destroyed.

	     Upon reload, casIndex values may be changed, but the
	     priorities	that were saved	before reload will be retained,
	     with lowest priority number corresponding to the higher
	     priority servers.
	     "
	INDEX {	casProtocol,
		casIndex }
	::= { casConfigTable 1}

CasConfigEntry ::=
	SEQUENCE {
	    casProtocol			   CiscoAAAProtocol,
	    casIndex			   Unsigned32,
	    casAddress			   IpAddress,
	    casAuthenPort		   INTEGER,
	    casAcctPort			   INTEGER,
	    casKey			   DisplayString,
	    casPriority			   Unsigned32,
	    casConfigRowStatus		   RowStatus
	}

casProtocol OBJECT-TYPE
        SYNTAX      CiscoAAAProtocol
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The variable denotes the protocol used by the
             managed device with the AAA server corresponding to
	     this entry in the table.
            "
       ::= { casConfigEntry 1 }

casIndex OBJECT-TYPE
	SYNTAX	    Unsigned32 (1..4294967295)
	MAX-ACCESS  not-accessible
	STATUS	    current
	DESCRIPTION
	    "A management station wishing to initiate a	new AAA	server
	     configuration should use a	random value for this object
	     when creating an instance of casConfigEntry.

	     The RowStatus semantics of	the casConfigRowStatus object
	     will prevent access conflicts.

	     If	the randomly chosen casIndex value for row creation
	     is	already	in use by an existing entry, snmp set to the
	     casIndex value will fail.
	    "

	::= { casConfigEntry 2 }

casAddress OBJECT-TYPE
	SYNTAX	    IpAddress
	MAX-ACCESS  read-create
	STATUS	    current
	DESCRIPTION
	    "The IP address of the server.
	    "

	::= { casConfigEntry 3 }

casAuthenPort OBJECT-TYPE
	SYNTAX	    INTEGER (0..65535)
	MAX-ACCESS  read-create
	STATUS	    current
	DESCRIPTION
	    "UDP/TCP port used for authentication in the configuration

	     For TACACS+, this object should be	explictly set.

	     Default value is the IOS default for radius: 1645.
	    "
	DEFVAL	{ 1645 }
	::= { casConfigEntry 4 }

casAcctPort OBJECT-TYPE
	SYNTAX	    INTEGER (0..65535)
	MAX-ACCESS  read-create
	STATUS	    current
	DESCRIPTION
	    "UDP/TCP port used for accounting service in the configuration

	     For TACACS+, the value of casAcctPort is ignored.
	     casAuthenPort will	be used	instead.

	     Default value is the IOS default for radius: 1646.
	    "
	DEFVAL { 1646 }
	::= { casConfigEntry 5 }

casKey	OBJECT-TYPE
	SYNTAX	   DisplayString
	MAX-ACCESS read-create
	STATUS	   current
	DESCRIPTION
		"The server key	to be used with	this server.

		 Retrieving the	value of this object via SNMP will
		 return	an empty string	for security reasons.
		"
	DEFVAL { "" }
	::= { casConfigEntry 6 }

casPriority  OBJECT-TYPE
	SYNTAX	    Unsigned32 (1..4294967295)
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "A number that indicates the priority of the server	in
	     this entry.  Lower	numbers	indicate higher	priority.
	    "
	::= { casConfigEntry 7 }


casConfigRowStatus OBJECT-TYPE
	SYNTAX	    RowStatus
	MAX-ACCESS  read-create
	STATUS	    current
	DESCRIPTION
		"The status of this table entry.  Once the entry status	is
		 set to	active,	the associated entry cannot be modified
		 except	destroyed by setting this object to destroy(6).
		"
	::= { casConfigEntry 8 }

--
-- Server Statistics
--

casStatisticsTable OBJECT-TYPE
	SYNTAX	    SEQUENCE OF	CasStatisticsEntry
	MAX-ACCESS  not-accessible
	STATUS	    current
	DESCRIPTION
		"
		 Table providing statistics for	each server.
		"
	::= { casStatistics 1 }

casStatisticsEntry OBJECT-TYPE
	SYNTAX	    CasStatisticsEntry
	MAX-ACCESS  not-accessible
	STATUS	    current
	DESCRIPTION
	    "Statistical information about a particular	server.

	     Objects in	this table are read-only and appear
	     automatically whenever a row in the casConfigTable
	     is	made active.

	     Objects in	this table disappear when casConfigRowStatus
	     for the corresponding casConfigEntry is set to the
	     destroy(6)	state.
	    "
	AUGMENTS { casConfigEntry }
	::= { casStatisticsTable 1 }

CasStatisticsEntry::=
	SEQUENCE {
	    casAuthenRequests		   Counter32,
	    casAuthenRequestTimeouts	   Counter32,
	    casAuthenUnexpectedResponses   Counter32,
	    casAuthenServerErrorResponses  Counter32,
	    casAuthenIncorrectResponses	   Counter32,
	    casAuthenResponseTime	   TimeInterval,
	    casAuthenTransactionSuccesses  Counter32,
	    casAuthenTransactionFailures   Counter32,
	    casAuthorRequests		   Counter32,
	    casAuthorRequestTimeouts	   Counter32,
	    casAuthorUnexpectedResponses   Counter32,
	    casAuthorServerErrorResponses  Counter32,
	    casAuthorIncorrectResponses	   Counter32,
	    casAuthorResponseTime	   TimeInterval,
	    casAuthorTransactionSuccesses  Counter32,
	    casAuthorTransactionFailures   Counter32,
	    casAcctRequests		   Counter32,
	    casAcctRequestTimeouts	   Counter32,
	    casAcctUnexpectedResponses	   Counter32,
	    casAcctServerErrorResponses	   Counter32,
	    casAcctIncorrectResponses	   Counter32,
	    casAcctResponseTime		   TimeInterval,
	    casAcctTransactionSuccesses	   Counter32,
	    casAcctTransactionFailures	   Counter32,
	    casState			   INTEGER,
	    casCurrentStateDuration	   TimeInterval,
	    casPreviousStateDuration	   TimeInterval,
	    casTotalDeadTime		   TimeInterval,
	    casDeadCount		   Counter32
	}

--
-- Authentication statistics
--

casAuthenRequests OBJECT-TYPE
	SYNTAX	    Counter32
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "The number	of authentication requests sent	to
	     this server since it is made active.

	     Retransmissions due to request timeouts are
	     counted as	distinct requests.
	    "
	::= { casStatisticsEntry 1 }

casAuthenRequestTimeouts OBJECT-TYPE
	SYNTAX	    Counter32
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "The number	of authentication requests which have
	     timed out since it	is made	active.

	     A timeout results in a retransmission of the request
	     If	the maximum number of attempts has been	reached,
	     no	further	retransmissions	will be	attempted.
	    "
	::= { casStatisticsEntry 2 }

casAuthenUnexpectedResponses OBJECT-TYPE
	SYNTAX	    Counter32
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "The number	of unexpected authentication responses received
	     from this server since it is made active.

	     An	example	is a delayed response to a request which had
	     already timed out.
	    "
	::= { casStatisticsEntry 3 }

casAuthenServerErrorResponses OBJECT-TYPE
	SYNTAX	    Counter32
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "The number	of server ERROR	authentication responses
	     received from this	server since it	is made	active.

	     These are responses indicating that the server itself
	     has identified an error with its authentication
	     operation.
	    "
	::= { casStatisticsEntry 4 }

casAuthenIncorrectResponses OBJECT-TYPE
	SYNTAX	    Counter32
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "The number	of authentication responses which could	not
	     be	processed since	it is made active.

	     Reasons include inability to decrypt the response,
	     invalid fields, or	the response is	not valid based	on
	     the request.
	    "
	::= { casStatisticsEntry 5 }

casAuthenResponseTime OBJECT-TYPE
	SYNTAX	    TimeInterval
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "Average response time for authentication requests sent
	     to	this server, excluding timeouts, since system
	     re-initialization.
	    "
	::= { casStatisticsEntry 6 }

casAuthenTransactionSuccesses OBJECT-TYPE
	SYNTAX	    Counter32
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "The number	of authentication transactions with this
	     server which succeeded since it is	made active.

	     A transaction may include multiple	request
	     retransmissions if	timeouts occur.

	     A transaction is successful if the	server responds
	     with either an authentication pass	or fail.
	    "
	::= { casStatisticsEntry 7 }

casAuthenTransactionFailures OBJECT-TYPE
	SYNTAX	    Counter32
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "The number	of authentication transactions with this
	     server which failed since it is made active.

	     A transaction may include multiple	request
	     retransmissions if	timeouts occur.

	     A transaction failure occurs if maximum resends have
	     been met or the server aborts the transaction.
	    "
	::= { casStatisticsEntry 8 }

--
-- Authorization statistics
--

casAuthorRequests OBJECT-TYPE
	SYNTAX	    Counter32
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "The number	of authorization requests sent to
	     this server since it is made active.

	     Retransmissions due to request timeouts are
	     counted as	distinct requests.

	     This object is not	instantiated for protocols which do
	     not support a distinct authorization function.
	    "
	::= { casStatisticsEntry 9 }

casAuthorRequestTimeouts OBJECT-TYPE
	SYNTAX	    Counter32
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "The number	of authorization requests which	have
	     timed out since it	is made	active.

	     A timeout results in a retransmission of the request
	     If	the maximum number of attempts has been	reached,
	     no	further	retransmissions	will be	attempted.

	     This object is not	instantiated for protocols which do
	     not support a distinct authorization function.
	    "
	::= { casStatisticsEntry 10 }

casAuthorUnexpectedResponses OBJECT-TYPE
	SYNTAX	    Counter32
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "The number	of unexpected authorization responses received
	     from this server since it is made active.

	     An	example	is a delayed response to a request which
	     had already timed out.

	     This object is not	instantiated for protocols which do
	     not support a distinct authorization function.
	    "
	::= { casStatisticsEntry 11 }

casAuthorServerErrorResponses OBJECT-TYPE
	SYNTAX	    Counter32
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "The number	of server ERROR	authorization responses
	     received from this	server since it	is made	active.

	     These are responses indicating that the server itself
	     has identified an error with its authorization
	     operation.

	     This object is not	instantiated for protocols which do
	     not support a distinct authorization function.
	    "
	::= { casStatisticsEntry 12 }

casAuthorIncorrectResponses OBJECT-TYPE
	SYNTAX	    Counter32
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "The number	of authorization responses which could not
	     be	processed since	it is made active.

	     Reasons include inability to decrypt the response,
	     invalid fields, or	the response is	not valid based	on
	     the request.

	     This object is not	instantiated for protocols which do
	     not support a distinct authorization function.
	    "
	::= { casStatisticsEntry 13 }

casAuthorResponseTime OBJECT-TYPE
	SYNTAX	    TimeInterval
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "Average response time for authorization requests sent
	     to	this server, excluding timeouts, since system
	     re-initialization.

	     This object is not	instantiated for protocols which do
	     not support a distinct authorization function.
	    "
	::= { casStatisticsEntry 14 }

casAuthorTransactionSuccesses OBJECT-TYPE
	SYNTAX	    Counter32
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "The number	of authorization transactions with this
	     server which succeeded since it is	made active.

	     A transaction may include multiple	request
	     retransmissions if	timeouts occur.

	     A transaction is successful if the	server responds
	     with either an authorization pass or fail.

	     This object is not	instantiated for protocols which do
	     not support a distinct authorization function.
	    "
	::= { casStatisticsEntry 15 }

casAuthorTransactionFailures OBJECT-TYPE
	SYNTAX	    Counter32
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "The number	of authorization transactions with this
	     server which failed since it is made active.

	     A transaction may include multiple	request
	     retransmissions if	timeouts occur.

	     A transaction failure occurs if maximum resends have
	     been met or the server aborts the transaction.

	     This object is not	instantiated for protocols which do
	     not support a distinct authorization function.
	    "
	::= { casStatisticsEntry 16 }

--
-- Accounting statistics
--

casAcctRequests	OBJECT-TYPE
	SYNTAX	    Counter32
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "The number	of accounting requests sent to
	     this server since system re-initialization.

	     Retransmissions due to request timeouts are
	     counted as	distinct requests.
	    "
	::= { casStatisticsEntry 17 }

casAcctRequestTimeouts OBJECT-TYPE
	SYNTAX	    Counter32
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "The number	of accounting requests which have
	     timed out since system re-initialization.

	     A timeout results in a retransmission of the request
	     If	the maximum number of attempts has been	reached,
	     no	further	retransmissions	will be	attempted.

	    "
	::= { casStatisticsEntry 18 }

casAcctUnexpectedResponses OBJECT-TYPE
	SYNTAX	    Counter32
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "The number	of unexpected accounting responses received
	     from this server since system re-initialization.

	     An	example	is a delayed response to a request which had
	     already timed out.
	    "
	::= { casStatisticsEntry 19 }

casAcctServerErrorResponses OBJECT-TYPE
	SYNTAX	    Counter32
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "The number	of server ERROR	accounting responses received
	     from this server since system re-initialization.

	     These are responses indicating that the server itself
	     has identified an error with its accounting
	     operation.
	    "
	::= { casStatisticsEntry 20 }

casAcctIncorrectResponses OBJECT-TYPE
	SYNTAX	    Counter32
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "The number	of accounting responses	which could not
	     be	processed since	system re-initialization.

	     Reasons include inability to decrypt the response,
	     invalid fields, or	the response is	not valid based	on
	     the request.
	    "
	::= { casStatisticsEntry 21 }

casAcctResponseTime OBJECT-TYPE
	SYNTAX	    TimeInterval
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "Average response time for accounting requests sent
	     to	this server,, since system re-initialization
	     excluding timeouts.
	    "
	::= { casStatisticsEntry 22 }

casAcctTransactionSuccesses OBJECT-TYPE
	SYNTAX	    Counter32
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "The number	of accounting transactions with	this
	     server which succeeded since system re-initialization.

	     A transaction may include multiple	request
	     retransmissions if	timeouts occur.

	     A transaction is successful if the	server responds
	     with either an accounting pass or fail.
	    "
	::= { casStatisticsEntry 23 }

casAcctTransactionFailures OBJECT-TYPE
	SYNTAX	    Counter32
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "The number	of accounting transactions with	this
	     server which failed since system re-initialization.

	     A transaction may include multiple	request
	     retransmissions if	timeouts occur.

	     A transaction failure occurs if maximum resends have
	     been met or the server aborts the transaction.
	    "
	::= { casStatisticsEntry 24 }

--
-- Server availability
--

casState OBJECT-TYPE
	SYNTAX	    INTEGER {
			up(1),
			dead(2)
		    }
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "Current state of this server.

		 up(1)	 - Server responding to	requests

		 dead(2) - Server failed to respond

	     A server is marked	dead if	it does	not respond after
	     maximum retransmissions.

	     A server is marked	up again either	after a	waiting
	     period or if some response	is received from it.

	     The initial value of casState is 'up(1)' at system
	     re-initialization.	This will only transistion to 'dead(2)'
	     if	an attempt to communicate fails.
	    "
	::= { casStatisticsEntry 25 }

casCurrentStateDuration	OBJECT-TYPE
	SYNTAX	    TimeInterval
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "This object provides the elapsed time the server has
	     been in its current state as shown	in casState.
	    "
	::= { casStatisticsEntry 26 }

casPreviousStateDuration OBJECT-TYPE
	SYNTAX	    TimeInterval
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "This object provides the elapsed time the server was
	     been in its previous state	prior to the most recent
	     transistion of casState.

	     This value	is zero	if the server has not changed state.
	    "
	::= { casStatisticsEntry 27 }

casTotalDeadTime OBJECT-TYPE
	SYNTAX	    TimeInterval
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "The total elapsed time this server's casState has
	     had the value 'dead(2)' since system re-initialization.
	    "
	::= { casStatisticsEntry 28 }

casDeadCount OBJECT-TYPE
	SYNTAX	    Counter32
	MAX-ACCESS  read-only
	STATUS	    current
	DESCRIPTION
	    "The number	of times this server's casState	has
	     transitioned to 'dead(2)' since system re-initialization.
	    "
	::= { casStatisticsEntry 29 }




-- ******************************************************************
-- Notifications
-- ******************************************************************
cAAAServerMIBNotificationPrefix	 OBJECT	IDENTIFIER ::=
				  { ciscoAAAServerMIB 2	}

cAAAServerMIBNotifications	 OBJECT	IDENTIFIER ::=
				  { cAAAServerMIBNotificationPrefix 0 }

casServerStateChange NOTIFICATION-TYPE
    OBJECTS	{ casState,
		  casPreviousStateDuration,
		  casTotalDeadTime }
    STATUS	current
    DESCRIPTION
	"An AAA	server state change notification is generated
	 whenever casState changes value.
	"
    ::=	{ cAAAServerMIBNotifications 1 }



-- ******************************************************************
-- Conformance and Compliance
-- ******************************************************************
cAAAServerMIBConformance  OBJECT IDENTIFIER ::=	{ ciscoAAAServerMIB 3 }

casMIBCompliances  OBJECT IDENTIFIER ::= { cAAAServerMIBConformance 1 }
casMIBGroups	   OBJECT IDENTIFIER ::= { cAAAServerMIBConformance 2 }

-- compliance statements

casMIBCompliance MODULE-COMPLIANCE
	STATUS	    current
	DESCRIPTION
	    "The compliance statement for entities which
	     implement the CISCO AAA Server MIB"
	MODULE	    -- this module
	MANDATORY-GROUPS
	    {
	      casConfigGroup,
	      casStatisticsGroup,
	      casServerNotificationGroup
	    }

	    OBJECT casAddress
	    MIN-ACCESS read-only
	    DESCRIPTION
		 "Create/Write access is not required."

	    OBJECT casAuthenPort
	    MIN-ACCESS read-only
	    DESCRIPTION
		 "Create/Write access is not required."

	    OBJECT casAcctPort
	    MIN-ACCESS read-only
	    DESCRIPTION
		 "Create/Write access is not required."

	    OBJECT casKey
	    MIN-ACCESS read-only
	    DESCRIPTION
		 "Create/Write access is not required."

	    OBJECT casConfigRowStatus
	    MIN-ACCESS read-only
	    DESCRIPTION
		 "Create/Write access is not required."


	::= { casMIBCompliances	1 }


-- units of conformance

casStatisticsGroup OBJECT-GROUP
	OBJECTS	{
	    casAuthenRequests,
	    casAuthenRequestTimeouts,
	    casAuthenUnexpectedResponses,
	    casAuthenServerErrorResponses,
	    casAuthenIncorrectResponses,
	    casAuthenResponseTime,
	    casAuthenTransactionSuccesses,
	    casAuthenTransactionFailures,
	    casAuthorRequests,
	    casAuthorRequestTimeouts,
	    casAuthorUnexpectedResponses,
	    casAuthorServerErrorResponses,
	    casAuthorIncorrectResponses,
	    casAuthorResponseTime,
	    casAuthorTransactionSuccesses,
	    casAuthorTransactionFailures,
	    casAcctRequests,
	    casAcctRequestTimeouts,
	    casAcctUnexpectedResponses,
	    casAcctServerErrorResponses,
	    casAcctIncorrectResponses,
	    casAcctResponseTime,
	    casAcctTransactionSuccesses,
	    casAcctTransactionFailures,
	    casState,
	    casCurrentStateDuration,
	    casPreviousStateDuration,
	    casTotalDeadTime,
	    casDeadCount
	}
	STATUS	    current
	DESCRIPTION
	    "Objects for providing AAA server statistics and status.
	    "
	::= { casMIBGroups 1 }

casConfigGroup OBJECT-GROUP
	OBJECTS	{
	    casServerStateChangeEnable,
	    casAddress,
	    casAuthenPort,
	    casAcctPort,
	    casKey,
	    casPriority,
	    casConfigRowStatus
	}
	STATUS	    current
	DESCRIPTION
	    "Objects for configuring the AAA servers.
	    "
	::= { casMIBGroups 2 }

casServerNotificationGroup NOTIFICATION-GROUP
   NOTIFICATIONS { casServerStateChange	}
   STATUS current
   DESCRIPTION
       "The collection of notifications	used for
	monitoring AAA server status"
   ::= { casMIBGroups 3	}



END

