-------------------------------------------------------------------------------
-- Juniper Enterprise Specific MIB: Timing feature defect/event notification MIB
--
-- Copyright (c) 2001-2003, Juniper Networks, Inc.
-- All rights reserved.
--
-- The contents of this document are subject to change without notice.
-------------------------------------------------------------------------------

JUNIPER-TIMING-NOTFNS-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
    Integer32, Unsigned32, Gauge32,
    TimeTicks, Counter32, Counter64,
    IpAddress
        FROM SNMPv2-SMI -- [RFC2578]
    TEXTUAL-CONVENTION, DisplayString
        FROM SNMPv2-TC  -- [RFC2579]
    InterfaceIndex, ifOperStatus
        FROM IF-MIB     -- [RFC2863a]
    InetAddress
        FROM INET-ADDRESS-MIB
    OBJECT-GROUP, NOTIFICATION-GROUP, MODULE-COMPLIANCE
        FROM SNMPv2-CONF
    jnxTimingNotfnsMIBRoot, Integer64
        FROM JUNIPER-SMI;


jnxTimingNotfnsMIB MODULE-IDENTITY
    LAST-UPDATED "202107180000Z"  -- Jun 04, 2021
    ORGANIZATION "Juniper Networks, Inc."
    CONTACT-INFO
            "        Juniper Technical Assistance Center
                     Juniper Networks, Inc.
                     1133 Innovation Way
                     Sunnyvale, CA 94089
                     E-mail: support@juniper.net"

    DESCRIPTION
            "This is Juniper Networks' implementation of enterprise
             specific MIB for alarms from the router chassis box."
    --  Revision history
    REVISION     "202107180000Z" -- July 18, 2021
    DESCRIPTION  "Removed the un-supported OID's jnxTimingAlarmNoAnnounceMessageSet,
                  jnxTimingAlarmNoAnnounceMessageClear, jnxTimingAlarmNoSyncMessageSet,
                  jnxTimingAlarmNoSyncMessageClear, jnxTimingAlarmNoDelayResponseMessageSet,
                  jnxTimingAlarmNoDelayResponseMessageClear, jnxTimingAlarmHighPDVDetectedSet,
                  jnxTimingAlarmHighPDVDetectedClear, jnxTimingAlarmSlaveCandidateStateLoseLockSet,
                  jnxTimingAlarmSlaveCandidateStateLoseLockClear, jnxTimingAlarmPtpSyncFailSet,
                  jnxTimingAlarmPtpSyncFailClear, jnxTimingAlarmLossOfReference3Set,
                  jnxTimingAlarmLossOfReference3Clear, jnxTimingAlarmLossOfReference4Set,
                  jnxTimingAlarmLossOfReference4Clear, jnxTimingAlarmDPLLNotLockedSet,
                  jnxTimingAlarmDPLLNotLockedClear, jnxTimingEventDelayAsymmetryExceedMinor,
                  jnxTimingEventDelayAsymmetryExceedCritical."
    REVISION     "202106040000Z" -- Jun 04, 2021
    DESCRIPTION  "Deprecated jnxTimingEventSynceLckToHldovr and
                  jnxTimingEventSynceHldovrToLck. Instead use
                  jnxTimingEventDpllStatus or jnxTimingEventSynceDpllStatus
                  for all state change notifications."
    REVISION     "201909020408Z" -- Tue Sep 02 20:08 2019 IST
    DESCRIPTION  "Modified to include additional traps for extensibility"
    REVISION     "201511140408Z" -- Tue Nov 15 04:08 2016 UTC
    DESCRIPTION  "Modifed jnxUtcValid to correct the value
                  when queried from external server"
    REVISION     "201510140000Z" -- Fri Mar 15 15:41 2013 UTC
    DESCRIPTION  "Modifed jnxClksyncQualityCode to include the list
                  of possible values (similar to G.781 standard)"
    REVISION     "201303151541Z" -- Fri Mar 15 15:41 2013 UTC
    DESCRIPTION  "Initial Version"

    ::= { jnxTimingNotfnsMIBRoot 1 }


jnxTimingFaults              OBJECT IDENTIFIER ::= { jnxTimingNotfnsMIB 1 }
jnxTimingEvents              OBJECT IDENTIFIER ::= { jnxTimingNotfnsMIB 2 }
jnxTimingNotfObjects         OBJECT IDENTIFIER ::= { jnxTimingNotfnsMIB 3 }
jnxTimingConformance         OBJECT IDENTIFIER ::= { jnxTimingNotfnsMIB 4 }
jnxTimingPerformanceMonitor  OBJECT IDENTIFIER ::= { jnxTimingNotfnsMIB 5 }
jnxTimingPassivePortMonitor  OBJECT IDENTIFIER ::= { jnxTimingNotfnsMIB 6 }


-------------------------------------------------------------------------------
-- Textual Conventions
-------------------------------------------------------------------------------
JnxPtpClockIdTC ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
            "Clock Identifier."
    SYNTAX       OCTET STRING (SIZE (8))

JnxPtpPhaseOffsetTC ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
            "Phase Offset."
    SYNTAX       Integer32 (0..1000)

-------------------------------------------------------------------------------
-- Objects
-------------------------------------------------------------------------------
jnxClksyncState OBJECT-TYPE
    SYNTAX      INTEGER { clear(0), set(1) }
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "Fault status."
    ::= { jnxTimingNotfObjects 1 }

jnxClksyncIfIndex  OBJECT-TYPE
        SYNTAX      InterfaceIndex
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "Snmp ifIndex of member interface."
        ::= { jnxTimingNotfObjects 2 }

jnxClksyncIntfName OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "Interface name."
        ::= { jnxTimingNotfObjects 3 }

jnxAcbFpgaRevMajor OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "Major version information."
    ::= { jnxTimingNotfObjects 4 }

jnxAcbFpgaRevMinor OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "Minor version information."
    ::= { jnxTimingNotfObjects 5 }

jnxBootCpldFpgaRevMajor OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "Major version information."
    ::= { jnxTimingNotfObjects 6 }

jnxBootCpldFpgaRevMinor OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "Minor version information."
    ::= { jnxTimingNotfObjects 7 }

jnxClksyncQualityCode OBJECT-TYPE
    SYNTAX      INTEGER {
        --eec1  
        prc(2),
        ssu-a(4),
        ssu-b(8),
        sec(11),
        dnu(15),
        --eec2
        prs(1),
        stu(0),
        st2(7),
        tnc(16),
        st3e(13),
        st3(10),
        smc(12),
        st4(14),
        dus(17) 
    }
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "SSM/ESMC quality levels."
    ::= { jnxTimingNotfObjects 8 }

jnxClksyncDpllState OBJECT-TYPE
    SYNTAX      INTEGER {
        init-phase(0),
        acquiring-lock(1),
        locked(2),
        holdover(3),
        free-run(4),
        unknown(5)
    }
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "BITS/SyncE DPLL states."
    ::= { jnxTimingNotfObjects 9 }

jnxPtpServoState OBJECT-TYPE
    SYNTAX      INTEGER {
        init(0),
        free-run(1),
        holdover(2),
        acquiring(3),
        freq-locked(4),
        phase-aligned(5)
    }
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "PTP servo states."
    ::= { jnxTimingNotfObjects 10 }

jnxPtpClass OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "PTP clock status."
    ::= { jnxTimingNotfObjects 11 }

jnxPtpAccuracy OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "PTP clock accuracy."
    ::= { jnxTimingNotfObjects 12 }

jnxPtpGmId OBJECT-TYPE
    SYNTAX      JnxPtpClockIdTC
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "PTP Grand Master clock-id."
    ::= { jnxTimingNotfObjects 13 }

