
-- **************************************************************************
--
--  $Log: mbg-syncbox_n2x-mib.mib $
--  Revision 1.4  2013/11/13 15:53:35Z  thomasb
--  Revision 1.3  2013/09/20 11:04:02Z  thomasb
--  Added PTP profile as SNMP object.
--  Revision 1.2  2013/09/20 10:17:47Z  thomasb
--  Added PTP objects
--  Revision 1.1  2013/09/05 14:01:54Z  thomasb
--  Initial revision
--  Revision 1.0  2013/09/03 12:05:00 thomasb
--
-- **************************************************************************

MBG-SYNCBOX_N2X-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                                                                       FROM SNMPv2-TC
    mbgSnmpRoot                                                                         FROM MBG-SNMP-ROOT-MIB;


mbgSyncboxN2X MODULE-IDENTITY
    LAST-UPDATED "201309030000Z"
    ORGANIZATION "www.meinberg.de"
    CONTACT-INFO
    "postal:  Meinberg Funkuhren
              Lange Wand 9
              31812 Bad Pyrmont
              Germany

    email:    info@meinberg.de"
    DESCRIPTION
      "Meinberg SyncboxN2X SNMP Management Information Base"

    REVISION "201309030000Z"
    DESCRIPTION
      "Rev 0.90 03 September 2013 12:00 UTC Thomas Behn
       Initial SNMP MIB revision"

    ::= { mbgSnmpRoot 40 }

--
-- Meinberg SyncboxN2X General information
--

mbgSyncboxN2XGeneral               OBJECT IDENTIFIER    ::= { mbgSyncboxN2X 0 }

mbgSyncboxN2XSerialNumber OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Serial Number of the SyncboxN2X."
  ::= { mbgSyncboxN2XGeneral 1 }

mbgSyncboxN2XFirmwareRevision OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Firmware Version of the SyncboxN2X."
  ::= { mbgSyncboxN2XGeneral 2 }

mbgSyncboxN2XSystemTime OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "System time of the SyncboxN2X."
  ::= { mbgSyncboxN2XGeneral 3 }

mbgSyncboxN2XCurrentRefSource OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Currently selected reference source of the SyncboxN2X."
  ::= { mbgSyncboxN2XGeneral 4 }


--
-- Meinberg SyncboxN2X NTP information
--

mbgSyncboxN2XNetworkTimeProtocol   OBJECT IDENTIFIER    ::= { mbgSyncboxN2X 1 }

mbgSyncboxN2XNtpSyncStatus OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Synchronization status of NTP."
  ::= { mbgSyncboxN2XNetworkTimeProtocol 1 }

mbgSyncboxN2XNtpSystemPeer OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Current system peer, chosen from the configured NTP servers."
  ::= { mbgSyncboxN2XNetworkTimeProtocol 2 }

mbgSyncboxN2XNtpStratum OBJECT-TYPE
  SYNTAX Unsigned32
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Current stratum value of NTP."
  ::= { mbgSyncboxN2XNetworkTimeProtocol 3 }
  
mbgSyncboxN2XNtpRefSourceTable OBJECT-TYPE
  SYNTAX SEQUENCE OF MbgSyncboxN2XNtpRefSourceTableEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
    "A table of the configured NTP reference sources"
  ::= { mbgSyncboxN2XNetworkTimeProtocol 4 }


mbgSyncboxN2XNtpRefSourceTableEntry OBJECT-TYPE
  SYNTAX MbgSyncboxN2XNtpRefSourceTableEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
    "A list of objects pertaining to an NTP reference source"
  INDEX { mbgSyncboxN2XNtpRefSourceIndex }
  ::= { mbgSyncboxN2XNtpRefSourceTable 1 }


