RUGGEDCOM-NTP-MIB DEFINITIONS ::= BEGIN

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

rcNTP 	MODULE-IDENTITY
    LAST-UPDATED "201702151000Z"      -- Feb 15, 10: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 NTP module."

	REVISION    "201702151000Z"      -- Feb 15, 10:00 EST 2017
    DESCRIPTION                
        "Added status variables for configured servers, and specific trap if 
        service becomes unavailable, or becomes available again."

	REVISION    "201509281300Z"      -- Sep 28, 13:00 EST 2015
    DESCRIPTION                
        "Initial version of Siemens - RuggedCom prorietary MIB to control and
        monitor NTP module."

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

-- ---------------------------------------------------------- --
-- rcNTP subtrees
-- ---------------------------------------------------------- --
rcNTPBase				OBJECT IDENTIFIER ::= { rcNTP 1 }
rcNTPConformance 		OBJECT IDENTIFIER ::= { rcNTP 3 }
rcNTPGroups 			OBJECT IDENTIFIER ::= { rcNTPConformance 2 }

-- ---------------------------------------------------------------------- --
-- Base subtree
-- ---------------------------------------------------------------------- --
rcSNTPEnabled		 OBJECT-TYPE
    SYNTAX		TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "Enable/disable SNTP server functionality."
    ::= { rcNTPBase 1 }
    
rcNTPPriServerIP	 OBJECT-TYPE
    SYNTAX		IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "The Primary Server IP Address."
    ::= { rcNTPBase 2 }   
    
rcNTPPriServerUpdatePeriod OBJECT-TYPE
    SYNTAX		Integer32(1..1440)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "This parameter in minutes determines how frequently
          the (S)NTP server is polled for a time update."
    ::= { rcNTPBase 3 }        
 
rcNTPBackUpServerIP	 OBJECT-TYPE
    SYNTAX		IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "The Backup Server IP Address."
    ::= { rcNTPBase 4 }   
    
rcNTPBackUpServerUpdatePeriod OBJECT-TYPE
    SYNTAX		Integer32(1..1440)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "This parameter in minutes determines how frequently
          the (S)NTP server is polled for a time update."
    ::= { rcNTPBase 5 }  
    
rcNTPOFM	 OBJECT-TYPE
    SYNTAX		Integer32(-2147483647..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "The current time offset between (S)NTP server and client
          clocks and is calculated as <time on the client clock> - 
          <time on the server clock>."
    ::= { rcNTPBase 6 }  

rcNTPFRQADJ OBJECT-TYPE
    SYNTAX		Integer32(-2147483647..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "The current amount of discipline applied to the local frequency reference (TCXO); 
         i.e. the amount of correction on this system required to syntonize to the current reference."
    ::= { rcNTPBase 7 }  

 
rcNTPPriServerReachable OBJECT-TYPE
    SYNTAX		TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "The status of the primary NTP server."
    ::= { rcNTPBase 8 }  

rcNTPBackUpServerReachable OBJECT-TYPE
    SYNTAX		TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "The status of the backup NTP server."
    ::= { rcNTPBase 9 }  

ntpServiceAvailableChange NOTIFICATION-TYPE
	OBJECTS		{
					rcNTPPriServerReachable,
					rcNTPBackUpServerReachable,
					rcDeviceErrNtpServerUnreachable
				}
	STATUS		current
	DESCRIPTION
		"Notification generated when status of NTP Service changes." 				
    ::= { ruggedcomTraps 21 }  

-- ---------------------------------------------------------------------- --
-- Traps subtree
-- ---------------------------------------------------------------------- --



-- ---------------------------------------------------------------------- --
--  Conformance Groups
-- ---------------------------------------------------------------------- --
rcNTPBaseGroup OBJECT-GROUP
	OBJECTS		{
					rcSNTPEnabled,
					rcNTPPriServerIP,
					rcNTPPriServerUpdatePeriod,
					rcNTPBackUpServerIP,
					rcNTPBackUpServerUpdatePeriod,
					rcNTPOFM
				}
	STATUS     obsolete
    DESCRIPTION 
        "A group of objects providing ability to monitor and configure NTP status."
    ::= { rcNTPGroups 1 }

rcNTPBaseGroup2 OBJECT-GROUP
	OBJECTS		{
					rcSNTPEnabled,
					rcNTPPriServerIP,
					rcNTPPriServerUpdatePeriod,
					rcNTPBackUpServerIP,
					rcNTPBackUpServerUpdatePeriod,
					rcNTPOFM,
					rcNTPFRQADJ,
					rcNTPPriServerReachable,
					rcNTPBackUpServerReachable
				}
	STATUS     current
    DESCRIPTION 
        "A group of objects providing ability to monitor and configure NTP status."
    ::= { rcNTPGroups 2 }  
    
rcNTPServiceStatusGroup OBJECT-GROUP
	OBJECTS		{
					rcNTPPriServerReachable,
					rcNTPBackUpServerReachable
				}
	STATUS     current
    DESCRIPTION 
        "A group of objects providing ability to monitor and configure NTP status."
    ::= { rcNTPGroups 3 }    

rcNTPNotifyGroup NOTIFICATION-GROUP
	NOTIFICATIONS{
					ntpServiceAvailableChange
				 }
	STATUS		current
	DESCRIPTION
		"A group of objects that define traps."			
    ::= { rcNTPGroups 4 }    

END    