jnxPtpGmIpAddr OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "PTP Grand Master stream ip-address."
    ::= { jnxTimingNotfObjects 14 }

jnxClkStreamHandle OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "PTP clock accuracy."
    ::= { jnxTimingNotfObjects 15 }

jnxRemoteIpAddr OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "PTP clock stream's remote ip-address."
    ::= { jnxTimingNotfObjects 16 }

jnxClksyncHybridState OBJECT-TYPE
    SYNTAX      INTEGER {
        init(0),
        freq-acq(1),
        freqLck-phaseAcq1(2),
        freqLck-phaseAcq2(3),
        freqLck-phaseAcq3(4),
        freq-phase-lck(5)
    }
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "hybrid states."
    ::= { jnxTimingNotfObjects 17 }

jnxPtpPhaseOffset OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "Phase Offset."
    ::= { jnxTimingNotfObjects 18 }

jnxClksyncQualityCodeStr OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "SSM/ESMC quality levels in string format."
        ::= { jnxTimingNotfObjects 19 }

jnxClksyncDpllStateStr OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "Dpll state in string format."
        ::= { jnxTimingNotfObjects 20 }

jnxPtpServoStateStr OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "PTP servo states in string format."
        ::= { jnxTimingNotfObjects 21 }

jnxClksyncHybridStateStr OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "hybrid states in string format."
        ::= { jnxTimingNotfObjects 22 }

jnxClksyncColorStr OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "Color of the LED unit."
        ::= { jnxTimingNotfObjects 23 }

jnxPtpPhaseOffsetThresholdExceeded OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..512))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Indicates whether the Phase Threshold of the monitored Passive Port
         has exceeded the configured Max Phase Offset Threshold as per
         Annex G of ITU-T G.8275.1"
        ::= { jnxTimingNotfObjects 24 }

jnxPtpUtcOffset OBJECT-TYPE
    SYNTAX      JnxPtpPhaseOffsetTC
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "UTC Offset."
    ::= { jnxTimingNotfObjects 25 }

jnxGpsRecvStatus OBJECT-TYPE
       SYNTAX       DisplayString
       MAX-ACCESS   accessible-for-notify
       STATUS       current
       DESCRIPTION
            "Gps Receiver Status"
        ::= { jnxTimingNotfObjects 26 }

jnxPtpAdvClockClass OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "UTC Offset."
    ::= { jnxTimingNotfObjects 27 }


jnxClksyncSynceLockedIfIndex  OBJECT-TYPE
        SYNTAX      InterfaceIndex
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "Snmp ifIndex of member interface."
        ::= { jnxTimingNotfObjects 28 }

jnxClksyncSynceLockedIntfName OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "Interface name."
        ::= { jnxTimingNotfObjects 29 }

jnxClksyncSynceQualityTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF JnxClksyncSynceQualityEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Synce Table to get Quality metrics for all configured sources"
    ::= { jnxTimingNotfObjects 30 }

jnxPtpUtcValid OBJECT-TYPE
    SYNTAX      INTEGER {
         false(0),
         true(1)
    }
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
       "PTP UTC Offset Valid."
    ::= { jnxTimingNotfObjects 31 }

jnxTimingFrequencyTraceability OBJECT-TYPE
   SYNTAX      INTEGER {
       false(0),
       true(1)
   }
   MAX-ACCESS  accessible-for-notify
   STATUS      current
   DESCRIPTION
        "Frequency Traceable Flag."
   ::= { jnxTimingNotfObjects 34 }

jnxTimingTimeTraceability OBJECT-TYPE
   SYNTAX      INTEGER {
       false(0),
       true(1)
   }
   MAX-ACCESS  accessible-for-notify
   STATUS      current
   DESCRIPTION
        "Time Traceable Flag."
   ::= { jnxTimingNotfObjects 35 }

jnxClksyncSynceQualityEntry OBJECT-TYPE
    SYNTAX     JnxClksyncSynceQualityEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Synce Table to get Quality metrics for all configured sources"
    INDEX   { jnxClksyncSynceQualityTableIndex }
    ::= { jnxClksyncSynceQualityTable 1 }

JnxClksyncSynceQualityEntry ::= SEQUENCE {
  jnxClksyncSynceQualityTableIndex Integer32(1..4),
  jnxClksyncSynceQualityIntfName DisplayString,
  jnxClksyncSynceQualityValue DisplayString
 }

jnxClksyncSynceQualityTableIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The index for each configured source, not displayed for get/walk"
    ::= { jnxClksyncSynceQualityEntry 1 }

jnxClksyncSynceQualityIntfName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The ifName of the configured source"
    ::= { jnxClksyncSynceQualityEntry 2 }

jnxClksyncSynceQualityValue OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The Quality Level of the configured source"
    ::= { jnxClksyncSynceQualityEntry 3 }

jnxClksyncPtpOperationalMasterTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF JnxClksyncPtpOperationalMasterEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "PTP Operational Master Table displays the upstream clock details"
    ::= { jnxTimingNotfObjects 36 }

jnxClksyncPtpOperationalMasterEntry OBJECT-TYPE
    SYNTAX     JnxClksyncPtpOperationalMasterEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "PTP Operational Master Entrydisplays the upstream clock details"
    INDEX   { jnxClksyncPtpOperationalMasterIndex, 
        jnxClksyncPtpOperationalMasterAttrIndex}
    ::= { jnxClksyncPtpOperationalMasterTable 1 }

JnxClksyncPtpOperationalMasterEntry ::= SEQUENCE {
    jnxClksyncPtpOperationalMasterIndex Integer32,
    jnxClksyncPtpOperationalMasterAttrIndex Integer32,
    jnxClksyncPtpOperationalMasters DisplayString 
}

jnxClksyncPtpOperationalMasterIndex OBJECT-TYPE
    SYNTAX      Integer32(1..512) 
    MAX-ACCESS  not-accessible 
    STATUS      current
    DESCRIPTION
        "The index for each operational master, not displayed for get/walk"
    ::= { jnxClksyncPtpOperationalMasterEntry 1 }

jnxClksyncPtpOperationalMasterAttrIndex OBJECT-TYPE
    SYNTAX      Integer32(1..512) 
    MAX-ACCESS  not-accessible 
    STATUS      current
    DESCRIPTION
        "The index for each attribute displayed for master, not displayed
         index not displayed for get/walk"
    ::= { jnxClksyncPtpOperationalMasterEntry 2 }

jnxClksyncPtpOperationalMasters OBJECT-TYPE
    SYNTAX      DisplayString 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Attributes displayed for each master i.e ifl, localip, no_of_rem_clks 
         and followed by remote ips"
    ::= { jnxClksyncPtpOperationalMasterEntry 3 }

jnxClksyncPtpOperationalSlaveTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF JnxClksyncPtpOperationalSlaveEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "PTP Operational Slave Table displays the downstream clock details"
    ::= { jnxTimingNotfObjects 37 }

jnxClksyncAdditionalInformationStr OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "Additional information in string format."
        ::= { jnxTimingNotfObjects 38 }

jnxClksyncPtpOperationalSlaveEntry OBJECT-TYPE
    SYNTAX     JnxClksyncPtpOperationalSlaveEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "PTP Operational Slave Entry displays the downstream clock details"
    INDEX   { jnxClksyncPtpOperationalSlaveIndex, 
        jnxClksyncPtpOperationalSlaveAttrIndex}
    ::= { jnxClksyncPtpOperationalSlaveTable 1 }

JnxClksyncPtpOperationalSlaveEntry ::= SEQUENCE {
    jnxClksyncPtpOperationalSlaveIndex Integer32,
    jnxClksyncPtpOperationalSlaveAttrIndex Integer32,
    jnxClksyncPtpOperationalSlaves DisplayString 
}

