   GEN-RADIUS-AUTH-MIB DEFINITIONS ::= BEGIN

   IMPORTS
          	MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY,
          	Counter32, Integer32, Gauge32, Unsigned32,
          	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
          		
		DisplayString,
		RowStatus,
		TEXTUAL-CONVENTION,
		TruthValue
		      FROM SNMPv2-TC

		InterfaceIndex,
		ifIndex
		      FROM IF-MIB
		      
	      adGenSlotInfoIndex    		
        		FROM ADTRAN-GENSLOT-MIB
		      
		adGenRadiusAuth,
		adGenRadiusAuthID
		      FROM ADTRAN-SHARED-CND-SYSTEM-MIB;


  adGenRadiusAuthMIB MODULE-IDENTITY
          LAST-UPDATED "201402190000Z" -- 19 Feb. 2014
        ORGANIZATION
            "ADTRAN, Inc."
        CONTACT-INFO
            "CND Tech Support
                Postal: ADTRAN, Inc.
                        901 Explorer Blvd.
                        Huntsville, AL  35806
                        Tel: +1 800 726-8663
                        Fax: +1 256 963 6217
                        E-mail: support@adtran.com"
          DESCRIPTION
                "This MIB defines the objects for Generic Radius Authentication MIB."

	REVISION "201402190000Z"
   	DESCRIPTION
      		"Add adGenRadiusAuthRelayCallingStationIdDelim and adGenRadiusAuthRelayAllowList
            OIDs to the adGenRadiusAuthRelayTable"

	REVISION "201310210000Z"
   	DESCRIPTION
      		"Add adGenRadiusAuthRelayOperStatus OID to the adGenRadiusAuthRelayTable"

	REVISION "201309060000Z"
   	DESCRIPTION
      		"Add adGenRadiusAuthRelayTable"

	REVISION "201306130000Z"
   	DESCRIPTION
      		"Change during development phase.  Removed adGenRadiusAuthServerRetries and adGenRadiusAuthServerContactTimeout 
      		in adGenRadiusAuthServerTable"
                
          ::= { adGenRadiusAuthID 1 }



-- OBJECT IDENTIFIERS

adGenRadiusAuthMIBObjects	OBJECT IDENTIFIER ::= {adGenRadiusAuth 1}
adGenRadiusAuthProv		OBJECT IDENTIFIER ::= {adGenRadiusAuthMIBObjects 1}
adGenRadiusAuthStatus		OBJECT IDENTIFIER ::= {adGenRadiusAuthMIBObjects 2}

-- **********************************************************************
-- Textual Conventions
-- **********************************************************************

AdGenRadiusRelayOperStatus ::= TEXTUAL-CONVENTION
        STATUS  current
        DESCRIPTION
            "The value determines the operational status of the
            Radius Relay."
            
        SYNTAX   INTEGER {
           up(1),
           down(2)
           }