MbgSyncboxN2XNtpRefSourceTableEntry ::=
  SEQUENCE {
    mbgSyncboxN2XNtpRefSourceIndex            Unsigned32,
    mbgSyncboxN2XNtpRefSourceHostname         DisplayString,
    mbgSyncboxN2XNtpRefSourceStratum          DisplayString,
    mbgSyncboxN2XNtpRefSourceReferenceID      DisplayString,
    mbgSyncboxN2XNtpRefSourceReach            DisplayString,
    mbgSyncboxN2XNtpRefSourceCurrPoll         DisplayString,
    mbgSyncboxN2XNtpRefSourceMinPoll          DisplayString,
    mbgSyncboxN2XNtpRefSourceMaxPoll          DisplayString,
    mbgSyncboxN2XNtpRefSourceConfigOptions    DisplayString,
    mbgSyncboxN2XNtpRefSourcePathDelay        DisplayString,
    mbgSyncboxN2XNtpRefSourceOffset           DisplayString,
    mbgSyncboxN2XNtpRefSourceJitter           DisplayString
  }

mbgSyncboxN2XNtpRefSourceIndex OBJECT-TYPE
  SYNTAX Unsigned32(0..6)
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
    "Index of the NTP reference source"
  ::= { mbgSyncboxN2XNtpRefSourceTableEntry 1 }

mbgSyncboxN2XNtpRefSourceHostname OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Hostname/IP-Address of the NTP reference source"
  ::= { mbgSyncboxN2XNtpRefSourceTableEntry 2 }

mbgSyncboxN2XNtpRefSourceStratum OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Stratum value of the NTP reference source"
  ::= { mbgSyncboxN2XNtpRefSourceTableEntry 3 }

mbgSyncboxN2XNtpRefSourceReferenceID OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Reference ID of the NTP reference source"
  ::= { mbgSyncboxN2XNtpRefSourceTableEntry 4 }

mbgSyncboxN2XNtpRefSourceReach OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Current reach value of the NTP reference source (8-bit shift register)"
  ::= { mbgSyncboxN2XNtpRefSourceTableEntry 5 }

mbgSyncboxN2XNtpRefSourceCurrPoll OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Current polling interval of the NTP reference source"
  ::= { mbgSyncboxN2XNtpRefSourceTableEntry 6 }

mbgSyncboxN2XNtpRefSourceMinPoll OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Minimum polling interval of the NTP reference source"
  ::= { mbgSyncboxN2XNtpRefSourceTableEntry 7 }

mbgSyncboxN2XNtpRefSourceMaxPoll OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Maximum polling interval of the NTP reference source"
  ::= { mbgSyncboxN2XNtpRefSourceTableEntry 8 }

mbgSyncboxN2XNtpRefSourceConfigOptions OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Configured options for the NTP reference source"
  ::= { mbgSyncboxN2XNtpRefSourceTableEntry 9 }

mbgSyncboxN2XNtpRefSourcePathDelay OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Path Delay to the NTP reference source"
  ::= { mbgSyncboxN2XNtpRefSourceTableEntry 10 }

mbgSyncboxN2XNtpRefSourceOffset OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Offset to the NTP reference source"
  ::= { mbgSyncboxN2XNtpRefSourceTableEntry 11 }

mbgSyncboxN2XNtpRefSourceJitter OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Jitter of the NTP reference source"
  ::= { mbgSyncboxN2XNtpRefSourceTableEntry 12 }

--
-- Meinberg SyncboxN2X PTP information
--

mbgSyncboxN2XPrecisionTimeProtocol OBJECT IDENTIFIER    ::= { mbgSyncboxN2X 2 }

mbgSyncboxN2XPtpProfile OBJECT-TYPE
  SYNTAX INTEGER {
    none(0),
    power(1),
    telecom(2)
  }
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Current PTP profile.
     0: None
     1: Power Profile
     2: Telecom Profile"
  ::= { mbgSyncboxN2XPrecisionTimeProtocol 1 }

mbgSyncboxN2XPtpNwProt OBJECT-TYPE
  SYNTAX INTEGER {
    unknown(0),
    ipv4(1),
    ipv6(2),
    ieee802_3(3),
    deviceNet(4),
    controlNet(5),
    profiNet(6)
  }
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Current PTP network protocol.
     0: Unknown
     1: IPv4
     2: IPv6
     3: ieee802.3
     4: DeviceNet
     5: ControlNet
     6: ProfiNet"
  ::= { mbgSyncboxN2XPrecisionTimeProtocol 2 }


