--  =======================================================================
--  File		: FIBROLAN-SYNC-CENTER-MIB.mib
--  Description		: Private MIB file for Fibrolan SyncCenter feature
--  Author		: Shamir Stein
--
--  Copyright Fibrolan, 2015. All rights reserved.
--
--  Reproduction of this document is authorized on condition that this
--  copyright notice is included.
--  =======================================================================

FIBROLAN-SYNC-CENTER-MIB	DEFINITIONS ::= BEGIN

	IMPORTS
		
		OBJECT-TYPE,
		MODULE-IDENTITY,
		Integer32,
		TimeTicks,
		NOTIFICATION-TYPE		FROM SNMPv2-SMI

		FlClockSourceType,
		FlClockQuality,
		fibrolanGeneric			FROM FIBROLAN-COMMON-MIB;


	flSyncCenter		MODULE-IDENTITY
		LAST-UPDATED	"201509150000Z"
		ORGANIZATION	"Fibrolan Ltd."
		CONTACT-INFO	"support@fibrolan.com"
		DESCRIPTION	"The MIB module to describe Fibrolan's SyncCenter feature.
				 This module includes the relevant traps as well.
				 This module is part of Fibrolan's group of generic
				 MIB modules (i.e. can be supported on different devices).
				 Copyright (C) Fibrolan Ltd. (2015)."
		REVISION	"201509150000Z"
		DESCRIPTION	"Changed last changed objects type to TimeTicks."
		REVISION	"201508120000Z"
		DESCRIPTION	"Initial version (version 1)."
	::= { fibrolanGeneric  200 }


	flSyncCenterNotifications		OBJECT IDENTIFIER ::= { flSyncCenter  0 }
	flSyncCenterMIBObjects			OBJECT IDENTIFIER ::= { flSyncCenter  1 }


-- ************************************************************
-- SyncCenter MIB objects
-- ************************************************************

-- ************************************************************
-- SyncCenter status table
-- ************************************************************

	flSyncCenterStatusTable			OBJECT-TYPE
		SYNTAX				SEQUENCE OF FlSyncCenterStatusEntry
		MAX-ACCESS			not-accessible
		STATUS				current
		DESCRIPTION			"This tables provides status of the
						 SyncCenter feature."
	::= { flSyncCenterMIBObjects  10 }

	flSyncCenterStatusEntry			OBJECT-TYPE
		SYNTAX				FlSyncCenterStatusEntry
		MAX-ACCESS			not-accessible
		STATUS				current
		DESCRIPTION			"The entries of the SyncCenter status table."
		INDEX				{ flSyncCenterId }
	::= { flSyncCenterStatusTable  1 }

	FlSyncCenterStatusEntry ::=		SEQUENCE
	{
		flSyncCenterId					Integer32,
		flSyncCenterState				INTEGER,
		flSyncCenterStateLastChange			TimeTicks,
		flSyncCenterSelectedInputId			Integer32,
		flSyncCenterSelectedInputType			FlClockSourceType,
		flSyncCenterSelectedInputLastChange		TimeTicks,
		flSyncCenterClockOutputQuality			FlClockQuality,
		flSyncCenterClockOutputQualityLastChange	TimeTicks,
		flSyncCenterBitsOutputState			INTEGER
		flSyncCenterSystemClockState			INTEGER
	}

	flSyncCenterId				OBJECT-TYPE
		SYNTAX				Integer32 (1..1)
		MAX-ACCESS			not-accessible
