NEWTEC-TSANALYSER-MIB DEFINITIONS ::= BEGIN

IMPORTS
    Unsigned32,
    Counter64,
    Integer32,
    MODULE-IDENTITY,
    OBJECT-IDENTITY,
    OBJECT-TYPE
        FROM SNMPv2-SMI

    MODULE-COMPLIANCE,
    OBJECT-GROUP
        FROM SNMPv2-CONF
    
    NtcAlarmState,
    NtcEnable
        FROM NEWTEC-TC-MIB

    ntcFunction
        FROM NEWTEC-MAIN-MIB;


--
--  Module Identification
--

ntcTsAnalyser   MODULE-IDENTITY
    LAST-UPDATED "201804041000Z"
    ORGANIZATION "Newtec Cy"
    CONTACT-INFO
        "Newtec Cy
         Postal: Newtec Cy
                 Laarstraat 5
                 B-9100 Sint-Niklaas
                 Belgium

                Tel: +32 3 780 65 00
                Fax: +32 3 780 65 49
                Web: www.newtec.be
                E-mail: techsupport@newtec.be"
    DESCRIPTION
        "Newtec modular MIB containing definitions for transport stream analyser
        functionality."

    REVISION  "201804041000Z"
    DESCRIPTION
        "Cosmetic change in units of error counters"
    REVISION  "201707101200Z"
    DESCRIPTION
        "ntcTsAnlyEPid added"
    REVISION  "201612051200Z"
    DESCRIPTION
        "ntcTsAnlyPidCtuCntErrorCntr column added to ntcTsAnlyPid table"
    REVISION  "201409090900Z"
    DESCRIPTION
        "descriptions adapted"
    REVISION  "201303271000Z"
    DESCRIPTION
        "Release for M6100 R1.3"
    REVISION  "201206281200Z"
    DESCRIPTION
        "Release for M6100 R1.2"
    ::= { ntcFunction  1400 }
    

--
-- Top-Level Structure
--

-- ntcTsAnalyser content

ntcTsAnlyObjects                 OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION   "Container holding ntcTsAnlyObjects definitions."
    ::= { ntcTsAnalyser 1 }
    
ntcTsAnlyConformance             OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION   "Conformance requirements."
    ::= { ntcTsAnalyser 2 }
    
-- ntcTsAnlyObjects content

ntcTsAnlyAlarm                   OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION   "Container holding ntcTsAnlyAlarm definitions."
    ::= { ntcTsAnlyObjects 6 }
    
-- ntcTsAnlyConformance content

ntcTsAnlyConfCompliance          OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION   "Device compliance statements."
    ::= { ntcTsAnlyConformance 1 }
    
ntcTsAnlyConfGroup               OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION   "Groups used by device compliance statements."
    ::= { ntcTsAnlyConformance 2 }
    

--
-- Managed Objects
--

ntcTsAnlyEble                    OBJECT-TYPE
    SYNTAX      NtcEnable
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enable or disable Transport Stream Analyzer."
    DEFVAL { off }
    ::= { ntcTsAnlyObjects 1 }
    