mbgSyncboxN2XPtpPortState OBJECT-TYPE
  SYNTAX INTEGER {
    uninitialized(0),
    initializing(1),
    faulty(2),
    disabled(3),
    listening(4),
    preMaster(5),
    master(6),
    passive(7),
    uncalibrated(8),
    slave(9)
  }
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Current PTP Port State.
     0: Uninitialized
     1: Initializing
     2: Faulty
     3: Disabled
     4: Listening
     5: PreMaster
     6: Master
     7: Passive
     8: Uncalibrated
     9: Slave"
  ::= { mbgSyncboxN2XPrecisionTimeProtocol 3 }

mbgSyncboxN2XPtpDelayMechanism OBJECT-TYPE
  SYNTAX INTEGER {
    e2e(0),
    p2p(1)
  }
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Current PTP delay mechanism.
     0: E2E
     1: P2P"
  ::= { mbgSyncboxN2XPrecisionTimeProtocol 4 }

mbgSyncboxN2XPtpDelayRequestInterval OBJECT-TYPE
  SYNTAX INTEGER
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Current Delay Request interval."
  ::= { mbgSyncboxN2XPrecisionTimeProtocol 5 }

mbgSyncboxN2XPtpTimescale OBJECT-TYPE
  SYNTAX INTEGER {
    tai(0),
    arb(1)
  }
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Currently used timescale.
     0: TAI/PTP default
     1: Arbitrary"
  ::= { mbgSyncboxN2XPrecisionTimeProtocol 6 }

mbgSyncboxN2XPtpUTCOffset OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Current offset to UTC time."
  ::= { mbgSyncboxN2XPrecisionTimeProtocol 7 }

mbgSyncboxN2XPtpLeapSecondAnnounced OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Current offset to UTC time."
  ::= { mbgSyncboxN2XPrecisionTimeProtocol 8 }

mbgSyncboxN2XPtpGrandmasterClockID OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Clock ID of current PTP Grandmaster."
  ::= { mbgSyncboxN2XPrecisionTimeProtocol 9 }

mbgSyncboxN2XPtpGrandmasterTimesource OBJECT-TYPE
  SYNTAX INTEGER {
    atomicClock(16),
    gps(32),
    terrestrialRadio(48),
    ptp(64),
    ntp(80),
    handSet(96),
    other(144),
    internalOscillator(160)
  }
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Timesource of the current Grandmaster.
     0x10: Atomic Clock
     0x20: GPS
     0x30: Terrestrial Radio
     0x40: PTP
     0x50: NTP
     0x60: Hand Set
     0x90: Other
     0xA0: Internal Oscillator"
  ::= { mbgSyncboxN2XPrecisionTimeProtocol 10 }

mbgSyncboxN2XPtpGrandmasterPriority1 OBJECT-TYPE
  SYNTAX Unsigned32
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Priority 1 of the current Grandmaster."
  ::= { mbgSyncboxN2XPrecisionTimeProtocol 11 }

mbgSyncboxN2XPtpGrandmasterClockClass OBJECT-TYPE
  SYNTAX Unsigned32
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Clock class of the current Grandmaster."
  ::= { mbgSyncboxN2XPrecisionTimeProtocol 12 }

