
MBG-SNMP-RSC180-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32, IpAddress, NOTIFICATION-TYPE FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF
    DisplayString, TEXTUAL-CONVENTION                         FROM SNMPv2-TC
	mbgSnmpRoot FROM MBG-SNMP-ROOT-MIB;
	

mbgRSC180 MODULE-IDENTITY
    LAST-UPDATED "201201250000Z"
    ORGANIZATION "www.meinberg.de"
    CONTACT-INFO
	 "postal:   Meinberg Funkuhren
                    Auf der Landwehr 22
                    31812 Bad Pyrmont
	            Germany

          email:    info@meinberg.de"
    DESCRIPTION
	"Top-level infrastructure of the MBG-SNMP project enterprise MIB tree"
    REVISION     "201201250000Z"
    DESCRIPTION
       "Update to new format referencing MBG-SNMP-ROOT-MIB"
    REVISION     "200601200000Z"
    DESCRIPTION
       "Covering LAN-RSC180 and SCU-RSC180 modules from Meinberg"
    ::= { mbgSnmpRoot 80 }
	
MeinbergRefClockTyp ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
            "indicates different Ref and SCU types"
        SYNTAX INTEGER {
		notAvailable(0),
		gps166(1),
		gps167(2),
		gps167SV(3),
		gps167PC(4),
		gps167PCI(5),
		gps163(6),
		gps168PCI(7),
		gps161(8),
		gps169PCI(9),
		tcr167PCI(10),
		gps164(11),
		gps170PCI(12),
		pzf511(13),
		gps170(14),
		tcr511(15),
		am511(16),
		msf511(17),
		grc170(18),
		gps170PEX(19),
		gps162(20),
		ptp270PEX(21),
		frc511PEX(22),
		gen170(23),
		tcr170PEX(24),
		wwvb511(25),
		mbg170(26),
		jjy511(27),
		pzf600(28),
		tcr600(29),
		gps180(30),
		gln170(31),
		gps180PEX(32),
		tcr180PEX(33),
		pzf180PEX(34),
		mbg180(35),
		msf600(36),
		wwvb600(37),
		jjy600(38),
		gps180HS(39),
		gps180AMC(40),
		esi180(41),
		cpe180(42),
		lno180(43),
		grc180(44),
		liu(45),
		dcf600HS(46),
		dcf600RS(47),
		mri(48),
		bpe(49),
		gln180pex(50),
		n2x(51),
		rsc180(52)
	}		
	
	
--
--  MBG-SNMP enterprise-specific management objects
--
-- 
-- Copy everything from here into your MBG-SNMP-MIB.txt file, if you are using several different SNMP-supporting Meinberg systems 
--

mbgRefClock				    OBJECT IDENTIFIER ::= {mbgRSC180 0}
mbgSCU			    		OBJECT IDENTIFIER ::= {mbgRSC180 1}
mbgTrapRoot         		OBJECT IDENTIFIER ::= {mbgRSC180 2}



-- physical interface table/configuration

mbgRefClockStatus        OBJECT IDENTIFIER ::= { mbgRefClock 0 }

mbgRefClockTable OBJECT-TYPE
    SYNTAX SEQUENCE OF MbgRefClockTableEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
         "A table of content for individual clocks."
    ::= { mbgRefClockStatus 1 }

mbgRefClockTableEntry OBJECT-TYPE
    SYNTAX MbgRefClockTableEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
         "A list of objects for individual clocks."
    INDEX { mbgClkTableIndex }
    ::= { mbgRefClockTable 1 }

MbgRefClockTableEntry ::=
    SEQUENCE {
		mbgClkTableIndex 		Unsigned32,
	    mbgClkType 				INTEGER,
		mbgClkSerialNo			DisplayString,
		mbgClkFirmwareRev		DisplayString,
	    mbgClkMode 				INTEGER,
	    mbgGpsState 			INTEGER,
		mbgGpsPosition 			DisplayString,
		mbgGpsSatellitesGood 	Integer32,
		mbgGpsSatellitesInView 	Integer32,
		mbgGPSNavSolved			INTEGER,
		mbgLeapSecond			DisplayString		
	}

-- GPS RefClock states 
--  (For SCURSC180 systems this is RefClock 1)
--
mbgClkTableIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
       "Specifies index for a RefClock Table."
    ::= { mbgRefClockTableEntry 1 }