ntcTsAnlyReset                   OBJECT-TYPE
    SYNTAX      INTEGER { running(0), reset(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Reset Transport Stream Analyzer"
    DEFVAL { running }
    ::= { ntcTsAnlyObjects 2 }
    
ntcTsAnlyEstimatedTsRate         OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "bps"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Displays the measured TS bit rate in bps. Current devices support a range of 0
        to 2500000000 bps."
    ::= { ntcTsAnlyObjects 3 }
    
ntcTsAnlyPidTable                OBJECT-TYPE
    SYNTAX      SEQUENCE OF NtcTsAnlyPidEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing all detected PID's of the incoming traffic stream with
        corresponding measurements."
    ::= { ntcTsAnlyObjects 4 }

ntcTsAnlyPidEntry                OBJECT-TYPE
    SYNTAX      NtcTsAnlyPidEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A conceptual row of the ntcTsAnlyPidTable."
    INDEX   { ntcTsAnlyPidPid  }
    ::= { ntcTsAnlyPidTable 1 }

NtcTsAnlyPidEntry                ::= SEQUENCE {
    ntcTsAnlyPidPid                Unsigned32,
    ntcTsAnlyPidType               INTEGER,
    ntcTsAnlyPidPIDRate            Unsigned32,
    ntcTsAnlyPidContinuityError    INTEGER,
    ntcTsAnlyPidTransportError     INTEGER,
    ntcTsAnlyPidCtuCntErrorCntr    Counter64
    }
    
ntcTsAnlyPidPid                  OBJECT-TYPE
    SYNTAX      Unsigned32 (0..8190)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "PID"
    ::= { ntcTsAnlyPidEntry 1 }
    
ntcTsAnlyPidType                 OBJECT-TYPE
    SYNTAX      INTEGER { others(0), video(1), audio(2), privateSection(3), pesPrivate(4), mheg(5), dsmCc(6), h2221(7), mpe(8), auxiliary(9), slOrFlexMux(10), sdp(11), metadata(12), ipmp(13), userPrivate(14), pat(15), cat(16), tsdt(17), nitOrSt(18), sdtOrBatOrSt(19), eitOrStCit(20), rstOrSt(21), tdtOrTotOrSt(22), netwSync(23), rnt(24), inband(25), measurement(26), dit(27), sit(28), null(29), othersOrGhost(30), pmt(31), visual(32), srm(33), ecm(34), emm(35) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "PID Type"
    ::= { ntcTsAnlyPidEntry 2 }
    
ntcTsAnlyPidPIDRate              OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "bps"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "PID Rate for a specific stream."
    ::= { ntcTsAnlyPidEntry 3 }
    
ntcTsAnlyPidContinuityError      OBJECT-TYPE
    SYNTAX      INTEGER { off(0), on(1) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Continuity Count Error"
    ::= { ntcTsAnlyPidEntry 4 }
    
ntcTsAnlyPidTransportError       OBJECT-TYPE
    SYNTAX      INTEGER { off(0), on(1) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Transport Error"
    ::= { ntcTsAnlyPidEntry 5 }
    
ntcTsAnlyPidCtuCntErrorCntr      OBJECT-TYPE
    SYNTAX      Counter64
    UNITS       "packets"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the number of packets with a continuity count error."
    ::= { ntcTsAnlyPidEntry 6 }
    
ntcTsAnlyPcrPidTable             OBJECT-TYPE
    SYNTAX      SEQUENCE OF NtcTsAnlyPcrPidEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of PCR PID's with detailled time measurements."
    ::= { ntcTsAnlyObjects 5 }

ntcTsAnlyPcrPidEntry             OBJECT-TYPE
    SYNTAX      NtcTsAnlyPcrPidEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A conceptual row of the ntcTsAnlyPcrPidTable."
    INDEX   { ntcTsAnlyPcrPidPid  }
    ::= { ntcTsAnlyPcrPidTable 1 }

NtcTsAnlyPcrPidEntry             ::= SEQUENCE {
    ntcTsAnlyPcrPidPid                 Unsigned32,
    ntcTsAnlyPcrPidPcrIntervalTime     Unsigned32,
    ntcTsAnlyPcrPidPcrRepeatError      INTEGER,
    ntcTsAnlyPcrPidPcrAccuracyError    INTEGER,
    ntcTsAnlyPcrPidMinJitter           Integer32,
    ntcTsAnlyPcrPidMaxJitter           Integer32,
    ntcTsAnlyPcrPidMinHoldJitter       Integer32,
    ntcTsAnlyPcrPidMaxHoldJitter       Integer32,
    ntcTsAnlyPcrPidRateOffset          Unsigned32,
    ntcTsAnlyPcrPidPcrRate             Unsigned32
    }
    
ntcTsAnlyPcrPidPid               OBJECT-TYPE
    SYNTAX      Unsigned32 (0..8190)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "PID"
    ::= { ntcTsAnlyPcrPidEntry 1 }
    
ntcTsAnlyPcrPidPcrIntervalTime   OBJECT-TYPE
    SYNTAX      Unsigned32 (0..9999999)
    UNITS       "ms"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Measured interval time (in milliseconds) between 2 PCR packets."
    ::= { ntcTsAnlyPcrPidEntry 2 }
    
ntcTsAnlyPcrPidPcrRepeatError    OBJECT-TYPE
    SYNTAX      INTEGER { off(0), on(1) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "PCR Repetition Error is raised when the spacing between two consecutive PCR
        values is more than 40ms. The condition can occur when PCR packets get lost or
        when PCR packets are not present at a sufficient rate."
    ::= { ntcTsAnlyPcrPidEntry 3 }
    
ntcTsAnlyPcrPidPcrAccuracyError  OBJECT-TYPE
    SYNTAX      INTEGER { off(0), on(1) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The PCR Accuracy error is raised when the PCR accuracy exceeds +/- 500nsec.
        The definition of the alarm is taken from TR101290."
    ::= { ntcTsAnlyPcrPidEntry 4 }
    
ntcTsAnlyPcrPidMinJitter         OBJECT-TYPE
    SYNTAX      Integer32 (-9999999..9999999)
    UNITS       "ns"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Minimum value of PCR_AC (nanoseconds) over the last second."
    ::= { ntcTsAnlyPcrPidEntry 5 }
    
ntcTsAnlyPcrPidMaxJitter         OBJECT-TYPE
    SYNTAX      Integer32 (-9999999..9999999)
    UNITS       "ns"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Max Jitter PCR_AC (nanoseconds) measured over the last second."
    ::= { ntcTsAnlyPcrPidEntry 6 }
    
ntcTsAnlyPcrPidMinHoldJitter     OBJECT-TYPE
    SYNTAX      Integer32 (-9999999..9999999)
    UNITS       "ns"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The minimum measured PCR_AC value (in nanoseconds) computed since the last
        reset."
    ::= { ntcTsAnlyPcrPidEntry 7 }
    
ntcTsAnlyPcrPidMaxHoldJitter     OBJECT-TYPE
    SYNTAX      Integer32 (-9999999..9999999)
    UNITS       "ns"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum measured PCR_AC value (in nanoseconds) computed since the last
        reset."
    ::= { ntcTsAnlyPcrPidEntry 8 }
    
ntcTsAnlyPcrPidRateOffset        OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "ppm"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Rate Offset in PPM of the inband clock companed to the local clock. (ASI:
        local clock, TS over IP: configured bitrate)"
    ::= { ntcTsAnlyPcrPidEntry 9 }
    
ntcTsAnlyPcrPidPcrRate           OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "bps"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "PCR Rate (Mb/s) calculated by using the inband PCR timing information."
    ::= { ntcTsAnlyPcrPidEntry 10 }
    
ntcTsAnlyAlmSyncLoss             OBJECT-TYPE
    SYNTAX      NtcAlarmState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Alarm indicating that the synchronization with the Transport-Stream (TS) has
        been lost. This conditions occurs when 2 or more consecutive corrupted SYNC
        bytes are received. This variable indicates the current status of the alarm."
    ::= { ntcTsAnlyAlarm 1 }
    
ntcTsAnlyAlmSyncByte             OBJECT-TYPE
    SYNTAX      NtcAlarmState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This alarm is raised when a single corrupted SYNC byte is detected and cleared
        when the next correct one appears. This variable indicates the current status
        of the alarm."
    ::= { ntcTsAnlyAlarm 2 }
    
ntcTsAnlyAlmPat                  OBJECT-TYPE
    SYNTAX      NtcAlarmState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This alarm indicates that the 'Program Association Table' (PAT) can not be
        detected properly in the stream. The PAT table id (0x00) should be detected in
        a PID 0x0000 at least every 0.5 s. This variable indicates the current status
        of the alarm."
    ::= { ntcTsAnlyAlarm 3 }
    
ntcTsAnlyAlmContinuityCount      OBJECT-TYPE
    SYNTAX      NtcAlarmState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This alarm is raised when packets arrive out of sequence, get dropped or occur
        more than once. This variable indicates the current status of the alarm."
    ::= { ntcTsAnlyAlarm 4 }
    
ntcTsAnlyAlmTransport            OBJECT-TYPE
    SYNTAX      NtcAlarmState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This alarm condition is detected when the 'Transport Error indicator'-bit in
        the TS-Header is set to '1' for a specific PID. The alarm condition is cleared
        when no Transport Error indication is detected for 5 sec. This variable
        indicates the current status of the alarm."
    ::= { ntcTsAnlyAlarm 5 }
    
ntcTsAnlyAlmPcrRepetition        OBJECT-TYPE
    SYNTAX      NtcAlarmState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This alarm is raised if the spacing between two consecutive PCR values is more
        than 40ms. The condition can occur when PCR packets get lost or when PCR
        packets are not present at a sufficient rate. This variable indicates the
        current status of the alarm."
    ::= { ntcTsAnlyAlarm 6 }
    
ntcTsAnlyAlmPcrDiscontinuity     OBJECT-TYPE
    SYNTAX      NtcAlarmState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This alarm indicates that the difference between two consecutive PCR values
        exceeds the range [0-100] ms, while the 'discontinuity indicator' bit is not
        set. This bit in the Adaptation Field should trigger a reset of the PCR
        evaluation functionality. This variable indicates the current status of the
        alarm."
    ::= { ntcTsAnlyAlarm 7 }
    
ntcTsAnlyAlmPcrAccuracy          OBJECT-TYPE
    SYNTAX      NtcAlarmState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This alarm condition occurs when the PCR accuracy exceeds +/- 500nsec. The
        definition of the alarm is taken from TR101290. This variable indicates the
        current status of the alarm."
    ::= { ntcTsAnlyAlarm 8 }
    
ntcTsAnlyEPidTable               OBJECT-TYPE
    SYNTAX      SEQUENCE OF NtcTsAnlyEPidEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Table which contains PIDs on which an error has been detected."
    ::= { ntcTsAnlyObjects 7 }

ntcTsAnlyEPidEntry               OBJECT-TYPE
    SYNTAX      NtcTsAnlyEPidEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A conceptual row of the ntcTsAnlyEPidTable."
    INDEX   { ntcTsAnlyEPidPid  }
    ::= { ntcTsAnlyEPidTable 1 }

NtcTsAnlyEPidEntry               ::= SEQUENCE {
    ntcTsAnlyEPidPid                Unsigned32,
    ntcTsAnlyEPidType               INTEGER,
    ntcTsAnlyEPidCtuCntErrorCntr    Counter64,
    ntcTsAnlyEPidContinuityError    INTEGER,
    ntcTsAnlyEPidTransportError     INTEGER
    }
    
ntcTsAnlyEPidPid                 OBJECT-TYPE
    SYNTAX      Unsigned32 (0..8190)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "PID"
    ::= { ntcTsAnlyEPidEntry 1 }
    
ntcTsAnlyEPidType                OBJECT-TYPE
    SYNTAX      INTEGER { others(0), video(1), audio(2), privateSection(3), pesPrivate(4), mheg(5), dsmCc(6), h2221(7), mpe(8), auxiliary(9), slOrFlexMux(10), sdp(11), metadata(12), ipmp(13), userPrivate(14), pat(15), cat(16), tsdt(17), nitOrSt(18), sdtOrBatOrSt(19), eitOrStCit(20), rstOrSt(21), tdtOrTotOrSt(22), netwSync(23), rnt(24), inband(25), measurement(26), dit(27), sit(28), null(29), othersOrGhost(30), pmt(31), visual(32), srm(33), ecm(34), emm(35) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "PID Type"
    ::= { ntcTsAnlyEPidEntry 2 }
    
ntcTsAnlyEPidCtuCntErrorCntr     OBJECT-TYPE
    SYNTAX      Counter64
    UNITS       "packets"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the number of packets with a continuity count error."
    ::= { ntcTsAnlyEPidEntry 3 }
    
ntcTsAnlyEPidContinuityError     OBJECT-TYPE
    SYNTAX      INTEGER { off(0), on(1) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Continuity Count Error"
    ::= { ntcTsAnlyEPidEntry 4 }
    
ntcTsAnlyEPidTransportError      OBJECT-TYPE
    SYNTAX      INTEGER { off(0), on(1) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Transport Error"
    ::= { ntcTsAnlyEPidEntry 5 }
    

--
--  Module Conformance
--

ntcTsAnlyConfGrpV1Standard       OBJECT-GROUP
    OBJECTS    {
                   ntcTsAnlyEble,
                   ntcTsAnlyReset,
                   ntcTsAnlyEstimatedTsRate,
                   ntcTsAnlyPidType,
                   ntcTsAnlyPidPIDRate,
                   ntcTsAnlyPidContinuityError,
                   ntcTsAnlyPidTransportError,
                   ntcTsAnlyPidCtuCntErrorCntr,
                   ntcTsAnlyPcrPidPcrIntervalTime,
                   ntcTsAnlyPcrPidPcrRepeatError,
                   ntcTsAnlyPcrPidPcrAccuracyError,
                   ntcTsAnlyPcrPidMinJitter,
                   ntcTsAnlyPcrPidMaxJitter,
                   ntcTsAnlyPcrPidMinHoldJitter,
                   ntcTsAnlyPcrPidMaxHoldJitter,
                   ntcTsAnlyPcrPidRateOffset,
                   ntcTsAnlyPcrPidPcrRate,
                   ntcTsAnlyAlmSyncLoss,
                   ntcTsAnlyAlmSyncByte,
                   ntcTsAnlyAlmPat,
                   ntcTsAnlyAlmContinuityCount,
                   ntcTsAnlyAlmTransport,
                   ntcTsAnlyAlmPcrRepetition,
                   ntcTsAnlyAlmPcrDiscontinuity,
                   ntcTsAnlyAlmPcrAccuracy,
                   ntcTsAnlyEPidType,
                   ntcTsAnlyEPidCtuCntErrorCntr,
                   ntcTsAnlyEPidContinuityError,
                   ntcTsAnlyEPidTransportError
               }
    STATUS      current
    DESCRIPTION
        "Managed objects that constitute version 1 of a system device with standard capabilities."
    ::= { ntcTsAnlyConfGroup 1}
    
ntcTsAnlyConfCompV1Standard      MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "Compliance statement for Newtec device MIB implementations."
    MODULE  -- this module
    MANDATORY-GROUPS
                  {
                      ntcTsAnlyConfGrpV1Standard
                  }
    ::= { ntcTsAnlyConfCompliance  1 }
    

END