mbgSyncboxN2XPtpGrandmasterClockAccuracy OBJECT-TYPE
  SYNTAX INTEGER {
    accurateToWithin25ns(32),
    accurateToWithin100ns(33),
    accurateToWithin250ns(34),
    accurateToWithin1us(35),
    accurateToWithin2Point5us(36),
    accurateToWithin10us(37),
    accurateToWithin25us(38),
    accurateToWithin100us(39),
    accurateToWithin250us(40),
    accurateToWithin1ms(41),
    accurateToWithin2Point5ms(42),
    accurateToWithin10ms(43),
    accurateToWithin25ms(44),
    accurateToWithin100ms(45),
    accurateToWithin250ms(46),
    accurateToWithin1s(47),
    accurateToWithin10s(48),
    accurateToGreaterThan10s(49)
  }
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Clock accuracy of the current Grandmaster.
     32: The time is accurate to within 25 ns
     33: The time is accurate to within 100 ns
     34: The time is accurate to within 250 ns
     35: The time is accurate to within 1 s
     36: The time is accurate to within 2.5 s
     37: The time is accurate to within 10 s
     38: The time is accurate to within 25 s
     39: The time is accurate to within 100 s
     40: The time is accurate to within 250 s
     41: The time is accurate to within 1 ms
     42: The time is accurate to within 2.5 ms
     43: The time is accurate to within 10 ms
     44: The time is accurate to within 25 ms
     45: The time is accurate to within 100 ms
     46: The time is accurate to within 250 ms
     47: The time is accurate to within 1 s
     48: The time is accurate to within 10 s
     49: The time is accurate to >10 s"
  ::= { mbgSyncboxN2XPrecisionTimeProtocol 13 }

mbgSyncboxN2XPtpGrandmasterClockVariance OBJECT-TYPE
  SYNTAX Unsigned32
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Clock variance of the current Grandmaster."
  ::= { mbgSyncboxN2XPrecisionTimeProtocol 14 }

mbgSyncboxN2XPtpGrandmasterPriority2 OBJECT-TYPE
  SYNTAX Unsigned32
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Priority 2 of the current Grandmaster."
  ::= { mbgSyncboxN2XPrecisionTimeProtocol 15 }

mbgSyncboxN2XPtpOffsetToGrandmaster OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Measured offset to the current Grandmaster."
  ::= { mbgSyncboxN2XPrecisionTimeProtocol 16 }

mbgSyncboxN2XPtpMeanPathDelay OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Measured path delay to the current Grandmaster."
  ::= { mbgSyncboxN2XPrecisionTimeProtocol 17 }

--
-- Meinberg SyncboxN2X Outputs information
--

mbgSyncboxN2XOutputs               OBJECT IDENTIFIER    ::= { mbgSyncboxN2X 3 }

mbgSyncboxN2XOutputsTable OBJECT-TYPE
  SYNTAX SEQUENCE OF MbgSyncboxN2XOutputsTableEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
    "Table of the configurable signal outputs."
  ::= { mbgSyncboxN2XOutputs 1 }


mbgSyncboxN2XOutputsTableEntry OBJECT-TYPE
  SYNTAX MbgSyncboxN2XOutputsTableEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
    "List of objects pertaining to a signal output."
  INDEX { mbgSyncboxN2XOutputIndex }
  ::= { mbgSyncboxN2XOutputsTable 1 }


MbgSyncboxN2XOutputsTableEntry ::=
  SEQUENCE {
    mbgSyncboxN2XOutputIndex     Unsigned32,
    mbgSyncboxN2XOutputMode      INTEGER
  }

mbgSyncboxN2XOutputIndex OBJECT-TYPE
  SYNTAX Unsigned32(0..2)
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
    "Index of the signal output."
  ::= { mbgSyncboxN2XOutputsTableEntry 1 }

mbgSyncboxN2XOutputMode OBJECT-TYPE
  SYNTAX INTEGER {
    idle(0),
    timer(1),
    singleShot(2),
    cyclicPulse(3),
    pulsePerSecond(4),
    pulsePerMinute(5),
    pulsePerHour(6),
    emulatedDCF77(7),
    positionOK(8),
    timeSync(9),
    allSync(10),
    timecode(11),
    timestring(12),
    10MHz(13),
    emulatedDCF77M59(14),
    synthesizer(15),
    timeSlots(16)
  }
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Configured mode of the signal output.
     00: output is not configured/disabled
     01: switch on/off at configured times
     02: pulse at specified time
     03: pulse in specified interval
     04: pulse on second change
     05: pulse on minute change
     06: pulse on hour change
     07: emulated DCF77 signal
     08: on if navigation solved
     09: on if time synchronized
     10: on if positionOK and timeSync
     11: IRIG/AFNOR DCLS output
     12: serial timestring
     13: 10 MHz fixed frequency
     14: emulated DCF77 signal with 500 ms pulse in 59th second
     15: programmable synthesizer frequency
     16: programmable time slots during each minute"
  ::= { mbgSyncboxN2XOutputsTableEntry 2 }
  
