-- ZyXEL Communications Corporation
-- Private Enterprise MIB definition 
  
-- This file describes the ZyXEL Communications Corporation Enterprise MIB.
-- It contains ZyXEL products OIDs, and common managed objects.

-- ZYXEL-RADIUS-MIB.mib
-- Revision 1.8  2013/12/06 

ZYXEL-RADIUS-MIB DEFINITIONS ::= BEGIN
    IMPORTS
	OBJECT-TYPE
		FROM SNMPv2-SMI			-- RFC2578	
		
	MODULE-IDENTITY
		FROM SNMPv2-SMI

	DisplayString                                          
	  	FROM SNMPv2-TC
	
    IpAddress       
    	FROM SNMPv2-SMI
	
	InetAddressType, InetAddress
		FROM INET-ADDRESS-MIB		-- RFC2851

    NOTIFICATION-TYPE
        FROM SNMPv2-SMI

	esMgmt
		FROM ZYXEL-ES-SMI;

	zyxelRadius MODULE-IDENTITY
		LAST-UPDATED	"201207010000Z"    
		ORGANIZATION "Enterprise Solution ZyXEL"     
		CONTACT-INFO
			""	   
		DESCRIPTION
			"The subtree for radius"
		::= { esMgmt 71 }

	zyxelRadiusServerSetup     		OBJECT IDENTIFIER ::= { zyxelRadius 1 }
	zyxelRadiusServerNotifications  OBJECT IDENTIFIER ::= { zyxelRadius 2 }
	
	  
-- *******************************************************************
-- *
-- * zyxelRadiusServerSetup
-- *
-- *******************************************************************

--* zyxelRadiusAuthenticationServerSetup
        zyxelRadiusAuthenticationServerSetup OBJECT IDENTIFIER ::= { zyxelRadiusServerSetup 1 }