-- **********************************************************************
-- **********************************************************************

	adGenRadiusAuthGroupTable OBJECT-TYPE
	      SYNTAX     SEQUENCE OF AdGenRadiusAuthGroupEntry
	      MAX-ACCESS not-accessible
	      STATUS     current
	      DESCRIPTION
	            "The table listing the RADIUS server groups"
	      ::= { adGenRadiusAuthProv 1 }

	adGenRadiusAuthGroupEntry OBJECT-TYPE
	      SYNTAX     AdGenRadiusAuthGroupEntry
	      MAX-ACCESS not-accessible
	      STATUS     current
	      DESCRIPTION
	            "An entry (conceptual row) representing a RADIUS
	             Group"

	      INDEX      { IMPLIED adGenRadiusAuthGroupName }
      		::= { adGenRadiusAuthGroupTable 1 }

	AdGenRadiusAuthGroupEntry ::= SEQUENCE {
		adGenRadiusAuthGroupName      			DisplayString,
		adGenRadiusAuthGroupNASId			DisplayString,
		adGenRadiusAuthGroupNASPortId			DisplayString,
		adGenRadiusAuthGroupVendorId			Unsigned32,
		adGenRadiusAuthGroupVendorDescription	DisplayString,
		adGenRadiusAuthGroupLastError			DisplayString,
		adGenRadiusAuthGroupDeadTime			Unsigned32,
		adGenRadiusAuthGroupRowStatus			RowStatus
	}

      adGenRadiusAuthGroupName OBJECT-TYPE
         SYNTAX  DisplayString (SIZE (1..50))
         MAX-ACCESS  not-accessible
         STATUS  current
         DESCRIPTION
            "A user configurable name for the Group of Radius Servers."
         ::= { adGenRadiusAuthGroupEntry 1}

      adGenRadiusAuthGroupNASId OBJECT-TYPE
         SYNTAX  DisplayString (SIZE (0..50))
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
            "A user configurable string identifying the Network Access Server (NAS)
             originating the Access-Requests.  This is used as the value for the
             NAS-Identifier RADIUS attribute."

         DEFVAL {""}        
         ::= { adGenRadiusAuthGroupEntry 2}

      adGenRadiusAuthGroupNASPortId OBJECT-TYPE
         SYNTAX  DisplayString (SIZE (0..50))
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
            "A user configurable string identifying the port of the Network Access 
             Server (NAS) which is authenticating the user.  This is used as the 
             value for the NAS-Port-Id RADIUS attribute."

         DEFVAL {""}    
         ::= { adGenRadiusAuthGroupEntry 3}

      adGenRadiusAuthGroupVendorId OBJECT-TYPE
         SYNTAX Unsigned32
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
            "The Private Enterprise Code of the NAS equipment, as defined in the 
            'Assigned Numbers' RFC.  The value for Adtran is 664.  This is used 
            as the Vendor-Id value for the Vendor-Specific RADIUS attribute."

         DEFVAL {664}   
         ::= { adGenRadiusAuthGroupEntry 4}

      adGenRadiusAuthGroupVendorDescription OBJECT-TYPE
         SYNTAX  DisplayString (SIZE (0..50))
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
            "A user configurable string describing the NAS equipment.  This is 
            used as the String value for the Vendor-Specific RADIUS attribute."

         DEFVAL {""}   
         ::= { adGenRadiusAuthGroupEntry 5}

      adGenRadiusAuthGroupLastError OBJECT-TYPE
         SYNTAX  DisplayString 
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
            		"Returns the last error that occurred"            
            		
         DEFVAL {""}    		
         ::= { adGenRadiusAuthGroupEntry 6}

      adGenRadiusAuthGroupDeadTime OBJECT-TYPE
         SYNTAX  Unsigned32
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
           		"Time (in minutes) a server is considered unavailable if requests time out for the configured retransmit count"            
           		
         DEFVAL { 0 }  		
         ::= { adGenRadiusAuthGroupEntry 7}

      adGenRadiusAuthGroupRowStatus OBJECT-TYPE
         SYNTAX  RowStatus
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
           "This object is used to create a new row or delete an
            existing row in the Radius Group Table."
         ::= { adGenRadiusAuthGroupEntry 8}

--==================================================================================================================

      adGenRadiusAuthGroupTableLastError OBJECT-TYPE
     	   SYNTAX  DisplayString 
     	   MAX-ACCESS  read-only
     	   STATUS  current
         DESCRIPTION
        		"Returns the last error that occurred when modifying the table"            
     	::= { adGenRadiusAuthProv 2}

--==================================================================================================================

	adGenRadiusAuthGroupListTable OBJECT-TYPE
	      SYNTAX     SEQUENCE OF AdGenRadiusAuthGroupListEntry
	      MAX-ACCESS not-accessible
	      STATUS     current
	      DESCRIPTION
	            "The table listing the RADIUS server groups"
	      ::= { adGenRadiusAuthProv 3 }

	adGenRadiusAuthGroupListEntry OBJECT-TYPE
	      SYNTAX     AdGenRadiusAuthGroupListEntry
	      MAX-ACCESS not-accessible
	      STATUS     current
	      DESCRIPTION
	            "An entry (conceptual row) representing a RADIUS
	             Group.  Each Group can be configured with a maximum number of Radius 
	             Servers."
	             
	      INDEX      { adGenRadiusAuthGroupNameFixedLen, adGenRadiusAuthGroupListSeqIndex }
      		::= { adGenRadiusAuthGroupListTable 1 }
      		
	AdGenRadiusAuthGroupListEntry ::= SEQUENCE {
		adGenRadiusAuthGroupNameFixedLen				OCTET STRING,
		adGenRadiusAuthGroupListSeqIndex				Unsigned32,
		adGenRadiusAuthGroupListServerName				DisplayString
	}

      adGenRadiusAuthGroupNameFixedLen OBJECT-TYPE
	      	SYNTAX  OCTET STRING (SIZE (50))
      		MAX-ACCESS  not-accessible
         	STATUS  current
         	DESCRIPTION
            		 "The name of the Radius Group to which the Radius Server should be added.
	            	  This string matches adGenRadiusAuthGroupName from adGenRadiusAuthGroupTable,
	            	  but it is padded at the end with 0x00 so that the table index has a fixed
		        length of 50 characters."
         	::= { adGenRadiusAuthGroupListEntry 1}

      adGenRadiusAuthGroupListSeqIndex OBJECT-TYPE
	      	SYNTAX  Unsigned32
      		MAX-ACCESS  not-accessible
         	STATUS  current
         	DESCRIPTION
            		"The Sequence Number of the Server.  Priority order of servers in the list"
         	::= { adGenRadiusAuthGroupListEntry 2}

      adGenRadiusAuthGroupListServerName OBJECT-TYPE
         	SYNTAX  DisplayString (SIZE (0..50))
         	MAX-ACCESS  read-write
         	STATUS  current
         	DESCRIPTION
            		"Name of Radius Server set in the adGenRadiusAuthServerTable.  The server name will default to an empty string until set by user"            
         	::= { adGenRadiusAuthGroupListEntry 3}
