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

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE, Integer32, NOTIFICATION-TYPE,
    IpAddress										FROM SNMPv2-SMI
    TEXTUALA-CONVENTION, TruthValue				  	FROM SNMPv2-TC
    NOTIFICATION-GROUP,
    OBJECT-GROUP			       	    			FROM SNMPv2-CONF 
	rcDeviceErrRadiusServerUnreachable,
	rcDeviceErrTacacsServerUnreachable				FROM RUGGEDCOM-SYS-INFO-MIB
    ruggedcomMgmt, ruggedcomTraps					FROM RUGGEDCOM-MIB;

rcAAAServer 	MODULE-IDENTITY
    LAST-UPDATED "201709201100Z"      -- Sep 20, 11:00 EST 2017
    ORGANIZATION "Siemens Canada Ltd., Process Industries and Drives"
    CONTACT-INFO
       "Postal: Siemens Canad Ltd.
                300 Applewood Crescent
                Concord, Ontario, 
                L4K 5C7 Canada
        Tel:    1-905-856-5288
        E-Mail: support.canada.automation@siemens.com"

    DESCRIPTION
        "Siemens - RuggedCom prorietary MIB to control and monitor AAA module."

	REVISION    "201709201100Z"      -- Sep 20, 11:00 EST 2017
    DESCRIPTION                
        "Initial version of Siemens - RuggedCom prorietary MIB to 
        monitor AAAServer module."

    ::= { ruggedcomMgmt 14 }
 
-- ---------------------------------------------------------- --
-- Textual Conventions
-- ---------------------------------------------------------- --

-- ---------------------------------------------------------- --
-- rcAAAServer subtrees
-- ---------------------------------------------------------- --
rcRadiusServer				OBJECT IDENTIFIER ::= { rcAAAServer 1 }
rcTacacsServer				OBJECT IDENTIFIER ::= { rcAAAServer 2 }


-- ---------------------------------------------------------- --
-- rcRadiusServer subtrees
-- ---------------------------------------------------------- --
rcRadiusServerBase				OBJECT IDENTIFIER ::= { rcRadiusServer 1 }
rcRadiusServerConformance 		OBJECT IDENTIFIER ::= { rcRadiusServer 2 }
rcRadiusServerGroups 			OBJECT IDENTIFIER ::= { rcRadiusServerConformance 1 }

-- ---------------------------------------------------------------------- --
-- Radius Base subtree
-- ---------------------------------------------------------------------- --
rcRadiusServerCfgTable   OBJECT-TYPE
    SYNTAX      SEQUENCE OF RcRadiusServerCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The table that controls RADIUS Server configurations."
    ::= { rcRadiusServerBase 1 }

rcRadiusServerCfgEntry   OBJECT-TYPE
    SYNTAX      RcRadiusServerCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Configuration information for a particular RADIUS Server."
     INDEX  { rcRadiusServerId }
    ::= { rcRadiusServerCfgTable 1 }

RcRadiusServerCfgEntry ::= SEQUENCE {
	rcRadiusServerId			Integer32,
	rcRadiusServerIP			IpAddress,
    rcRadiusServerAutUdpPort	Integer32,
	rcRadiusServerMaxRetry		Integer32,
	rcRadiusServerTimeOut		Integer32,
	rcRadiusServerReachable		TruthValue}