--		MAX-ACCESS			read-only
		STATUS				current
		DESCRIPTION			"SyncCenter instance ID."
	::= { flSyncCenterStatusEntry  1 }

	flSyncCenterState			OBJECT-TYPE
		SYNTAX				INTEGER
						{
							rbFreeRunning		(1),
							lockAcquisition		(2),
							locked			(3),
							holdover		(4),
							holdoverRecovery	(5),
							oscFreeRunning		(6),
							other			(99)
						}
		MAX-ACCESS			read-only
		STATUS				current
		DESCRIPTION			"The current state of the SyncCenter.
						 Indicates the overall sync status of the
						 device. Under normal conditions, from
						 power up, the state sequence should move
						 from free-running to lock-acquisition and
						 eventually locked.
						 When primary reference (e.g. GPS) is lost,
						 the state should change to holdover, and
						 when holdover is no longer valid state will
						 move to free-running.
						 Normally, 'other' state should not be present."
	::= { flSyncCenterStatusEntry  2 }

	flSyncCenterStateLastChange		OBJECT-TYPE
		SYNTAX				TimeTicks
		MAX-ACCESS			read-only
		STATUS				current
		DESCRIPTION			"The value of MIB II's sysUpTime object at
						 the time the device entered its current
						 SyncCenter state."
	::= { flSyncCenterStatusEntry  3 }

	flSyncCenterSelectedInputId		OBJECT-TYPE
		SYNTAX				Integer32 (1..16)
		MAX-ACCESS			read-only
		STATUS				current
		DESCRIPTION			"Indicates the ID (input #) of the selected
						 clock input."
	::= { flSyncCenterStatusEntry  4 }

	flSyncCenterSelectedInputType		OBJECT-TYPE
		SYNTAX				FlClockSourceType
		MAX-ACCESS			read-only
		STATUS				current
		DESCRIPTION			"The type of the currently selected clock input."
	::= { flSyncCenterStatusEntry  5 }

	flSyncCenterSelectedInputLastChange	OBJECT-TYPE
		SYNTAX				TimeTicks
		MAX-ACCESS			read-only
		STATUS				current
		DESCRIPTION			"The value of MIB II's sysUpTime object at
						 the time the selected input reference clock
						 has changed to the current one."
	::= { flSyncCenterStatusEntry  6 }

	flSyncCenterClockOutputQuality		OBJECT-TYPE
		SYNTAX				FlClockQuality
		MAX-ACCESS			read-only
		STATUS				current
		DESCRIPTION			"Indicates the clock quality being currently
						 output from the system."
	::= { flSyncCenterStatusEntry  7 }

	flSyncCenterClockOutputQualityLastChange	OBJECT-TYPE
		SYNTAX					TimeTicks
		MAX-ACCESS				read-only
		STATUS					current
		DESCRIPTION				"The value of MIB II's sysUpTime object at
							 the time the device changed its output clock
							 quality to the current one."
	::= { flSyncCenterStatusEntry  8 }

	flSyncCenterBitsOutputState		OBJECT-TYPE
		SYNTAX				INTEGER
						{
							normal		(1),
							disabled	(2),
							other		(99)
						}
		MAX-ACCESS			read-only
		STATUS				current
		DESCRIPTION			"The current state of the device's BITS
						 outputs. The normal state refers to the user
						 configuration (i.e. no system override).
						 the 'disabled' state indicates the system has
						 automatically shutdown the BITS outputs as a
						 result of an event (e.g. both GPS and Rb failed).
						 Normally, 'other' state should not be present."
	::= { flSyncCenterStatusEntry  9 }

	flSyncCenterSystemClockState		OBJECT-TYPE
		SYNTAX				INTEGER
						{
							good	(1),
							fail	(2),
							other	(99)
						}
		MAX-ACCESS			read-only
		STATUS				current
		DESCRIPTION			"The current overall state of the system's clock.
		                     Indicates whether Good or Fail."
	::= { flSyncCenterStatusEntry  10 }
	
	
	
	
	