--==================================================================================================================

      adGenRadiusAuthNumOfServersPerGroup OBJECT-TYPE
	      	SYNTAX  Unsigned32
      		MAX-ACCESS  read-only
         	STATUS  current
         	DESCRIPTION
            		"Returns the number of servers allow per server group"
         	::= { adGenRadiusAuthProv 4}
         	
--==================================================================================================================

	adGenRadiusAuthServerTable OBJECT-TYPE
		SYNTAX     SEQUENCE OF AdGenRadiusAuthServerEntry
	      MAX-ACCESS not-accessible
	      STATUS     current
	      DESCRIPTION
	            "The table listing the RADIUS servers"
	      	::= { adGenRadiusAuthProv 5 }

	adGenRadiusAuthServerEntry OBJECT-TYPE
            SYNTAX  AdGenRadiusAuthServerEntry
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                "An entry in the RADIUS settings table."
           INDEX   { IMPLIED adGenRadiusAuthServerName}
           ::= { adGenRadiusAuthServerTable 1 }

        AdGenRadiusAuthServerEntry ::= SEQUENCE {
			adGenRadiusAuthServerName			DisplayString,
			adGenRadiusAuthServerInetAddressType	InetAddressType,
			adGenRadiusAuthServerInetAddress		InetAddress,
			adGenRadiusAuthServerInetAddressPort	InetPortNumber,
			adGenRadiusAuthServerSecret			DisplayString,
			adGenRadiusAuthServerLastError			DisplayString,
			adGenRadiusAuthServerRowStatus		RowStatus

        }
       adGenRadiusAuthServerName OBJECT-TYPE
         	SYNTAX  DisplayString (SIZE (1..50))
         	MAX-ACCESS  not-accessible
         	STATUS  current
         	DESCRIPTION
            		"Name of Radius Server"            
         	::= { adGenRadiusAuthServerEntry 1}

       adGenRadiusAuthServerInetAddressType OBJECT-TYPE
         	SYNTAX  InetAddressType
         	MAX-ACCESS  read-create
         	STATUS  current
         	DESCRIPTION
            		"Ip Address Type of Radius Server" 
            		
            	DEFVAL {	 ipv4 }
         	::= { adGenRadiusAuthServerEntry 2}

       adGenRadiusAuthServerInetAddress OBJECT-TYPE
         	SYNTAX  InetAddress
         	MAX-ACCESS  read-create
         	STATUS  current
         	DESCRIPTION
            		"Ip Address of Radius Server"   

             DEFVAL {"0.0.0.0"}		
         	::= { adGenRadiusAuthServerEntry 3}

       adGenRadiusAuthServerInetAddressPort OBJECT-TYPE
         	SYNTAX  InetPortNumber
         	MAX-ACCESS  read-create
         	STATUS  current
         	DESCRIPTION
            		"The destination UDP port number of the
			Radius Server."
             DEFVAL {1812}
         	::= { adGenRadiusAuthServerEntry 4}

       adGenRadiusAuthServerSecret OBJECT-TYPE
         	SYNTAX  DisplayString
         	MAX-ACCESS  read-create
         	STATUS  current
         	DESCRIPTION
            		"The key used in encrypting the packets passed between the
                   RADIUS Server and the client. This key must match the one
                   configured on the server."
             DEFVAL {""}      
         	::= { adGenRadiusAuthServerEntry 5}

       adGenRadiusAuthServerLastError OBJECT-TYPE
         	SYNTAX  DisplayString
         	MAX-ACCESS  read-only
         	STATUS  current
         	DESCRIPTION
            		"Returns the last error that occurred"
            	DEFVAL {""}	
         	::= { adGenRadiusAuthServerEntry 6}

       adGenRadiusAuthServerRowStatus OBJECT-TYPE
         	SYNTAX  RowStatus
         	MAX-ACCESS  read-create
         	STATUS  current
         	DESCRIPTION
           		"This object is used to create a new row or delete an
            		existing row in the Radius Server List Table."            
	
         	::= { adGenRadiusAuthServerEntry 7}

