-- Copyright 2017 BlueCat Networks. All rights reserved.
-- *****************************************************************
-- BCN-NTP-MIB.mib:  BlueCat Networks NTP services
--
--
-- December 2010, Fabian Ischia
--
-- All rights reserved.
-- 
-- *****************************************************************

BCN-NTP-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-IDENTITY,
    OBJECT-TYPE, Integer32, Unsigned32
        FROM SNMPv2-SMI
    InetAddress, InetAddressType, InetPortNumber
        FROM INET-ADDRESS-MIB
    TEXTUAL-CONVENTION, TruthValue, DisplayString
        FROM SNMPv2-TC
    OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    BcnAlarmSeverity
        FROM BCN-TC-MIB
    bcnServices
        FROM BCN-SMI-MIB;

bcnNtpMIB MODULE-IDENTITY
    LAST-UPDATED	"201012150000Z"
    ORGANIZATION	"BlueCat Networks"
    CONTACT-INFO
        "BlueCat Networks. Customer Care.

        North America
        Call: +1.866.491.2228
        Europe
        Call: +44.8081.011.306
        Other
        Call: +1.416.646.8433
        
        Email: support@bluecatnetworks.com"
    DESCRIPTION
        "This module provides status as well as statistical information
        about the NTP service.

		Most of the OIDs defined on this MIB are based on the work done by
        A.S. Sethi and Dave Mills in the University of Delaware and published
        as:
		Management of the Network Time Protocol (NTP) with SNMP
        Technical Report No. 98-09
        Other references used in the creation of this MIB are RFC-1305 and
        RFC-5905"
    REVISION "201012150000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { bcnNtp 1 }

bcnNtp OBJECT IDENTIFIER  ::= { bcnServices 4 }

-- Organization

bcnNtpObjects OBJECT IDENTIFIER 
    ::= { bcnNtp 2 }

bcnNtpNotification OBJECT IDENTIFIER 
    ::= { bcnNtp 3 }

bcnNtpConformance OBJECT IDENTIFIER 
    ::= { bcnNtp 4 }

-- Textual Conventions
NTPTimeStamp ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "4x.4x"
    STATUS          current
    DESCRIPTION
        "NTP timestamps are represented as a 64-bit
        unsigned fixed-point number, in seconds relative to
        00:00 on 1 January 1900.  The integer part is in the
        first 32 bits and the fraction part is in the last
        32 bits."
    REFERENCE
        "D.L. Mills, University of Delaware,
		'Network Time Protocol(Version 3)',
        RFC-1305, March 1992, Section 3.1"
    SYNTAX          OCTET STRING (SIZE (8))

NTPLeapIndicator ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "This is a two-bit code warning of an impending leap second to be
         inserted in the NTP timescale. The bits are set before 23:59 on
         the day of insertion and reset after 00:00 on the following day.
         This causes the number of seconds (rollover interval) in the day
         of insertion to be increased or decreased by one. In the case of 
         primary servers the bits are set by operator intervention, while
         in the case of secondary servers the bits are set by the protocol.
         The two bits, bit 0 and bit 1, respectively, are coded as follows:
            00, no warning
            01, last minute has 61 seconds
            10, last minute has 59 seconds
            11, alarm condition (clock not synchronized)"

    REFERENCE
        "D.L. Mills, University of Delaware,
		'Network Time Protocol(Version 3)',
        RFC-1305, March 1992, Section 3.2.1"
    SYNTAX          INTEGER  {
                        noWarning(0),
                        addSecond(1),
                        subtractSecond(2),
                        alarm(3)
                    }

NTPRefId ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "4x"
    STATUS          current
    DESCRIPTION
        "32-bit code identifying the particular server or reference clock.
        The interpretation depends on the value in the stratum field. For
        packet stratum 0 (unspecified or invalid), this is a four-character
        ASCII string. For stratum 1 (reference clock), this is a four-octet,
        left-justified, zero-padded ASCII string assigned to the reference
        clock.
        Above stratum 1 (secondary servers and clients): this is the
        reference identifier of the server and can be used to detect timing
        loops. If using the IPv4 address family, the identifier is the four-
        octet IPv4 address. If using the IPv6 address family, it is the first
        four octets of the MD5 hash of the IPv6 address."
    REFERENCE
        "D.L. Mills, University of Delaware,
		'Network Time Protocol(Version 3)',
         RFC-5905, June 2010, Section 7.3"
    SYNTAX          OCTET STRING (SIZE (4))