-- ************************************************************
-- SyncCenter clock inputs table
-- ************************************************************

	flSyncCenterClockInputTable		OBJECT-TYPE
		SYNTAX				SEQUENCE OF FlSyncCenterClockInputEntry
		MAX-ACCESS			not-accessible
		STATUS				current
		DESCRIPTION			"This tables provides information on
						 SyncCenter clock inputs."
	::= { flSyncCenterMIBObjects  20 }

	flSyncCenterClockInputEntry		OBJECT-TYPE
		SYNTAX				FlSyncCenterClockInputEntry
		MAX-ACCESS			not-accessible
		STATUS				current
		DESCRIPTION			"The entries of the clock inputs table"
		INDEX				{ flSyncCenterClockInputId }
	::= { flSyncCenterClockInputTable  1 }

	FlSyncCenterClockInputEntry ::=			SEQUENCE
	{
		flSyncCenterClockInputId		Integer32,
		flSyncCenterClockInputType		Integer32,
		flSyncCenterClockInputState		INTEGER,
		flSyncCenterClockInputStateLastChange	TimeTicks,
		flSyncCenterClockInputQuality		FlClockQuality,
		flSyncCenterClockInputQualityLastChange	TimeTicks
	}

	flSyncCenterClockInputId		OBJECT-TYPE
		SYNTAX				Integer32 (1..16)
		MAX-ACCESS			read-only
		STATUS				current
		DESCRIPTION			"Indicates the ID (input #) of the clock input."
	::= { flSyncCenterClockInputEntry  1 }

	flSyncCenterClockInputType		OBJECT-TYPE
		SYNTAX				FlClockSourceType
		MAX-ACCESS			read-only
		STATUS				current
		DESCRIPTION			"The type of the currently selected clock input."
	::= { flSyncCenterClockInputEntry  2 }

	flSyncCenterClockInputState		OBJECT-TYPE
		SYNTAX				INTEGER 
						{
							disabled	(1),
							valid		(2),
							failed		(3)
						}
		MAX-ACCESS			read-only
		STATUS				current
		DESCRIPTION			"Indicates the clock input current state.
						 When disabled no alarm should be generated."
	::= { flSyncCenterClockInputEntry  3}

	flSyncCenterClockInputStateLastChange	OBJECT-TYPE
		SYNTAX				TimeTicks
		MAX-ACCESS			read-only
		STATUS				current
		DESCRIPTION			"The value of MIB II's sysUpTime object at
						 the time the clock input changed its state
						 to the current one."
	::= { flSyncCenterClockInputEntry  4 }

	flSyncCenterClockInputQuality		OBJECT-TYPE
		SYNTAX				FlClockQuality
		MAX-ACCESS			read-only
		STATUS				current
		DESCRIPTION			"Indicates the clock quality being currently
						 received on the input."
	::= { flSyncCenterClockInputEntry  5 }

	flSyncCenterClockInputQualityLastChange		OBJECT-TYPE
		SYNTAX    				TimeTicks
		MAX-ACCESS				read-only
		STATUS					current
		DESCRIPTION				"The value of MIB II's sysUpTime object at
							 the time the input clock quality has changed
							 to the current one."
	::= { flSyncCenterClockInputEntry  6 }


-- ************************************************************
-- SyncCenter traps (notifications)
-- ************************************************************

	flSyncCenterStateChanged		NOTIFICATION-TYPE
		OBJECTS				{ flSyncCenterState }
		STATUS				current
		DESCRIPTION			"Indicates the SyncCenter (device) has
						 changed state."
	::= { flSyncCenterNotifications  10 }

	flSyncCenterSelectedClockInputChanged	NOTIFICATION-TYPE
		OBJECTS				{ flSyncCenterSelectedInputId,
						  flSyncCenterSelectedInputType }
		STATUS				current
		DESCRIPTION			"Indicates the selected clock reference
						 input has changed."
	::= { flSyncCenterNotifications  20 }

	flSyncCenterClockOutputQualityChanged	NOTIFICATION-TYPE
		OBJECTS				{ flSyncCenterClockOutputQuality }
		STATUS				current
		DESCRIPTION			"Indicates the output clock quality has changed."
	::= { flSyncCenterNotifications  30 }

	flSyncCenterClockInputStateChanged	NOTIFICATION-TYPE
		OBJECTS				{ flSyncCenterClockInputState }
		STATUS				current
		DESCRIPTION			"Indicates the clock input's state has changed."
	::= { flSyncCenterNotifications  40 }

	flSyncCenterClockInputQualityChanged	NOTIFICATION-TYPE
		OBJECTS				{ flSyncCenterClockInputQuality }
		STATUS				current
		DESCRIPTION			"Indicates the clock input's quality has changed."
	::= { flSyncCenterNotifications  50 }

	flSyncCenterBitsStateChanged		NOTIFICATION-TYPE
		OBJECTS				{ flSyncCenterBitsOutputStat }
		STATUS				current
		DESCRIPTION			"Indicates the device's BITS outputs' state
						 has changed. This can be the result of either
						 user configuration, or a system action
						 (when there are no valid references)."
	::= { flSyncCenterNotifications  60 }

	flSyncCenterSystemClockStateChanged		NOTIFICATION-TYPE
		OBJECTS				{ flSyncCenterSystemClockState }
		STATUS				current
		DESCRIPTION			"Indicates the overall system clock state 
						    has changed (Good or Fail)."
	::= { flSyncCenterNotifications  70 }


END