rcRadiusServerId	 OBJECT-TYPE
    SYNTAX		Integer32(1..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "The index value used to identfy the Radius Server.
		 1: Primary Server,
		 2: Backup Server"
    ::= { rcRadiusServerCfgEntry 1 } 
	
rcRadiusServerIP	 OBJECT-TYPE
    SYNTAX		IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "The RADIUS server IP address."
    ::= { rcRadiusServerCfgEntry 2 }   
        
rcRadiusServerAutUdpPort OBJECT-TYPE
    SYNTAX		Integer32(1..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "The RADIUS server UDP port."
    ::= { rcRadiusServerCfgEntry 3 } 

rcRadiusServerMaxRetry OBJECT-TYPE
    SYNTAX		Integer32(1..10)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "The maximum number of times the Authenticator will attempt to contact
		 the RADIUS server to authenticate the user in case of any failure."
    ::= { rcRadiusServerCfgEntry 4 } 

rcRadiusServerTimeOut OBJECT-TYPE
    SYNTAX		Integer32(1000..120000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "The amount of time in milliseconds the Authenticator will wait for a 
		 response from the RADIUS server."
    ::= { rcRadiusServerCfgEntry 5 } 
	
rcRadiusServerReachable OBJECT-TYPE
    SYNTAX		TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "The status of the primary RADIUS server."
    ::= { rcRadiusServerCfgEntry 6 }   

-- --
-- --
	
radiusServiceAvailableChange NOTIFICATION-TYPE
	OBJECTS		{
					rcRadiusServerReachable
				}
	STATUS		current
	DESCRIPTION
		"Notification generated when status of RADIUS Service changes." 				
    ::= { ruggedcomTraps 22 }  

-- ---------------------------------------------------------------------- --
--  Radius Conformance Groups
-- ---------------------------------------------------------------------- --    
rcRadiusBaseGroup OBJECT-GROUP
	OBJECTS		{
					rcRadiusServerId,
					rcRadiusServerIP,
					rcRadiusServerAutUdpPort,
					rcRadiusServerMaxRetry,
					rcRadiusServerTimeOut,
					rcRadiusServerReachable
				}
	STATUS     current
    DESCRIPTION 
        "A group of objects providing ability to monitor RADIUS status."
    ::= { rcRadiusServerGroups 1 }  

rcRadiusServiceStatusGroup OBJECT-GROUP
	OBJECTS		{
					rcRadiusServerReachable,
				}
	STATUS     current
    DESCRIPTION 
        "A group of objects providing ability to monitor RADIUS status."
    ::= { rcRadiusServerGroups 2 }    

rcRadiusNotifyGroup NOTIFICATION-GROUP
	NOTIFICATIONS{
					radiusServiceAvailableChange
				 }
	STATUS		current
	DESCRIPTION
		"A group of objects that define traps."			
    ::= { rcRadiusServerGroups 3 } 
	
-- ---------------------------------------------------------- --
-- rcTacacsServer subtrees
-- ---------------------------------------------------------- --
rcTacacsServerBase				OBJECT IDENTIFIER ::= { rcTacacsServer 1 }
rcTacacsServerConformance 		OBJECT IDENTIFIER ::= { rcTacacsServer 2 }
rcTacacsServerGroups 			OBJECT IDENTIFIER ::= { rcTacacsServerConformance 1 }

-- ---------------------------------------------------------------------- --
-- Tacacs Base subtree
-- ---------------------------------------------------------------------- --
	
rcTacacsServerCfgTable   OBJECT-TYPE
    SYNTAX      SEQUENCE OF RcTacacsServerCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The table that controls TACACS Server configurations."
    ::= { rcTacacsServerBase 1 }

rcTacacsServerCfgEntry   OBJECT-TYPE
    SYNTAX      RcTacacsServerCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Configuration information for a particular TACACS Server."
     INDEX  { rcTacacsServerId }
    ::= { rcTacacsServerCfgTable 1 }

RcTacacsServerCfgEntry ::= SEQUENCE {
	rcTacacsServerId			Integer32,
	rcTacacsServerIP			IpAddress,
    rcTacacsServerAutTcpPort	Integer32,
	rcTacacsServerMaxRetry		Integer32,
	rcTacacsServerTimeOut		Integer32,
	rcTacacsServerReachable		TruthValue}
	
rcTacacsServerId	 OBJECT-TYPE
    SYNTAX		Integer32(1..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "The index value used to identfy the Tacacs Server.
		 1: Primary Server,
		 2: Backup Server"
    ::= { rcTacacsServerCfgEntry 1 } 
		
	
rcTacacsServerIP	 OBJECT-TYPE
    SYNTAX		IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "The TACACS server IP address."
    ::= { rcTacacsServerCfgEntry 2 }   
        
rcTacacsServerAutTcpPort OBJECT-TYPE
    SYNTAX		Integer32(1..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "The TACACS server TCP port."
    ::= { rcTacacsServerCfgEntry 3 } 

rcTacacsServerMaxRetry OBJECT-TYPE
    SYNTAX		Integer32(1..10)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "The maximum number of times the Authenticator will attempt to contact
		 the TACACS server to authenticate the user in case of any failure."
    ::= { rcTacacsServerCfgEntry 4 } 

rcTacacsServerTimeOut OBJECT-TYPE
    SYNTAX		Integer32(1000..120000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "The amount of time in milliseconds the Authenticator will wait for a 
		 response from the TACACS server."
    ::= { rcTacacsServerCfgEntry 5 } 
	
rcTacacsServerReachable OBJECT-TYPE
    SYNTAX		TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "The status of the TACACS server."
    ::= { rcTacacsServerCfgEntry 6 }   

-- --
-- --
	
tacacsServiceAvailableChange NOTIFICATION-TYPE
	OBJECTS		{
					rcTacacsServerReachable
				}
	STATUS		current
	DESCRIPTION
		"Notification generated when status of TACACS Service changes." 				
    ::= { ruggedcomTraps 23 }  

-- ---------------------------------------------------------------------- --
--  Tacacs Conformance Groups
-- ---------------------------------------------------------------------- --    
rcTacacsBaseGroup OBJECT-GROUP
	OBJECTS		{
					rcTacacsServerId,
					rcTacacsServerIP,
					rcTacacsServerAutTcpPort,
					rcTacacsServerMaxRetry,
					rcTacacsServerTimeOut,
					rcTacacsServerReachable
				}
	STATUS     current
    DESCRIPTION 
        "A group of objects providing ability to monitor TACACS status."
    ::= { rcTacacsServerGroups 1 }  

rcTacacsServiceStatusGroup OBJECT-GROUP
	OBJECTS		{
					rcTacacsServerReachable,
				}
	STATUS     current
    DESCRIPTION 
        "A group of objects providing ability to monitor TACACS status."
    ::= { rcTacacsServerGroups 2 }    

rcTacacsNotifyGroup NOTIFICATION-GROUP
	NOTIFICATIONS{
					tacacsServiceAvailableChange
				 }
	STATUS		current
	DESCRIPTION
		"A group of objects that define traps."			
    ::= { rcTacacsServerGroups 3 }   

END    