jnxClksyncPtpOperationalSlaveIndex OBJECT-TYPE
    SYNTAX      Integer32(1..512) 
    MAX-ACCESS  not-accessible 
    STATUS      current
    DESCRIPTION
        "The index for each operational slave, not displayed for get/walk"
    ::= { jnxClksyncPtpOperationalSlaveEntry 1 }

jnxClksyncPtpOperationalSlaveAttrIndex OBJECT-TYPE
    SYNTAX      Integer32(1..512) 
    MAX-ACCESS  not-accessible 
    STATUS      current
    DESCRIPTION
        "The index for each attribute displayed for master, not displayed
         index not displayed for get/walk"
    ::= { jnxClksyncPtpOperationalSlaveEntry 2 }

jnxClksyncPtpOperationalSlaves OBJECT-TYPE
    SYNTAX      DisplayString 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Attributes displayed for each slave i.e ifl, localip, no_of_rem_clks
         and followed by remote ips"
    ::= { jnxClksyncPtpOperationalSlaveEntry 3 }

------------------------------------------------------
--  Start: IEEE 1588v2.1 (2019) Annex J1 & J3 Objects
------------------------------------------------------

jnxPtpPerformanceMonitorEnabled OBJECT-TYPE
    SYNTAX      INTEGER { false(0), true(1) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates that performance monitor feature as per Annex J1
         of IEEE 1588v2.1 (2019) is enabled or disabled."
        ::= { jnxTimingPerformanceMonitor 1 }

jnxPtpStatisticsTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF JnxPtpStatisticsTableEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Performance monitor statistics table as per
         Annex J3 of IEEE 1588v2.1 (2019)."
        ::= { jnxTimingPerformanceMonitor 2 }

jnxPtpStatisticsTableEntry OBJECT-TYPE
    SYNTAX     JnxPtpStatisticsTableEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Performance monitor statistics table entries."
    INDEX   { jnxPtpStatisticsAttrIndex }
    ::= { jnxPtpStatisticsTable 1 }

JnxPtpStatisticsTableEntry ::= SEQUENCE {
    jnxPtpStatisticsAttrIndex                      Unsigned32,
    jnxPtpStatisticsTimestamp                      DisplayString,
    jnxPtpStatisticsTxAnnounce                     Unsigned32,
    jnxPtpStatisticsTxSync                         Unsigned32,
    jnxPtpStatisticsTxDelayRequest                 Unsigned32,
    jnxPtpStatisticsTxDelayResponse                Unsigned32,
    jnxPtpStatisticsTxFollowup                     Unsigned32,
    jnxPtpStatisticsTxError                        Unsigned32,
    jnxPtpStatisticsAnnouncedFromAllForeignMasters Unsigned32,
    jnxPtpStatisticsRxAnnounce                     Unsigned32,
    jnxPtpStatisticsRxSync                         Unsigned32,
    jnxPtpStatisticsRxDelayRequest                 Unsigned32,
    jnxPtpStatisticsRxDelayResponse                Unsigned32,
    jnxPtpStatisticsRxFollowup                     Unsigned32,
    jnxPtpStatisticsRxError                        Unsigned32
}

jnxPtpStatisticsAttrIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..98)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The index for each performance monitor statistics data
         attribute: (1..96) represents 15 min counters; (97..98)
         represents 24 h counters."
    ::= { jnxPtpStatisticsTableEntry 1 }

jnxPtpStatisticsTimestamp OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Timestamp of PTP slave port monitor statistics data."
    ::= { jnxPtpStatisticsTableEntry 2 }

jnxPtpStatisticsTxAnnounce OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Counter indicating the number of Announce messages that have been
         transmitted for each 15 min and 24 h interval."
    ::= { jnxPtpStatisticsTableEntry 3 }

jnxPtpStatisticsTxSync OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Counter indicating the number of Sync messages that have been
         transmitted for each 15 min and 24 h interval."
    ::= { jnxPtpStatisticsTableEntry 4 }

jnxPtpStatisticsTxDelayRequest OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Counter indicating the number of Delay Request messages that have been
         transmitted for each 15 min and 24 h interval."
    ::= { jnxPtpStatisticsTableEntry 5 }

jnxPtpStatisticsTxDelayResponse OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Counter indicating the number of Delay Response messages that have been
         transmitted for each 15 min and 24 h interval."
    ::= { jnxPtpStatisticsTableEntry 6 }

jnxPtpStatisticsTxFollowup OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Counter indicating the number of Follow Up messages that have been
         transmitted for each 15 min and 24 h interval."
    ::= { jnxPtpStatisticsTableEntry 7 }

jnxPtpStatisticsTxError OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Counter indicating the number of Transmit Error messages that have been
         transmitted for each 15 min and 24 h interval."
    ::= { jnxPtpStatisticsTableEntry 8 }

jnxPtpStatisticsAnnouncedFromAllForeignMasters OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Counter indicating the total number of announce messages from
         the foreign Masters that have been received for each 15 min and
         24 h interval as per Annex J3 of IEEE 1588v2.1 (2019)."
    ::= { jnxPtpStatisticsTableEntry 9 }

jnxPtpStatisticsRxAnnounce OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Counter indicating the number of Announce messages from the current
         GM that have been received for each 15 min and 24 h interval."
    ::= { jnxPtpStatisticsTableEntry 10 }

jnxPtpStatisticsRxSync OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Counter indicating the number of Sync messages that have been
         received for each 15 min and 24 h interval."
    ::= { jnxPtpStatisticsTableEntry 11 }

jnxPtpStatisticsRxDelayRequest OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Counter indicating the number of Delay Request messages that have been
         received for each 15 min and 24 h interval."
    ::= { jnxPtpStatisticsTableEntry 12 }

jnxPtpStatisticsRxDelayResponse OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Counter indicating the number of Delay Response messages that have been
         received for each 15 min and 24 h interval."
    ::= { jnxPtpStatisticsTableEntry 13 }

jnxPtpStatisticsRxFollowup OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Counter indicating the number of Follow Up messages that have been
         received for each 15 min and 24 h interval."
    ::= { jnxPtpStatisticsTableEntry 14 }

jnxPtpStatisticsRxError OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Counter indicating the number of Receive Error messages that have been
         received for each 15 min and 24 h interval."
    ::= { jnxPtpStatisticsTableEntry 15 }

jnxPtpPerformanceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF JnxPtpPerformanceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Performance monitor table as per
         Annex J1 of IEEE 1588v2.1 (2019)."
    ::= { jnxTimingPerformanceMonitor 3 }

jnxPtpPerformanceEntry OBJECT-TYPE
    SYNTAX     JnxPtpPerformanceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "PTP performance entry displays the performance monitor data details."
    INDEX   { jnxPtpPerformanceAttrIndex }
    ::= { jnxPtpPerformanceTable 1 }