--==================================================================================================================
       adGenRadiusAuthServerTableLastError OBJECT-TYPE
         	SYNTAX  DisplayString
         	MAX-ACCESS  read-only
         	STATUS  current
         	DESCRIPTION
            		"Returns the last error that occurred while modifying the server table"
         	::= { adGenRadiusAuthProv 6}

--==================================================================================================================

	adGenRadiusAuthRelayTable OBJECT-TYPE
		SYNTAX     SEQUENCE OF AdGenRadiusAuthRelayEntry
	      MAX-ACCESS not-accessible
	      STATUS     current
	      DESCRIPTION
	            "Entries for the Radius Relay"
	      	::= { adGenRadiusAuthProv 7 }

	adGenRadiusAuthRelayEntry OBJECT-TYPE
            SYNTAX  AdGenRadiusAuthRelayEntry
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                "An entry in the RADIUS Relay table."
           INDEX   { adGenSlotInfoIndex, IMPLIED adGenRadiusAuthRelayName}
           ::= { adGenRadiusAuthRelayTable 1 }

        AdGenRadiusAuthRelayEntry ::= SEQUENCE {
			adGenRadiusAuthRelayName					DisplayString,
			adGenRadiusAuthRelayIPHostIfIndex			InterfaceIndex,
			adGenRadiusAuthRelayIPHostName			DisplayString,
			adGenRadiusAuthRelayNasId					DisplayString,
			adGenRadiusAuthRelayUserNameOverride   		INTEGER,			
			adGenRadiusAuthRelayNasIPOverride			INTEGER,
			adGenRadiusAuthRelayVendorSpecificId		Unsigned32,
			adGenRadiusAuthRelayVendorSpecificSubType	Unsigned32,
			adGenRadiusAuthRelayVendorSpecificSubValue	DisplayString,
			adGenRadiusAuthRelayLastError				DisplayString,
			adGenRadiusAuthRelayRowStatus				RowStatus,
			adGenRadiusAuthRelayOperStatus			    AdGenRadiusRelayOperStatus,
			adGenRadiusAuthRelayCallingStationIdDelim   INTEGER,
			adGenRadiusAuthRelayAllowList				DisplayString
        }

      adGenRadiusAuthRelayName OBJECT-TYPE
         SYNTAX  DisplayString (SIZE (1..50))
         MAX-ACCESS  not-accessible
         STATUS  current
         DESCRIPTION
            "A user configurable name for the Radius Relay."
         ::= { adGenRadiusAuthRelayEntry 1}

     adGenRadiusAuthRelayIPHostIfIndex OBJECT-TYPE
  	  SYNTAX      InterfaceIndex
   	  MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
        	"The ip-host's ifIndex."
        
        ::= { adGenRadiusAuthRelayEntry 2 }

     adGenRadiusAuthRelayIPHostName OBJECT-TYPE
  	  SYNTAX      DisplayString (SIZE(1..80))
   	  MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
        	"The ip-host's name."
        
        ::= { adGenRadiusAuthRelayEntry 3 }


      adGenRadiusAuthRelayNasId OBJECT-TYPE
         SYNTAX  DisplayString (SIZE (0..50))
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
            "A user configurable string identifying the Network Access Server (NAS)
             to add or replace existing string in the Radius Message attribute. If empty string 
             no addition or replacement will occur."

         DEFVAL {""}        
         ::= { adGenRadiusAuthRelayEntry 4}

    	adGenRadiusAuthRelayUserNameOverride OBJECT-TYPE
	   SYNTAX	INTEGER
	   			{
	                        disabled(1),
	                        callingstationId(2)
	                   }
	   MAX-ACCESS   read-create
	   STATUS       current
	   DESCRIPTION
	          "Replaces user-name with mac-address found in the specified attribute.  
	          If disabled, does nothing"	          
	   ::= { adGenRadiusAuthRelayEntry 5 }

    	adGenRadiusAuthRelayNasIPOverride OBJECT-TYPE
	   SYNTAX	INTEGER
	   			{
	                        enabled(1),
	                        disabled(2)
	                   }
	   MAX-ACCESS   read-create
	   STATUS       current
	   DESCRIPTION
	          "Replaces Radius client IP address with public IP when enabled"
	          
	   ::= { adGenRadiusAuthRelayEntry 6 }

    	adGenRadiusAuthRelayVendorSpecificId OBJECT-TYPE
	   SYNTAX	Unsigned32
	   MAX-ACCESS   read-create
	   STATUS       current
	   DESCRIPTION
	          "Used to add a vendor specific attribute to the Radius Message.  
	          The value is the Vendor IANA Private Enterprise Code.  A value of 0 
	          indicates that a vendor specific attribute will not be modified or added."
	          
	   ::= { adGenRadiusAuthRelayEntry 7 }

    	adGenRadiusAuthRelayVendorSpecificSubType OBJECT-TYPE
	   SYNTAX	Unsigned32
	   MAX-ACCESS   read-create
	   STATUS       current
	   DESCRIPTION
	          "Used to add a vendor specific attribute Sub-Type to the Radius Message."  
	         
	   ::= { adGenRadiusAuthRelayEntry 8 }

    	adGenRadiusAuthRelayVendorSpecificSubValue OBJECT-TYPE
	   SYNTAX	DisplayString
	   MAX-ACCESS   read-create
	   STATUS       current
	   DESCRIPTION
	          "Used to add a vendor specific attribute Sub-Value to the Radius Message."  
	         
	   ::= { adGenRadiusAuthRelayEntry 9 }

       adGenRadiusAuthRelayLastError OBJECT-TYPE
         	SYNTAX  DisplayString
         	MAX-ACCESS  read-only
         	STATUS  current
         	DESCRIPTION
            		"Returns the last error that occurred"
            	DEFVAL {""}	
         	::= { adGenRadiusAuthRelayEntry 10}

       adGenRadiusAuthRelayRowStatus OBJECT-TYPE
         	SYNTAX  RowStatus
         	MAX-ACCESS  read-create
         	STATUS  current
         	DESCRIPTION
           		"This object is used to create a new row, modify or delete an
            		existing row in the Radius Relay Table."            
	
         	::= { adGenRadiusAuthRelayEntry 11}

     adGenRadiusAuthRelayOperStatus    OBJECT-TYPE
          SYNTAX         AdGenRadiusRelayOperStatus
          MAX-ACCESS     read-only
          STATUS         current
          DESCRIPTION
           "The current operational status of the Radius Relay.
            The Relay OperStatus is UP if the rowstatus is active and the ip host that is set exist. 
            Otherwise OperStatus is down.  If OperStatus is down and RowStatus is active, the 
            adGenRadiusAuthRelayLastError OID will be updated for the reason it is down"
           
          ::= { adGenRadiusAuthRelayEntry 12}

     adGenRadiusAuthRelayCallingStationIdDelim    OBJECT-TYPE
          SYNTAX	INTEGER
	   			{
	                noAction(1),
	                colons(2),
                    hyphens(3)
	            }
          MAX-ACCESS     read-create
          STATUS         current
          DESCRIPTION
           "Ensures MAC address in Calling-Station-Id attribute contains the selected delimiter.
	          If noAction, does nothing"
           
         DEFVAL {noAction}        
          ::= { adGenRadiusAuthRelayEntry 13}

     adGenRadiusAuthRelayAllowList OBJECT-TYPE
         SYNTAX  DisplayString (SIZE(0..255))
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
            "A list of Radius Attribute types that are allowed through the Relay in the 
             client-to-server direction.  Each Radius Attribute type has a 1-255 value.  
             Many are defined in RFC 2865.  The Allow List is a comma-separated
             string of these values.  For instance, 1,4,12,24,26,31,32,79,80,87.
             If empty string all attributes are allowed through."
         DEFVAL {""}        
         ::= { adGenRadiusAuthRelayEntry 14}