mbgClkType OBJECT-TYPE
    SYNTAX MeinbergRefClockTyp 
	MAX-ACCESS  read-only
    STATUS	current
    DESCRIPTION
        "Type of the Refclock."
    DEFVAL { 0 }
    ::= { mbgRefClockTableEntry 2 }	
	

mbgClkSerialNo	OBJECT-TYPE
	SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
       "Serial Number of the Refclock."
    ::= { mbgRefClockTableEntry 3 }
	
	
mbgClkFirmwareRev	OBJECT-TYPE
	SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
       "Firmware Version of the Refclock."
    ::= { mbgRefClockTableEntry 4 }
			
	
mbgClkMode OBJECT-TYPE
	SYNTAX INTEGER {
		notAvailable(0),
		normalOperation(1),
		trackingSearching(2),
		antennaFaulty(3),
		warmBoot(4),
		coldBoot(5)
	}
    MAX-ACCESS  read-only
    STATUS	current
    DESCRIPTION
        "Current Mode of refclock as value
    		0: not available
			1: Normal Operation
			2: Tracking/Searching
			3: Antenna Faulty
			4: Warm Boot
			5: Cold Boot"
    DEFVAL { 0 }
    ::= { mbgRefClockTableEntry 5 }


mbgGpsState OBJECT-TYPE
    SYNTAX INTEGER {
		notAvailable(0),
		synchronized(1),
		notSynchronized(2)	
	}
	MAX-ACCESS  read-only
    STATUS	current
    DESCRIPTION
        "Current state of GPS refclock as value
			0: not available
			1: synchronized
			2: not synchronized"
    DEFVAL { 0 }
    ::= { mbgRefClockTableEntry 6 }

mbgGpsPosition OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS	current
    DESCRIPTION
        "Current Position of a GPS refclock."
    ::= { mbgRefClockTableEntry 7 }

mbgGpsSatellitesGood OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS	current
    DESCRIPTION
        "Current good Satellites of GPS refclock as value."
    ::= { mbgRefClockTableEntry 8 }

mbgGpsSatellitesInView OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS	current
    DESCRIPTION
        "Current satellites in view of GPS refclock as value."
    ::= { mbgRefClockTableEntry 9 }
	
mbgGPSNavSolved OBJECT-TYPE
    SYNTAX	INTEGER {
		no(0),
		yes(1)	
	}
    MAX-ACCESS  read-only
    STATUS	current
    DESCRIPTION
        "Refclock calculated new position
			0: no
			1: yes"
    ::= { mbgRefClockTableEntry 10 }
	
mbgLeapSecond OBJECT-TYPE
    SYNTAX DisplayString 
    MAX-ACCESS  read-only
    STATUS	current
    DESCRIPTION
        "Information about a leap second."
    ::= { mbgRefClockTableEntry 11 }
	

	
-- GPS Switchcard states
-- (for SCU)


-- this object has SYNTAX MeinbergRefClockTyp

mbgSCUType OBJECT-TYPE
    SYNTAX      MeinbergRefClockTyp
    MAX-ACCESS  read-only
    STATUS	current
    DESCRIPTION
        "Type of clock"
    ::= { mbgSCU 1 }
	
mbgSCUSerialNo OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS	current
    DESCRIPTION
        "SCU serial number"
    ::= { mbgSCU 2 }	
	
mbgSCUFirmwareRev OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS	current
    DESCRIPTION
        "SCU firmware version"
    ::= { mbgSCU 3 }

mbgSCUMasterVal OBJECT-TYPE
    SYNTAX		INTEGER {
		noMaster(0),
		clk1isMaster(1),
		clk2isMaster(2)
	}
    MAX-ACCESS  read-write
    STATUS	current
    DESCRIPTION
        "Current selected masterclock of switchcard as value
		0: no master selected (outputs disabled)
		1: GPS clock 1 is master
		2: GPS clock 2 is master"
    DEFVAL { 0 }
    ::= { mbgSCU 4 }
		
mbgSCULocalRemote OBJECT-TYPE
    SYNTAX 		INTEGER {
	local(0),
	remote(1)
	} 
    MAX-ACCESS  read-write
    STATUS	current
    DESCRIPTION
        "Current masterselect mode of GPS switchcard as value
		0: local masterselect
		1: remote masterselect"
	DEFVAL{0}	
    ::= { mbgSCU 5 }
	