JnxPtpPerformanceEntry ::= SEQUENCE {
    jnxPtpPerformanceAttrIndex                Unsigned32,
    jnxPtpPerformanceIntfName                 DisplayString,
    jnxPtpPerformanceSourcePortIdentity       Unsigned32,
    jnxPtpPerformanceTimestamp                DisplayString,
    jnxPtpPerformancePeriodComplete           INTEGER,
    jnxPtpPerformanceDataValid                INTEGER,
    jnxPtpPerformanceDataInvalidReason        DisplayString,
    jnxPtpPerformanceAverageMasterSlaveDelay  Integer64,
    jnxPtpPerformanceMinMasterSlaveDelay      Integer64,
    jnxPtpPerformanceMaxMasterSlaveDelay      Integer64,
    jnxPtpPerformanceStdDevMasterSlaveDelay   Integer64,
    jnxPtpPerformanceAverageSlaveMasterDelay  Integer64,
    jnxPtpPerformanceMinSlaveMasterDelay      Integer64,
    jnxPtpPerformanceMaxSlaveMasterDelay      Integer64,
    jnxPtpPerformanceStdDevSlaveMasterDelay   Integer64,
    jnxPtpPerformanceAverageMeanPathDelay     Integer64,
    jnxPtpPerformanceMinMeanPathDelay         Integer64,
    jnxPtpPerformanceMaxMeanPathDelay         Integer64,
    jnxPtpPerformanceStdDevMeanPathDelay      Integer64,
    jnxPtpPerformanceAverageOffsetFromMaster  Integer64,
    jnxPtpPerformanceMinOffsetFromMaster      Integer64,
    jnxPtpPerformanceMaxOffsetFromMaster      Integer64,
    jnxPtpPerformanceStdDevOffsetFromMaster   Integer64
}

jnxPtpPerformanceAttrIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..98)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The index for each performance monitor attribute: (1..96)
         represents 15 min counters; (97..98) represents 24 h counters."
    ::= { jnxPtpPerformanceEntry 1 }

jnxPtpPerformanceIntfName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..127))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The interface name for ptp performance monitor data."
    ::= { jnxPtpPerformanceEntry 2 }

jnxPtpPerformanceSourcePortIdentity OBJECT-TYPE
    SYNTAX      Unsigned32 (0..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Idenity of the source port associated with the performance monitor data."
    ::= { jnxPtpPerformanceEntry 3 }

jnxPtpPerformanceTimestamp OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Timestamp of PTP slave port monitor measurement data."
    ::= { jnxPtpPerformanceEntry 4 }

jnxPtpPerformancePeriodComplete OBJECT-TYPE
    SYNTAX      INTEGER { false(0), true(1) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Flag to represent if any data collected within a measurement window
         (15min or 24h) is partial as per IEEE 1588 2019 Annex J.4.1."
    ::= { jnxPtpPerformanceEntry 5 }

jnxPtpPerformanceDataValid OBJECT-TYPE
    SYNTAX      INTEGER { false(0), true(1) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Validity of performance monitor data for each 15 min and 24 h interval."
    ::= { jnxPtpPerformanceEntry 6 }

jnxPtpPerformanceDataInvalidReason OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..127))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "PTP slave port monitor measurement data (15min/24h) invalid reasons:
	 1) PTP servo sync state not phase aligned & Phy sync state not in sync.
	 2) PTP servo sync state not phase aligned & Phy sync state in sync.
	 3) PTP servo sync state phase aligned & Phy sync state not in sync.
	 4) Measurement not started: PTP servo sync state not phase aligned."
    ::= { jnxPtpPerformanceEntry 7 }

jnxPtpPerformanceAverageMasterSlaveDelay OBJECT-TYPE
    SYNTAX     Integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Average of the Master to Slave Delay for each 15 min and 24 h interval."
    ::= { jnxPtpPerformanceEntry 8 }

jnxPtpPerformanceMinMasterSlaveDelay OBJECT-TYPE
    SYNTAX     Integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Minimum of the Master to Slave Delay for each 15 min and 24 h interval."
    ::= { jnxPtpPerformanceEntry 9 }

jnxPtpPerformanceMaxMasterSlaveDelay OBJECT-TYPE
    SYNTAX     Integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Maximum of the Master to Slave Delay for each 15 min and 24 h interval."
    ::= { jnxPtpPerformanceEntry 10 }

jnxPtpPerformanceStdDevMasterSlaveDelay OBJECT-TYPE
    SYNTAX     Integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Standard Deviation of the Master to Slave Delay for each 15 min
         and 24 h interval."
    ::= { jnxPtpPerformanceEntry 11 }

jnxPtpPerformanceAverageSlaveMasterDelay OBJECT-TYPE
    SYNTAX     Integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Average of the Slave to Master Delay for each 15 min and 24 h interval."
    ::= { jnxPtpPerformanceEntry 12 }

jnxPtpPerformanceMinSlaveMasterDelay OBJECT-TYPE
    SYNTAX     Integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Minimum of the Slave to Master Delay for each 15 min and 24 h interval."
    ::= { jnxPtpPerformanceEntry 13 }

jnxPtpPerformanceMaxSlaveMasterDelay OBJECT-TYPE
    SYNTAX     Integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Maximum of the Slave to Master Delay for each 15 min and 24 h interval."
    ::= { jnxPtpPerformanceEntry 14 }

jnxPtpPerformanceStdDevSlaveMasterDelay OBJECT-TYPE
    SYNTAX     Integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Standard Deviation of the Slave to Master Delay for each 15 min
         and 24 h interval."
    ::= { jnxPtpPerformanceEntry 15 }

jnxPtpPerformanceAverageMeanPathDelay OBJECT-TYPE
    SYNTAX     Integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Average of the Mean Path Delay for each 15 min and 24 h interval."
    ::= { jnxPtpPerformanceEntry 16 }


jnxPtpPerformanceMinMeanPathDelay OBJECT-TYPE
    SYNTAX     Integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Minimum of the Mean Path Delay for each 15 min and 24 h interval."
    ::= { jnxPtpPerformanceEntry 17 }

jnxPtpPerformanceMaxMeanPathDelay OBJECT-TYPE
    SYNTAX     Integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Maximum of the Mean Path Delay for each 15 min and 24 h interval."
    ::= { jnxPtpPerformanceEntry 18 }

jnxPtpPerformanceStdDevMeanPathDelay OBJECT-TYPE
    SYNTAX     Integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Standard Deviation of the Mean Path Delay for each 15 min
         and 24 h interval."
    ::= { jnxPtpPerformanceEntry 19 }

jnxPtpPerformanceAverageOffsetFromMaster OBJECT-TYPE
    SYNTAX     Integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Average of the Phase Offset From Master for each 15 min and 24 h interval."
    ::= { jnxPtpPerformanceEntry 20 }

jnxPtpPerformanceMinOffsetFromMaster OBJECT-TYPE
    SYNTAX     Integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Minimum of the Phase Offset From Master for each 15 min and 24 h interval."
    ::= { jnxPtpPerformanceEntry 21 }

jnxPtpPerformanceMaxOffsetFromMaster OBJECT-TYPE
    SYNTAX     Integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Maximum of the Phase Offset From Master for each 15 min and 24 h interval."
    ::= { jnxPtpPerformanceEntry 22 }

jnxPtpPerformanceStdDevOffsetFromMaster OBJECT-TYPE
    SYNTAX     Integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Stdandard Deviation of the Phase Offset From Master for each 15 min
         and 24 h interval."
    ::= { jnxPtpPerformanceEntry 23 }

---------------------------------------------------
--  End: IEEE 1588v2.1 (2019) Annex J1 & J3 Objects
---------------------------------------------------

---------------------------------------------------
--  Start: - Annex G of ITU-T G.8275.1 Objects
---------------------------------------------------