--==================================================================================================================
	adGenRadiusAuthRelayErrorTable OBJECT-TYPE
		SYNTAX     SEQUENCE OF AdGenRadiusAuthRelayErrorEntry
	      MAX-ACCESS not-accessible
	      STATUS     current
	      DESCRIPTION
	            "Entries for the Radius Relay Error Table"
	      	::= { adGenRadiusAuthProv 8 }

	adGenRadiusAuthRelayErrorEntry OBJECT-TYPE
            SYNTAX  AdGenRadiusAuthRelayErrorEntry
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                "An entry in the RADIUS Relay Error table."
           INDEX   { adGenSlotInfoIndex}
           ::= { adGenRadiusAuthRelayErrorTable 1 }
           
	AdGenRadiusAuthRelayErrorEntry::= SEQUENCE {
		adGenRadiusAuthRelayTableLastCreateError	DisplayString
	}
	
       adGenRadiusAuthRelayTableLastCreateError OBJECT-TYPE
         	SYNTAX  DisplayString
         	MAX-ACCESS  read-only
         	STATUS  current
         	DESCRIPTION
            		"Returns the last error that occurred while creating a row in the Radius Relay table"
         	::= { adGenRadiusAuthRelayErrorEntry 1}

--==================================================================================================================

	adGenRadiusAuthStatusTable OBJECT-TYPE
	      SYNTAX     SEQUENCE OF AdGenRadiusAuthStatusEntry
	      MAX-ACCESS not-accessible
	      STATUS     current
	      DESCRIPTION
	            "The (conceptual) table listing the RADIUS authentication
	             servers with which the client shares a secret."
	      ::= { adGenRadiusAuthStatus 1 }

	adGenRadiusAuthStatusEntry OBJECT-TYPE
	      SYNTAX     AdGenRadiusAuthStatusEntry
	      MAX-ACCESS not-accessible
	      STATUS     current
	      DESCRIPTION
	            "An entry (conceptual row) representing a RADIUS
	             authentication server with which the client shares
	             a secret. Entries are uniquely identified by the 
                 ifIndex of the client (IP host) and a numerical
                 index for each server the client communicates with."

	      INDEX      { adGenRadiusAuthStatusIfIndex, adGenRadiusAuthStatusIpHostNameFixedLen, IMPLIED adGenRadiusAuthStatusServerName  }
	      ::= { adGenRadiusAuthStatusTable 1 }

	AdGenRadiusAuthStatusEntry ::= SEQUENCE {
		adGenRadiusAuthStatusIfIndex						InterfaceIndex,
		adGenRadiusAuthStatusIpHostNameFixedLen			OCTET STRING,
		adGenRadiusAuthStatusServerName					DisplayString,
	      adGenRadiusAuthStatusInetAddressType				InetAddressType,
	      adGenRadiusAuthStatusInetAddress					InetAddress,
	      adGenRadiusAuthStatusInetPortNumber				InetPortNumber,
	      adGenRadiusAuthStatusRoundTripTime					TimeTicks,
	      adGenRadiusAuthStatusAccessRequests				Counter32,
	      adGenRadiusAuthStatusAccessRetransmissions			Counter32,
	      adGenRadiusAuthStatusAccessAccepts				Counter32,
	      adGenRadiusAuthStatusAccessRejects					Counter32,
	      adGenRadiusAuthStatusAccessChallenges				Counter32,
	      adGenRadiusAuthStatusMalformedAccessResponses		Counter32,
	      adGenRadiusAuthStatusBadAuthenticators				Counter32,
	      adGenRadiusAuthStatusPendingRequests				Gauge32,
	      adGenRadiusAuthStatusTimeouts						Counter32,
	      adGenRadiusAuthStatusUnknownTypes					Counter32,
	      adGenRadiusAuthStatusPacketsDropped				Counter32,
	      adGenRadiusAuthStatusCounterDiscontinuity			TimeTicks,
	      adGenRadiusAuthStatusServerState					INTEGER
	}

	adGenRadiusAuthStatusIfIndex OBJECT-TYPE
	         SYNTAX  InterfaceIndex
	         MAX-ACCESS  not-accessible
	         STATUS  current
	         DESCRIPTION
	           "This interface index of the client (IP host) 
                communicating with this Server."
	         ::= { adGenRadiusAuthStatusEntry 1}

	adGenRadiusAuthStatusIpHostNameFixedLen OBJECT-TYPE
	         SYNTAX  OCTET STRING (SIZE (80))
	         MAX-ACCESS  not-accessible
	         STATUS  current
	         DESCRIPTION
	           "The ip-host's name with fixed len.  Name is padded with zeros."
	         ::= { adGenRadiusAuthStatusEntry 2}

       adGenRadiusAuthStatusServerName OBJECT-TYPE
         	SYNTAX  DisplayString (SIZE (1..50))
         	MAX-ACCESS  not-accessible
         	STATUS  current
         	DESCRIPTION
            		"Name of Radius Server set in the adGenRadiusAuthServerTable"            
	         ::= { adGenRadiusAuthStatusEntry 3}

	adGenRadiusAuthStatusInetAddressType OBJECT-TYPE
	      SYNTAX     InetAddressType
	      MAX-ACCESS read-only
	      STATUS     current
	      DESCRIPTION
	            "The type of address format used for the
	             adGenRadiusAuthStatusInetAddress object."
	      ::= { adGenRadiusAuthStatusEntry 4 }

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

	adGenRadiusAuthStatusInetPortNumber  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 server.  The value of zero (0) is invalid."
	      REFERENCE "RFC 2865 section 3"
	      ::= { adGenRadiusAuthStatusEntry 6 }

	adGenRadiusAuthStatusRoundTripTime  OBJECT-TYPE
	      SYNTAX TimeTicks
	      MAX-ACCESS read-only
	      STATUS current
	      DESCRIPTION
	            "The time interval (in hundredths of a second) between
	             the most recent Access-Reply/Access-Challenge and the
	             Access-Request that matched it from this RADIUS
	             authentication server."
	      REFERENCE "RFC 2865 section 2"
	      ::= { adGenRadiusAuthStatusEntry 7 }

	-- Request/Response statistics
	--
	-- TotalIncomingPackets = Accepts + Rejects + Challenges +
	-- UnknownTypes
	--
	-- TotalIncomingPackets - MalformedResponses -
	-- BadAuthenticators - UnknownTypes - PacketsDropped =
	-- Successfully received
	--
	-- AccessRequests + PendingRequests + ClientTimeouts =
	-- Successfully received
	--
	--

	adGenRadiusAuthStatusAccessRequests OBJECT-TYPE
	      SYNTAX Counter32
	      UNITS "packets"
	      MAX-ACCESS read-only
	      STATUS current
	      DESCRIPTION
	            "The number of RADIUS Access-Request packets sent
	             to this server.  This does not include retransmissions.
	             This counter may experience a discontinuity when the
	             RADIUS Client module within the managed entity is
	             reinitialized, as indicated by the current value of
	             radiusAuthClientCounterDiscontinuity."
	      REFERENCE "RFC 2865 section 4.1"
	      ::= { adGenRadiusAuthStatusEntry 8 }

	adGenRadiusAuthStatusAccessRetransmissions OBJECT-TYPE
	      SYNTAX Counter32
	      UNITS "packets"
	      MAX-ACCESS read-only
	      STATUS current
	      DESCRIPTION
	            "The number of RADIUS Access-Request packets
	             retransmitted to this RADIUS authentication server.
	             This counter may experience a discontinuity when
	             the RADIUS Client module within the managed entity
	             is reinitialized, as indicated by the current value
	             of radiusAuthClientCounterDiscontinuity."
	      REFERENCE "RFC 2865 sections 2.5, 4.1"
	      ::= { adGenRadiusAuthStatusEntry 9 }

	adGenRadiusAuthStatusAccessAccepts OBJECT-TYPE
	      SYNTAX Counter32
	      UNITS "packets"
	      MAX-ACCESS read-only
	      STATUS current
	      DESCRIPTION
	            "The number of RADIUS Access-Accept packets
	             (valid or invalid) received from this server.
	             This counter may experience a discontinuity when
	             the RADIUS Client module within the managed entity
	             is reinitialized, as indicated by the current value
	             of radiusAuthClientCounterDiscontinuity."
	      REFERENCE "RFC 2865 section 4.2"
	      ::= { adGenRadiusAuthStatusEntry 10 }

	adGenRadiusAuthStatusAccessRejects OBJECT-TYPE
	      SYNTAX Counter32
	      UNITS "packets"
	      MAX-ACCESS read-only
	      STATUS current
	      DESCRIPTION
	            "The number of RADIUS Access-Reject packets
	             (valid or invalid) received from this server.
	             This counter may experience a discontinuity when
	             the RADIUS Client module within the managed
	             entity is reinitialized, as indicated by the
	             current value of
	             radiusAuthClientCounterDiscontinuity."
	      REFERENCE "RFC 2865 section 4.3"
	      ::= { adGenRadiusAuthStatusEntry  11 }

	adGenRadiusAuthStatusAccessChallenges OBJECT-TYPE
	      SYNTAX Counter32
	      UNITS "packets"
	      MAX-ACCESS read-only
	      STATUS current
	      DESCRIPTION
	            "The number of RADIUS Access-Challenge packets
	             (valid or invalid) received from this server.
	             This counter may experience a discontinuity when
	             the RADIUS Client module within the managed
	             entity is reinitialized, as indicated by the
	             current value of
	             radiusAuthClientCounterDiscontinuity."
	      REFERENCE "RFC 2865 section 4.4"
	      ::= { adGenRadiusAuthStatusEntry 12 }

	-- "Access-Response" includes an Access-Accept, Access-Challenge,
	-- or Access-Reject

	adGenRadiusAuthStatusMalformedAccessResponses OBJECT-TYPE
	      SYNTAX Counter32
	      UNITS "packets"
	      MAX-ACCESS read-only
	      STATUS current
	      DESCRIPTION
	            "The number of malformed RADIUS Access-Response
	             packets received from this server.
	             Malformed packets include packets with
	             an invalid length.  Bad authenticators or
	             Message Authenticator attributes or unknown types
	             are not included as malformed access responses.
	             This counter may experience a discontinuity when
	             the RADIUS Client module within the managed entity
	             is reinitialized, as indicated by the current value
	             of radiusAuthClientCounterDiscontinuity."
	      REFERENCE "RFC 2865 sections 3, 4"
	      ::= { adGenRadiusAuthStatusEntry 13 }

	adGenRadiusAuthStatusBadAuthenticators OBJECT-TYPE
	      SYNTAX Counter32
	      UNITS "packets"
	      MAX-ACCESS read-only
	      STATUS current
	      DESCRIPTION
	            "The number of RADIUS Access-Response packets
	             containing invalid authenticators or Message
	             Authenticator attributes received from this server.
	             This counter may experience a discontinuity when
	             the RADIUS Client module within the managed entity
	             is reinitialized, as indicated by the current value
	             of radiusAuthClientCounterDiscontinuity."
	      REFERENCE "RFC 2865 section 3"
	      ::= { adGenRadiusAuthStatusEntry 14 }

	adGenRadiusAuthStatusPendingRequests OBJECT-TYPE
	      SYNTAX Gauge32
	      UNITS "packets"
	      MAX-ACCESS read-only
	      STATUS current
	      DESCRIPTION
	            "The number of RADIUS Access-Request packets
	             destined for this server that have not yet timed out
	             or received a response.  This variable is incremented
	             when an Access-Request is sent and decremented due to
	             receipt of an Access-Accept, Access-Reject,
	             Access-Challenge, timeout, or retransmission."
	      REFERENCE "RFC 2865 section 2"
	      ::= { adGenRadiusAuthStatusEntry 15 }

	adGenRadiusAuthStatusTimeouts OBJECT-TYPE
	     SYNTAX Counter32
	     UNITS "timeouts"
	     MAX-ACCESS read-only
	     STATUS current
	     DESCRIPTION
	            "The number of authentication 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 a Request as well as a timeout.
	             This counter may experience a discontinuity when the
	             RADIUS Client module within the managed entity is
	             reinitialized, as indicated by the current value of
	             radiusAuthClientCounterDiscontinuity."
	      REFERENCE "RFC 2865 sections 2.5, 4.1"
	      ::= { adGenRadiusAuthStatusEntry  16 }

	adGenRadiusAuthStatusUnknownTypes 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 authentication
	             port.  This counter may experience a discontinuity
	             when the RADIUS Client module within the managed
	             entity is reinitialized, as indicated by the current
	             value of radiusAuthClientCounterDiscontinuity."
	             REFERENCE "RFC 2865 section 4"
	      ::= { adGenRadiusAuthStatusEntry  17 }

	adGenRadiusAuthStatusPacketsDropped 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 authentication port
	             and dropped for some other reason.  This counter may
	             experience a discontinuity when the RADIUS Client
	             module within the managed entity is reinitialized,
	             as indicated by the current value of
	             radiusAuthClientCounterDiscontinuity."
	      ::= { adGenRadiusAuthStatusEntry  18 }

	adGenRadiusAuthStatusCounterDiscontinuity OBJECT-TYPE
	      SYNTAX TimeTicks
	      UNITS "centiseconds"
	      MAX-ACCESS read-only
	      STATUS current
	      DESCRIPTION
	            "The number of centiseconds since the last discontinuity
	             in the RADIUS Client counters.  A discontinuity may
	             be the result of a reinitialization of the RADIUS
	             Client module within the managed entity."
	      ::= { adGenRadiusAuthStatusEntry 19 }
      
	adGenRadiusAuthStatusServerState OBJECT-TYPE
	      SYNTAX INTEGER { active(1), dead(2)}
	      MAX-ACCESS read-only
	      STATUS current
	      DESCRIPTION
	            "Indicates whether the Radius Server is accessible"
	            
	      ::= { adGenRadiusAuthStatusEntry 20 }
	      
END