mbgSyncboxN2XSerialString OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Configuration of the serial string output."
  ::= { mbgSyncboxN2XOutputs 2 }


--
-- Conformance Statements
--

mbgSyncboxN2XConformance     OBJECT IDENTIFIER ::= { mbgSyncboxN2X 10 }
mbgSyncboxN2XCompliances     OBJECT IDENTIFIER ::= { mbgSyncboxN2XConformance 0 }
mbgSyncboxN2XGroups          OBJECT IDENTIFIER ::= { mbgSyncboxN2XConformance 1 }

mbgSyncboxN2XCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
      "The compliance statement for SNMP entities which implement SyncboxN2X MIB"
    MODULE -- this module
    MANDATORY-GROUPS
    {
      mbgSyncboxN2XObjectsGroup
    }
    ::= { mbgSyncboxN2XCompliances 0 }


mbgSyncboxN2XObjectsGroup	OBJECT-GROUP
  OBJECTS {
    mbgSyncboxN2XSerialNumber,
    mbgSyncboxN2XFirmwareRevision,
    mbgSyncboxN2XSystemTime,
    mbgSyncboxN2XCurrentRefSource,
    mbgSyncboxN2XNtpSyncStatus,
    mbgSyncboxN2XNtpSystemPeer,
    mbgSyncboxN2XNtpStratum,
    mbgSyncboxN2XNtpRefSourceHostname,
    mbgSyncboxN2XNtpRefSourceStratum,
    mbgSyncboxN2XNtpRefSourceReferenceID,
    mbgSyncboxN2XNtpRefSourceReach,
    mbgSyncboxN2XNtpRefSourceCurrPoll,
    mbgSyncboxN2XNtpRefSourceMinPoll,
    mbgSyncboxN2XNtpRefSourceMaxPoll,
    mbgSyncboxN2XNtpRefSourceConfigOptions,
    mbgSyncboxN2XNtpRefSourcePathDelay,
    mbgSyncboxN2XNtpRefSourceOffset,
    mbgSyncboxN2XNtpRefSourceJitter,
    mbgSyncboxN2XPtpProfile,
    mbgSyncboxN2XPtpNwProt,
    mbgSyncboxN2XPtpPortState,
    mbgSyncboxN2XPtpDelayMechanism,
    mbgSyncboxN2XPtpDelayRequestInterval,
    mbgSyncboxN2XPtpTimescale,
    mbgSyncboxN2XPtpUTCOffset,
    mbgSyncboxN2XPtpLeapSecondAnnounced,
    mbgSyncboxN2XPtpGrandmasterClockID,
    mbgSyncboxN2XPtpGrandmasterTimesource,
    mbgSyncboxN2XPtpGrandmasterPriority1,
    mbgSyncboxN2XPtpGrandmasterClockClass,
    mbgSyncboxN2XPtpGrandmasterClockAccuracy,
    mbgSyncboxN2XPtpGrandmasterClockVariance,
    mbgSyncboxN2XPtpGrandmasterPriority2,
    mbgSyncboxN2XPtpOffsetToGrandmaster,
    mbgSyncboxN2XPtpMeanPathDelay,
    mbgSyncboxN2XOutputMode,
    mbgSyncboxN2XSerialString
  }
  STATUS current
  DESCRIPTION
    "The collection of objects for the SyncboxN2X MIB"

  ::= { mbgSyncboxN2XGroups 0 }


END