jnxPtpPassivePortMonitorEnabled OBJECT-TYPE
    SYNTAX      INTEGER { false(0), true(1) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates that passive port monitor feature as per
         Annex G of ITU-T G.8275.1 is enabled or disabled."
        ::= { jnxTimingPassivePortMonitor 1 }

jnxPtpPassivePortMonitorDelayRequestInterval OBJECT-TYPE
    SYNTAX      Integer32 (-7..7)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Represents passive port monitor feature delay request
         interval as per Annex G of ITU-T G.8275.1."
        ::= { jnxTimingPassivePortMonitor 2 }


jnxPtpPassivePortMonitorTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF JnxPtpPassivePortMonitorEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "PTP passive port performance monitor table to get the passive
         port performance against the selected slave port."
        ::= { jnxTimingPassivePortMonitor 3 }

jnxPtpPassivePortMonitorEntry OBJECT-TYPE
    SYNTAX     JnxPtpPassivePortMonitorEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "PTP passive port performance monitor entry table to get the
         passive port performance against the selected slave port."
    INDEX   { jnxPtpPassivePortMonitorIntfName }
    ::= { jnxPtpPassivePortMonitorTable 1 }

JnxPtpPassivePortMonitorEntry ::= SEQUENCE {
    jnxPtpPassivePortMonitorIntfName                      DisplayString,
    jnxPtpPassivePortMonitorSourcePortIdentity            DisplayString,
    jnxPtpPassivePortMonitorDataValid                     INTEGER,
    jnxPtpPassivePortMonitorStartTimestamp                DisplayString,
    jnxPtpPassivePortMonitorEndTimestamp                  DisplayString,
    jnxPtpPassivePortMonitorAveragePhaseOffsetFromMaster  Integer64,
    jnxPtpPassivePortMonitorMinPhaseOffsetFromMaster      Integer64,
    jnxPtpPassivePortMonitorMaxPhaseOffsetFromMaster      Integer64,
    jnxPtpPassivePortMonitorAverageMasterSlaveDelay       Integer64,
    jnxPtpPassivePortMonitorMinMasterSlaveDelay           Integer64,
    jnxPtpPassivePortMonitorMaxMasterSlaveDelay           Integer64,
    jnxPtpPassivePortMonitorAverageSlaveMasterDelay       Integer64,
    jnxPtpPassivePortMonitorMinSlaveMasterDelay           Integer64,
    jnxPtpPassivePortMonitorMaxSlaveMasterDelay           Integer64,
    jnxPtpPassivePortMonitorAveragePathDelay              Integer64,
    jnxPtpPassivePortMonitorMaxPhaseOffsetThreshold       Unsigned32,
    jnxPtpPassivePortMonitorPhaseOffsetThresholdExceeded  INTEGER,
    jnxPtpPassivePortMonitorPortConfig                    INTEGER,
    jnxPtpPassivePortMonitorPortState                     INTEGER
}

jnxPtpPassivePortMonitorIntfName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..128))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The interface name for PTP passive port data displayed for the stream."
    ::= { jnxPtpPassivePortMonitorEntry 1 }

jnxPtpPassivePortMonitorSourcePortIdentity OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..127))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Identity of the source port to which PTP passive port data is associated."
    ::= { jnxPtpPassivePortMonitorEntry 2 }