mbgTrapIPAddress OBJECT-TYPE
    SYNTAX 		IpAddress  
    MAX-ACCESS  read-write
    STATUS	current
    DESCRIPTION
        "Trap receiver IP address."
	DEFVAL{"0.0.0.0"}	
    ::= { mbgSCU 6 }
		
mbgSCUSyncStatusClk1 OBJECT-TYPE
    SYNTAX      INTEGER {
	notSync(0),
	sync(1)	
	}
    MAX-ACCESS  read-only
    STATUS	current
    DESCRIPTION
        "Current time sync status of clk 1
		0: not synchronized
		1: synchronized"
	DEFVAL{0}	
    ::= { mbgSCU 7 }
	
mbgSCUSyncStatusClk2 OBJECT-TYPE
    SYNTAX      INTEGER {	
	notSync(0),
	sync(1)	
	}
    MAX-ACCESS  read-only
    STATUS	current
    DESCRIPTION
        "Current time sync status of clk 2
		0: not synchronized
		1: synchronized"
	DEFVAL{0}	
    ::= { mbgSCU 8 }	

mbgSCUOutputStatus OBJECT-TYPE
    SYNTAX		INTEGER {	
	outputsDisabled(0),
	outputsEnabled(1)
	}
    MAX-ACCESS  read-only
    STATUS	current
    DESCRIPTION
        "Current state of outputs (0=outputs disabled, 1=outputs enabled)"
    ::= { mbgSCU 9 }