-- zyxelRadiusAuthenticationServerMode       
        zyRadiusAuthenticationServerMode OBJECT-TYPE
        SYNTAX  INTEGER{
        		indexPriority(1),
				roundRobin(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        	"This field is valid only if you configure multiple RADIUS servers.  Select indexPriority and the 
        	switch tries to authenticate with the first configured RADIU server, if the RADIUS server does not 
        	respond then this switch tries to authenticate with the second RADIUS server. Select roundRobin to 
        	alternate between the RADIUS servers that it sends authentication requests to."
        ::= { zyxelRadiusAuthenticationServerSetup 1 }

-- zyxelRadiusAuthenticationServerTimeout
        zyRadiusAuthenticationServerTimeout OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Specify the amount of time in seconds that the switch waits for an authentication request response 
			from the RADIUS server. If you are using indexPriority for your authentication and you are using two 
			RADIUS servers then the timeout value is divided between the two RADIUS servers. For example, if you 
			set the timeout value to 30 seconds, then the Switch waits for a response from the first RADIUS server 
			for 15 seconds and then tries the second RADIUS server. "
        ::= { zyxelRadiusAuthenticationServerSetup 2 }

-- zyxelRadiusAuthenticationServerTable
        zyxelRadiusAuthenticationServerTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelRadiusAuthenticationServerEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                 	"The table contains RADIUS authentication server configuration."
        ::= { zyxelRadiusAuthenticationServerSetup 3 }
        
		zyxelRadiusAuthenticationServerEntry OBJECT-TYPE
        SYNTAX	ZyxelRadiusAuthenticationServerEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
			"An entry contains RADIUS authentication server configuration."
        INDEX          	{ zyRadiusAuthenticationServerIndex }
        ::= { zyxelRadiusAuthenticationServerTable 1 }

        ZyxelRadiusAuthenticationServerEntry ::=
           SEQUENCE {
        	zyRadiusAuthenticationServerIndex			INTEGER,
        	zyRadiusAuthenticationServerIpAddr			IpAddress,
        	zyRadiusAuthenticationServerUdpPort			INTEGER,
        	zyRadiusAuthenticationServerSharedSecret	DisplayString,
        	zyRadiusAuthenticationServerEncryptedSharedSecret	DisplayString,
			zyRadiusAuthenticationServerInetAddressType	InetAddressType,
        	zyRadiusAuthenticationServerInetAddress		InetAddress
           }

        zyRadiusAuthenticationServerIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
			"An index that uniquely identifies a RADIUS authentication entry."
        ::= { zyxelRadiusAuthenticationServerEntry 1 }

        zyRadiusAuthenticationServerIpAddr OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Enter IP address of an external RADIUS authentication server."
        ::= { zyxelRadiusAuthenticationServerEntry 2 }

        zyRadiusAuthenticationServerUdpPort OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"The default port of a RADIUS server for authentication is 1812. You need not change this value unless 
			your netwrok administrator instructs you to do so."
        ::= { zyxelRadiusAuthenticationServerEntry 3 }

        zyRadiusAuthenticationServerSharedSecret OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Specify a password as the key to be shared between the external RADIUS authentication server and the 
			switch. This key is not sent over the network. This key must be the same on the external RADIUS 
			authentication server and the switch."
        ::= { zyxelRadiusAuthenticationServerEntry 4 }
      		
		zyRadiusAuthenticationServerInetAddressType OBJECT-TYPE
        SYNTAX  InetAddressType
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"A value that represents a type of Internet address."
        ::= { zyxelRadiusAuthenticationServerEntry 5 }

		zyRadiusAuthenticationServerInetAddress OBJECT-TYPE
        SYNTAX  InetAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"An InetAddress value is always interpreted within the context of an InetAddressType value."
        ::= { zyxelRadiusAuthenticationServerEntry 6 }
	
	    zyRadiusAuthenticationServerEncryptedSharedSecret OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
			"An entry contains RADIUS Authentication encrypted key-string. This key-string is only used for display,
			 it will not use for authentication with the server."
        ::= { zyxelRadiusAuthenticationServerEntry 7 }
	
--* zyxelRadiusAccountingServerSetup
	    zyxelRadiusAccountingServerSetup OBJECT IDENTIFIER ::= { zyxelRadiusServerSetup 2 }

-- zyxelRadiusAccountingServerTimeout
        zyRadiusAccountingServerTimeout OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Specify the amount of time in seconds that the switch waits for an accounting request response from 
			the RADIUS accounting server."
        ::= { zyxelRadiusAccountingServerSetup 1 }

-- zyxelRadiusAccountingServerTable
        zyxelRadiusAccountingServerTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelRadiusAccountingServerEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
 			"The table contains RADIUS accounting server configuration."
        ::= { zyxelRadiusAccountingServerSetup 2 }
        
		zyxelRadiusAccountingServerEntry OBJECT-TYPE
        SYNTAX	ZyxelRadiusAccountingServerEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
			"An entry contains RADIUS accounting server configuration."
        INDEX          	{ zyRadiusAccountingServerIndex }
        ::= { zyxelRadiusAccountingServerTable 1 }

        ZyxelRadiusAccountingServerEntry ::=
           SEQUENCE {
        	zyRadiusAccountingServerIndex			INTEGER,
        	zyRadiusAccountingServerIpAddr			IpAddress,
        	zyRadiusAccountingServerUdpPort			INTEGER,
        	zyRadiusAccountingServerSharedSecret	DisplayString,
        	zyRadiusAccountingServerEncryptedSharedSecret	DisplayString,
			zyRadiusAccountingServerInetAddressType	InetAddressType,
        	zyRadiusAccountingServerInetAddress		InetAddress
           }

        zyRadiusAccountingServerIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
			"An index that uniquely identifies a RADIUS accounting entry."
        ::= { zyxelRadiusAccountingServerEntry 1 }

        zyRadiusAccountingServerIpAddr OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Enter IP address of an external RADIUS accounting server."
        ::= { zyxelRadiusAccountingServerEntry 2 }

        zyRadiusAccountingServerUdpPort OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"The default port of a RADIUS accounting server for accounting is 1813. You need not change this 
			value unless your network administator instructs you to do so."
        ::= { zyxelRadiusAccountingServerEntry 3 }

        zyRadiusAccountingServerSharedSecret OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Specify a password as the key to be shared between the external RADIUS accounting server and the 
			switch.	This key is not sent over the network. This key must be the same on the external RADIUS 
			accounting server and the switch"
        ::= { zyxelRadiusAccountingServerEntry 4 }     

		zyRadiusAccountingServerInetAddressType OBJECT-TYPE
        SYNTAX  InetAddressType
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"A value that represents a type of Internet address."
        ::= { zyxelRadiusAccountingServerEntry 5 }

		zyRadiusAccountingServerInetAddress OBJECT-TYPE
        SYNTAX  InetAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"An InetAddress value is always interpreted within the context of an InetAddressType value."
        ::= { zyxelRadiusAccountingServerEntry 6 }
        
        zyRadiusAccountingServerEncryptedSharedSecret OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
			"An entry contains RADIUS Accounting encrypted key-string. This key-string is only used for display,
			 it will not use for authentication with the server."
        ::= { zyxelRadiusAccountingServerEntry 7 }
		
	   	zyRadiusServerAuthenticationServerNotReachable NOTIFICATION-TYPE
       	OBJECTS {
			zyRadiusAuthenticationServerIndex
        }       
	   	STATUS  current
       	DESCRIPTION
        	"RADIUS authentication server is not reachable. Network element does not receive replies from RADIUS 
        	authentication server."
       	::= { zyxelRadiusServerNotifications 1 }   

	   	zyRadiusServerAccountingServerNotReachable NOTIFICATION-TYPE
       	OBJECTS {
			zyRadiusAccountingServerIndex
        }       
	   	STATUS  current
       	DESCRIPTION
        	"RADIUS accounting server is not reachable. Network element does not receive replies from RADIUS 
        	accounting server."
       	::= { zyxelRadiusServerNotifications 2 }
       	
	   	zyRadiusServerAuthenticationServerNotReachableRecovered NOTIFICATION-TYPE
       	OBJECTS {
			zyRadiusAuthenticationServerIndex
        }       
	   	STATUS  current
       	DESCRIPTION
        	"RADIUS authentication server is recovered to rechable."
       	::= { zyxelRadiusServerNotifications 3 }   

	   	zyRadiusServerAccountingServerNotReachableRecovered NOTIFICATION-TYPE
       	OBJECTS {
			zyRadiusAccountingServerIndex
        }       
	   	STATUS  current
       	DESCRIPTION
        	"RADIUS accounting server is recovered to rechable."
       	::= { zyxelRadiusServerNotifications 4 }
		
		
		

--  zyxelRadiusAttributeSetup
	    zyxelRadiusAttributeSetup OBJECT IDENTIFIER ::= { zyxelRadiusServerSetup 3 }

--  zyRadiusAttributeNasIpAddress
        zyRadiusAttributeNasIpAddress OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Enter IP address of NAS-IP-Address attribute."
        ::= { zyxelRadiusAttributeSetup 1 }		
		
END  