jnxPtpPassivePortMonitorDataValid OBJECT-TYPE
    SYNTAX      INTEGER { valid(0), inactive(1), not-applicable(2) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This describes the validity of the data. If port state is passive and, passive
         port monitoring feature is enabled, then there is a valid measurement data
         available set to (0). If port state is other than passive, then not-applicable
         will be set to (1); and if port state is passive and servo state is other than
         phase-aligned, this will be set to (2) inactive."
    ::= { jnxPtpPassivePortMonitorEntry 3 }

jnxPtpPassivePortMonitorStartTimestamp OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Start Timestamp of PTP passive port monitor performance data."
    ::= { jnxPtpPassivePortMonitorEntry 4 }

jnxPtpPassivePortMonitorEndTimestamp OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "End Timestamp of PTP passive port monitor performance data."
    ::= { jnxPtpPassivePortMonitorEntry 5 }

jnxPtpPassivePortMonitorAveragePhaseOffsetFromMaster OBJECT-TYPE
    SYNTAX      Integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Average Phase Offset value of the passive port from Master."
    ::= { jnxPtpPassivePortMonitorEntry 6 }

jnxPtpPassivePortMonitorMinPhaseOffsetFromMaster OBJECT-TYPE
    SYNTAX     Integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Minimum Phase Offset value of the passive port from Master."
    ::= { jnxPtpPassivePortMonitorEntry 7 }

jnxPtpPassivePortMonitorMaxPhaseOffsetFromMaster OBJECT-TYPE
    SYNTAX     Integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Maximum Phase Offset value of the passive port from Master."
    ::= { jnxPtpPassivePortMonitorEntry 8 }

jnxPtpPassivePortMonitorAverageMasterSlaveDelay OBJECT-TYPE
    SYNTAX     Integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Average Master to Slave Delay value of the passive port from Master."
    ::= { jnxPtpPassivePortMonitorEntry 9 }

jnxPtpPassivePortMonitorMinMasterSlaveDelay OBJECT-TYPE
    SYNTAX     Integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Minimum Master to Slave Delay value of the passive port from Master."
    ::= { jnxPtpPassivePortMonitorEntry 10 }

jnxPtpPassivePortMonitorMaxMasterSlaveDelay OBJECT-TYPE
    SYNTAX     Integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Maximum Master to Slave Delay value of the passive port from Master."
    ::= { jnxPtpPassivePortMonitorEntry 11 }

jnxPtpPassivePortMonitorAverageSlaveMasterDelay OBJECT-TYPE
    SYNTAX     Integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Average Slave to Master Delay value of the passive port from Master."
    ::= { jnxPtpPassivePortMonitorEntry 12 }

jnxPtpPassivePortMonitorMinSlaveMasterDelay OBJECT-TYPE
    SYNTAX     Integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Minimum Slave to Master Delay value of the passive port from Master."
    ::= { jnxPtpPassivePortMonitorEntry 13 }

jnxPtpPassivePortMonitorMaxSlaveMasterDelay OBJECT-TYPE
    SYNTAX     Integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Maximum Slave to Master Delay value of the passive port from Master."
    ::= { jnxPtpPassivePortMonitorEntry 14 }

jnxPtpPassivePortMonitorAveragePathDelay OBJECT-TYPE
    SYNTAX     Integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Average Mean Path Delay of the passive port from Master."
    ::= { jnxPtpPassivePortMonitorEntry 15 }

jnxPtpPassivePortMonitorMaxPhaseOffsetThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The configured Phase Offset threshold acceptable between
         the passive port and slave port."
    ::= { jnxPtpPassivePortMonitorEntry 16 }

jnxPtpPassivePortMonitorPhaseOffsetThresholdExceeded OBJECT-TYPE
    SYNTAX      INTEGER { false(0), true(1) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Reflects the status as whether the passive port exceeded the
         configured Max offset threshold or not."
    ::= { jnxPtpPassivePortMonitorEntry 17 }

jnxPtpPassivePortMonitorPortConfig OBJECT-TYPE
    SYNTAX      INTEGER { stateful(0), stateful-slave-only(1),
                          stateful-master-only(2),
                          stateful-not-master(3),
                          stateful-measure-only(4),
                          stateful-not-master-and-measure-only(5) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Represents the current state of the configured passive port."
    ::= { jnxPtpPassivePortMonitorEntry 18 }

jnxPtpPassivePortMonitorPortState OBJECT-TYPE
    SYNTAX      INTEGER { initializing(0), faulty(1), disabled(2),
                          listening(3), pre-master(4), master(5),
                          passive(6), uncalibrated(7), slave(8),
                          unknown(9) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Represents the current state of the port."
    ::= { jnxPtpPassivePortMonitorEntry 19 }

--------------------------------------------
--  End: - Annex G of ITU-T G.8275.1 Objects
--------------------------------------------

-------------------------------------------------------------------------------
-- Faults
-------------------------------------------------------------------------------
    jnxTimingFaultLOSSet NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncIfIndex,
                jnxClksyncIntfName
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies that Loss Of Signal has been detected.

             jnxClksyncIfIndex is the interface index
             jnxClksyncIntfName is the interface name."
    ::= { jnxTimingFaults 1 }

    jnxTimingFaultLOSClear NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncIfIndex,
                jnxClksyncIntfName
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies that Loss Of Signal has been cleared.

             jnxClksyncIfIndex is the interface index
             jnxClksyncIntfName is the interface name."
    ::= { jnxTimingFaults 2 }

    jnxTimingFaultEFDSet NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncIfIndex,
                jnxClksyncIntfName
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies Exceeded frequency deviation.

             jnxClksyncIfIndex is the interface index
             jnxClksyncIntfName is the interface name."
    ::= { jnxTimingFaults 3 }

    jnxTimingFaultEFDClear NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncIfIndex,
                jnxClksyncIntfName
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies Exceeded frequency deviation cleared.

             jnxClksyncIfIndex is the interface index
             jnxClksyncIntfName is the interface name."
    ::= { jnxTimingFaults 4 }

    jnxTimingFaultLOESMCSet NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncIfIndex,
                jnxClksyncIntfName
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies Loss of ESMC is set.

             jnxClksyncIfIndex is the interface index
             jnxClksyncIntfName is the interface name."
    ::= { jnxTimingFaults 5 }

    jnxTimingFaultLOESMCClear NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncIfIndex,
                jnxClksyncIntfName
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies Loss of ESMC is cleared.

             jnxClksyncIfIndex is the interface index
             jnxClksyncIntfName is the interface name."
    ::= { jnxTimingFaults 6 }

    jnxTimingFaultQLFailSet NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncIfIndex,
                jnxClksyncIntfName
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies ESMC/SSM Quality Level failed is set.

             jnxClksyncIfIndex is the interface index
             jnxClksyncIntfName is the interface name."
    ::= { jnxTimingFaults 7 }

    jnxTimingFaultQLFailClear NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncIfIndex,
                jnxClksyncIntfName
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies ESMC/SSM Quality Level failed is cleared.

             jnxClksyncIfIndex is the interface index
             jnxClksyncIntfName is the interface name."
    ::= { jnxTimingFaults 8 }

    jnxTimingFaultLTISet NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncIfIndex,
                jnxClksyncIntfName
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies Loss of timing information is set.

             jnxClksyncIfIndex is the interface index
             jnxClksyncIntfName is the interface name."
    ::= { jnxTimingFaults 9 }

    jnxTimingFaultLTIClear NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncIfIndex,
                jnxClksyncIntfName
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies Loss of timing information is cleared.

             jnxClksyncIfIndex is the interface index
             jnxClksyncIntfName is the interface name."
    ::= { jnxTimingFaults 10 }

    jnxTimingFaultAcbcFpgaVerNotCompatible NOTIFICATION-TYPE
        OBJECTS {
                jnxAcbFpgaRevMajor,
                jnxAcbFpgaRevMinor
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies ACBC FPGA version is not compatible.

             jnxBootCpldFpgaRevMajor indicates the current ACBC FPGA Major revision
             jnxBootCpldFpgaRevMinor indicates the current ACBC FPGA Minor revision."
    ::= { jnxTimingFaults 11 }

    jnxTimingFaultBootCpldVerNotCompatible NOTIFICATION-TYPE
        OBJECTS {
                jnxBootCpldFpgaRevMajor,
                jnxBootCpldFpgaRevMinor
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies Boot-cpld version is not compatible.

             jnxClksyncVersion indicates the current Boot-cpld version."
    ::= { jnxTimingFaults 12 }

    jnxTimingFaultPriSrcFailed NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncIfIndex,
                jnxClksyncIntfName
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies Primary source failed
             (Whenever PFM/CFM/SCM error occurs).

             jnxClksyncIfIndex is the Primary source interface index
             jnxClksyncIntfName is the Primary source interface name."
    ::= { jnxTimingFaults 13 }

    jnxTimingFaultSecSrcFailed NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncIfIndex,
                jnxClksyncIntfName
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies Secondary source failed
             (Whenever PFM/CFM/SCM error occurs).

             jnxClksyncIfIndex is the Secondary source interface index
             jnxClksyncIntfName is the Secondary source interface name."
    ::= { jnxTimingFaults 14 }

    jnxTimingFaultPtpUniNegRateRejectSet NOTIFICATION-TYPE
        OBJECTS {
                jnxClkStreamHandle,
                jnxRemoteIpAddr
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies: 
             When acting as MASTER - Failing/rejecting clients for signaling messages
             When acting as SLAVE - Failing or receiving rejection for signaling messages

             jnxClkStreamHandle is the clock stream handle
             jnxRemoteIpAddr is the clock stream's remote ip-address."
    ::= { jnxTimingFaults  15 }

    jnxTimingFaultPtpUniNegRateRejectClear NOTIFICATION-TYPE
        OBJECTS {
                jnxClkStreamHandle,
                jnxRemoteIpAddr
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies: 
             When acting as MASTER - Failing/rejecting clients for signaling messages
             When acting as SLAVE - Failing or receiving rejection for signaling messages

             jnxClkStreamHandle is the clock stream handle
             jnxRemoteIpAddr is the clock stream's remote ip-address."
    ::= { jnxTimingFaults  16 }


-------------------------------------------------------------------------------
-- Events
-------------------------------------------------------------------------------
    jnxTimingEventPriSrcRecovered NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncIfIndex,
                jnxClksyncIntfName
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies Primary source recovered.

             jnxClksyncIfIndex is the Primary source interface index
             jnxClksyncIntfName is the Primary source interface name."
    ::= { jnxTimingEvents 1 }

    jnxTimingEventSecSrcRecovered NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncIfIndex,
                jnxClksyncIntfName
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies Secondary source recovered.

             jnxClksyncIfIndex is the Secondary source interface index
             jnxClksyncIntfName is the Secondary source interface name."
    ::= { jnxTimingEvents 2 }

    jnxTimingEventPriRefChanged NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncIfIndex,  -- new ref ifIndex
                jnxClksyncIntfName  -- new ref interface name
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies Primary reference changed
             (Ifd name change or change from synce to BITS/external interface etc).

             jnxClksyncIfIndex is the Primary reference interface index
             jnxClksyncIntfName is the Primary reference interface name."
    ::= { jnxTimingEvents 3 }

    jnxTimingEventSecRefChanged NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncIfIndex,  -- new ref ifIndex
                jnxClksyncIntfName  -- new ref interface name
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies Secondary reference changed
             (Ifd name change or change from synce to BITS/external interface etc).

             jnxClksyncIfIndex is the Secondary reference interface index
             jnxClksyncIntfName is the Secondary reference interface name."
    ::= { jnxTimingEvents 4 }

    jnxTimingEventQLChangedRx NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncIfIndex,
                jnxClksyncIntfName,
                jnxClksyncQualityCode, -- new quality code
                jnxClksyncQualityCodeStr -- new quality code string
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies RX SSM/ESMC quality level changed.

             jnxClksyncIfIndex is the interface index
             jnxClksyncIntfName is the interface name
             jnxClksyncQualityCode is the SSM/ESMC quality level 
             jnxClksyncQualityCodeStr is the SSM/ESMC quality level in string format."
    ::= { jnxTimingEvents 5 }

    jnxTimingEventQLChangedTx NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncIfIndex,
                jnxClksyncIntfName,
                jnxClksyncQualityCode, -- new quality code
                jnxClksyncQualityCodeStr -- new quality code string
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies TX SSM/ESMC quality level changed.

             jnxClksyncIfIndex is the interface index
             jnxClksyncIntfName is the interface name
             jnxClksyncQualityCode is the SSM/ESMC quality level 
             jnxClksyncQualityCodeStr is the SSM/ESMC quality level in string format."
    ::= { jnxTimingEvents 6 }

    jnxTimingEventSynceHldovrToLck NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncIfIndex,
                jnxClksyncIntfName
        }
        STATUS  deprecated
        DESCRIPTION
            "A trap which signifies SyncE Holdover to Locked EEC state.

             jnxClksyncIfIndex is the SyncE interface index
             jnxClksyncIntfName is the SyncE interface name."
    ::= { jnxTimingEvents 7 }

    jnxTimingEventSynceLckToHldovr NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncIfIndex,
                jnxClksyncIntfName
        }
        STATUS  deprecated
        DESCRIPTION
            "A trap which signifies SyncE Locked to Holdover EEC state.

             jnxClksyncIfIndex is the SyncE interface index
             jnxClksyncIntfName is the SyncE interface name."
    ::= { jnxTimingEvents 8 }

    jnxTimingEventDpllStatus NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncDpllState,
                jnxClksyncDpllStateStr
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies that DPLL state change
             (unknown, lock_acq, locked, holdover, freerun).

             jnxClksyncDpllState indicates the Dpll status
             jnxClksyncDpllStateStr indicates the Dpll status in string format."
    ::= { jnxTimingEvents 9 }

    jnxTimingEventSynceDpllStatus NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncIfIndex,
                jnxClksyncIntfName,
                jnxClksyncDpllState,
                jnxClksyncDpllStateStr
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies that Synce DPLL state change
             (unknown, lock_acq, locked, holdover, freerun).

             jnxClksyncIfIndex is the interface index from which Frequency is derived
             jnxClksyncIntfName is the interface name from which Frequency is derived
             jnxClksyncDpllState indicates the Dpll status
             jnxClksyncDpllStateStr indicates the Dpll status in string format."
    ::= { jnxTimingEvents 10 }

    jnxTimingEventBitsDpllStatus NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncIfIndex,
                jnxClksyncIntfName,
                jnxClksyncDpllState,
                jnxClksyncDpllStateStr
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies that BITS DPLL state change
             (unknown, lock_acq, locked, holdover, freerun).

             jnxClksyncIfIndex is the interface index from which Frequency is derived
             jnxClksyncIntfName is the interface name from which Frequency is derived
             jnxClksyncDpllState indicates the Dpll status
             jnxClksyncDpllStateStr indicates the Dpll status in string format."
    ::= { jnxTimingEvents 11 }

    jnxTimingEventPtpServoStatus NOTIFICATION-TYPE
        OBJECTS {
                jnxPtpServoState,
                jnxPtpServoStateStr
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies that PTP servo state
             (Init, Acquiring, PhaseAligned, FreeRun, Holdover). 

             jnxPtpServoState indicates the ptp servo status
             jnxPtpServoStateStr indicates the ptp servo status in string format."
    ::= { jnxTimingEvents 12 }

    jnxTimingEventPtpGMClockClassChange NOTIFICATION-TYPE
        OBJECTS {
                jnxPtpGmId,
                jnxPtpClass
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies PTP clock class changes.

             jnxPtpGmId indicates the ptp Grand Master clock-id
             jnxPtpClass indicates the ptp Grand Master clock status."
    ::= { jnxTimingEvents 13 }

    jnxTimingEventPtpGMClockAccuracyChange NOTIFICATION-TYPE
        OBJECTS {
                jnxPtpGmId,
                jnxPtpAccuracy
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies PTP clock accuracy changes.

             jnxPtpGmId indicates the ptp Grand Master clock-id
             jnxPtpAccuracy indicates the ptp Grand Master clock accuracy."
    ::= { jnxTimingEvents 14 }

    jnxTimingEventPtpGMChange NOTIFICATION-TYPE
        OBJECTS {
                jnxPtpGmId
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies PTP Grand Master changes.

             jnxPtpGmId indicates the ptp Grand Master clock-id."
    ::= { jnxTimingEvents 15 }

    jnxTimingEventHybridStatus NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncHybridState,
                jnxClksyncHybridStateStr
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies that Hybrid state
             (Init, FreqAcq, FreqLckPhaseAcq, FreqPhaseLck). 

             jnxClksyncHybridState indicates the hybrid status
             jnxClksyncHybridStateStr indicates the hybrid status in string format."
    ::= { jnxTimingEvents 16 }

    jnxTimingEventSquelchSet NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncIfIndex,
                jnxClksyncIntfName
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies that interface status changed to squelched.

             jnxClksyncIfIndex is the interface index
             jnxClksyncIntfName is the interface name."
    ::= { jnxTimingFaults 17 }

    jnxTimingEventSquelchClear NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncIfIndex,
                jnxClksyncIntfName
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies that interface status changed to active.

             jnxClksyncIfIndex is the interface index
             jnxClksyncIntfName is the interface name."
    ::= { jnxTimingFaults 18 }

    jnxTimingEventLedColorChange NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncIfIndex,
                jnxClksyncIntfName,
                jnxClksyncColorStr -- new LED color
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies TX SSM/ESMC quality level changed.

             jnxClksyncIfIndex is the interface index
             jnxClksyncIntfName is the interface name
             jnxClksyncColorStr is the color of the LED unit."
    ::= { jnxTimingEvents 19 }

    jnxTimingPhaseOffsetThresholdExceeded NOTIFICATION-TYPE
        OBJECTS {
                jnxPtpPhaseOffsetThresholdExceeded
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies Passive Port Threshold Exceeded.

             jnxPtpPhaseOffsetThresholdExceeded indicates whether the Phase Threshold
             of the monitored Passive Port has exceeded the configured Max Phase Offset
             Threshold as per."
    ::= { jnxTimingEvents 20 }

    jnxTimingAlarmNoForeignMasterSet NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncAdditionalInformationStr
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies that there is no foreign master available.

             jnxClksyncAdditionalInformationStr has additional information for the trap.

             This TRAP is supported only on ACX710."
    ::= { jnxTimingFaults 29 }

    jnxTimingAlarmNoForeignMasterClear NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncAdditionalInformationStr
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies that there is now a foreign master available.

             jnxClksyncAdditionalInformationStr has additional information for the trap.

             This TRAP is supported only on ACX710."
    ::= { jnxTimingFaults 30 }

    jnxTimingAlarmPtpLocalClockOutOfSyncSet NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncAdditionalInformationStr
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies that the local clock is out of sync.

             jnxClksyncAdditionalInformationStr has additional information for the trap.

             This TRAP is supported only on ACX710."
    ::= { jnxTimingFaults 33 }

    jnxTimingAlarmPtpLocalClockOutOfSyncClear NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncAdditionalInformationStr
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies that the local clock is no more out of sync.

             jnxClksyncAdditionalInformationStr has additional information for the trap.

             This TRAP is supported only on ACX710."
    ::= { jnxTimingFaults 34 }

    jnxTimingAlarmLossOfReference1Set NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncAdditionalInformationStr
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies that EEC has lost reference1.

             jnxClksyncAdditionalInformationStr has additional information for the trap.

             This TRAP is supported only on ACX710."
    ::= { jnxTimingFaults 35 }

    jnxTimingAlarmLossOfReference1Clear NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncAdditionalInformationStr
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies that EEC has regained reference1.

             jnxClksyncAdditionalInformationStr has additional information for the trap.

             This TRAP is supported only on ACX710."
    ::= { jnxTimingFaults 36 }

    jnxTimingAlarmLossOfReference2Set NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncAdditionalInformationStr
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies that EEC has lost reference2.

             jnxClksyncAdditionalInformationStr has additional information for the trap.

             This TRAP is supported only on ACX710."
    ::= { jnxTimingFaults 37 }

    jnxTimingAlarmLossOfReference2Clear NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncAdditionalInformationStr
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies that EEC has regained reference2.

             jnxClksyncAdditionalInformationStr has additional information for the trap.

             This TRAP is supported only on ACX710."
    ::= { jnxTimingFaults 38 }

    jnxTimingAlarmNoMoreReferenceSet NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncAdditionalInformationStr
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies that EEC has no references to lock.

             jnxClksyncAdditionalInformationStr has additional information for the trap.

             This TRAP is supported only on ACX710."
    ::= { jnxTimingFaults 43 }

    jnxTimingAlarmNoMoreReferenceClear NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncAdditionalInformationStr
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies that EEC has a reference to lock.

             jnxClksyncAdditionalInformationStr has additional information for the trap.

             This TRAP is supported only on ACX710."
    ::= { jnxTimingFaults 44 }

    jnxTimingAlarmQlBelowThresholdSet NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncAdditionalInformationStr
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies that EEC QL has fallen below threshold.

             jnxClksyncAdditionalInformationStr has additional information for the trap.

             This TRAP is supported only on ACX710."
    ::= { jnxTimingFaults 45 }

    jnxTimingAlarmQlBelowThresholdClear NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncAdditionalInformationStr
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies that EEC QL has regained the threshold.

             jnxClksyncAdditionalInformationStr has additional information for the trap.

             This TRAP is supported only on ACX710."
    ::= { jnxTimingFaults 46 }

    jnxTimingAlarmTodInSignalFailSet NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncAdditionalInformationStr
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies that TOD input signal has failed.

             jnxClksyncAdditionalInformationStr has additional information for the trap.

             This TRAP is supported only on ACX710."
    ::= { jnxTimingFaults 49 }

    jnxTimingAlarmTodInSignalFailClear NOTIFICATION-TYPE
        OBJECTS {
                jnxClksyncAdditionalInformationStr
        }
        STATUS  current
        DESCRIPTION
            "A trap which signifies that TOD input signal is good.

             jnxClksyncAdditionalInformationStr has additional information for the trap.

             This TRAP is supported only on ACX710."
    ::= { jnxTimingFaults 50 }

-------------------------------------------------------------------------------
-- Conformance
-------------------------------------------------------------------------------
jnxTimingCompliances      OBJECT IDENTIFIER ::= { jnxTimingConformance 1 }
jnxTimingGroups           OBJECT IDENTIFIER ::= { jnxTimingConformance 2 }

jnxTimingCompliance MODULE-COMPLIANCE
STATUS  current
DESCRIPTION
"The compliance statement for systems supporting
 the Timing Notification MIB."
MODULE -- this module
-- MANDATORY-GROUPS {
-- any mandatory groups should be mentioned here
-- }
GROUP       jnxTimingObjectsGroup
DESCRIPTION
"This group is optional."
GROUP       jnxTimingNotfnFaultsGroup
DESCRIPTION
"This group is optional."
GROUP       jnxTimingNotfnEventsGroup
DESCRIPTION
"This group is optional."
::= { jnxTimingCompliances 1 }

jnxTimingObjectsGroup OBJECT-GROUP
OBJECTS {
        jnxClksyncState,
        jnxClksyncIfIndex,
        jnxClksyncIntfName,
        jnxAcbFpgaRevMajor,
        jnxAcbFpgaRevMinor,
        jnxBootCpldFpgaRevMajor,
        jnxBootCpldFpgaRevMinor,
        jnxClksyncQualityCode,
        jnxClksyncDpllState,
        jnxPtpServoState,
        jnxPtpClass,
        jnxPtpAccuracy,
        jnxPtpGmId,
        jnxPtpGmIpAddr,
        jnxClkStreamHandle,
        jnxRemoteIpAddr,
        jnxClksyncHybridState,
        jnxPtpPhaseOffset,
        jnxClksyncQualityCodeStr,
        jnxClksyncDpllStateStr,
        jnxPtpServoStateStr,
        jnxClksyncHybridStateStr,
        jnxClksyncColorStr,
        jnxPtpPhaseOffsetThresholdExceeded
}
STATUS current
DESCRIPTION
"Timing objects group."
::= { jnxTimingGroups 1 }

jnxTimingNotfnFaultsGroup NOTIFICATION-GROUP
NOTIFICATIONS {
        jnxTimingFaultLOSSet,
        jnxTimingFaultLOSClear,
        jnxTimingFaultEFDSet,
        jnxTimingFaultEFDClear,
        jnxTimingFaultLOESMCSet,
        jnxTimingFaultLOESMCClear,
        jnxTimingFaultQLFailSet,
        jnxTimingFaultQLFailClear,
        jnxTimingFaultLTISet,
        jnxTimingFaultLTIClear,
        jnxTimingFaultAcbcFpgaVerNotCompatible,
        jnxTimingFaultBootCpldVerNotCompatible,
        jnxTimingFaultPriSrcFailed,
        jnxTimingFaultSecSrcFailed,
        jnxTimingFaultPtpUniNegRateRejectSet,
        jnxTimingFaultPtpUniNegRateRejectClear,
        jnxTimingAlarmNoForeignMasterSet,
        jnxTimingAlarmNoForeignMasterClear,
        jnxTimingAlarmPtpLocalClockOutOfSyncSet,
        jnxTimingAlarmPtpLocalClockOutOfSyncClear,
        jnxTimingAlarmLossOfReference1Set,
        jnxTimingAlarmLossOfReference1Clear,
        jnxTimingAlarmLossOfReference2Set,
        jnxTimingAlarmLossOfReference2Clear,
        jnxTimingAlarmNoMoreReferenceSet,
        jnxTimingAlarmNoMoreReferenceClear,
        jnxTimingAlarmQlBelowThresholdSet,
        jnxTimingAlarmQlBelowThresholdClear,
        jnxTimingAlarmTodInSignalFailSet,
        jnxTimingAlarmTodInSignalFailClear
}
STATUS current
DESCRIPTION
"Timing defects notification group."
::= { jnxTimingGroups 2 }

jnxTimingNotfnEventsGroup NOTIFICATION-GROUP
NOTIFICATIONS {
        jnxTimingEventPriSrcRecovered,
        jnxTimingEventSecSrcRecovered,
        jnxTimingEventPriRefChanged,
        jnxTimingEventSecRefChanged,
        jnxTimingEventQLChangedRx,
        jnxTimingEventQLChangedTx,
        jnxTimingEventSynceHldovrToLck,
        jnxTimingEventSynceLckToHldovr,
        jnxTimingEventDpllStatus,
        jnxTimingEventSynceDpllStatus,
        jnxTimingEventBitsDpllStatus,
        jnxTimingEventPtpServoStatus,
        jnxTimingEventPtpGMClockClassChange,
        jnxTimingEventPtpGMClockAccuracyChange,
        jnxTimingEventPtpGMChange,
        jnxTimingEventHybridStatus,
        jnxTimingEventSquelchSet,
        jnxTimingEventSquelchClear,
        jnxTimingEventLedColorChange,
        jnxTimingPhaseOffsetThresholdExceeded
}

STATUS current
DESCRIPTION
"Timing events notification group."
::= { jnxTimingGroups 3 }

END