mbgSCUACOMode OBJECT-TYPE
    SYNTAX      INTEGER {	
	acoModeOFF(0),
	acoModeON (1)
	}
    MAX-ACCESS  read-only
    STATUS	current
    DESCRIPTION
        "Current state of ACO (access control override)
		0: ACO mode off (no firmware updates, password protection and encryption on)
		1: ACO mode on (firmware updates possible, password set to empty string (=just press enter)"
    ::= { mbgSCU 10 }
	
mbgSCUPowerSupply1 OBJECT-TYPE
    SYNTAX      INTEGER{
	notOK (0),
	ok (1)
	}	
    MAX-ACCESS  read-only
    STATUS	current
    DESCRIPTION
        "Current status of power supply clk 1
		0: notOK
		1: OK"
    ::= { mbgSCU 11 }

	
mbgSCUPowerSupply2 OBJECT-TYPE
    SYNTAX      INTEGER{
	notOK(0),
	ok (1)
	}	
    MAX-ACCESS  read-only
    STATUS	current
    DESCRIPTION
        "Current status of power supply clk 2
		0: notOK
		1: OK"
    ::= { mbgSCU 12 }
	
mbgSCUTemp OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS	current
    DESCRIPTION
        "SCU temperature"
    ::= { mbgSCU 13 }
	


--
-- here come SNMP trap definitions according to SNMPv2
--

mbgTraps OBJECT IDENTIFIER ::={mbgTrapRoot 0}

mbgColdBootTrap NOTIFICATION-TYPE
	STATUS current
    DESCRIPTION
        "The trap is sent when a Refclock is in the Cold Boot mode."
    ::= {mbgTraps 1}

mbgWarmBootTrap NOTIFICATION-TYPE
     STATUS	current
    DESCRIPTION
        "The trap is sent when a Refclock is in the Warm Boot mode."
    ::= {mbgTraps 2}
	
mbgGPSNavSolvedTrap NOTIFICATION-TYPE
    STATUS      current
    DESCRIPTION
        "The trap is sent when a Refclock calculated its actual position."
    ::= { mbgTraps 3 }	
	
mbgGPSReceiverNotRespondingTrap NOTIFICATION-TYPE
    STATUS	current
    DESCRIPTION
        "The trap is sent when a GPS receiver is not responding."
    ::= {mbgTraps 4}
	
mbgGPSReceiverNotSyncTrap NOTIFICATION-TYPE
    STATUS	current
    DESCRIPTION
        "The trap is sent when a GPS receiver is not synchronised."
    ::= {mbgTraps 5}

mbgGPSAntennaFaultyTrap NOTIFICATION-TYPE
    STATUS	current
    DESCRIPTION
        "The trap is sent when a connection to an antenna is lost."
    ::= {mbgTraps 6}

mbgGPSAntennaReconnectTrap NOTIFICATION-TYPE
    STATUS	current
    DESCRIPTION
        "The trap is sent when an antenna has been reconnected."
    ::= {mbgTraps 7}

mbgSCUBootTrap NOTIFICATION-TYPE
    STATUS	current
    DESCRIPTION
        "The trap is sent when SCU has been rebooted."
    ::= {mbgTraps 8}

mbgLeapSecondAnnouncedTrap NOTIFICATION-TYPE
    STATUS	current
    DESCRIPTION
        "The trap is sent when a leap second has been announced."
    ::= {mbgTraps 9}

mbgMasterclockSwitchoverTrap NOTIFICATION-TYPE
     STATUS	current
     DESCRIPTION
        "The trap is sent when a masterclock changes."
    ::= {mbgTraps 10}

mbgPowerSupplyFailureTrap NOTIFICATION-TYPE
    STATUS	current
    DESCRIPTION
        "The trap is sent when a power supply unit fails."
    ::= {mbgTraps 11}

mbgPowerSupplyOKTrap NOTIFICATION-TYPE
    STATUS	current
    DESCRIPTION
        "The trap is sent when a power supply unit restores its operation."
    ::= {mbgTraps 12}

mbgHighTempTrap NOTIFICATION-TYPE
	STATUS	current
    DESCRIPTION
        "The trap is sent when the SCU temperature is over 85 degrees Celsius."
    ::= {mbgTraps 13}

mbgTestNotificationTrap NOTIFICATION-TYPE
    STATUS	current
    DESCRIPTION
        "The trap is sent when a test notification has been requested. "
    ::= {mbgTraps 99}


--
-- Conformance Statements
--


mbgRSC180Conformance		OBJECT IDENTIFIER ::= { mbgRSC180 90 }
mbgRSC180Compliances		OBJECT IDENTIFIER ::= { mbgRSC180Conformance 1 }
mbgRSC180Groups				OBJECT IDENTIFIER ::= { mbgRSC180Conformance 2 }

mbgRSC180Compliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
	"The compliance statement for SNMP entities which implement version 2 of the RSC180 MIB"
    MODULE -- this module
    MANDATORY-GROUPS
	{
		mbgRSC180ObjectsGroup,
		mbgRSC180TrapsGroup
    }
    ::= { mbgRSC180Compliances 1 }


mbgRSC180ObjectsGroup	OBJECT-GROUP
    OBJECTS {
	mbgClkType,
	mbgClkSerialNo,
	mbgClkFirmwareRev,
	mbgClkMode,
	mbgGpsState,
	mbgGpsPosition,
	mbgGpsSatellitesGood,
	mbgGpsSatellitesInView,
	mbgGPSNavSolved,
	mbgLeapSecond,
	mbgSCUType,
	mbgSCUSerialNo,
	mbgSCUFirmwareRev,
	mbgSCUMasterVal,
	mbgSCULocalRemote,
	mbgTrapIPAddress,
	mbgSCUSyncStatusClk1,
	mbgSCUSyncStatusClk2,
	mbgSCUOutputStatus,
	mbgSCUACOMode,
	mbgSCUPowerSupply1,
	mbgSCUPowerSupply2,
	mbgSCUTemp
    }			
    STATUS	current
    DESCRIPTION
	"The collection of objects for the RSC180 MIB"
	
    ::= { mbgRSC180Groups 1 }
    
	mbgRSC180TrapsGroup 	NOTIFICATION-GROUP
	NOTIFICATIONS {	
	mbgColdBootTrap,
	mbgWarmBootTrap,
	mbgGPSNavSolvedTrap,
	mbgGPSReceiverNotRespondingTrap,
	mbgGPSReceiverNotSyncTrap,
	mbgGPSAntennaFaultyTrap,
	mbgGPSAntennaReconnectTrap,
	mbgSCUBootTrap,
	mbgLeapSecondAnnouncedTrap,
	mbgMasterclockSwitchoverTrap,
	mbgPowerSupplyFailureTrap,
	mbgPowerSupplyOKTrap,
	mbgHighTempTrap,
	mbgTestNotificationTrap
	}																
	STATUS	current
	DESCRIPTION
	"The collection of traps for the MBG RSC180 MIB"	
	::= { mbgRSC180Groups 2 }

END