-- Data objects

bcnNtpServiceStatus OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "General state of the NTP Service."
    ::= { bcnNtpObjects 1 }

bcnNtpSerOperState OBJECT-TYPE
    SYNTAX      INTEGER {
      running(1),
      notRunning(2),
      starting(3),
      stopping(4),
      fault(5)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Operational state of the Service. The possible states are:
        running(1)    The service is running normally.
        notRunning(2) The service is stopped either intentionally (i.e.:
                      the service is not supposed to run on this node) or
                      unintentionally (a problem has occurred).
        starting(3)   The service is in the process of starting, either
                      for the first time of after an event occurred.
        stopping(4)   The service is in the process of stopping. Stopping
                      a service might be necessary after a configuration
                      change.
        fault(5)      An error has been detected and the state is undefined.
        "
    ::= { bcnNtpServiceStatus 1 }

bcnNtpSystem OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "General NTP system information."
    ::= { bcnNtpObjects 2 }

bcnNtpSysLeap OBJECT-TYPE
    SYNTAX      NTPLeapIndicator
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "Two-bit code warning of an impending leap
         second to be inserted in the NTP timescale."
    ::= { bcnNtpSystem 1 }

bcnNtpSysStratum OBJECT-TYPE
    SYNTAX      Integer32 (0..255)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "Indicating the stratum of the local clock.
         0, unspecified
         1, primary reference (e.g., calibrated atomic clock, radio clock)
         2-255, secondary reference (via NTP)"
    ::= { bcnNtpSystem 2 }

bcnNtpSysPrecision OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "Signed integer indicating the precision of the various clocks,
        in seconds to the nearest power
        of two."
    ::= { bcnNtpSystem 3 }

bcnNtpSysRootDelay OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The total roundtrip delay to the primary reference source at the
        root of the synchronization subnet, in seconds.
        This is an ASCII string representing a floating point number."
    ::= { bcnNtpSystem 4 }

bcnNtpSysRootDispersion OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The maximum error relative to the primary reference source at the
        root of the synchronization subnet, in seconds. Only positive values
        greater than zero are possible.
        This is an ASCII string representing a floating point number."
    ::= { bcnNtpSystem 5 }

bcnNtpSysRefId OBJECT-TYPE
    SYNTAX      NTPRefId
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The particular reference clock."
    ::= { bcnNtpSystem 6 }

bcnNtpSysRefTime OBJECT-TYPE
    SYNTAX      NTPTimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The local time when the local clock was last updated. If the
        local clock has never been synchronized, the value is zero."
    ::= { bcnNtpSystem 7 }

bcnNtpSysPoll OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The minimum interval between transmitted
        messages, in seconds as a power of two. For instance,
        a value of six indicates a minimum interval of 64 seconds."
    ::= { bcnNtpSystem 8 }

bcnNtpSysPeer OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The current synchronization source. This is the association ID
        of the system peer. The special value NULL indicates there is no
        currently valid synchronization source."
    ::= { bcnNtpSystem 9 }

bcnNtpSysFreq OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The clock frequency offset (PPM)
        This is an ASCII string representing a floating point number."
    ::= { bcnNtpSystem 10 }

bcnNtpSysClock OBJECT-TYPE
    SYNTAX      NTPTimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The current local time. Local time is derived from the hardware
        clock of the particular machine and increments at intervals
        depending on the design used."
    ::= { bcnNtpSystem 11 }

bcnNtpSysSystem OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The type of the local Operating System"
    ::= { bcnNtpSystem 12 }

bcnNtpSysProcessor OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The type of the local Processor"
    ::= { bcnNtpSystem 13 }

bcnNtpSysJitter OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "Indicates how much the individual pulses vary from second to 
        second (as measured by the operating system's clock).
        This is an ASCII string representing a floating point number."
    ::= { bcnNtpSystem 14 }

-- Peers information

bcnNtpPeers OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "NTP peers information."
    ::= { bcnNtpObjects 3 }


bcnNtpPeersVarTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF BcnNtpPeersVarEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
        "A table listing the peers known to the server as well as summary
        information of their state."
    ::= { bcnNtpPeers 1 }

bcnNtpPeersVarEntry OBJECT-TYPE
    SYNTAX      BcnNtpPeersVarEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
        "A logical row in the bcnNtpPeersVarTable."
    INDEX       { bcnNtpPeersAssocId }
    ::= { bcnNtpPeersVarTable 1 }

BcnNtpPeersVarEntry ::= SEQUENCE {
    bcnNtpPeersAssocId             Unsigned32,
    bcnNtpPeersConfigured          TruthValue,
    bcnNtpPeersPeerAddressType     InetAddressType,
    bcnNtpPeersPeerAddress         InetAddress,
    bcnNtpPeersPeerPort            InetPortNumber,
    bcnNtpPeersHostAddressType     InetAddressType,
    bcnNtpPeersHostAddress         InetAddress,
    bcnNtpPeersHostPort            InetPortNumber,
    bcnNtpPeersLeap                NTPLeapIndicator,
    bcnNtpPeersMode                INTEGER,
    bcnNtpPeersStratum             Integer32,
    bcnNtpPeersPeerPoll            Integer32,
    bcnNtpPeersHostPoll            Integer32,
    bcnNtpPeersPrecision           Integer32,
    bcnNtpPeersRootDelay           DisplayString,
    bcnNtpPeersRootDispersion      DisplayString,
    bcnNtpPeersRefId               NTPRefId,
    bcnNtpPeersRefTime             NTPTimeStamp,
    bcnNtpPeersOrgTime             NTPTimeStamp,
    bcnNtpPeersReceiveTime         NTPTimeStamp,
    bcnNtpPeersTransmitTime        NTPTimeStamp,
    bcnNtpPeersReach               Unsigned32,
    bcnNtpPeersOffset              DisplayString,
    bcnNtpPeersDelay               DisplayString,
    bcnNtpPeersDispersion          DisplayString,
    bcnNtpPeersJitter              DisplayString
}

bcnNtpPeersAssocId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
        "Association ID of the peer."
    ::= { bcnNtpPeersVarEntry 1 }

bcnNtpPeersConfigured OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "This is a bit indicating that the association
         was created from configuration information and should not
         be demobilized if the peer becomes unreachable."
    ::= { bcnNtpPeersVarEntry 2 }

bcnNtpPeersPeerAddressType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The Internet address type of the peer."
    ::= { bcnNtpPeersVarEntry 3 }

bcnNtpPeersPeerAddress OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The Internet address of the peer."
    ::= { bcnNtpPeersVarEntry 4 }

bcnNtpPeersPeerPort OBJECT-TYPE
    SYNTAX      InetPortNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "16-bit port number of the peer."
    ::= { bcnNtpPeersVarEntry 5 }

bcnNtpPeersHostAddressType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The Internet address type of the host."
    ::= { bcnNtpPeersVarEntry 6 }

bcnNtpPeersHostAddress OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The Internet address of the host."
    ::= { bcnNtpPeersVarEntry 7 }

bcnNtpPeersHostPort OBJECT-TYPE
    SYNTAX      InetPortNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "16-bit port number of the host."
    ::= { bcnNtpPeersVarEntry 8 }

bcnNtpPeersLeap OBJECT-TYPE
    SYNTAX      NTPLeapIndicator
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "Two-bit code warning of an impending leap
         second to be inserted in the NTP timescale."
    ::= { bcnNtpPeersVarEntry 9 }

bcnNtpPeersMode OBJECT-TYPE
    SYNTAX      INTEGER {
           unspecified(0),
           symmetricActive(1), 
           symmetricPassive(2),
           client(3),
           server(4), 
           broadcast(5),
           reservedControl(6),
           reservedPrivate(7)
		}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The association mode,with values coded as
         follows:
         0, unspecified
         1, symmetric active
         2, symmetric passive
         3, client
         4, server
         5, broadcast
         6, reserved for NTP control messages
         7, reserved for private use"
    ::= { bcnNtpPeersVarEntry 10 }

bcnNtpPeersStratum OBJECT-TYPE
    SYNTAX      Integer32 (0..255)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "Indicates the stratum of the peer clock.
         0, unspecified
         1, primary reference (e.g., calibrated atomic clock, radio clock)
         2-255, secondary reference (via NTP)"
    ::= { bcnNtpPeersVarEntry 11 }

bcnNtpPeersPeerPoll OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "Poll interval of the peer"
    ::= { bcnNtpPeersVarEntry 12 }

bcnNtpPeersHostPoll OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "Poll interval of the host"
    ::= { bcnNtpPeersVarEntry 13 }

bcnNtpPeersPrecision OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The same as the systemPrecision except this is for the peer."
    ::= { bcnNtpPeersVarEntry 14 }

bcnNtpPeersRootDelay OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The same as the systemRootDealy except this is for the peer."
    ::= { bcnNtpPeersVarEntry 15 }

bcnNtpPeersRootDispersion OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The same as the systemDispersion except this is for the peer."
    ::= { bcnNtpPeersVarEntry 16 }

bcnNtpPeersRefId OBJECT-TYPE
    SYNTAX      NTPRefId
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The same as the systemRefid except this is for the peer."
    ::= { bcnNtpPeersVarEntry 17 }

bcnNtpPeersRefTime OBJECT-TYPE
    SYNTAX      NTPTimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The same as the systemRefTime except this is for the peer."
    ::= { bcnNtpPeersVarEntry 18 }

bcnNtpPeersOrgTime OBJECT-TYPE
    SYNTAX      NTPTimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The local time at the peer when its latest
         NTP message was sent. If the peer becomes unreachable the
         value is set to zero."
    ::= { bcnNtpPeersVarEntry 19 }

bcnNtpPeersReceiveTime OBJECT-TYPE
    SYNTAX      NTPTimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The local time when the latest NTP message
         from the peer arrived. If the peer becomes unreachable the
         value is set to zero."
    ::= { bcnNtpPeersVarEntry 20 }

bcnNtpPeersTransmitTime OBJECT-TYPE
    SYNTAX      NTPTimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The local time at which the NTP message departed the sender."
    ::= { bcnNtpPeersVarEntry 21 }

bcnNtpPeersReach OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "A shift register of NTP.WINDOW bits used to determine
        the reachability status of the peer, with bits entering
        from the least significant (rightmost) end. A peer is
        considered reachable if at least one bit in this register is
        set to one."
    ::= { bcnNtpPeersVarEntry 22 }

bcnNtpPeersOffset OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "Filter offset.
        This is an ASCII string representing a floating point number."
    ::= { bcnNtpPeersVarEntry 23 }

bcnNtpPeersDelay OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "Filter delay.
        This is an ASCII string representing a floating point number."
    ::= { bcnNtpPeersVarEntry 24 }

bcnNtpPeersDispersion OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "Filter dispersion.
        This is an ASCII string representing a floating point number."
    ::= { bcnNtpPeersVarEntry 25 }

bcnNtpPeersJitter OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "bcnNtpPeersJitter indicates how much the individual pulses vary
        from second to second (as measured by the operating system's clock).
        This is an ASCII string representing a floating point number."
    ::= { bcnNtpPeersVarEntry 26 }

-- Notification definitions

bcnNtpNotificationEvents OBJECT IDENTIFIER 
    ::= { bcnNtpNotification 0 }

bcnNtpNotificationData OBJECT IDENTIFIER 
    ::= { bcnNtpNotification 1 }

-- Notification data

bcnNtpAlarmSeverity OBJECT-TYPE
    SYNTAX          BcnAlarmSeverity
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
        "Severity classification for the alarm."
    ::= { bcnNtpNotificationData 1 }

bcnNtpAlarmInfo OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
        "Descriptive information about the alarm event."
    ::= { bcnNtpNotificationData 2 }


-- Notification events

bcnNtpAlarmNotif NOTIFICATION-TYPE
    OBJECTS {   
                bcnNtpSerOperState,
                bcnNtpAlarmSeverity,
                bcnNtpAlarmInfo
            }
    STATUS          current
    DESCRIPTION
        "A bcnNtpAlarmNotif signifies that the NTP service has transitioned
        state or a particular event has been detected on the service."
   ::= { bcnNtpNotificationEvents 1 }

-- Conformance

bcnNtpServiceCompliances OBJECT IDENTIFIER 
    ::= { bcnNtpConformance 1 }

bcnNtpServiceGroups OBJECT IDENTIFIER 
    ::= { bcnNtpConformance 2 }


bcnNtpServiceStatusGroup OBJECT-GROUP
    OBJECTS { 
          bcnNtpSerOperState
    }
    STATUS current
    DESCRIPTION "Status conformance."
    ::= { bcnNtpServiceGroups 1 }

bcnNtpSystemGroup OBJECT-GROUP
    OBJECTS { 
          bcnNtpSysLeap,
          bcnNtpSysStratum,
          bcnNtpSysPrecision, 
          bcnNtpSysRootDelay,
          bcnNtpSysRootDispersion,
          bcnNtpSysRefId, 
          bcnNtpSysRefTime,
          bcnNtpSysPoll,
          bcnNtpSysPeer, 
          bcnNtpSysFreq,
          bcnNtpSysClock,
          bcnNtpSysSystem, 
          bcnNtpSysProcessor,
          bcnNtpSysJitter
    }
    STATUS current
    DESCRIPTION "System variables conformance."
    ::= { bcnNtpServiceGroups 2 }

bcnNtpPeersGroup OBJECT-GROUP
    OBJECTS { 
          bcnNtpPeersConfigured,
          bcnNtpPeersPeerAddressType,
          bcnNtpPeersPeerAddress,
          bcnNtpPeersPeerPort,
          bcnNtpPeersHostAddressType,
          bcnNtpPeersHostAddress,
          bcnNtpPeersHostPort,
          bcnNtpPeersLeap,
          bcnNtpPeersMode,
          bcnNtpPeersStratum,
          bcnNtpPeersPeerPoll,
          bcnNtpPeersHostPoll,
          bcnNtpPeersPrecision,
          bcnNtpPeersRootDelay,
          bcnNtpPeersRootDispersion,
          bcnNtpPeersRefId,
          bcnNtpPeersRefTime,
          bcnNtpPeersOrgTime,
          bcnNtpPeersReceiveTime,
          bcnNtpPeersTransmitTime,
          bcnNtpPeersReach,
          bcnNtpPeersOffset,
          bcnNtpPeersDelay,
          bcnNtpPeersDispersion,
          bcnNtpPeersJitter
    }
    STATUS current
    DESCRIPTION "Peer variables conformance."
    ::= { bcnNtpServiceGroups 3 }

bcnNtpNotificationEventGroup NOTIFICATION-GROUP
    NOTIFICATIONS { 
          bcnNtpAlarmNotif
    }
    STATUS current
    DESCRIPTION "Server statistics conformance."
    ::= { bcnNtpServiceGroups 4 }

bcnNtpNotificationDataGroup OBJECT-GROUP
    OBJECTS { 
          bcnNtpAlarmSeverity, 
          bcnNtpAlarmInfo
    }
    STATUS current
    DESCRIPTION "Server statistics conformance."
    ::= { bcnNtpServiceGroups 5 }


bcnNtpStatusCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION "Basic conformance"
    MODULE -- This module
    MANDATORY-GROUPS {
        bcnNtpServiceStatusGroup,
        bcnNtpSystemGroup,
        bcnNtpPeersGroup,
        bcnNtpNotificationEventGroup, 
        bcnNtpNotificationDataGroup }
    ::= {bcnNtpServiceCompliances 1 }


END