OPT-IF-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Gauge32, Integer32,
      Unsigned32, transmission
          FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, RowPointer, RowStatus, TruthValue
          FROM SNMPv2-TC
    SnmpAdminString
          FROM SNMP-FRAMEWORK-MIB
    MODULE-COMPLIANCE, OBJECT-GROUP
          FROM SNMPv2-CONF
    ifIndex
          FROM IF-MIB;

--  This is the MIB module for the OTN Interface objects.

optIfMibModule MODULE-IDENTITY
    LAST-UPDATED "200308130000Z"
    ORGANIZATION "IETF AToM MIB Working Group"
    CONTACT-INFO
       "WG charter:
          http://www.ietf.org/html.charters/atommib-charter.html

        Mailing Lists:
           General Discussion: atommib@research.telcordia.com
           To Subscribe: atommib-request@research.telcordia.com

        Editor: Hing-Kam Lam
        Postal: Lucent Technologies, Room 4C-616
                101 Crawfords Corner Road
                Holmdel, NJ 07733
           Tel: +1 732 949 8338
         Email: hklam@lucent.com"
    DESCRIPTION
       "The MIB module to describe pre-OTN and OTN interfaces.

        Copyright (C) The Internet Society (2003).  This version
        of this MIB module is part of RFC 3591;  see the RFC
        itself for full legal notices."
    REVISION  "200308130000Z"
    DESCRIPTION
       "Initial version, published as RFC 3591."
    ::={ transmission 133 }

-- textual conventions

OptIfAcTI ::= TEXTUAL-CONVENTION
  STATUS  current
  DESCRIPTION
    "The trace identifier (TI) accepted at the receiver."
  SYNTAX  OCTET STRING (SIZE(64))

OptIfBitRateK ::= TEXTUAL-CONVENTION
  STATUS  current
  DESCRIPTION
    "Indicates the index 'k' that is used to
     represent a supported bit rate and the different
     versions of OPUk, ODUk and OTUk.
     Allowed values of k are defined in ITU-T G.709.
     Currently allowed values in G.709 are:
        k=1 represents an approximate bit rate of 2.5 Gbit/s,
        k=2 represents an approximate bit rate of 10 Gbit/s,
        k=3 represents an approximate bit rate of 40 Gbit/s."
  SYNTAX  Integer32

OptIfDEGM ::= TEXTUAL-CONVENTION
  STATUS  current
  DESCRIPTION
    "Indicates the threshold level for declaring a Degraded Signal
     defect (dDEG).  A dDEG shall be declared if OptIfDEGM
     consecutive bad PM Seconds are detected."
  SYNTAX  Unsigned32 (2..10)

OptIfDEGThr ::= TEXTUAL-CONVENTION
  STATUS  current
  DESCRIPTION
    "Indicates the threshold level for declaring a performance
     monitoring (PM) Second to be bad.  A PM Second is declared bad if
     the percentage of detected errored blocks in that second is
     greater than or equal to OptIfDEGThr."
  SYNTAX  Unsigned32 (1..100)

OptIfDirectionality ::= TEXTUAL-CONVENTION
  STATUS  current
  DESCRIPTION
    "Indicates the directionality of an entity."
  SYNTAX  INTEGER {
    sink(1),
    source(2),
    bidirectional(3)
    }

OptIfSinkOrSource ::= TEXTUAL-CONVENTION
  STATUS  current
  DESCRIPTION
    "Indicates the directionality of an entity
     that is allowed only to be a source or sink."
  SYNTAX  INTEGER {
    sink(1),
    source(2)
    }

OptIfExDAPI ::= TEXTUAL-CONVENTION
  STATUS  current
  DESCRIPTION
    "The Destination Access Point Identifier (DAPI)
     expected by the receiver."
  SYNTAX  OCTET STRING (SIZE(16))

OptIfExSAPI ::= TEXTUAL-CONVENTION
  STATUS  current
  DESCRIPTION
    "The Source Access Point Identifier (SAPI)
     expected by the receiver."
  SYNTAX  OCTET STRING (SIZE(16))

OptIfIntervalNumber ::= TEXTUAL-CONVENTION
  STATUS  current
  DESCRIPTION
    "Uniquely identifies a 15-minute interval.  The interval
     identified by 1 is the most recently completed interval, and

     the interval identified by n is the interval immediately
     preceding the one identified by n-1."
  SYNTAX  Unsigned32 (1..96)

OptIfTIMDetMode ::= TEXTUAL-CONVENTION
  STATUS  current
  DESCRIPTION
    "Indicates the mode of the Trace Identifier Mismatch (TIM)
     Detection function."
  SYNTAX  INTEGER {
    off(1),
    dapi(2),
    sapi(3),
    both(4)
    }

OptIfTxTI ::= TEXTUAL-CONVENTION
  STATUS  current
  DESCRIPTION
    "The trace identifier (TI) transmitted."
  SYNTAX  OCTET STRING (SIZE(64))

-- object groups

optIfObjects OBJECT IDENTIFIER ::= { optIfMibModule 1 }
optIfConfs OBJECT IDENTIFIER ::= { optIfMibModule 2 }

optIfOTMn OBJECT IDENTIFIER ::= { optIfObjects 1 }
optIfPerfMon OBJECT IDENTIFIER ::= { optIfObjects 2 }
optIfOTSn OBJECT IDENTIFIER ::= { optIfObjects 3 }
optIfOMSn OBJECT IDENTIFIER ::= { optIfObjects 4 }
optIfOChGroup OBJECT IDENTIFIER ::= { optIfObjects 5 }
optIfOCh OBJECT IDENTIFIER ::= { optIfObjects 6 }

optIfOTUk OBJECT IDENTIFIER ::= { optIfObjects 7 }
optIfODUk OBJECT IDENTIFIER ::= { optIfObjects 8 }
optIfODUkT OBJECT IDENTIFIER ::= { optIfObjects 9 }

optIfGroups OBJECT IDENTIFIER ::= { optIfConfs 1 }
optIfCompl OBJECT IDENTIFIER ::= { optIfConfs 2 }

-- the optIfOTMn group
-- This group defines the OTM structure information of an
-- optical interface.

-- OTMn Table

optIfOTMnTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOTMnEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OTMn structure information."
  ::= { optIfOTMn 1 }

optIfOTMnEntry OBJECT-TYPE
  SYNTAX  OptIfOTMnEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains the OTMn structure
     information of an optical interface."
  INDEX  { ifIndex }
  ::= { optIfOTMnTable 1 }

OptIfOTMnEntry ::=
  SEQUENCE {
    optIfOTMnOrder         Unsigned32,
    optIfOTMnReduced       TruthValue,
    optIfOTMnBitRates      BITS,
    optIfOTMnInterfaceType SnmpAdminString,
    optIfOTMnTcmMax        Unsigned32,
    optIfOTMnOpticalReach  INTEGER
    }

optIfOTMnOrder OBJECT-TYPE
  SYNTAX  Unsigned32 (1..900)
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "This object indicates the order of the OTM, which
     represents the maximum number of wavelengths that can be
     supported at the bit rate(s) supported on the interface."
  ::= { optIfOTMnEntry 1 }

optIfOTMnReduced OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "This object indicates whether a reduced or full
     functionality is supported at the interface.  A value of
     true means reduced.  A value of false means full."
  ::= { optIfOTMnEntry 2 }

optIfOTMnBitRates OBJECT-TYPE
  SYNTAX  BITS { bitRateK1(0), bitRateK2(1), bitRateK3(2) }
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "This attribute is a bit map representing the bit
     rate or set of bit rates supported on the interface.
     The meaning of each bit position is as follows:
       bitRateK1(0) is set if the 2.5 Gbit/s rate is supported
       bitRateK2(1) is set if the 10 Gbit/s rate is supported
       bitRateK3(2) is set if the 40 Gbit/s rate is supported
     Note that each bit position corresponds to one possible
     value of the type OptIfBitRateK.
     The default value of this attribute is system specific."
  ::= { optIfOTMnEntry 3 }

optIfOTMnInterfaceType OBJECT-TYPE
  SYNTAX  SnmpAdminString
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "This object identifies the type of interface.  The value of
     this attribute will affect the behavior of the OTM with
     respect to presence/absence of OTM Overhead Signal (OOS)
     processing and TCM activation.  For an IrDI interface,
     there is no OOS processing and TCM activation is limited
     to n levels as specified by a TCM level threshold.

     This object contains two fields that are separated by
     whitespace.  The possible values are:
          field 1: one of the 4-character ASCII strings
                    'IrDI' or 'IaDI'
          field 2: free-form text consisting of printable
                   UTF-8 encoded characters

     Note that field 2 is optional.  If it is not present then there
     is no requirement for trailing whitespace after field 1.

     The default values are as follows:
          field 1:  'IaDI'
          field 2: an empty string."
  ::= { optIfOTMnEntry 4 }

optIfOTMnTcmMax OBJECT-TYPE
  SYNTAX  Unsigned32 (0..6)
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "This object identifies the maximum number of TCM
     levels allowed for any Optical Channel contained
     in this OTM.  A new TCM activation will be rejected
     if the requested level is greater than the threshold.
     If InterfaceType object specifies a type of 'IaDI'
     for this OTM, then this attribute is irrelevant.

     Possible values:  unsigned integers in the range
                       from 0 to 6 inclusive.
     Default value:    3."
  ::= { optIfOTMnEntry 5 }

optIfOTMnOpticalReach OBJECT-TYPE
  SYNTAX  INTEGER { intraOffice(1), shortHaul(2), longHaul(3),
                    veryLongHaul(4), ultraLongHaul(5) }
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "This object indicates the length the optical signal
     may travel before requiring termination or regeneration.
     The meaning of the enumeration are:
       intraOffice(1)  - intra-office (as defined in ITU-T G.957)
       shortHaul(2)    - short haul (as defined in ITU-T G.957)
       longHaul(3)     - long haul (as defined in ITU-T G.957)
       veryLongHaul(4) - very long haul (as defined in ITU-T G.691)
       ultraLongHaul(5)- ultra long haul (as defined in ITU-T G.691)"
  ::= { optIfOTMnEntry 6 }

-- the optIfPerfMon group
-- This group defines performance monitoring objects for all
-- layers.

-- PM interval table

optIfPerfMonIntervalTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfPerfMonIntervalEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of 15-minute performance monitoring interval
     information."
  ::= { optIfPerfMon 1 }

optIfPerfMonIntervalEntry OBJECT-TYPE
  SYNTAX  OptIfPerfMonIntervalEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains 15-minute performance
     monitoring interval information of an interface."
  INDEX  { ifIndex }
  ::= { optIfPerfMonIntervalTable 1 }

OptIfPerfMonIntervalEntry ::=
  SEQUENCE {
    optIfPerfMonCurrentTimeElapsed   Gauge32,
    optIfPerfMonCurDayTimeElapsed    Gauge32,
    optIfPerfMonIntervalNumIntervals         Unsigned32,
    optIfPerfMonIntervalNumInvalidIntervals  Unsigned32
    }

optIfPerfMonCurrentTimeElapsed OBJECT-TYPE
  SYNTAX  Gauge32 (0..900)
  UNITS  "seconds"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Number of seconds elapsed in the current 15-minute
     performance monitoring interval.
     If, for some reason, such as an adjustment in the NE's
     time-of-day clock, the number of seconds elapsed exceeds
     the maximum value, then the maximum value will be returned."
  ::= { optIfPerfMonIntervalEntry 1 }

optIfPerfMonCurDayTimeElapsed OBJECT-TYPE
  SYNTAX  Gauge32 (0..86400)
  UNITS  "seconds"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Number of seconds elapsed in the current 24-hour interval
     performance monitoring period.
     If, for some reason, such as an adjustment in the NE's
     time-of-day clock, the number of seconds elapsed exceeds
     the maximum value, then the maximum value will be returned."
  ::= { optIfPerfMonIntervalEntry 2 }

optIfPerfMonIntervalNumIntervals OBJECT-TYPE
  SYNTAX  Unsigned32 (0..96)
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The number of 15-minute intervals for which performance
     monitoring data is available.  The number is the same for all
     the associated sub layers of the interface.

     An optical interface must be capable of supporting at least
     n intervals, where n is defined as follows:
         The minimum value of n is 4.
         The default of n is 32.
         The maximum value of n is 96.

     The value of this object will be n unless performance
     monitoring was (re-)started for the interface within the last
     (n*15) minutes, in which case the value will be the number of
     complete 15-minute intervals since measurement was
     (re-)started."
  ::= { optIfPerfMonIntervalEntry 3 }

optIfPerfMonIntervalNumInvalidIntervals OBJECT-TYPE
  SYNTAX  Unsigned32 (0..96)
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The number of intervals in the range from 0 to
     optIfPerfMonIntervalNumIntervals for which no performance
     monitoring data is available and/or the data is invalid."
  ::= { optIfPerfMonIntervalEntry 4 }

-- the optIfOTSn group
-- This group handles the configuration and performance
-- monitoring objects for OTS layers.

-- OTSn config table

optIfOTSnConfigTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOTSnConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OTSn configuration information."
  ::= { optIfOTSn 1 }

optIfOTSnConfigEntry OBJECT-TYPE
  SYNTAX  OptIfOTSnConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OTSn configuration
     information of an interface."
  INDEX  { ifIndex }
  ::= { optIfOTSnConfigTable 1 }

OptIfOTSnConfigEntry ::=

  SEQUENCE {
    optIfOTSnDirectionality              OptIfDirectionality,
    optIfOTSnAprStatus                   SnmpAdminString,
    optIfOTSnAprControl                  SnmpAdminString,
    optIfOTSnTraceIdentifierTransmitted  OptIfTxTI,
    optIfOTSnDAPIExpected                OptIfExDAPI,
    optIfOTSnSAPIExpected                OptIfExSAPI,
    optIfOTSnTraceIdentifierAccepted     OptIfAcTI,
    optIfOTSnTIMDetMode                  OptIfTIMDetMode,
    optIfOTSnTIMActEnabled               TruthValue,
    optIfOTSnCurrentStatus               BITS
    }

optIfOTSnDirectionality OBJECT-TYPE
  SYNTAX  OptIfDirectionality
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the directionality of the entity."
  ::= { optIfOTSnConfigEntry 1 }

optIfOTSnAprStatus OBJECT-TYPE
  SYNTAX  SnmpAdminString
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "This attribute indicates the status of the Automatic
     Power Reduction (APR) function of the entity.  Valid
     values are 'on' and 'off'."
  ::= { optIfOTSnConfigEntry 2 }

optIfOTSnAprControl OBJECT-TYPE
  SYNTAX  SnmpAdminString
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "This object is a UTF-8 encoded string that specifies Automatic
     Power Reduction (APR) control actions requested of this entity
     (when written) and that returns the current APR control state
     of this entity (when read).  The values are implementation-defined.
     Any implementation that instantiates this object must document the
     set of values that it allows to be written, the set of values
     that it will return, and what each of those values means."
  ::= { optIfOTSnConfigEntry 3 }

optIfOTSnTraceIdentifierTransmitted OBJECT-TYPE
  SYNTAX  OptIfTxTI
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The trace identifier transmitted.
     This object is applicable when optIfOTSnDirectionality has the
     value source(2) or bidirectional(3).
     This object does not apply to reduced-capability systems (i.e.,
     those for which optIfOTMnReduced has the value true(1)) or
     at IrDI interfaces (i.e., when optIfOTMnInterfaceType field 1
     has the value 'IrDI').
     If no value is ever set by a management entity for the object
     optIfOTSnTraceIdentifierTransmitted, system-specific default
     value will be used.  Any implementation that instantiates this
     object must document the system-specific default value or how it
     is derived."
  ::= { optIfOTSnConfigEntry 4 }

optIfOTSnDAPIExpected OBJECT-TYPE
  SYNTAX  OptIfExDAPI
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The DAPI expected by the receiver.
     This object is applicable when optIfOTSnDirectionality has the
     value sink(1) or bidirectional(3).  It has no effect if
     optIfOTSnTIMDetMode has the value off(1) or sapi(3).
     This object does not apply to reduced-capability systems (i.e.,
     those for which optIfOTMnReduced has the value true(1)) or
     at IrDI interfaces (i.e., when optIfOTMnInterfaceType field 1
     has the value 'IrDI')."
  ::= { optIfOTSnConfigEntry 5 }

optIfOTSnSAPIExpected OBJECT-TYPE
  SYNTAX  OptIfExSAPI
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The SAPI expected by the receiver.
     This object is applicable when optIfOTSnDirectionality has the
     value sink(1) or bidirectional(3).  It has no effect if
     optIfOTSnTIMDetMode has the value off(1) or dapi(2).
     This object does not apply to reduced-capability systems (i.e.,
     those for which optIfOTMnReduced has the value true(1)) or
     at IrDI interfaces (i.e., when optIfOTMnInterfaceType field 1
     has the value 'IrDI')."
  ::= { optIfOTSnConfigEntry 6 }

optIfOTSnTraceIdentifierAccepted OBJECT-TYPE
  SYNTAX  OptIfAcTI
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The actual trace identifier received.
     This object is applicable when optIfOTSnDirectionality has the
     value sink(1) or bidirectional(3).  Its value is unspecified
     if optIfOTSnCurrentStatus has either or both of the
     losO(5) and los(6) bits set.
     This object does not apply to reduced-capability systems (i.e.,
     those for which optIfOTMnReduced has the value true(1)) or
     at IrDI interfaces (i.e., when optIfOTMnInterfaceType field 1
     has the value 'IrDI')."
  ::= { optIfOTSnConfigEntry 7 }

optIfOTSnTIMDetMode OBJECT-TYPE
  SYNTAX  OptIfTIMDetMode
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Indicates the mode of the Trace Identifier Mismatch (TIM)
     Detection function.  This object is applicable
     when optIfOTSnDirectionality has the value sink(1)
     or bidirectional(3).  The default value is off(1).
     This object does not apply to reduced-capability systems (i.e.,
     those for which optIfOTMnReduced has the value true(1)) or
     at IrDI interfaces (i.e., when optIfOTMnInterfaceType field 1
     has the value 'IrDI').
     The default value of this object is off(1)."
  ::= { optIfOTSnConfigEntry 8 }

optIfOTSnTIMActEnabled OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Indicates whether the Trace Identifier Mismatch (TIM)
     Consequent Action function is enabled.  This object
     is applicable when optIfOTSnDirectionality has the
     value sink(1) or bidirectional(3).  It has no effect
     when the value of optIfOTSnTIMDetMode is off(1).
     This object does not apply to reduced-capability systems (i.e.,
     those for which optIfOTMnReduced has the value true(1)) or
     at IrDI interfaces (i.e., when optIfOTMnInterfaceType field 1
     has the value 'IrDI').
     The default value of this object is false(2)."
  ::= { optIfOTSnConfigEntry 9 }

optIfOTSnCurrentStatus OBJECT-TYPE
  SYNTAX  BITS {
    bdiP(0),
    bdiO(1),
    bdi(2),
    tim(3),
    losP(4),
    losO(5),
    los(6)
    }
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the defect condition of the entity, if any.
     This object is applicable when optIfOTSnDirectionality
     has the value sink(1) or bidirectional(3).  In
     reduced-capability systems or at IrDI interfaces
     the only bit position that may be set is los(6)."
  ::= { optIfOTSnConfigEntry 10 }

-- OTSn sink current table
-- Contains data for the current 15-minute performance monitoring
-- interval.

optIfOTSnSinkCurrentTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOTSnSinkCurrentEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OTSn sink performance monitoring information for
     the current 15-minute interval."
  ::= { optIfOTSn 2 }

optIfOTSnSinkCurrentEntry OBJECT-TYPE
  SYNTAX  OptIfOTSnSinkCurrentEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OTSn sink performance
     monitoring information of an interface for the current
     15-minute interval."
  INDEX  { ifIndex }
  ::= { optIfOTSnSinkCurrentTable 1 }

OptIfOTSnSinkCurrentEntry ::=
  SEQUENCE {
    optIfOTSnSinkCurrentSuspectedFlag             TruthValue,
    optIfOTSnSinkCurrentInputPower                Integer32,
    optIfOTSnSinkCurrentLowInputPower             Integer32,
    optIfOTSnSinkCurrentHighInputPower            Integer32,
    optIfOTSnSinkCurrentLowerInputPowerThreshold  Integer32,
    optIfOTSnSinkCurrentUpperInputPowerThreshold  Integer32,
    optIfOTSnSinkCurrentOutputPower               Integer32,
    optIfOTSnSinkCurrentLowOutputPower            Integer32,
    optIfOTSnSinkCurrentHighOutputPower           Integer32,
    optIfOTSnSinkCurrentLowerOutputPowerThreshold Integer32,
    optIfOTSnSinkCurrentUpperOutputPowerThreshold Integer32
    }

optIfOTSnSinkCurrentSuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOTSnSinkCurrentEntry 1 }

optIfOTSnSinkCurrentInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The optical power monitored at the input."
  ::= { optIfOTSnSinkCurrentEntry 2 }

optIfOTSnSinkCurrentLowInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the input during the
     current 15-minute interval."
  ::= { optIfOTSnSinkCurrentEntry 3 }

optIfOTSnSinkCurrentHighInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the input during the
     current 15-minute interval."
  ::= { optIfOTSnSinkCurrentEntry 4 }

optIfOTSnSinkCurrentLowerInputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The lower limit threshold on input power.  If
     optIfOTSnSinkCurrentInputPower drops to this value or below,
     a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOTSnSinkCurrentEntry 5 }

optIfOTSnSinkCurrentUpperInputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The upper limit threshold on input power.  If
     optIfOTSnSinkCurrentInputPower reaches or exceeds this value,
     a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOTSnSinkCurrentEntry 6 }

optIfOTSnSinkCurrentOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The optical power monitored at the output."
  ::= { optIfOTSnSinkCurrentEntry 7 }

optIfOTSnSinkCurrentLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the output during the
     current 15-minute interval."
  ::= { optIfOTSnSinkCurrentEntry 8 }

optIfOTSnSinkCurrentHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the output during the
     current 15-minute interval."
  ::= { optIfOTSnSinkCurrentEntry 9 }

optIfOTSnSinkCurrentLowerOutputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The lower limit threshold on output power.  If
     optIfOTSnSinkCurrentOutputPower drops to this value or below,
     a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOTSnSinkCurrentEntry 10 }

optIfOTSnSinkCurrentUpperOutputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The upper limit threshold on output power.  If
     optIfOTSnSinkCurrentOutputPower reaches or exceeds this value,
     a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOTSnSinkCurrentEntry 11 }

-- OTSn sink interval table
-- Contains data for previous 15-minute performance monitoring
-- intervals.

optIfOTSnSinkIntervalTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOTSnSinkIntervalEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of historical OTSn sink performance monitoring
     information."
  ::= { optIfOTSn 3 }

optIfOTSnSinkIntervalEntry OBJECT-TYPE
  SYNTAX  OptIfOTSnSinkIntervalEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OTSn sink performance
     monitoring information of an interface during a particular
     historical interval."
  INDEX  { ifIndex, optIfOTSnSinkIntervalNumber }
  ::= { optIfOTSnSinkIntervalTable 1 }

OptIfOTSnSinkIntervalEntry ::=
  SEQUENCE {
    optIfOTSnSinkIntervalNumber           OptIfIntervalNumber,
    optIfOTSnSinkIntervalSuspectedFlag    TruthValue,
    optIfOTSnSinkIntervalLastInputPower   Integer32,
    optIfOTSnSinkIntervalLowInputPower    Integer32,
    optIfOTSnSinkIntervalHighInputPower   Integer32,
    optIfOTSnSinkIntervalLastOutputPower  Integer32,
    optIfOTSnSinkIntervalLowOutputPower   Integer32,
    optIfOTSnSinkIntervalHighOutputPower  Integer32

    }

optIfOTSnSinkIntervalNumber OBJECT-TYPE
  SYNTAX  OptIfIntervalNumber
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "Uniquely identifies the interval."
  ::= { optIfOTSnSinkIntervalEntry 1 }

optIfOTSnSinkIntervalSuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOTSnSinkIntervalEntry 2 }

optIfOTSnSinkIntervalLastInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last optical power monitored at the input during the
     interval."
  ::= { optIfOTSnSinkIntervalEntry 3 }

optIfOTSnSinkIntervalLowInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the input during the
     interval."
  ::= { optIfOTSnSinkIntervalEntry 4 }

optIfOTSnSinkIntervalHighInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the input during the
     interval."
  ::= { optIfOTSnSinkIntervalEntry 5 }

optIfOTSnSinkIntervalLastOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last optical power monitored at the output during the
     interval."
  ::= { optIfOTSnSinkIntervalEntry 6 }

optIfOTSnSinkIntervalLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the output during the
     interval."
  ::= { optIfOTSnSinkIntervalEntry 7 }

optIfOTSnSinkIntervalHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the output during the
     interval."
  ::= { optIfOTSnSinkIntervalEntry 8 }

-- OTSn sink current day table
-- Contains data for the current 24-hour performance
-- monitoring interval.

optIfOTSnSinkCurDayTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOTSnSinkCurDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OTSn sink performance monitoring information for
     the current 24-hour interval."
  ::= { optIfOTSn 4 }

optIfOTSnSinkCurDayEntry OBJECT-TYPE
  SYNTAX  OptIfOTSnSinkCurDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OTSn sink performance
     monitoring information of an interface for the current
     24-hour interval."
  INDEX  { ifIndex }
  ::= { optIfOTSnSinkCurDayTable 1 }

OptIfOTSnSinkCurDayEntry ::=
  SEQUENCE {
    optIfOTSnSinkCurDaySuspectedFlag    TruthValue,
    optIfOTSnSinkCurDayLowInputPower    Integer32,
    optIfOTSnSinkCurDayHighInputPower   Integer32,
    optIfOTSnSinkCurDayLowOutputPower   Integer32,
    optIfOTSnSinkCurDayHighOutputPower  Integer32
    }

optIfOTSnSinkCurDaySuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOTSnSinkCurDayEntry 1 }

optIfOTSnSinkCurDayLowInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the input during the
     current 24-hour interval."
  ::= { optIfOTSnSinkCurDayEntry 2 }

optIfOTSnSinkCurDayHighInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the input during the
     current 24-hour interval."
  ::= { optIfOTSnSinkCurDayEntry 3 }

optIfOTSnSinkCurDayLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the output during the
     current 24-hour interval."
  ::= { optIfOTSnSinkCurDayEntry 4 }

optIfOTSnSinkCurDayHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the output during the
     current 24-hour interval."
  ::= { optIfOTSnSinkCurDayEntry 5 }

-- OTSn sink previous day table
-- Contains data for the previous 24-hour performance
-- monitoring interval.

optIfOTSnSinkPrevDayTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOTSnSinkPrevDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OTSn sink performance monitoring information for
     the previous 24-hour interval."
  ::= { optIfOTSn 5 }

optIfOTSnSinkPrevDayEntry OBJECT-TYPE
  SYNTAX  OptIfOTSnSinkPrevDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OTSn sink performance
     monitoring information of an interface for the previous
     24-hour interval."
  INDEX  { ifIndex }
  ::= { optIfOTSnSinkPrevDayTable 1 }

OptIfOTSnSinkPrevDayEntry ::=
  SEQUENCE {
    optIfOTSnSinkPrevDaySuspectedFlag    TruthValue,
    optIfOTSnSinkPrevDayLastInputPower   Integer32,
    optIfOTSnSinkPrevDayLowInputPower    Integer32,
    optIfOTSnSinkPrevDayHighInputPower   Integer32,
    optIfOTSnSinkPrevDayLastOutputPower  Integer32,
    optIfOTSnSinkPrevDayLowOutputPower   Integer32,
    optIfOTSnSinkPrevDayHighOutputPower  Integer32
    }

optIfOTSnSinkPrevDaySuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOTSnSinkPrevDayEntry 1 }

optIfOTSnSinkPrevDayLastInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last optical power monitored at the input during the
     previous 24-hour interval."
  ::= { optIfOTSnSinkPrevDayEntry 2 }

optIfOTSnSinkPrevDayLowInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the input during the
     previous 24-hour interval."
  ::= { optIfOTSnSinkPrevDayEntry 3 }

optIfOTSnSinkPrevDayHighInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the input during the
     previous 24-hour interval."
  ::= { optIfOTSnSinkPrevDayEntry 4 }

optIfOTSnSinkPrevDayLastOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last optical power monitored at the output during the
     previous 24-hour interval."
  ::= { optIfOTSnSinkPrevDayEntry 5 }

optIfOTSnSinkPrevDayLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the output during the
     previous 24-hour interval."
  ::= { optIfOTSnSinkPrevDayEntry 6 }

optIfOTSnSinkPrevDayHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the output during the
     previous 24-hour interval."
  ::= { optIfOTSnSinkPrevDayEntry 7 }

-- OTSn source current table
-- Contains data for the current 15-minute performance monitoring
-- interval.

optIfOTSnSrcCurrentTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOTSnSrcCurrentEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OTSn source performance monitoring information for
     the current 15-minute interval."
  ::= { optIfOTSn 6 }

optIfOTSnSrcCurrentEntry OBJECT-TYPE
  SYNTAX  OptIfOTSnSrcCurrentEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OTSn source performance
     monitoring information of an interface for the current
     15-minute interval."
  INDEX  { ifIndex }
  ::= { optIfOTSnSrcCurrentTable 1 }

OptIfOTSnSrcCurrentEntry ::=
  SEQUENCE {
    optIfOTSnSrcCurrentSuspectedFlag              TruthValue,
    optIfOTSnSrcCurrentOutputPower                Integer32,
    optIfOTSnSrcCurrentLowOutputPower             Integer32,
    optIfOTSnSrcCurrentHighOutputPower            Integer32,
    optIfOTSnSrcCurrentLowerOutputPowerThreshold  Integer32,
    optIfOTSnSrcCurrentUpperOutputPowerThreshold  Integer32,
    optIfOTSnSrcCurrentInputPower                 Integer32,
    optIfOTSnSrcCurrentLowInputPower              Integer32,
    optIfOTSnSrcCurrentHighInputPower             Integer32,
    optIfOTSnSrcCurrentLowerInputPowerThreshold   Integer32,
    optIfOTSnSrcCurrentUpperInputPowerThreshold   Integer32
    }

optIfOTSnSrcCurrentSuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOTSnSrcCurrentEntry 1 }

optIfOTSnSrcCurrentOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The optical power monitored at the output."
  ::= { optIfOTSnSrcCurrentEntry 2 }

optIfOTSnSrcCurrentLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the output during the
     current 15-minute interval."
  ::= { optIfOTSnSrcCurrentEntry 3 }

optIfOTSnSrcCurrentHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the output during the
     current 15-minute interval."
  ::= { optIfOTSnSrcCurrentEntry 4 }

optIfOTSnSrcCurrentLowerOutputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The lower limit threshold on output power.  If
     optIfOTSnSrcCurrentOutputPower drops to this value or below,
     a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOTSnSrcCurrentEntry 5 }

optIfOTSnSrcCurrentUpperOutputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The upper limit threshold on output power.  If
     optIfOTSnSrcCurrentOutputPower reaches or exceeds this value,
     a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOTSnSrcCurrentEntry 6 }

optIfOTSnSrcCurrentInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The optical power monitored at the input."
  ::= { optIfOTSnSrcCurrentEntry 7 }

optIfOTSnSrcCurrentLowInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the input during the
     current 15-minute interval."
  ::= { optIfOTSnSrcCurrentEntry 8 }

optIfOTSnSrcCurrentHighInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the input during the
     current 15-minute interval."
  ::= { optIfOTSnSrcCurrentEntry 9 }

optIfOTSnSrcCurrentLowerInputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The lower limit threshold on input power.  If
     optIfOTSnSrcCurrentInputPower drops to this value or below,
     a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOTSnSrcCurrentEntry 10 }

optIfOTSnSrcCurrentUpperInputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The upper limit threshold on input power.  If
     optIfOTSnSrcCurrentInputPower reaches or exceeds this value,
     a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOTSnSrcCurrentEntry 11 }

-- OTSn source interval table
-- Contains data for previous 15-minute performance monitoring
-- intervals.

optIfOTSnSrcIntervalTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOTSnSrcIntervalEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of historical OTSn source performance monitoring
     information."
  ::= { optIfOTSn 7 }

optIfOTSnSrcIntervalEntry OBJECT-TYPE
  SYNTAX  OptIfOTSnSrcIntervalEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OTSn source performance
     monitoring information of an interface during a particular
     historical interval."
  INDEX  { ifIndex, optIfOTSnSrcIntervalNumber }
  ::= { optIfOTSnSrcIntervalTable 1 }

OptIfOTSnSrcIntervalEntry ::=
  SEQUENCE {
    optIfOTSnSrcIntervalNumber           OptIfIntervalNumber,
    optIfOTSnSrcIntervalSuspectedFlag    TruthValue,
    optIfOTSnSrcIntervalLastOutputPower  Integer32,
    optIfOTSnSrcIntervalLowOutputPower   Integer32,
    optIfOTSnSrcIntervalHighOutputPower  Integer32,
    optIfOTSnSrcIntervalLastInputPower   Integer32,
    optIfOTSnSrcIntervalLowInputPower    Integer32,
    optIfOTSnSrcIntervalHighInputPower   Integer32
    }

optIfOTSnSrcIntervalNumber OBJECT-TYPE
  SYNTAX  OptIfIntervalNumber
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "Uniquely identifies the interval."
  ::= { optIfOTSnSrcIntervalEntry 1 }

optIfOTSnSrcIntervalSuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOTSnSrcIntervalEntry 2 }

optIfOTSnSrcIntervalLastOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last optical power monitored at the output during the
     interval."
  ::= { optIfOTSnSrcIntervalEntry 3 }

optIfOTSnSrcIntervalLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the output during the
     interval."
  ::= { optIfOTSnSrcIntervalEntry 4 }

optIfOTSnSrcIntervalHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the output during the
     interval."
  ::= { optIfOTSnSrcIntervalEntry 5 }

optIfOTSnSrcIntervalLastInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last optical power monitored at the input during the
     interval."
  ::= { optIfOTSnSrcIntervalEntry 6 }

optIfOTSnSrcIntervalLowInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the input during the
     interval."
  ::= { optIfOTSnSrcIntervalEntry 7 }

optIfOTSnSrcIntervalHighInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the input during the
     interval."
  ::= { optIfOTSnSrcIntervalEntry 8 }

-- OTSn source current day table
-- Contains data for the current 24-hour performance
-- monitoring interval.

optIfOTSnSrcCurDayTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOTSnSrcCurDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OTSn source performance monitoring information for
     the current 24-hour interval."
  ::= { optIfOTSn 8 }

optIfOTSnSrcCurDayEntry OBJECT-TYPE
  SYNTAX  OptIfOTSnSrcCurDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OTSn source performance
     monitoring information of an interface for the current
     24-hour interval."
  INDEX  { ifIndex }
  ::= { optIfOTSnSrcCurDayTable 1 }

OptIfOTSnSrcCurDayEntry ::=
  SEQUENCE {
    optIfOTSnSrcCurDaySuspectedFlag    TruthValue,
    optIfOTSnSrcCurDayLowOutputPower   Integer32,
    optIfOTSnSrcCurDayHighOutputPower  Integer32,
    optIfOTSnSrcCurDayLowInputPower    Integer32,
    optIfOTSnSrcCurDayHighInputPower   Integer32
    }

optIfOTSnSrcCurDaySuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOTSnSrcCurDayEntry 1 }

optIfOTSnSrcCurDayLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the output during the
     current 24-hour interval."
  ::= { optIfOTSnSrcCurDayEntry 2 }

optIfOTSnSrcCurDayHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the output during the
     current 24-hour interval."
  ::= { optIfOTSnSrcCurDayEntry 3 }

optIfOTSnSrcCurDayLowInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the input during the
     current 24-hour interval."
  ::= { optIfOTSnSrcCurDayEntry 4 }

optIfOTSnSrcCurDayHighInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the input during the
     current 24-hour interval."
  ::= { optIfOTSnSrcCurDayEntry 5 }

-- OTSn source previous day table
-- Contains data for the previous 24-hour performance
-- monitoring interval.

optIfOTSnSrcPrevDayTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOTSnSrcPrevDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OTSn source performance monitoring information for
     the previous 24-hour interval."
  ::= { optIfOTSn 9 }

optIfOTSnSrcPrevDayEntry OBJECT-TYPE
  SYNTAX  OptIfOTSnSrcPrevDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OTSn source performance
     monitoring information of an interface for the previous
     24-hour interval."
  INDEX  { ifIndex }
  ::= { optIfOTSnSrcPrevDayTable 1 }

OptIfOTSnSrcPrevDayEntry ::=
  SEQUENCE {
    optIfOTSnSrcPrevDaySuspectedFlag    TruthValue,
    optIfOTSnSrcPrevDayLastOutputPower  Integer32,
    optIfOTSnSrcPrevDayLowOutputPower   Integer32,
    optIfOTSnSrcPrevDayHighOutputPower  Integer32,
    optIfOTSnSrcPrevDayLastInputPower   Integer32,
    optIfOTSnSrcPrevDayLowInputPower    Integer32,
    optIfOTSnSrcPrevDayHighInputPower   Integer32
    }

optIfOTSnSrcPrevDaySuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOTSnSrcPrevDayEntry 1 }

optIfOTSnSrcPrevDayLastOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last optical power monitored at the output during the
     previous 24-hour interval."
  ::= { optIfOTSnSrcPrevDayEntry 2 }

optIfOTSnSrcPrevDayLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the output during the
     previous 24-hour interval."
  ::= { optIfOTSnSrcPrevDayEntry 3 }

optIfOTSnSrcPrevDayHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the output during the
     previous 24-hour interval."
  ::= { optIfOTSnSrcPrevDayEntry 4 }

optIfOTSnSrcPrevDayLastInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last optical power monitored at the input during the
     previous 24-hour interval."
  ::= { optIfOTSnSrcPrevDayEntry 5 }

optIfOTSnSrcPrevDayLowInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the input during the
     previous 24-hour interval."
  ::= { optIfOTSnSrcPrevDayEntry 6 }

optIfOTSnSrcPrevDayHighInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the input during the
     previous 24-hour interval."
  ::= { optIfOTSnSrcPrevDayEntry 7 }

-- the optIfOMSn group
-- This group handles the configuration and performance monitoring
-- information for OMS layers.

-- OMSn config table

optIfOMSnConfigTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOMSnConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OMSn configuration information."
  ::= { optIfOMSn 1 }

optIfOMSnConfigEntry OBJECT-TYPE
  SYNTAX  OptIfOMSnConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OMSn configuration
     information of an interface."
  INDEX  { ifIndex }
  ::= { optIfOMSnConfigTable 1 }

OptIfOMSnConfigEntry ::=
  SEQUENCE {
    optIfOMSnDirectionality OptIfDirectionality,
    optIfOMSnCurrentStatus  BITS
    }

optIfOMSnDirectionality OBJECT-TYPE
  SYNTAX  OptIfDirectionality
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the directionality of the entity."
  ::= { optIfOMSnConfigEntry 1 }

optIfOMSnCurrentStatus OBJECT-TYPE
  SYNTAX  BITS {
    ssfP(0),
    ssfO(1),
    ssf(2),
    bdiP(3),
    bdiO(4),
    bdi(5),
    losP(6)
    }
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the defect condition of the entity, if any.
     This object is applicable only to full capability
     systems whose interface type is IaDI and for which

     optIfOMSnDirectionality has the value sink(1) or
     bidirectional(3)."
  ::= { optIfOMSnConfigEntry 2 }

-- OMSn sink current table
-- Contains data for the current 15-minute performance monitoring
-- interval.

optIfOMSnSinkCurrentTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOMSnSinkCurrentEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OMSn sink performance monitoring information for
     the current 15-minute interval."
  ::= { optIfOMSn 2 }

optIfOMSnSinkCurrentEntry OBJECT-TYPE
  SYNTAX  OptIfOMSnSinkCurrentEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OMSn sink performance
     monitoring information of an interface for the current
     15-minute interval."
  INDEX  { ifIndex }
  ::= { optIfOMSnSinkCurrentTable 1 }

OptIfOMSnSinkCurrentEntry ::=
  SEQUENCE {
    optIfOMSnSinkCurrentSuspectedFlag              TruthValue,
    optIfOMSnSinkCurrentAggregatedInputPower       Integer32,
    optIfOMSnSinkCurrentLowAggregatedInputPower    Integer32,
    optIfOMSnSinkCurrentHighAggregatedInputPower   Integer32,
    optIfOMSnSinkCurrentLowerInputPowerThreshold   Integer32,
    optIfOMSnSinkCurrentUpperInputPowerThreshold   Integer32,
    optIfOMSnSinkCurrentOutputPower                Integer32,
    optIfOMSnSinkCurrentLowOutputPower             Integer32,
    optIfOMSnSinkCurrentHighOutputPower            Integer32,
    optIfOMSnSinkCurrentLowerOutputPowerThreshold  Integer32,
    optIfOMSnSinkCurrentUpperOutputPowerThreshold  Integer32
    }

optIfOMSnSinkCurrentSuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOMSnSinkCurrentEntry 1 }

optIfOMSnSinkCurrentAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The aggregated optical power of all the DWDM input
     channels."
  ::= { optIfOMSnSinkCurrentEntry 2 }

optIfOMSnSinkCurrentLowAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest aggregated optical power of all the DWDM input
     channels during the current 15-minute interval."
  ::= { optIfOMSnSinkCurrentEntry 3 }

optIfOMSnSinkCurrentHighAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest aggregated optical power of all the DWDM input
     channels during the current 15-minute interval."
  ::= { optIfOMSnSinkCurrentEntry 4 }

optIfOMSnSinkCurrentLowerInputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The lower limit threshold on aggregated input power.  If
     optIfOMSnSinkCurrentAggregatedInputPower drops to this value
     or below, a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOMSnSinkCurrentEntry 5 }

optIfOMSnSinkCurrentUpperInputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The upper limit threshold on aggregated input power.  If
     optIfOMSnSinkCurrentAggregatedInputPower reaches or exceeds
     this value, a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOMSnSinkCurrentEntry 6 }

optIfOMSnSinkCurrentOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The optical power monitored at the output."
  ::= { optIfOMSnSinkCurrentEntry 7 }

optIfOMSnSinkCurrentLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the output
     during the current 15-minute interval."
  ::= { optIfOMSnSinkCurrentEntry 8 }

optIfOMSnSinkCurrentHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the output
     during the current 15-minute interval."
  ::= { optIfOMSnSinkCurrentEntry 9 }

optIfOMSnSinkCurrentLowerOutputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The lower limit threshold on output power.  If
     optIfOMSnSinkCurrentOutputPower drops to this value
     or below, a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOMSnSinkCurrentEntry 10 }

optIfOMSnSinkCurrentUpperOutputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The upper limit threshold on output power.  If
     optIfOMSnSinkCurrentOutputPower reaches or exceeds
     this value, a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOMSnSinkCurrentEntry 11 }

-- OMSn sink interval table
-- Contains data for previous 15-minute performance monitoring
-- intervals.

optIfOMSnSinkIntervalTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOMSnSinkIntervalEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of historical OMSn sink performance monitoring
     information."
  ::= { optIfOMSn 3 }

optIfOMSnSinkIntervalEntry OBJECT-TYPE
  SYNTAX  OptIfOMSnSinkIntervalEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OMSn sink performance
     monitoring information of an interface during a particular
     historical interval."
  INDEX  { ifIndex, optIfOMSnSinkIntervalNumber }
  ::= { optIfOMSnSinkIntervalTable 1 }

OptIfOMSnSinkIntervalEntry ::=
  SEQUENCE {
    optIfOMSnSinkIntervalNumber                    OptIfIntervalNumber,
    optIfOMSnSinkIntervalSuspectedFlag             TruthValue,
    optIfOMSnSinkIntervalLastAggregatedInputPower  Integer32,
    optIfOMSnSinkIntervalLowAggregatedInputPower   Integer32,
    optIfOMSnSinkIntervalHighAggregatedInputPower  Integer32,
    optIfOMSnSinkIntervalLastOutputPower           Integer32,
    optIfOMSnSinkIntervalLowOutputPower            Integer32,
    optIfOMSnSinkIntervalHighOutputPower           Integer32
    }

optIfOMSnSinkIntervalNumber OBJECT-TYPE
  SYNTAX  OptIfIntervalNumber
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "Uniquely identifies the interval."
  ::= { optIfOMSnSinkIntervalEntry 1 }

optIfOMSnSinkIntervalSuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOMSnSinkIntervalEntry 2 }

optIfOMSnSinkIntervalLastAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last aggregated optical power of all the DWDM input
     channels during the interval."
  ::= { optIfOMSnSinkIntervalEntry 3 }

optIfOMSnSinkIntervalLowAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest aggregated optical power of all the DWDM input
     channels during the interval."
  ::= { optIfOMSnSinkIntervalEntry 4 }

optIfOMSnSinkIntervalHighAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest aggregated optical power of all the DWDM input
     channels during the interval."
  ::= { optIfOMSnSinkIntervalEntry 5 }

optIfOMSnSinkIntervalLastOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last optical power at the output
     during the interval."
  ::= { optIfOMSnSinkIntervalEntry 6 }

optIfOMSnSinkIntervalLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power at the output
     during the interval."
  ::= { optIfOMSnSinkIntervalEntry 7 }

optIfOMSnSinkIntervalHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power at the output
     during the interval."
  ::= { optIfOMSnSinkIntervalEntry 8 }

-- OMSn sink current day table
-- Contains data for the current 24-hour performance
-- monitoring interval.

optIfOMSnSinkCurDayTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOMSnSinkCurDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OMSn sink performance monitoring information for
     the current 24-hour interval."
  ::= { optIfOMSn 4 }

optIfOMSnSinkCurDayEntry OBJECT-TYPE
  SYNTAX  OptIfOMSnSinkCurDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OMSn sink performance
     monitoring information of an interface for the current
     24-hour interval."
  INDEX  { ifIndex }
  ::= { optIfOMSnSinkCurDayTable 1 }

OptIfOMSnSinkCurDayEntry ::=
  SEQUENCE {
    optIfOMSnSinkCurDaySuspectedFlag             TruthValue,
    optIfOMSnSinkCurDayLowAggregatedInputPower   Integer32,
    optIfOMSnSinkCurDayHighAggregatedInputPower  Integer32,
    optIfOMSnSinkCurDayLowOutputPower            Integer32,
    optIfOMSnSinkCurDayHighOutputPower           Integer32
    }

optIfOMSnSinkCurDaySuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOMSnSinkCurDayEntry 1 }

optIfOMSnSinkCurDayLowAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest aggregated optical power of all the DWDM input
     channels during the current 24-hour interval."
  ::= { optIfOMSnSinkCurDayEntry 2 }

optIfOMSnSinkCurDayHighAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest aggregated optical power of all the DWDM input
     channels during the current 24-hour interval."
  ::= { optIfOMSnSinkCurDayEntry 3 }

optIfOMSnSinkCurDayLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power at the output
     during the current 24-hour interval."
  ::= { optIfOMSnSinkCurDayEntry 4 }

optIfOMSnSinkCurDayHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest  optical power at the output
     during the current 24-hour interval."
  ::= { optIfOMSnSinkCurDayEntry 5 }

-- OMSn sink previous day table
-- Contains data for the previous 24-hour performance
-- monitoring interval.

optIfOMSnSinkPrevDayTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOMSnSinkPrevDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OMSn sink performance monitoring information for
     the previous 24-hour interval."
  ::= { optIfOMSn 5 }

optIfOMSnSinkPrevDayEntry OBJECT-TYPE
  SYNTAX  OptIfOMSnSinkPrevDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OMSn sink performance
     monitoring information of an interface for the previous
     24-hour interval."
  INDEX  { ifIndex }
  ::= { optIfOMSnSinkPrevDayTable 1 }

OptIfOMSnSinkPrevDayEntry ::=
  SEQUENCE {
    optIfOMSnSinkPrevDaySuspectedFlag             TruthValue,
    optIfOMSnSinkPrevDayLastAggregatedInputPower  Integer32,
    optIfOMSnSinkPrevDayLowAggregatedInputPower   Integer32,
    optIfOMSnSinkPrevDayHighAggregatedInputPower  Integer32,
    optIfOMSnSinkPrevDayLastOutputPower           Integer32,
    optIfOMSnSinkPrevDayLowOutputPower            Integer32,
    optIfOMSnSinkPrevDayHighOutputPower           Integer32
    }

optIfOMSnSinkPrevDaySuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOMSnSinkPrevDayEntry 1 }

optIfOMSnSinkPrevDayLastAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last aggregated optical power of all the DWDM input
     channels during the previous 24-hour interval."
  ::= { optIfOMSnSinkPrevDayEntry 2 }

optIfOMSnSinkPrevDayLowAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest aggregated optical power of all the DWDM input
     channels during the previous 24-hour interval."
  ::= { optIfOMSnSinkPrevDayEntry 3 }

optIfOMSnSinkPrevDayHighAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest aggregated optical power of all the DWDM input
     channels during the previous 24-hour interval."
  ::= { optIfOMSnSinkPrevDayEntry 4 }

optIfOMSnSinkPrevDayLastOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last  optical power at the output
     during the previous 24-hour interval."
  ::= { optIfOMSnSinkPrevDayEntry 5 }

optIfOMSnSinkPrevDayLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power at the output
     during the previous 24-hour interval."
  ::= { optIfOMSnSinkPrevDayEntry 6 }

optIfOMSnSinkPrevDayHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power at the output
     during the previous 24-hour interval."
  ::= { optIfOMSnSinkPrevDayEntry 7 }

-- OMSn source current table
-- Contains data for the current 15-minute performance monitoring
-- interval.

optIfOMSnSrcCurrentTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOMSnSrcCurrentEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OMSn source performance monitoring information for
     the current 15-minute interval."
  ::= { optIfOMSn 6 }

optIfOMSnSrcCurrentEntry OBJECT-TYPE
  SYNTAX  OptIfOMSnSrcCurrentEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OMSn source performance
     monitoring information of an interface for the current
     15-minute interval."
  INDEX  { ifIndex }
  ::= { optIfOMSnSrcCurrentTable 1 }

OptIfOMSnSrcCurrentEntry ::=
  SEQUENCE {
    optIfOMSnSrcCurrentSuspectedFlag              TruthValue,
    optIfOMSnSrcCurrentOutputPower                Integer32,
    optIfOMSnSrcCurrentLowOutputPower             Integer32,
    optIfOMSnSrcCurrentHighOutputPower            Integer32,
    optIfOMSnSrcCurrentLowerOutputPowerThreshold  Integer32,
    optIfOMSnSrcCurrentUpperOutputPowerThreshold  Integer32,
    optIfOMSnSrcCurrentAggregatedInputPower       Integer32,
    optIfOMSnSrcCurrentLowAggregatedInputPower    Integer32,
    optIfOMSnSrcCurrentHighAggregatedInputPower   Integer32,
    optIfOMSnSrcCurrentLowerInputPowerThreshold   Integer32,
    optIfOMSnSrcCurrentUpperInputPowerThreshold   Integer32
    }

optIfOMSnSrcCurrentSuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOMSnSrcCurrentEntry 1 }

optIfOMSnSrcCurrentOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The optical power monitored at the output."
  ::= { optIfOMSnSrcCurrentEntry 2 }

optIfOMSnSrcCurrentLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the output during the
     current 15-minute interval."
  ::= { optIfOMSnSrcCurrentEntry 3 }

optIfOMSnSrcCurrentHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the output during the
     current 15-minute interval."
  ::= { optIfOMSnSrcCurrentEntry 4 }

optIfOMSnSrcCurrentLowerOutputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The lower limit threshold on output power.  If
     optIfOMSnSrcCurrentOutputPower drops to this value or below,
     a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOMSnSrcCurrentEntry 5 }

optIfOMSnSrcCurrentUpperOutputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The upper limit threshold on output power.  If
     optIfOMSnSrcCurrentOutputPower reaches or exceeds this value,
     a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOMSnSrcCurrentEntry 6 }

optIfOMSnSrcCurrentAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The aggregated optical power at the input."
  ::= { optIfOMSnSrcCurrentEntry 7 }

optIfOMSnSrcCurrentLowAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest aggregated optical power at the input
     during the current 15-minute interval."
  ::= { optIfOMSnSrcCurrentEntry 8 }

optIfOMSnSrcCurrentHighAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest aggregated optical power at the input
     during the current 15-minute interval."
  ::= { optIfOMSnSrcCurrentEntry 9 }

optIfOMSnSrcCurrentLowerInputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The lower limit threshold on aggregated input power.  If
     optIfOMSnSrcCurrentAggregatedInputPower drops to this value
     or below, a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOMSnSrcCurrentEntry 10 }

optIfOMSnSrcCurrentUpperInputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The upper limit threshold on aggregated input power.  If
     optIfOMSnSrcCurrentAggregatedInputPower reaches or exceeds
     this value, a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOMSnSrcCurrentEntry 11 }

-- OMSn source interval table
-- Contains data for previous 15-minute performance monitoring
-- intervals.

optIfOMSnSrcIntervalTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOMSnSrcIntervalEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of historical OMSn source performance monitoring
     information."
  ::= { optIfOMSn 7 }

optIfOMSnSrcIntervalEntry OBJECT-TYPE
  SYNTAX  OptIfOMSnSrcIntervalEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OMSn source performance
     monitoring information of an interface during a particular
     historical interval."
  INDEX  { ifIndex, optIfOMSnSrcIntervalNumber }
  ::= { optIfOMSnSrcIntervalTable 1 }

OptIfOMSnSrcIntervalEntry ::=

  SEQUENCE {
    optIfOMSnSrcIntervalNumber                    OptIfIntervalNumber,
    optIfOMSnSrcIntervalSuspectedFlag             TruthValue,
    optIfOMSnSrcIntervalLastOutputPower           Integer32,
    optIfOMSnSrcIntervalLowOutputPower            Integer32,
    optIfOMSnSrcIntervalHighOutputPower           Integer32,
    optIfOMSnSrcIntervalLastAggregatedInputPower  Integer32,
    optIfOMSnSrcIntervalLowAggregatedInputPower   Integer32,
    optIfOMSnSrcIntervalHighAggregatedInputPower  Integer32
    }

optIfOMSnSrcIntervalNumber OBJECT-TYPE
  SYNTAX  OptIfIntervalNumber
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "Uniquely identifies the interval."
  ::= { optIfOMSnSrcIntervalEntry 1 }

optIfOMSnSrcIntervalSuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOMSnSrcIntervalEntry 2 }

optIfOMSnSrcIntervalLastOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last optical power monitored at the output during the
     interval."
  ::= { optIfOMSnSrcIntervalEntry 3 }

optIfOMSnSrcIntervalLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the output during the
     interval."
  ::= { optIfOMSnSrcIntervalEntry 4 }

optIfOMSnSrcIntervalHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the output during the
     interval."
  ::= { optIfOMSnSrcIntervalEntry 5 }

optIfOMSnSrcIntervalLastAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last aggregated optical power at the input
     during the interval."
  ::= { optIfOMSnSrcIntervalEntry 6 }

optIfOMSnSrcIntervalLowAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest aggregated optical power at the input
     during the interval."
  ::= { optIfOMSnSrcIntervalEntry 7 }

optIfOMSnSrcIntervalHighAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest aggregated optical power at the input
     during the interval."
  ::= { optIfOMSnSrcIntervalEntry 8 }

-- OMSn source current day table
-- Contains data for the current 24-hour performance
-- monitoring interval.

optIfOMSnSrcCurDayTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOMSnSrcCurDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OMSn source performance monitoring information for
     the current 24-hour interval."
  ::= { optIfOMSn 8 }

optIfOMSnSrcCurDayEntry OBJECT-TYPE
  SYNTAX  OptIfOMSnSrcCurDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OMSn source performance
     monitoring information of an interface for the current
     24-hour interval."
  INDEX  { ifIndex }
  ::= { optIfOMSnSrcCurDayTable 1 }

OptIfOMSnSrcCurDayEntry ::=
  SEQUENCE {
    optIfOMSnSrcCurDaySuspectedFlag             TruthValue,
    optIfOMSnSrcCurDayLowOutputPower            Integer32,
    optIfOMSnSrcCurDayHighOutputPower           Integer32,
    optIfOMSnSrcCurDayLowAggregatedInputPower   Integer32,
    optIfOMSnSrcCurDayHighAggregatedInputPower  Integer32
    }

optIfOMSnSrcCurDaySuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOMSnSrcCurDayEntry 1 }

optIfOMSnSrcCurDayLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the output during the
     current 24-hour interval."
  ::= { optIfOMSnSrcCurDayEntry 2 }

optIfOMSnSrcCurDayHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the output during the
     current 24-hour interval."
  ::= { optIfOMSnSrcCurDayEntry 3 }

optIfOMSnSrcCurDayLowAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest aggregated optical power at the input
     during the current 24-hour interval."
  ::= { optIfOMSnSrcCurDayEntry 4 }

optIfOMSnSrcCurDayHighAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest aggregated optical power at the input
     during the current 24-hour interval."
  ::= { optIfOMSnSrcCurDayEntry 5 }

-- OMSn source previous day table
-- Contains data for the previous 24-hour performance
-- monitoring interval.

optIfOMSnSrcPrevDayTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOMSnSrcPrevDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OMSn source performance monitoring information for
     the previous 24-hour interval."
  ::= { optIfOMSn 9 }

optIfOMSnSrcPrevDayEntry OBJECT-TYPE
  SYNTAX  OptIfOMSnSrcPrevDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OMSn source performance
     monitoring information of an interface for the previous
     24-hour interval."
  INDEX  { ifIndex }
  ::= { optIfOMSnSrcPrevDayTable 1 }

OptIfOMSnSrcPrevDayEntry ::=
  SEQUENCE {
    optIfOMSnSrcPrevDaySuspectedFlag             TruthValue,
    optIfOMSnSrcPrevDayLastOutputPower           Integer32,
    optIfOMSnSrcPrevDayLowOutputPower            Integer32,
    optIfOMSnSrcPrevDayHighOutputPower           Integer32,
    optIfOMSnSrcPrevDayLastAggregatedInputPower  Integer32,
    optIfOMSnSrcPrevDayLowAggregatedInputPower   Integer32,
    optIfOMSnSrcPrevDayHighAggregatedInputPower  Integer32
    }

optIfOMSnSrcPrevDaySuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOMSnSrcPrevDayEntry 1 }

optIfOMSnSrcPrevDayLastOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last optical power monitored at the output during the
     previous 24-hour interval."
  ::= { optIfOMSnSrcPrevDayEntry 2 }

optIfOMSnSrcPrevDayLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the output during the
     previous 24-hour interval."
  ::= { optIfOMSnSrcPrevDayEntry 3 }

optIfOMSnSrcPrevDayHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the output during the
     previous 24-hour interval."
  ::= { optIfOMSnSrcPrevDayEntry 4 }

optIfOMSnSrcPrevDayLastAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last aggregated optical power at the input during the
     previous 24-hour interval."
  ::= { optIfOMSnSrcPrevDayEntry 5 }

optIfOMSnSrcPrevDayLowAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest aggregated optical power at the input during the
     previous 24-hour interval."
  ::= { optIfOMSnSrcPrevDayEntry 6 }

optIfOMSnSrcPrevDayHighAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest aggregated optical power at the input during the
     previous 24-hour interval."
  ::= { optIfOMSnSrcPrevDayEntry 7 }

-- the optIfOChGroup group
-- This group handles the configuration and performance monitoring
-- information for OChGroup layers.

-- OChGroup config table

optIfOChGroupConfigTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOChGroupConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OChGroup configuration information."
  ::= { optIfOChGroup 1 }

optIfOChGroupConfigEntry OBJECT-TYPE
  SYNTAX  OptIfOChGroupConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OChGroup configuration
     information of an interface."
  INDEX  { ifIndex }
  ::= { optIfOChGroupConfigTable 1 }

OptIfOChGroupConfigEntry ::=
  SEQUENCE {
    optIfOChGroupDirectionality OptIfDirectionality
    }

optIfOChGroupDirectionality OBJECT-TYPE
  SYNTAX  OptIfDirectionality
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the directionality of the entity."
  ::= { optIfOChGroupConfigEntry 1 }

-- OChGroup sink current table
-- Contains data for the current 15-minute performance monitoring
-- interval.

optIfOChGroupSinkCurrentTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOChGroupSinkCurrentEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OChGroup sink performance monitoring information for
     the current 15-minute interval."
  ::= { optIfOChGroup 2 }

optIfOChGroupSinkCurrentEntry OBJECT-TYPE
  SYNTAX  OptIfOChGroupSinkCurrentEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OChGroup sink performance
     monitoring information of an interface for the current
     15-minute interval."
  INDEX  { ifIndex }
  ::= { optIfOChGroupSinkCurrentTable 1 }

OptIfOChGroupSinkCurrentEntry ::=
  SEQUENCE {
    optIfOChGroupSinkCurrentSuspectedFlag              TruthValue,
    optIfOChGroupSinkCurrentAggregatedInputPower       Integer32,
    optIfOChGroupSinkCurrentLowAggregatedInputPower    Integer32,
    optIfOChGroupSinkCurrentHighAggregatedInputPower   Integer32,
    optIfOChGroupSinkCurrentLowerInputPowerThreshold   Integer32,
    optIfOChGroupSinkCurrentUpperInputPowerThreshold   Integer32,
    optIfOChGroupSinkCurrentOutputPower                Integer32,
    optIfOChGroupSinkCurrentLowOutputPower             Integer32,
    optIfOChGroupSinkCurrentHighOutputPower            Integer32,
    optIfOChGroupSinkCurrentLowerOutputPowerThreshold  Integer32,
    optIfOChGroupSinkCurrentUpperOutputPowerThreshold  Integer32
    }

optIfOChGroupSinkCurrentSuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOChGroupSinkCurrentEntry 1 }

optIfOChGroupSinkCurrentAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The aggregated optical power of all the DWDM input
     channels in the OChGroup."
  ::= { optIfOChGroupSinkCurrentEntry 2 }

optIfOChGroupSinkCurrentLowAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest aggregated optical power of all the DWDM input
     channels in the OChGroup during the current 15-minute interval."
  ::= { optIfOChGroupSinkCurrentEntry 3 }

optIfOChGroupSinkCurrentHighAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest aggregated optical power of all the DWDM input
     channels in the OChGroup during the current 15-minute interval."
  ::= { optIfOChGroupSinkCurrentEntry 4 }

optIfOChGroupSinkCurrentLowerInputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The lower limit threshold on aggregated input power.  If
     optIfOChGroupSinkCurrentAggregatedInputPower drops to this value
     or below, a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOChGroupSinkCurrentEntry 5 }

optIfOChGroupSinkCurrentUpperInputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The upper limit threshold on aggregated input power.  If
     optIfOChGroupSinkCurrentAggregatedInputPower reaches or exceeds
     this value, a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOChGroupSinkCurrentEntry 6 }

optIfOChGroupSinkCurrentOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The optical power monitored at the output
     in the OChGroup."
  ::= { optIfOChGroupSinkCurrentEntry 7 }

optIfOChGroupSinkCurrentLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the output
     in the OChGroup during the current 15-minute interval."
  ::= { optIfOChGroupSinkCurrentEntry 8 }

optIfOChGroupSinkCurrentHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the output
     in the OChGroup during the current 15-minute interval."
  ::= { optIfOChGroupSinkCurrentEntry 9 }

optIfOChGroupSinkCurrentLowerOutputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The lower limit threshold on the output power.  If
     optIfOChGroupSinkCurrentOutputPower drops to this value
     or below, a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOChGroupSinkCurrentEntry 10 }

optIfOChGroupSinkCurrentUpperOutputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The upper limit threshold on the output power.  If
     optIfOChGroupSinkCurrentOutputPower reaches or exceeds
     this value, a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOChGroupSinkCurrentEntry 11 }

-- OChGroup sink interval table
-- Contains data for previous 15-minute performance monitoring
-- intervals.

optIfOChGroupSinkIntervalTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOChGroupSinkIntervalEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of historical OChGroup sink performance monitoring
     information."
  ::= { optIfOChGroup 3 }

optIfOChGroupSinkIntervalEntry OBJECT-TYPE
  SYNTAX  OptIfOChGroupSinkIntervalEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OChGroup sink performance
     monitoring information of an interface during a particular
     historical interval."
  INDEX  { ifIndex, optIfOChGroupSinkIntervalNumber }
  ::= { optIfOChGroupSinkIntervalTable 1 }

OptIfOChGroupSinkIntervalEntry ::=
  SEQUENCE {
   optIfOChGroupSinkIntervalNumber                  OptIfIntervalNumber,
   optIfOChGroupSinkIntervalSuspectedFlag            TruthValue,
   optIfOChGroupSinkIntervalLastAggregatedInputPower Integer32,
   optIfOChGroupSinkIntervalLowAggregatedInputPower  Integer32,
   optIfOChGroupSinkIntervalHighAggregatedInputPower Integer32,
   optIfOChGroupSinkIntervalLastOutputPower          Integer32,
   optIfOChGroupSinkIntervalLowOutputPower           Integer32,
   optIfOChGroupSinkIntervalHighOutputPower          Integer32
   }

optIfOChGroupSinkIntervalNumber OBJECT-TYPE
  SYNTAX  OptIfIntervalNumber
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "Uniquely identifies the interval."
  ::= { optIfOChGroupSinkIntervalEntry 1 }

optIfOChGroupSinkIntervalSuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOChGroupSinkIntervalEntry 2 }

optIfOChGroupSinkIntervalLastAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last aggregated optical power of all the DWDM input
     channels in the OChGroup during the interval."
  ::= { optIfOChGroupSinkIntervalEntry 3 }

optIfOChGroupSinkIntervalLowAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest aggregated optical power of all the DWDM input
     channels in the OChGroup during the interval."
  ::= { optIfOChGroupSinkIntervalEntry 4 }

optIfOChGroupSinkIntervalHighAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest aggregated optical power of all the DWDM input
     channels in the OChGroup during the interval."
  ::= { optIfOChGroupSinkIntervalEntry 5 }

optIfOChGroupSinkIntervalLastOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last optical power monitored at the output
     in the OChGroup during the interval."
  ::= { optIfOChGroupSinkIntervalEntry 6 }

optIfOChGroupSinkIntervalLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the output
     in the OChGroup during the interval."
  ::= { optIfOChGroupSinkIntervalEntry 7 }

optIfOChGroupSinkIntervalHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the output
     in the OChGroup during the interval."
  ::= { optIfOChGroupSinkIntervalEntry 8 }

-- OChGroup sink current day table
-- Contains data for the current 24-hour performance
-- monitoring interval.

optIfOChGroupSinkCurDayTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOChGroupSinkCurDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OChGroup sink performance monitoring information for
     the current 24-hour interval."
  ::= { optIfOChGroup 4 }

optIfOChGroupSinkCurDayEntry OBJECT-TYPE
  SYNTAX  OptIfOChGroupSinkCurDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OChGroup sink performance
     monitoring information of an interface for the current
     24-hour interval."
  INDEX  { ifIndex }
  ::= { optIfOChGroupSinkCurDayTable 1 }

OptIfOChGroupSinkCurDayEntry ::=
  SEQUENCE {
    optIfOChGroupSinkCurDaySuspectedFlag             TruthValue,
    optIfOChGroupSinkCurDayLowAggregatedInputPower   Integer32,
    optIfOChGroupSinkCurDayHighAggregatedInputPower  Integer32,
    optIfOChGroupSinkCurDayLowOutputPower            Integer32,
    optIfOChGroupSinkCurDayHighOutputPower           Integer32
    }

optIfOChGroupSinkCurDaySuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOChGroupSinkCurDayEntry 1 }

optIfOChGroupSinkCurDayLowAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest aggregated optical power of all the DWDM input
     channels in the OChGroup during the current 24-hour interval."
  ::= { optIfOChGroupSinkCurDayEntry 2 }

optIfOChGroupSinkCurDayHighAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest aggregated optical power of all the DWDM input
     channels in the OChGroup during the current 24-hour interval."
  ::= { optIfOChGroupSinkCurDayEntry 3 }

optIfOChGroupSinkCurDayLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the output
     in the OChGroup during the current 24-hour interval."
  ::= { optIfOChGroupSinkCurDayEntry 4 }

optIfOChGroupSinkCurDayHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the output
     in the OChGroup during the current 24-hour interval."
  ::= { optIfOChGroupSinkCurDayEntry 5 }

-- OChGroup sink previous day table
-- Contains data for the previous 24-hour performance
-- monitoring interval.

optIfOChGroupSinkPrevDayTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOChGroupSinkPrevDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OChGroup sink performance monitoring information for
     the previous 24-hour interval."
  ::= { optIfOChGroup 5 }

optIfOChGroupSinkPrevDayEntry OBJECT-TYPE
  SYNTAX  OptIfOChGroupSinkPrevDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OChGroup sink performance
     monitoring information of an interface for the previous
     24-hour interval."
  INDEX  { ifIndex }
  ::= { optIfOChGroupSinkPrevDayTable 1 }

OptIfOChGroupSinkPrevDayEntry ::=
  SEQUENCE {
    optIfOChGroupSinkPrevDaySuspectedFlag             TruthValue,
    optIfOChGroupSinkPrevDayLastAggregatedInputPower  Integer32,
    optIfOChGroupSinkPrevDayLowAggregatedInputPower   Integer32,
    optIfOChGroupSinkPrevDayHighAggregatedInputPower  Integer32,
    optIfOChGroupSinkPrevDayLastOutputPower           Integer32,
    optIfOChGroupSinkPrevDayLowOutputPower            Integer32,
    optIfOChGroupSinkPrevDayHighOutputPower           Integer32
    }

optIfOChGroupSinkPrevDaySuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOChGroupSinkPrevDayEntry 1 }

optIfOChGroupSinkPrevDayLastAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last aggregated optical power of all the DWDM input
     channels in the OChGroup during the previous 24-hour interval."
  ::= { optIfOChGroupSinkPrevDayEntry 2 }

optIfOChGroupSinkPrevDayLowAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest aggregated optical power of all the DWDM input
     channels in the OChGroup during the previous 24-hour interval."
  ::= { optIfOChGroupSinkPrevDayEntry 3 }

optIfOChGroupSinkPrevDayHighAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest aggregated optical power of all the DWDM input
     channels in the OChGroup during the previous 24-hour interval."
  ::= { optIfOChGroupSinkPrevDayEntry 4 }

optIfOChGroupSinkPrevDayLastOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last optical power monitored at the output
     in the OChGroup during the previous 24-hour interval."
  ::= { optIfOChGroupSinkPrevDayEntry 5 }

optIfOChGroupSinkPrevDayLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the output
     in the OChGroup during the previous 24-hour interval."
  ::= { optIfOChGroupSinkPrevDayEntry 6 }

optIfOChGroupSinkPrevDayHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the output
     in the OChGroup during the previous 24-hour interval."
  ::= { optIfOChGroupSinkPrevDayEntry 7 }

-- OChGroup source current table
-- Contains data for the current 15-minute performance monitoring
-- interval.

optIfOChGroupSrcCurrentTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOChGroupSrcCurrentEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OChGroup source performance monitoring information for
     the current 15-minute interval."
  ::= { optIfOChGroup 6 }

optIfOChGroupSrcCurrentEntry OBJECT-TYPE
  SYNTAX  OptIfOChGroupSrcCurrentEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OChGroup source performance
     monitoring information of an interface for the current
     15-minute interval."
  INDEX  { ifIndex }
  ::= { optIfOChGroupSrcCurrentTable 1 }

OptIfOChGroupSrcCurrentEntry ::=
  SEQUENCE {
    optIfOChGroupSrcCurrentSuspectedFlag              TruthValue,
    optIfOChGroupSrcCurrentOutputPower                Integer32,
    optIfOChGroupSrcCurrentLowOutputPower             Integer32,
    optIfOChGroupSrcCurrentHighOutputPower            Integer32,
    optIfOChGroupSrcCurrentLowerOutputPowerThreshold  Integer32,
    optIfOChGroupSrcCurrentUpperOutputPowerThreshold  Integer32,
    optIfOChGroupSrcCurrentAggregatedInputPower       Integer32,
    optIfOChGroupSrcCurrentLowAggregatedInputPower    Integer32,
    optIfOChGroupSrcCurrentHighAggregatedInputPower   Integer32,
    optIfOChGroupSrcCurrentLowerInputPowerThreshold   Integer32,
    optIfOChGroupSrcCurrentUpperInputPowerThreshold   Integer32
    }

optIfOChGroupSrcCurrentSuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOChGroupSrcCurrentEntry 1 }

optIfOChGroupSrcCurrentOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The optical power monitored at the output."
  ::= { optIfOChGroupSrcCurrentEntry 2 }

optIfOChGroupSrcCurrentLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the output during the
     current 15-minute interval."
  ::= { optIfOChGroupSrcCurrentEntry 3 }

optIfOChGroupSrcCurrentHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the output during the
     current 15-minute interval."
  ::= { optIfOChGroupSrcCurrentEntry 4 }

optIfOChGroupSrcCurrentLowerOutputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The lower limit threshold on output power.  If
     optIfOChGroupSrcCurrentOutputPower drops to this value or below,
     a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOChGroupSrcCurrentEntry 5 }

optIfOChGroupSrcCurrentUpperOutputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The upper limit threshold on output power.  If
     optIfOChGroupSrcCurrentOutputPower reaches or exceeds this value,
     a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOChGroupSrcCurrentEntry 6 }

optIfOChGroupSrcCurrentAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The aggregated optical power monitored at the input."
  ::= { optIfOChGroupSrcCurrentEntry 7 }

optIfOChGroupSrcCurrentLowAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest aggregated optical power monitored at the input
     during the current 15-minute interval."
  ::= { optIfOChGroupSrcCurrentEntry 8 }

optIfOChGroupSrcCurrentHighAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest aggregated optical power monitored at the input
     during the current 15-minute interval."
  ::= { optIfOChGroupSrcCurrentEntry 9 }

optIfOChGroupSrcCurrentLowerInputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The lower limit threshold on input power.  If
     optIfOChGroupSrcCurrentAggregatedInputPower drops to this value
     or below, a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOChGroupSrcCurrentEntry 10 }

optIfOChGroupSrcCurrentUpperInputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The upper limit threshold on input power.  If
     optIfOChGroupSrcCurrentAggregatedInputPower reaches or exceeds
     this value, a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOChGroupSrcCurrentEntry 11 }

-- OChGroup source interval table
-- Contains data for previous 15-minute performance monitoring
-- intervals.

optIfOChGroupSrcIntervalTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOChGroupSrcIntervalEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of historical OChGroup source performance monitoring
     information."
  ::= { optIfOChGroup 7 }

optIfOChGroupSrcIntervalEntry OBJECT-TYPE
  SYNTAX  OptIfOChGroupSrcIntervalEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OChGroup source performance
     monitoring information of an interface during a particular
     historical interval."
  INDEX  { ifIndex, optIfOChGroupSrcIntervalNumber }
  ::= { optIfOChGroupSrcIntervalTable 1 }

OptIfOChGroupSrcIntervalEntry ::=
  SEQUENCE {
   optIfOChGroupSrcIntervalNumber                   OptIfIntervalNumber,
   optIfOChGroupSrcIntervalSuspectedFlag             TruthValue,
   optIfOChGroupSrcIntervalLastOutputPower           Integer32,
   optIfOChGroupSrcIntervalLowOutputPower            Integer32,
   optIfOChGroupSrcIntervalHighOutputPower           Integer32,
   optIfOChGroupSrcIntervalLastAggregatedInputPower  Integer32,
   optIfOChGroupSrcIntervalLowAggregatedInputPower   Integer32,
   optIfOChGroupSrcIntervalHighAggregatedInputPower  Integer32
   }

optIfOChGroupSrcIntervalNumber OBJECT-TYPE
  SYNTAX  OptIfIntervalNumber
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "Uniquely identifies the interval."
  ::= { optIfOChGroupSrcIntervalEntry 1 }

optIfOChGroupSrcIntervalSuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOChGroupSrcIntervalEntry 2 }

optIfOChGroupSrcIntervalLastOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last optical power monitored at the output during the
     interval."
  ::= { optIfOChGroupSrcIntervalEntry 3 }

optIfOChGroupSrcIntervalLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the output during the
     interval."
  ::= { optIfOChGroupSrcIntervalEntry 4 }

optIfOChGroupSrcIntervalHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the output during the
     interval."
  ::= { optIfOChGroupSrcIntervalEntry 5 }

optIfOChGroupSrcIntervalLastAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last aggregated optical power monitored at the input
     during the interval."
  ::= { optIfOChGroupSrcIntervalEntry 6 }

optIfOChGroupSrcIntervalLowAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest aggregated optical power monitored at the input
     during the interval."
  ::= { optIfOChGroupSrcIntervalEntry 7 }

optIfOChGroupSrcIntervalHighAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest aggregated optical power monitored at the input
     during the interval."
  ::= { optIfOChGroupSrcIntervalEntry 8 }

-- OChGroup source current day table
-- Contains data for the current 24-hour performance
-- monitoring interval.

optIfOChGroupSrcCurDayTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOChGroupSrcCurDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OChGroup source performance monitoring information for
     the current 24-hour interval."
  ::= { optIfOChGroup 8 }

optIfOChGroupSrcCurDayEntry OBJECT-TYPE
  SYNTAX  OptIfOChGroupSrcCurDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OChGroup source performance
     monitoring information of an interface for the current
     24-hour interval."
  INDEX  { ifIndex }
  ::= { optIfOChGroupSrcCurDayTable 1 }

OptIfOChGroupSrcCurDayEntry ::=
  SEQUENCE {
    optIfOChGroupSrcCurDaySuspectedFlag             TruthValue,
    optIfOChGroupSrcCurDayLowOutputPower            Integer32,
    optIfOChGroupSrcCurDayHighOutputPower           Integer32,
    optIfOChGroupSrcCurDayLowAggregatedInputPower   Integer32,
    optIfOChGroupSrcCurDayHighAggregatedInputPower  Integer32
    }

optIfOChGroupSrcCurDaySuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOChGroupSrcCurDayEntry 1 }

optIfOChGroupSrcCurDayLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the output during the
     current 24-hour interval."
  ::= { optIfOChGroupSrcCurDayEntry 2 }

optIfOChGroupSrcCurDayHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the output during the
     current 24-hour interval."
  ::= { optIfOChGroupSrcCurDayEntry 3 }

optIfOChGroupSrcCurDayLowAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest aggregated optical power monitored at the input
     during the current 24-hour interval."
  ::= { optIfOChGroupSrcCurDayEntry 4 }

optIfOChGroupSrcCurDayHighAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest aggregated optical power monitored at the input
     during the current 24-hour interval."
  ::= { optIfOChGroupSrcCurDayEntry 5 }

-- OChGroup source previous day table
-- Contains data for the previous 24-hour performance
-- monitoring interval.

optIfOChGroupSrcPrevDayTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOChGroupSrcPrevDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OChGroup source performance monitoring information for
     the previous 24-hour interval."
  ::= { optIfOChGroup 9 }

optIfOChGroupSrcPrevDayEntry OBJECT-TYPE
  SYNTAX  OptIfOChGroupSrcPrevDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OChGroup source performance
     monitoring information of an interface for the previous
     24-hour interval."
  INDEX  { ifIndex }
  ::= { optIfOChGroupSrcPrevDayTable 1 }

OptIfOChGroupSrcPrevDayEntry ::=
  SEQUENCE {
    optIfOChGroupSrcPrevDaySuspectedFlag             TruthValue,
    optIfOChGroupSrcPrevDayLastOutputPower           Integer32,
    optIfOChGroupSrcPrevDayLowOutputPower            Integer32,
    optIfOChGroupSrcPrevDayHighOutputPower           Integer32,
    optIfOChGroupSrcPrevDayLastAggregatedInputPower  Integer32,
    optIfOChGroupSrcPrevDayLowAggregatedInputPower   Integer32,
    optIfOChGroupSrcPrevDayHighAggregatedInputPower  Integer32
    }

optIfOChGroupSrcPrevDaySuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOChGroupSrcPrevDayEntry 1 }

optIfOChGroupSrcPrevDayLastOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last optical power monitored at the output during the
     previous 24-hour interval."
  ::= { optIfOChGroupSrcPrevDayEntry 2 }

optIfOChGroupSrcPrevDayLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the output during the
     previous 24-hour interval."
  ::= { optIfOChGroupSrcPrevDayEntry 3 }

optIfOChGroupSrcPrevDayHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the output during the
     previous 24-hour interval."
  ::= { optIfOChGroupSrcPrevDayEntry 4 }

optIfOChGroupSrcPrevDayLastAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last aggregated optical power monitored at the input
     during the previous 24-hour interval."
  ::= { optIfOChGroupSrcPrevDayEntry 5 }

optIfOChGroupSrcPrevDayLowAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest aggregated optical power monitored at the input
     during the previous 24-hour interval."
  ::= { optIfOChGroupSrcPrevDayEntry 6 }

optIfOChGroupSrcPrevDayHighAggregatedInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest aggregated optical power monitored at the input
     during the previous 24-hour interval."
  ::= { optIfOChGroupSrcPrevDayEntry 7 }

-- the optIfOCh group

-- This group handles the configuration and
-- performance monitoring information for OCh layers.

-- OCh config table

optIfOChConfigTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOChConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OCh configuration information."
  ::= { optIfOCh 1 }

optIfOChConfigEntry OBJECT-TYPE
  SYNTAX  OptIfOChConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OCh configuration
     information of an interface."
  INDEX  { ifIndex }
  ::= { optIfOChConfigTable 1 }

OptIfOChConfigEntry ::=
  SEQUENCE {
    optIfOChDirectionality     OptIfDirectionality,
    optIfOChCurrentStatus      BITS
    }

optIfOChDirectionality OBJECT-TYPE
  SYNTAX  OptIfDirectionality
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the directionality of the entity."
  ::= { optIfOChConfigEntry 1 }

optIfOChCurrentStatus OBJECT-TYPE
  SYNTAX  BITS {
    losP(0),
    los(1),
    oci(2),
    ssfP(3),
    ssfO(4),
    ssf(5)
    }
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the defect condition of the entity, if any.
     This object is applicable when optIfOChDirectionality
     has the value sink(1) or bidirectional(3).
     In full-capability systems the bit position los(1) is not used.
     In reduced-capability systems or at IrDI interfaces only
     the bit positions los(1) and ssfP(3) are used."
  ::= { optIfOChConfigEntry 2 }

-- OCh sink current table
-- Contains data for the current 15-minute performance monitoring
-- interval.

optIfOChSinkCurrentTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOChSinkCurrentEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OCh sink performance monitoring information for
     the current 15-minute interval."
  ::= { optIfOCh 2 }

optIfOChSinkCurrentEntry OBJECT-TYPE
  SYNTAX  OptIfOChSinkCurrentEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OCh sink performance
     monitoring information for an interface for the current
     15-minute interval."
  INDEX  { ifIndex }
  ::= { optIfOChSinkCurrentTable 1 }

OptIfOChSinkCurrentEntry ::=
  SEQUENCE {
    optIfOChSinkCurrentSuspectedFlag             TruthValue,
    optIfOChSinkCurrentInputPower                Integer32,
    optIfOChSinkCurrentLowInputPower             Integer32,
    optIfOChSinkCurrentHighInputPower            Integer32,
    optIfOChSinkCurrentLowerInputPowerThreshold  Integer32,
    optIfOChSinkCurrentUpperInputPowerThreshold  Integer32
    }

optIfOChSinkCurrentSuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOChSinkCurrentEntry 1 }

optIfOChSinkCurrentInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The optical power monitored at the input."
  ::= { optIfOChSinkCurrentEntry 2 }

optIfOChSinkCurrentLowInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the input during the
     current 15-minute interval."
  ::= { optIfOChSinkCurrentEntry 3 }

optIfOChSinkCurrentHighInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the input during the
     current 15-minute interval."
  ::= { optIfOChSinkCurrentEntry 4 }

optIfOChSinkCurrentLowerInputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The lower limit threshold on input power.  If
     optIfOChSinkCurrentInputPower drops to this value or below,
     a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOChSinkCurrentEntry 5 }

optIfOChSinkCurrentUpperInputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The upper limit threshold on input power.  If
     optIfOChSinkCurrentInputPower reaches or exceeds this value,
     a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOChSinkCurrentEntry 6 }

-- OCh sink interval table
-- Contains data for previous 15-minute performance monitoring
-- intervals.

optIfOChSinkIntervalTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOChSinkIntervalEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of historical OCh sink performance monitoring
     information."
  ::= { optIfOCh 3 }

optIfOChSinkIntervalEntry OBJECT-TYPE
  SYNTAX  OptIfOChSinkIntervalEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OCh sink performance
     monitoring information of an interface during a particular
     historical interval."
  INDEX  { ifIndex, optIfOChSinkIntervalNumber }
  ::= { optIfOChSinkIntervalTable 1 }

OptIfOChSinkIntervalEntry ::=
  SEQUENCE {
    optIfOChSinkIntervalNumber          OptIfIntervalNumber,
    optIfOChSinkIntervalSuspectedFlag   TruthValue,
    optIfOChSinkIntervalLastInputPower  Integer32,
    optIfOChSinkIntervalLowInputPower   Integer32,
    optIfOChSinkIntervalHighInputPower  Integer32
    }

optIfOChSinkIntervalNumber OBJECT-TYPE
  SYNTAX  OptIfIntervalNumber
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "Uniquely identifies the interval."
  ::= { optIfOChSinkIntervalEntry 1 }

optIfOChSinkIntervalSuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOChSinkIntervalEntry 2 }

optIfOChSinkIntervalLastInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last optical power monitored at the input during the
     interval."
  ::= { optIfOChSinkIntervalEntry 3 }

optIfOChSinkIntervalLowInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the input during the
     interval."
  ::= { optIfOChSinkIntervalEntry 4 }

optIfOChSinkIntervalHighInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the input during the
     interval."
  ::= { optIfOChSinkIntervalEntry 5 }

-- OCh sink current day table
-- Contains data for the current 24-hour performance
-- monitoring interval.

optIfOChSinkCurDayTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOChSinkCurDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OCh sink performance monitoring information for
     the current 24-hour interval."
  ::= { optIfOCh 4 }

optIfOChSinkCurDayEntry OBJECT-TYPE
  SYNTAX  OptIfOChSinkCurDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OCh sink performance
     monitoring information of an interface for the current
     24-hour interval."
  INDEX  { ifIndex }
  ::= { optIfOChSinkCurDayTable 1 }

OptIfOChSinkCurDayEntry ::=
  SEQUENCE {
    optIfOChSinkCurDaySuspectedFlag   TruthValue,
    optIfOChSinkCurDayLowInputPower   Integer32,
    optIfOChSinkCurDayHighInputPower  Integer32
    }

optIfOChSinkCurDaySuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOChSinkCurDayEntry 1 }

optIfOChSinkCurDayLowInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the input during the
     current 24-hour interval."
  ::= { optIfOChSinkCurDayEntry 2 }

optIfOChSinkCurDayHighInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the input during the
     current 24-hour interval."
  ::= { optIfOChSinkCurDayEntry 3 }

-- OCh sink previous day table
-- Contains data for the previous 24-hour performance
-- monitoring interval.

optIfOChSinkPrevDayTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOChSinkPrevDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OCh sink performance monitoring information for
     the previous 24-hour interval."
  ::= { optIfOCh 5 }

optIfOChSinkPrevDayEntry OBJECT-TYPE
  SYNTAX  OptIfOChSinkPrevDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OCh sink performance
     monitoring information of an interface for the previous
     24-hour interval."
  INDEX  { ifIndex }
  ::= { optIfOChSinkPrevDayTable 1 }

OptIfOChSinkPrevDayEntry ::=
  SEQUENCE {
    optIfOChSinkPrevDaySuspectedFlag   TruthValue,
    optIfOChSinkPrevDayLastInputPower  Integer32,
    optIfOChSinkPrevDayLowInputPower   Integer32,
    optIfOChSinkPrevDayHighInputPower  Integer32
    }

optIfOChSinkPrevDaySuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOChSinkPrevDayEntry 1 }

optIfOChSinkPrevDayLastInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last optical power monitored at the input during the
     previous 24-hour interval."
  ::= { optIfOChSinkPrevDayEntry 2 }

optIfOChSinkPrevDayLowInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the input during the
     previous 24-hour interval."
  ::= { optIfOChSinkPrevDayEntry 3 }

optIfOChSinkPrevDayHighInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the input during the
     previous 24-hour interval."
  ::= { optIfOChSinkPrevDayEntry 4 }

-- OCh source current table
-- Contains data for the current 15-minute performance monitoring
-- interval.

optIfOChSrcCurrentTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOChSrcCurrentEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OCh source performance monitoring information for
     the current 15-minute interval."
  ::= { optIfOCh 6 }

optIfOChSrcCurrentEntry OBJECT-TYPE
  SYNTAX  OptIfOChSrcCurrentEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OCh source performance
     monitoring information of an interface for the current
     15-minute interval."
  INDEX  { ifIndex }
  ::= { optIfOChSrcCurrentTable 1 }

OptIfOChSrcCurrentEntry ::=
  SEQUENCE {

    optIfOChSrcCurrentSuspectedFlag              TruthValue,
    optIfOChSrcCurrentOutputPower                Integer32,
    optIfOChSrcCurrentLowOutputPower             Integer32,
    optIfOChSrcCurrentHighOutputPower            Integer32,
    optIfOChSrcCurrentLowerOutputPowerThreshold  Integer32,
    optIfOChSrcCurrentUpperOutputPowerThreshold  Integer32
    }

optIfOChSrcCurrentSuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOChSrcCurrentEntry 1 }

optIfOChSrcCurrentOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The optical power monitored at the output."
  ::= { optIfOChSrcCurrentEntry 2 }

optIfOChSrcCurrentLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the output during the
     current 15-minute interval."
  ::= { optIfOChSrcCurrentEntry 3 }

optIfOChSrcCurrentHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the output during the
     current 15-minute interval."
  ::= { optIfOChSrcCurrentEntry 4 }

optIfOChSrcCurrentLowerOutputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The lower limit threshold on output power.  If
     optIfOChSrcCurrentOutputPower drops to this value or below,
     a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOChSrcCurrentEntry 5 }

optIfOChSrcCurrentUpperOutputPowerThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The upper limit threshold on output power.  If
     optIfOChSrcCurrentOutputPower reaches or exceeds this value,
     a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOChSrcCurrentEntry 6 }

-- OCh source interval table
-- Contains data for previous 15-minute performance monitoring
-- intervals.

optIfOChSrcIntervalTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOChSrcIntervalEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of historical OCh source performance monitoring
     information."
  ::= { optIfOCh 7 }

optIfOChSrcIntervalEntry OBJECT-TYPE
  SYNTAX  OptIfOChSrcIntervalEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OCh source performance
     monitoring information of an interface during a particular
     historical interval."
  INDEX  { ifIndex, optIfOChSrcIntervalNumber }
  ::= { optIfOChSrcIntervalTable 1 }

OptIfOChSrcIntervalEntry ::=
  SEQUENCE {
    optIfOChSrcIntervalNumber           OptIfIntervalNumber,
    optIfOChSrcIntervalSuspectedFlag    TruthValue,
    optIfOChSrcIntervalLastOutputPower  Integer32,
    optIfOChSrcIntervalLowOutputPower   Integer32,
    optIfOChSrcIntervalHighOutputPower  Integer32
    }

optIfOChSrcIntervalNumber OBJECT-TYPE
  SYNTAX  OptIfIntervalNumber
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "Uniquely identifies the interval."
  ::= { optIfOChSrcIntervalEntry 1 }

optIfOChSrcIntervalSuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOChSrcIntervalEntry 2 }

optIfOChSrcIntervalLastOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last optical power monitored at the output during the
     interval."
  ::= { optIfOChSrcIntervalEntry 3 }

optIfOChSrcIntervalLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the output during the
     interval."
  ::= { optIfOChSrcIntervalEntry 4 }

optIfOChSrcIntervalHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the output during the
     interval."
  ::= { optIfOChSrcIntervalEntry 5 }

-- OCh source current day table
-- Contains data for the current 24-hour performance
-- monitoring interval.

optIfOChSrcCurDayTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOChSrcCurDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OCh source performance monitoring information for
     the current 24-hour interval."
  ::= { optIfOCh 8 }

optIfOChSrcCurDayEntry OBJECT-TYPE
  SYNTAX  OptIfOChSrcCurDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OCh source performance
     monitoring information of an interface for the current
     24-hour interval."
  INDEX  { ifIndex }
  ::= { optIfOChSrcCurDayTable 1 }

OptIfOChSrcCurDayEntry ::=
  SEQUENCE {
    optIfOChSrcCurDaySuspectedFlag    TruthValue,
    optIfOChSrcCurDayLowOutputPower   Integer32,
    optIfOChSrcCurDayHighOutputPower  Integer32
    }

optIfOChSrcCurDaySuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOChSrcCurDayEntry 1 }

optIfOChSrcCurDayLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the output during the

     current 24-hour interval."
  ::= { optIfOChSrcCurDayEntry 2 }

optIfOChSrcCurDayHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the output during the
     current 24-hour interval."
  ::= { optIfOChSrcCurDayEntry 3 }

-- OCh source previous day table
-- Contains data for the previous 24-hour performance
-- monitoring interval.

optIfOChSrcPrevDayTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOChSrcPrevDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OCh source performance monitoring information for
     the previous 24-hour interval."
  ::= { optIfOCh 9 }

optIfOChSrcPrevDayEntry OBJECT-TYPE
  SYNTAX  OptIfOChSrcPrevDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OCh source performance
     monitoring information of an interface for the previous
     24-hour interval."
  INDEX  { ifIndex }
  ::= { optIfOChSrcPrevDayTable 1 }

OptIfOChSrcPrevDayEntry ::=
  SEQUENCE {
    optIfOChSrcPrevDaySuspectedFlag    TruthValue,
    optIfOChSrcPrevDayLastOutputPower  Integer32,
    optIfOChSrcPrevDayLowOutputPower   Integer32,
    optIfOChSrcPrevDayHighOutputPower  Integer32
    }

optIfOChSrcPrevDaySuspectedFlag OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "If true, the data in this entry may be unreliable."
  ::= { optIfOChSrcPrevDayEntry 1 }

optIfOChSrcPrevDayLastOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last optical power monitored at the output during the
     previous 24-hour interval."
  ::= { optIfOChSrcPrevDayEntry 2 }

optIfOChSrcPrevDayLowOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the output during the
     previous 24-hour interval."
  ::= { optIfOChSrcPrevDayEntry 3 }

optIfOChSrcPrevDayHighOutputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest optical power monitored at the output during the
     previous 24-hour interval."
  ::= { optIfOChSrcPrevDayEntry 4 }

-- the optIfOTUk group
-- This group handles the configuration
-- information for OTUk layers.

-- OTUk config table

optIfOTUkConfigTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfOTUkConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of OTUk configuration information."
  ::= { optIfOTUk 1 }

optIfOTUkConfigEntry OBJECT-TYPE
  SYNTAX  OptIfOTUkConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OTUk configuration
     information of an interface."
  INDEX  { ifIndex }
  ::= { optIfOTUkConfigTable 1 }

OptIfOTUkConfigEntry ::=
  SEQUENCE {
    optIfOTUkDirectionality              OptIfDirectionality,
    optIfOTUkBitRateK                    OptIfBitRateK,
    optIfOTUkTraceIdentifierTransmitted  OptIfTxTI,
    optIfOTUkDAPIExpected                OptIfExDAPI,
    optIfOTUkSAPIExpected                OptIfExSAPI,
    optIfOTUkTraceIdentifierAccepted     OptIfAcTI,
    optIfOTUkTIMDetMode                  OptIfTIMDetMode,
    optIfOTUkTIMActEnabled               TruthValue,
    optIfOTUkDEGThr                      OptIfDEGThr,
    optIfOTUkDEGM                        OptIfDEGM,
    optIfOTUkSinkAdaptActive             TruthValue,
    optIfOTUkSourceAdaptActive           TruthValue,
    optIfOTUkSinkFECEnabled              TruthValue,
    optIfOTUkCurrentStatus               BITS
    }

optIfOTUkDirectionality OBJECT-TYPE
  SYNTAX  OptIfDirectionality
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the directionality of the entity."
  ::= { optIfOTUkConfigEntry 1 }

optIfOTUkBitRateK OBJECT-TYPE
  SYNTAX  OptIfBitRateK
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the bit rate of the entity."
  ::= { optIfOTUkConfigEntry 2 }

optIfOTUkTraceIdentifierTransmitted OBJECT-TYPE
  SYNTAX  OptIfTxTI
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The trace identifier transmitted.
     This object is applicable when optIfOTUkDirectionality
     has the value source(2) or bidirectional(3).  It must not
     be instantiated in rows where optIfOTUkDirectionality
     has the value sink(1).
     If no value is ever set by a management entity for this
     object, system-specific default value will be used.
     Any implementation that instantiates this object must
     document the system-specific default value or how it
     is derived."
  ::= { optIfOTUkConfigEntry 3 }

optIfOTUkDAPIExpected OBJECT-TYPE
  SYNTAX  OptIfExDAPI
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The DAPI expected by the receiver.
     This object is only applicable to the sink function, i.e.,
     only when optIfOTUkDirectionality has the value sink(1)
     or bidirectional(3).  It must not be instantiated in rows
     where optIfOTUkDirectionality has the value source(2).
     This object has no effect when optIfOTUkTIMDetMode has
     the value off(1)."
  ::= { optIfOTUkConfigEntry 4 }

optIfOTUkSAPIExpected OBJECT-TYPE
  SYNTAX  OptIfExSAPI
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The SAPI expected by the receiver.
     This object is only applicable to the sink function, i.e.,
     only when optIfOTUkDirectionality has the value sink(1)
     or bidirectional(3).  It must not be instantiated in rows
     where optIfOTUkDirectionality has the value source(2).
     This object has no effect when optIfOTUkTIMDetMode has
     the value off(1)."
  ::= { optIfOTUkConfigEntry 5 }

optIfOTUkTraceIdentifierAccepted OBJECT-TYPE
  SYNTAX  OptIfAcTI
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The actual trace identifier accepted.
     This object is only applicable to the sink function, i.e.,
     only when optIfOTUkDirectionality has the value sink(1)
     or bidirectional(3).  It must not be instantiated in rows
     where optIfOTUkDirectionality has the value source(2).
     The value of this object is unspecified when
     optIfOTUkCurrentStatus indicates a near-end defect
     (i.e., ssf(3), lof(4), ais(5), lom(6)) that prevents
     extraction of the trace message."
  ::= { optIfOTUkConfigEntry 6 }

optIfOTUkTIMDetMode OBJECT-TYPE
  SYNTAX  OptIfTIMDetMode
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Indicates the mode of the Trace Identifier Mismatch (TIM)
     Detection function.
     This object is only applicable to the sink function, i.e.,
     only when optIfOTUkDirectionality has the value sink(1)
     or bidirectional(3).  It must not be instantiated in rows
     where optIfOTUkDirectionality has the value source(2).
     The default value of this object is off(1)."
  ::= { optIfOTUkConfigEntry 7 }

optIfOTUkTIMActEnabled OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Indicates whether the Trace Identifier Mismatch (TIM)
     Consequent Action function is enabled.
     This object is only applicable to the sink function, i.e.,
     only when optIfOTUkDirectionality has the value sink(1)
     or bidirectional(3).  It must not be instantiated in rows
     where optIfOTUkDirectionality has the value source(2).
     This object has no effect when optIfOTUkTIMDetMode has
     the value off(1).
     The default value of this object is false(2)."
  ::= { optIfOTUkConfigEntry 8 }

optIfOTUkDEGThr OBJECT-TYPE
  SYNTAX  OptIfDEGThr
  UNITS   "percentage"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Indicates the threshold level for declaring a performance
     monitoring (PM) Second to be bad.  A PM Second is declared bad if
     the percentage of detected errored blocks in that second is

     greater than or equal to optIfOTUkDEGThr.
     This object is only applicable to the sink function, i.e.,
     only when optIfOTUkDirectionality has the value sink(1)
     or bidirectional(3).  It must not be instantiated in rows
     where optIfOTUkDirectionality has the value source(2).
     The default value of this object is Severely Errored Second
     (SES) Estimator (See ITU-T G.7710)."
  ::= { optIfOTUkConfigEntry 9 }

optIfOTUkDEGM OBJECT-TYPE
  SYNTAX  OptIfDEGM
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Indicates the threshold level for declaring a Degraded Signal
     defect (dDEG).  A dDEG shall be declared if optIfOTUkDEGM
     consecutive bad PM Seconds are detected.
     This object is only applicable to the sink function, i.e.,
     only when optIfOTUkDirectionality has the value sink(1)
     or bidirectional(3).  It must not be instantiated in rows
     where optIfOTUkDirectionality has the value source(2).
     The default value of this object is 7 (See ITU-T G.7710)."
  ::= { optIfOTUkConfigEntry 10 }

optIfOTUkSinkAdaptActive OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Indicates whether the sink adaptation function is activated or
     not.
     This object is only applicable to the sink function, i.e.,
     only when optIfOTUkDirectionality has the value sink(1)
     or bidirectional(3).  It must not be instantiated in rows
     where optIfOTUkDirectionality has the value source(2).
     The default value of this object is false(2)."
  ::= { optIfOTUkConfigEntry 11 }

optIfOTUkSourceAdaptActive OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Indicates whether the source adaptation function is activated or
     not.
     This object is only applicable to the source function, i.e.,
     only when optIfOTUkDirectionality has the value source(2)
     or bidirectional(3).  It must not be instantiated in rows

     where optIfOTUkDirectionality has the value sink(1).
     The default value of this object is false(2)."
  ::= { optIfOTUkConfigEntry 12 }

optIfOTUkSinkFECEnabled OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "If Forward Error Correction (FEC) is supported, this object
     indicates whether FEC at the OTUk sink adaptation function is
     enabled or not.
     This object is only applicable to the sink function, i.e.,
     only when optIfOTUkDirectionality has the value sink(1)
     or bidirectional(3).  It must not be instantiated in rows
     where optIfOTUkDirectionality has the value source(2).
     The default value of this object is true(1)."
  ::= { optIfOTUkConfigEntry 13 }

optIfOTUkCurrentStatus OBJECT-TYPE
  SYNTAX  BITS {
    tim(0),
    deg(1),
    bdi(2),
    ssf(3),
    lof(4),
    ais(5),
    lom(6)
    }
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the defect condition of the entity, if any.
     This object is only applicable to the sink function, i.e.,
     only when optIfOTUkDirectionality has the value sink(1)
     or bidirectional(3).  It must not be instantiated in rows
     where optIfOTUkDirectionality has the value source(2)."
  ::= { optIfOTUkConfigEntry 14 }

-- GCC0 config table

optIfGCC0ConfigTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfGCC0ConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of GCC0 configuration information."
  ::= { optIfOTUk 2 }

optIfGCC0ConfigEntry OBJECT-TYPE
  SYNTAX  OptIfGCC0ConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains GCC0 configuration
     information of an interface.  Each instance must
     correspond to an instance of optIfOTUkConfigEntry.
     Separate source and/or sink instances may exist
     for a given ifIndex value, or a single bidirectional
     instance may exist, but a bidirectional instance may
     not coexist with a source or sink instance.
     Instances of this conceptual row persist across
     agent restarts."
  INDEX  { ifIndex, optIfGCC0Directionality }
  ::= { optIfGCC0ConfigTable 1 }

OptIfGCC0ConfigEntry ::=
  SEQUENCE {
    optIfGCC0Directionality            OptIfDirectionality,
    optIfGCC0Application               SnmpAdminString,
    optIfGCC0RowStatus                 RowStatus
    }

optIfGCC0Directionality OBJECT-TYPE
  SYNTAX  OptIfDirectionality
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "Indicates the directionality of the entity.
     The values source(2) and bidirectional(3) are
     not allowed if the corresponding instance of
     optIfOTUkDirectionality has the value sink(1).
     The values sink(1) and bidirectional(3) are
     not allowed if the corresponding instance of
     optIfOTUkDirectionality has the value source(2)."
  ::= { optIfGCC0ConfigEntry 1 }

optIfGCC0Application OBJECT-TYPE
  SYNTAX  SnmpAdminString
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "Indicates the application transported by the GCC0 entity.
     Example applications are ECC, User data channel.

     The value of this object may not be changed when
     optIfGCC0RowStatus has the value active(1)."
  ::= { optIfGCC0ConfigEntry 2 }

optIfGCC0RowStatus OBJECT-TYPE
  SYNTAX  RowStatus
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "This columnar object is used for creating and deleting a
     conceptual row of the optIfGCC0 config table.
     It is used to model the addGCC0Access and removeGCC0Access
     operations of an OTUk_TTP for GCC0 access control as defined
     in G.874.1.  Setting RowStatus to createAndGo or createAndWait
     implies addGCC0Access.  Setting RowStatus to destroy implies
     removeGCC0Access."
  ::= { optIfGCC0ConfigEntry 3 }

-- the optIfODUk group
-- This group handles the configuration information
-- for the ODUk layers.

-- ODUk config table

optIfODUkConfigTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfODUkConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of ODUk configuration information."
  ::= { optIfODUk 1 }

optIfODUkConfigEntry OBJECT-TYPE
  SYNTAX  OptIfODUkConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains ODUk configuration
     information of an interface."
  INDEX  { ifIndex }
  ::= { optIfODUkConfigTable 1 }

OptIfODUkConfigEntry ::=
  SEQUENCE {
    optIfODUkDirectionality              OptIfDirectionality,
    optIfODUkBitRateK                    OptIfBitRateK,
    optIfODUkTcmFieldsInUse              BITS,
    optIfODUkPositionSeqCurrentSize      Unsigned32,
    optIfODUkTtpPresent                  TruthValue
    }

optIfODUkDirectionality OBJECT-TYPE
  SYNTAX  OptIfDirectionality
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the directionality of the entity."
  ::= { optIfODUkConfigEntry 1 }

optIfODUkBitRateK OBJECT-TYPE
  SYNTAX  OptIfBitRateK
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the bit rate of the entity."
  ::= { optIfODUkConfigEntry 2 }

optIfODUkTcmFieldsInUse OBJECT-TYPE
  SYNTAX  BITS {
    tcmField1(0),
    tcmField2(1),
    tcmField3(2),
    tcmField4(3),
    tcmField5(4),
    tcmField6(5)
    }
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the TCM field(s) that are currently in use.
     The positions of the bits correspond to the TCM fields.
     A bit that is set to 1 means that the corresponding TCM
     field is used.  This object will be updated when rows are
     created in or deleted from the optIfODUkTConfigTable, or
     the optIfODUkTNimConfigTable."
  ::= { optIfODUkConfigEntry 3 }

optIfODUkPositionSeqCurrentSize OBJECT-TYPE
  SYNTAX  Unsigned32
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "This variable indicates the current size of the position
     sequence (i.e., number of TCM function and/or GCC12
     access that have been created in the ODUk interface).
     When the value of this variable is greater than zero,
     it means that one or more TCM function and/or GCC12
     access have been created in the ODUk interface.  In this
     case, there will be as many rows in the

     optIfODUkPositionSeqTable as the value of
     optIfODUkPositionSeqCurrentSize  corresponding to this
     ODUk interface, one row for each TCM function or GCC12
     access.  The position of the TCM function and/or
     GCC12 access within the sequence is indicated by the
     optIfODUkPositionSeqPosition variable in
     optIfODUkPositionSeqTable.
     The optIfODUkPositionSeqTable also provides pointers
     to the corresponding TCM function (optIfODUkT) and
     GCC12 access (optIfGCC12) entities."
  ::= { optIfODUkConfigEntry 4 }

optIfODUkTtpPresent OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "This object has the value true(1) if the ifEntry under which
     it is instantiated contains an ODUk Trail Termination Point,
     i.e., is the endpoint of an ODUk path.  In that case there
     will be a corresponding row in the ODUk TTP config table and
     it will not be possible to create corresponding rows in the
     ODUk NIM config table.  This object has the value false(2)
     if the ifEntry under which it is instantiated contains an
     intermediate ODUk Connection Termination Point.  In that case
     there is no corresponding row in the ODUk TTP config table,
     but it will be possible to create corresponding rows in the
     ODUk NIM config table.  This object also affects the allowable
     options in rows created in the GCC12 config table and in the
     ODUkT config table, as specified in the DESCRIPTION clauses
     of the columns in those tables."
  ::= { optIfODUkConfigEntry 5 }

-- ODUk Trail Termination Point (TTP) config table

optIfODUkTtpConfigTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfODUkTtpConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of ODUk TTP configuration information."
  ::= { optIfODUk 2 }

optIfODUkTtpConfigEntry OBJECT-TYPE
  SYNTAX  OptIfODUkTtpConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains ODUk TTP configuration
     information of an interface."
  INDEX  { ifIndex }
  ::= { optIfODUkTtpConfigTable 1 }

OptIfODUkTtpConfigEntry ::=
  SEQUENCE {
    optIfODUkTtpTraceIdentifierTransmitted  OptIfTxTI,
    optIfODUkTtpDAPIExpected                OptIfExDAPI,
    optIfODUkTtpSAPIExpected                OptIfExSAPI,
    optIfODUkTtpTraceIdentifierAccepted     OptIfAcTI,
    optIfODUkTtpTIMDetMode                  OptIfTIMDetMode,
    optIfODUkTtpTIMActEnabled               TruthValue,
    optIfODUkTtpDEGThr                      OptIfDEGThr,
    optIfODUkTtpDEGM                        OptIfDEGM,
    optIfODUkTtpCurrentStatus               BITS
    }

optIfODUkTtpTraceIdentifierTransmitted OBJECT-TYPE
  SYNTAX  OptIfTxTI
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The trace identifier transmitted.
     This object is applicable when optIfODUkDirectionality
     has the value source(2) or bidirectional(3).  It must not
     be instantiated in rows where optIfODUkDirectionality
     has the value sink(1).
     If no value is ever set by a management entity for this
     object, system-specific default value will be used.
     Any implementation that instantiates this object must
     document the system-specific default value or how it
     is derived."
  ::= { optIfODUkTtpConfigEntry 1 }

optIfODUkTtpDAPIExpected OBJECT-TYPE
  SYNTAX  OptIfExDAPI
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The DAPI expected by the receiver.
     This object is only applicable to the sink function, i.e.,
     only when optIfODUkDirectionality has the value sink(1)
     or bidirectional(3).  It must not be instantiated in rows
     where optIfODUkDirectionality has the value source(2).
     This object has no effect when optIfODUkTtpTIMDetMode has
     the value off(1)."
  ::= { optIfODUkTtpConfigEntry 2 }

optIfODUkTtpSAPIExpected OBJECT-TYPE
  SYNTAX  OptIfExSAPI
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The SAPI expected by the receiver.
     This object is only applicable to the sink function, i.e.,
     only when optIfODUkDirectionality has the value sink(1)
     or bidirectional(3).  It must not be instantiated in rows
     where optIfODUkDirectionality has the value source(2).
     This object has no effect when optIfODUkTtpTIMDetMode has
     the value off(1)."
  ::= { optIfODUkTtpConfigEntry 3 }

optIfODUkTtpTraceIdentifierAccepted OBJECT-TYPE
  SYNTAX  OptIfAcTI
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The actual trace identifier accepted.
     This object is only applicable to the sink function, i.e.,
     only when optIfODUkDirectionality has the value sink(1)
     or bidirectional(3).  It must not be instantiated in rows
     where optIfODUkDirectionality has the value source(2).
     The value of this object is unspecified when
     optIfODUkTtpCurrentStatus indicates a near-end defect
     (i.e., oci(0), lck(1), ssf(5)) that prevents extraction
     of the trace message."
  ::= { optIfODUkTtpConfigEntry 4 }

optIfODUkTtpTIMDetMode OBJECT-TYPE
  SYNTAX  OptIfTIMDetMode
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Indicates the mode of the Trace Identifier Mismatch (TIM)
     Detection function.
     This object is only applicable to the sink function, i.e.,
     only when optIfODUkDirectionality has the value sink(1)
     or bidirectional(3).  It must not be instantiated in rows
     where optIfODUkDirectionality has the value source(2).
     The default value of this object is off(1)."
  ::= { optIfODUkTtpConfigEntry 5 }

optIfODUkTtpTIMActEnabled OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Indicates whether the Trace Identifier Mismatch (TIM)
     Consequent Action function is enabled.
     This object is only applicable to the sink function, i.e.,
     only when optIfODUkDirectionality has the value sink(1)
     or bidirectional(3).  It must not be instantiated in rows
     where optIfODUkDirectionality has the value source(2).
     This object has no effect when optIfODUkTtpTIMDetMode has
     the value off(1).
     The default value of this object is false(2)."
  ::= { optIfODUkTtpConfigEntry 6 }

optIfODUkTtpDEGThr OBJECT-TYPE
  SYNTAX  OptIfDEGThr
  UNITS   "percentage"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Indicates the threshold level for declaring a performance
     monitoring (PM) Second to be bad.  A PM Second is declared bad if
     the percentage of detected errored blocks in that second is
     greater than or equal to optIfODUkDEGThr.
     This object is only applicable to the sink function, i.e.,
     only when optIfODUkDirectionality has the value sink(1)
     or bidirectional(3).  It must not be instantiated in rows
     where optIfODUkDirectionality has the value source(2).
     The default value of this object is Severely Errored Second
     (SES) Estimator (See ITU-T G.7710)."
  ::= { optIfODUkTtpConfigEntry 7 }

optIfODUkTtpDEGM OBJECT-TYPE
  SYNTAX  OptIfDEGM
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Indicates the threshold level for declaring a Degraded Signal
     defect (dDEG).  A dDEG shall be declared if optIfODUkDEGM
     consecutive bad PM Seconds are detected.
     This object is only applicable to the sink function, i.e.,
     only when optIfODUkDirectionality has the value sink(1)
     or bidirectional(3).  It must not be instantiated in rows
     where optIfODUkDirectionality has the value source(2).
     The default value of this object is 7 (See ITU-T G.7710)."
  ::= { optIfODUkTtpConfigEntry 8 }

optIfODUkTtpCurrentStatus OBJECT-TYPE
  SYNTAX  BITS {
    oci(0),
    lck(1),
    tim(2),
    deg(3),
    bdi(4),
    ssf(5)
    }
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the defect condition of the entity, if any.
     This object is only applicable to the sink function, i.e.,
     only when optIfODUkDirectionality has the value sink(1)
     or bidirectional(3).  It must not be instantiated in rows
     where optIfODUkDirectionality has the value source(2)."
  ::= { optIfODUkTtpConfigEntry 9 }

-- ODUk Position Sequence table

optIfODUkPositionSeqTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfODUkPositionSeqEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of ODUk Position Sequence information."
  ::= { optIfODUk 3 }

optIfODUkPositionSeqEntry OBJECT-TYPE
  SYNTAX  OptIfODUkPositionSeqEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains ODUk position sequence
     information of an ODUk interface.  The ODUk interface
     is identified by the ifIndex.  Associated with each
     ODUk interface there may be one of more conceptual
     rows in the optIfODUkPositionSeqTable.  Each row
     represents a TCM or GCC12 access function within the
     associated ODUk interface.  Rows of the
     optIfODUkPositionSeqTable table are created/deleted
     as the result of the creation/deletion of the optIfODUkT
     or optIfGCC12 entities."
  INDEX  { ifIndex, optIfODUkPositionSeqIndex }
  ::= { optIfODUkPositionSeqTable 1 }

OptIfODUkPositionSeqEntry ::=
  SEQUENCE {
    optIfODUkPositionSeqIndex            Unsigned32,
    optIfODUkPositionSeqPosition         Unsigned32,
    optIfODUkPositionSeqPointer          RowPointer
    }

optIfODUkPositionSeqIndex OBJECT-TYPE
  SYNTAX  Unsigned32 (1..4294967295)
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "This variable identifies a row in the
     optIfODUkPositionSeqTable Table.
     Each row of the optIfODUkPositionSeqTable Table
     represents a TCM or GCC12 access function within the
     associated ODUk interface."
  ::= { optIfODUkPositionSeqEntry 1 }

optIfODUkPositionSeqPosition OBJECT-TYPE
  SYNTAX  Unsigned32
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "This variable indicates the position of the TCM or
     GCC12 access function within the sequence of TCMs &
     GCC12 access functions of the associated ODUk
     interface.  The TCM or GCC12 presented by this row is
     referenced by the optIfODUkPositionSeqPointer variable."
  ::= { optIfODUkPositionSeqEntry 2 }

optIfODUkPositionSeqPointer OBJECT-TYPE
  SYNTAX  RowPointer
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "This variable identifies the TCM or GCC12 access function
     by pointing to the corresponding optIfODUkT or optIfGCC12
     entity."
  ::= { optIfODUkPositionSeqEntry 3 }

-- ODUk Non-intrusive monitoring (Nim) config table

optIfODUkNimConfigTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfODUkNimConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of ODUkNim configuration information."
  ::= { optIfODUk 4 }

optIfODUkNimConfigEntry OBJECT-TYPE
  SYNTAX  OptIfODUkNimConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains ODUkNim configuration
     information of an interface.  Each instance must
     correspond to an instance of optIfODUkConfigEntry
     for which optIfODUkTtpPresent has the value false(2).

     Instances of this conceptual row persist across
     agent restarts, and read-create columns other
     than the status column may be modified while the
     row is active."
  INDEX  { ifIndex, optIfODUkNimDirectionality }
  ::= { optIfODUkNimConfigTable 1 }

OptIfODUkNimConfigEntry ::=
  SEQUENCE {
    optIfODUkNimDirectionality              OptIfSinkOrSource,
    optIfODUkNimDAPIExpected                OptIfExDAPI,
    optIfODUkNimSAPIExpected                OptIfExSAPI,
    optIfODUkNimTraceIdentifierAccepted     OptIfAcTI,
    optIfODUkNimTIMDetMode                  OptIfTIMDetMode,
    optIfODUkNimTIMActEnabled               TruthValue,
    optIfODUkNimDEGThr                      OptIfDEGThr,
    optIfODUkNimDEGM                        OptIfDEGM,
    optIfODUkNimCurrentStatus               BITS,
    optIfODUkNimRowStatus                   RowStatus
    }

optIfODUkNimDirectionality OBJECT-TYPE
  SYNTAX  OptIfSinkOrSource
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "Specifies the monitor point for the ODUk Path non-intrusive
     monitoring function.  The value source(2) is not allowed
     if the corresponding instance of optIfODUkDirectionality
     has the value sink(1), and the value sink(1) is not allowed
     if the corresponding instance of optIfODUkDirectionality
     has the value source(2).  Either the value sink(1) or
     source(2) is allowed if the corresponding instance of
     optIfODUkDirectionality has the value bidirectional(3).

     The value sink(1) means monitoring at the sink direction
     path signal of the ODUk CTP.

     The value source(2) means monitoring at the source direction

     path signal of the ODUk CTP.  Monitoring the source direction
     of an ODUk CTP is necessary in those cases where the ODUk CTP
     is at an SNCP (Subnetwork Connection Protection) end (e.g., see
     Figure I.1.2/G.874.1).  If one would like to get the performance
     of the protected connection, one cannot use the NIM function
     at both ODUk CTP sinks (before the matrix), instead one should
     monitor the signal at the source ODUk CTP after the matrix."
  ::= { optIfODUkNimConfigEntry 1 }

optIfODUkNimDAPIExpected OBJECT-TYPE
  SYNTAX  OptIfExDAPI
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "The DAPI expected by the receiver.
     This object has no effect if optIfODUkNimTIMDetMode has
     the value off(1) or sapi(3)."
  ::= { optIfODUkNimConfigEntry 2 }

optIfODUkNimSAPIExpected OBJECT-TYPE
  SYNTAX  OptIfExSAPI
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "The SAPI expected by the receiver.
     This object has no effect if optIfODUkNimTIMDetMode has
     the value off(1) or dapi(2)."
  ::= { optIfODUkNimConfigEntry 3 }

optIfODUkNimTraceIdentifierAccepted OBJECT-TYPE
  SYNTAX  OptIfAcTI
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The actual trace identifier accepted.  The value of
     this object is unspecified if optIfODUkNimCurrentStatus
     has any of the bit positions oci(0), lck(1), or ssf(5)
     set or if optIfODUkNimRowStatus has any value other
     than active(1)."
  ::= { optIfODUkNimConfigEntry 4 }

optIfODUkNimTIMDetMode OBJECT-TYPE
  SYNTAX  OptIfTIMDetMode
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "Indicates the mode of the Trace Identifier Mismatch (TIM)
     Detection function."
  ::= { optIfODUkNimConfigEntry 5 }

optIfODUkNimTIMActEnabled OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "Indicates whether the Trace Identifier Mismatch (TIM)
     Consequent Action function is enabled."
  ::= { optIfODUkNimConfigEntry 6 }

optIfODUkNimDEGThr OBJECT-TYPE
  SYNTAX  OptIfDEGThr
  UNITS   "percentage"
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "Indicates the threshold level for declaring a performance
     monitoring (PM) Second to be bad.  A PM Second is declared bad
     if the percentage of detected errored blocks in that second is
     greater than or equal to optIfODUkNimDEGThr."
  ::= { optIfODUkNimConfigEntry 7 }

optIfODUkNimDEGM OBJECT-TYPE
  SYNTAX  OptIfDEGM
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "Indicates the threshold level for declaring a Degraded Signal
     defect (dDEG).  A dDEG shall be declared if optIfODUkNimDEGM
     consecutive bad PM Seconds are detected."
  ::= { optIfODUkNimConfigEntry 8 }

optIfODUkNimCurrentStatus OBJECT-TYPE
  SYNTAX  BITS {
    oci(0),
    lck(1),
    tim(2),
    deg(3),
    bdi(4),
    ssf(5)
    }
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the defect condition of the entity, if
     any.  The value of this object is unspecified if
     optIfODUkNimRowStatus has any value other than

     active(1)."
  ::= { optIfODUkNimConfigEntry 9 }

optIfODUkNimRowStatus OBJECT-TYPE
  SYNTAX  RowStatus
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "This columnar object is used for creating and deleting
     a conceptual row of the optIfODUkNim config table.
     It is used to model the activateNim and deactivateNim
     operations of an OTUk_CTP for non-intrusive monitoring
     control as defined in G.874.1.  Setting RowStatus to
     createAndGo or createAndWait implies activateNim.
     Setting RowStatus to destroy implies deactivateNim."
  ::= { optIfODUkNimConfigEntry 10 }

-- GCC12 config table

optIfGCC12ConfigTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfGCC12ConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of GCC12 configuration information.
     The GCC function processes the GCC overhead bytes passing
     through them but leave the remainder of the ODUk overhead
     and payload data alone."
  ::= { optIfODUk 5 }

optIfGCC12ConfigEntry OBJECT-TYPE
  SYNTAX  OptIfGCC12ConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains GCC12 configuration
     information of an interface.  Each instance must
     correspond to an instance of optIfODUkConfigEntry.
     Separate instances providing GCC1-only access and
     GCC2-only access may exist for a given ifIndex value,
     or a single instance providing GCC1 + GCC2 may exist,
     but a GCC1 + GCC2 instance may not coexist with a
     GCC1-only or GCC2-only instance.

     Instances of this conceptual row persist across agent
     restarts."
  INDEX  { ifIndex, optIfGCC12Codirectional, optIfGCC12GCCAccess }
  ::= { optIfGCC12ConfigTable 1 }

OptIfGCC12ConfigEntry ::=
  SEQUENCE {
    optIfGCC12Codirectional      TruthValue,
    optIfGCC12GCCAccess          INTEGER,
    optIfGCC12GCCPassThrough     TruthValue,
    optIfGCC12Application        SnmpAdminString,
    optIfGCC12RowStatus          RowStatus
    }

optIfGCC12Codirectional OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "Indicates the directionality of the GCC12 termination with
     respect to the associated ODUk CTP.  The value true(1) means
     that the sink part of the GCC12 extracts COMMS data from the
     signal at the input to the ODUk CTP sink and the source part
     of the GCC12 inserts COMMS data into the signal at the output
     of the ODUk CTP source.  The value false(2) means that the
     sink part of the GCC12 extracts COMMS data from the signal at
     the output of the ODUk CTP source and the source part of the
     GCC12 inserts COMMS data into the signal at the input of the
     ODUk CTP sink.  This attribute may assume either value when
     the corresponding instance of optIfODUkTtpPresent has the
     value false(2).  When the value of the corresponding instance
     of optIfODUkTtpPresent is true(1) then the only value allowed
     for this attribute is true(1)."
  ::= { optIfGCC12ConfigEntry 1 }

optIfGCC12GCCAccess OBJECT-TYPE
  SYNTAX  INTEGER {
     gcc1 (1),
     gcc2 (2),
     gcc1and2 (3)
   }
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "Indicates the GCC access represented by the entity."
  ::= { optIfGCC12ConfigEntry 2 }

optIfGCC12GCCPassThrough OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "Controls whether the selected GCC overhead bytes are passed

     through or modified.  The value true(1) means that the selected
     GCC overhead bytes are passed through unmodified from the ODUk
     CTP input to the ODUk CTP output.  The value false(2) means that
     the selected GCC overhead bytes are set to zero at the ODUk CTP
     output after the extraction of the COMMS data.  This object has
     no effect if the corresponding instance of optIfODUkTtpPresent
     has the value true(1).

     The value of this object may not be changed when
     optIfGCC12RowStatus has the value active(1)."
  ::= { optIfGCC12ConfigEntry 3 }

optIfGCC12Application OBJECT-TYPE
  SYNTAX  SnmpAdminString
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "Indicates the application transported by the GCC12 entity.
     Example applications are ECC, User data channel.

     The value of this object may not be changed when
     optIfGCC12RowStatus has the value active(1)."
  ::= { optIfGCC12ConfigEntry 4 }

optIfGCC12RowStatus OBJECT-TYPE
  SYNTAX  RowStatus
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "This columnar object is used for creating and deleting
     a conceptual row of the optIfGCC12 config table.  It is
     used to model the addGCC12Access and removeGCC12Access
     operations of an ODUk_CTP or ODUk_TTP for GCC12 access
     control as defined in G.874.1.  Setting RowStatus to
     createAndGo or createAndWait implies addGCC12Access.
     Setting RowStatus to destroy implies removeGCC12Access.
     Successful addition/removal of the GCC12 access function
     will result in updating the
     optIfODUkPositionSeqCurrentSize variable and the
     optIfODUkPositionSeqTable table of the associated
     ODUk entry in the optIfODUkConfigTable."
  ::= { optIfGCC12ConfigEntry 5 }

-- the optIfODUkT group
-- This group handles the configuration information
-- for the ODUkT layers.

-- ODUkT config table

optIfODUkTConfigTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfODUkTConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of ODUkT configuration information."
  ::= { optIfODUkT 1 }

optIfODUkTConfigEntry OBJECT-TYPE
  SYNTAX  OptIfODUkTConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains ODUkT configuration
     information of an interface.  Each instance must
     correspond to an instance of optIfODUkConfigEntry.
     Rows in this table are mutually exclusive with rows
     in the ODUkT NIM config table -- in other words, this
     row object may not be instantiated for a given pair
     of ifIndex and TCM field values if a corresponding
     instance of optIfODUkTNimConfigEntry already exists.

     Instances of this conceptual row persist across agent
     restarts.  Except where noted otherwise, read-create
     columns other than the status column may be modified
     while the row is active."
  INDEX  { ifIndex, optIfODUkTTcmField, optIfODUkTCodirectional }
  ::= { optIfODUkTConfigTable 1 }

OptIfODUkTConfigEntry ::=
  SEQUENCE {
    optIfODUkTTcmField                    Unsigned32,
    optIfODUkTCodirectional               TruthValue,
    optIfODUkTTraceIdentifierTransmitted  OptIfTxTI,
    optIfODUkTDAPIExpected                OptIfExDAPI,
    optIfODUkTSAPIExpected                OptIfExSAPI,
    optIfODUkTTraceIdentifierAccepted     OptIfAcTI,
    optIfODUkTTIMDetMode                  OptIfTIMDetMode,
    optIfODUkTTIMActEnabled               TruthValue,
    optIfODUkTDEGThr                      OptIfDEGThr,
    optIfODUkTDEGM                        OptIfDEGM,
    optIfODUkTSinkMode                    INTEGER,
    optIfODUkTSinkLockSignalAdminState    INTEGER,
    optIfODUkTSourceLockSignalAdminState  INTEGER,
    optIfODUkTCurrentStatus               BITS,
    optIfODUkTRowStatus                   RowStatus
    }

optIfODUkTTcmField OBJECT-TYPE
  SYNTAX  Unsigned32 (1..6)
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "Indicates the tandem connection monitoring
     field of the ODUk OH.  Valid values are
     integers from 1 to 6."
  ::= { optIfODUkTConfigEntry 1 }

optIfODUkTCodirectional OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "Indicates the directionality of the ODUkT termination point with
     respect to the associated ODUk CTP.  The value true(1) means
     that the sink part of the ODUkT TP extracts TCM data from the
     signal at the input to the ODUk CTP sink and the source part
     of the ODUkT TP inserts TCM data into the signal at the output
     of the ODUk CTP source.  The value false(2) means that the
     sink part of the ODUkT TP extracts TCM data from the signal at
     the output of the ODUk CTP source and the source part of the
     ODUkT TP inserts TCM data into the signal at the input of the
     ODUk CTP sink.  This attribute may assume either value when
     the corresponding instance of optIfODUkTtpPresent has the
     value false(2).  When the value of the corresponding instance
     of optIfODUkTtpPresent is true(1) then the only value allowed
     for this attribute is true(1)."
  ::= { optIfODUkTConfigEntry 2 }

optIfODUkTTraceIdentifierTransmitted OBJECT-TYPE
  SYNTAX  OptIfTxTI
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "The trace identifier transmitted.
     This object is applicable only to the following three cases.
       (i) optIfODUkDirectionality has the value bidirectional(3), or
       (ii) optIfODUkDirectionality has the value sink(1) and
            optIfODUkTCodirectional has the value false(2), or
       (iii) optIfODUkDirectionality has the value source(3) and
             optIfODUkTCodirectional has the value true(1).
     It must not be instantiated in rows for all other cases."
  ::= { optIfODUkTConfigEntry 3 }

optIfODUkTDAPIExpected OBJECT-TYPE
  SYNTAX  OptIfExDAPI
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "The DAPI expected by the receiver.
     This object is applicable only to the following three cases.
       (i) optIfODUkDirectionality has the value bidirectional(3), or
       (ii) optIfODUkDirectionality has the value sink(1) and
            optIfODUkTCodirectional has the value true(1), or
       (iii) optIfODUkDirectionality has the value source(3) and
             optIfODUkTCodirectional has the value false(2).
     It must not be instantiated in rows for all other cases.
     This object has no effect when optIfODUkTTIMDetMode has
     the value off(1)."
  ::= { optIfODUkTConfigEntry 4 }

optIfODUkTSAPIExpected OBJECT-TYPE
  SYNTAX  OptIfExSAPI
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "The SAPI expected by the receiver.
     This object is applicable only to the following three cases.
       (i) optIfODUkDirectionality has the value bidirectional(3), or
       (ii) optIfODUkDirectionality has the value sink(1) and
            optIfODUkTCodirectional has the value true(1), or
       (iii) optIfODUkDirectionality has the value source(3) and
             optIfODUkTCodirectional has the value false(2).
     It must not be instantiated in rows for all other cases.
     This object has no effect when optIfODUkTTIMDetMode has
     the value off(1)."
  ::= { optIfODUkTConfigEntry 5 }

optIfODUkTTraceIdentifierAccepted OBJECT-TYPE
  SYNTAX  OptIfAcTI
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The actual trace identifier accepted.
     This object is applicable only to the following three cases.
       (i) optIfODUkDirectionality has the value bidirectional(3), or
       (ii) optIfODUkDirectionality has the value sink(1) and
            optIfODUkTCodirectional has the value true(1), or
       (iii) optIfODUkDirectionality has the value source(3) and
             optIfODUkTCodirectional has the value false(2).
     It must not be instantiated in rows for all other cases.
     The value of this object is unspecified when
     optIfODUkTCurrentStatus indicates a near-end defect
     (i.e., oci(0), lck(1), ssf(5)) that prevents extraction

     of the trace message."
  ::= { optIfODUkTConfigEntry 6 }

optIfODUkTTIMDetMode OBJECT-TYPE
  SYNTAX  OptIfTIMDetMode
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "Indicates the mode of the Trace Identifier Mismatch (TIM)
     Detection function.
     This object is applicable only to the following three cases.
       (i) optIfODUkDirectionality has the value bidirectional(3), or
       (ii) optIfODUkDirectionality has the value sink(1) and
            optIfODUkTCodirectional has the value true(1), or
       (iii) optIfODUkDirectionality has the value source(3) and
             optIfODUkTCodirectional has the value false(2).
     It must not be instantiated in rows for all other cases.
     The default value of this object is off(1)."
  ::= { optIfODUkTConfigEntry 7 }

optIfODUkTTIMActEnabled OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "Indicates whether the Trace Identifier Mismatch (TIM)
     Consequent Action function is enabled.
     This object is applicable only to the following three cases.
       (i) optIfODUkDirectionality has the value bidirectional(3), or
       (ii) optIfODUkDirectionality has the value sink(1) and
            optIfODUkTCodirectional has the value true(1), or
       (iii) optIfODUkDirectionality has the value source(3) and
             optIfODUkTCodirectional has the value false(2).
     It must not be instantiated in rows for all other cases.
     This object has no effect when optIfODUkTTIMDetMode has
     the value off(1).
     The default value of this object is false(2)."
  ::= { optIfODUkTConfigEntry 8 }

optIfODUkTDEGThr OBJECT-TYPE
  SYNTAX  OptIfDEGThr
  UNITS   "percentage"
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "Indicates the threshold level for declaring a performance
     monitoring (PM) Second to be bad.  A PM Second is declared bad if
     the percentage of detected errored blocks in that second is

     greater than or equal to optIfODUkTDEGThr.
     This object is applicable only to the following three cases.
       (i) optIfODUkDirectionality has the value bidirectional(3), or
       (ii) optIfODUkDirectionality has the value sink(1) and
            optIfODUkTCodirectional has the value true(1), or
       (iii) optIfODUkDirectionality has the value source(3) and
             optIfODUkTCodirectional has the value false(2).
     It must not be instantiated in rows for all other cases.
     The default value of this object is Severely Errored Second
     (SES) Estimator (See ITU-T G.7710)."
  ::= { optIfODUkTConfigEntry 9 }

optIfODUkTDEGM OBJECT-TYPE
  SYNTAX  OptIfDEGM
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "Indicates the threshold level for declaring a Degraded Signal
     defect (dDEG).  A dDEG shall be declared if optIfODUkTDEGM
     consecutive bad PM Seconds are detected.
     This object is applicable only to the following three cases.
       (i) optIfODUkDirectionality has the value bidirectional(3), or
       (ii) optIfODUkDirectionality has the value sink(1) and
            optIfODUkTCodirectional has the value true(1), or
       (iii) optIfODUkDirectionality has the value source(3) and
             optIfODUkTCodirectional has the value false(2).
     It must not be instantiated in rows for all other cases.
     The default value of this object is 7 (See ITU-T G.7710)."
  ::= { optIfODUkTConfigEntry 10 }

optIfODUkTSinkMode OBJECT-TYPE
  SYNTAX  INTEGER  {
    operational (1),
    monitor (2)
    }
  MAX-ACCESS  read-create
  STATUS      current
  DESCRIPTION
    "This variable specifies the TCM mode at the entity.
     The value operational(1) means that TCM Overhead (TCMOH)
     processes (see ITU-T G.798) shall be
     performed and consequent actions for AIS, Trail
     Signal Fail (TSF), Trail Signal Degraded (TSD) shall be
     initiated in case of defects.
     The value monitor(2) means that TCMOH processes shall be
     performed but consequent actions for AIS, Trail
     Server Failure (TSF), Trail Server Degraded (TSD) shall _not_ be
     initiated in case of defects.

     This object is applicable only when the value of
     optIfODUkTtpPresent is false(2) and also either one of the
     following three cases holds:
       (i) optIfODUkDirectionality has the value bidirectional(3), or
       (ii) optIfODUkDirectionality has the value sink(1) and
            optIfODUkTCodirectional has the value true(1), or
       (iii) optIfODUkDirectionality has the value source(3) and
             optIfODUkTCodirectional has the value false(2).
     It must not be instantiated in rows for all other cases."
  ::= { optIfODUkTConfigEntry 11 }

optIfODUkTSinkLockSignalAdminState OBJECT-TYPE
  SYNTAX  INTEGER {
    locked(1),
    normal(2)
    }
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "Provides the capability to provision the LOCK signal, which
     is one of the ODUk maintenance signals, at the ODUKT sink.  When
     a Tandem Connection endpoint is set to admin state locked,
     it inserts the ODUk-LCK signal in the sink direction.

     This object is applicable only when the value of
     optIfODUkTtpPresent is false(2) and also either one of the
     following three cases holds:
       (i) optIfODUkDirectionality has the value bidirectional(3), or
       (ii) optIfODUkDirectionality has the value sink(1) and
            optIfODUkTCodirectional has the value true(1), or
       (iii) optIfODUkDirectionality has the value source(3) and
             optIfODUkTCodirectional has the value false(2).
     It must not be instantiated in rows for all other cases."
  ::= { optIfODUkTConfigEntry 12 }

optIfODUkTSourceLockSignalAdminState OBJECT-TYPE
  SYNTAX  INTEGER {
    locked(1),
    normal(2)
    }
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "Provides the capability to provision the LOCK signal, which
     is one of the ODUk maintenance signals, at the source.
     When a Tandem Connection endpoint is set to admin state
     locked, it inserts the ODUk-LCK signal in the source
     direction.

     This object is applicable only when either one of the
     following three cases holds:
       (i) optIfODUkDirectionality has the value bidirectional(3), or
       (ii) optIfODUkDirectionality has the value sink(1) and
            optIfODUkTCodirectional has the value false(2), or
       (iii) optIfODUkDirectionality has the value source(3) and
             optIfODUkTCodirectional has the value true(1).
     It must not be instantiated in rows for all other cases."
  ::= { optIfODUkTConfigEntry 13 }

optIfODUkTCurrentStatus OBJECT-TYPE
  SYNTAX  BITS {
    oci(0),
    lck(1),
    tim(2),
    deg(3),
    bdi(4),
    ssf(5)
    }
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the defect condition of the entity, if any.
     This object is applicable only when either one of the
     following three cases holds:
       (i) optIfODUkDirectionality has the value bidirectional(3), or
       (ii) optIfODUkDirectionality has the value sink(1) and
            optIfODUkTCodirectional has the value true(1), or
       (iii) optIfODUkDirectionality has the value source(3) and
             optIfODUkTCodirectional has the value false(2).
     It must not be instantiated in rows for all other cases."
  ::= { optIfODUkTConfigEntry 14 }

optIfODUkTRowStatus OBJECT-TYPE
  SYNTAX  RowStatus
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "This columnar object is used for creating and deleting a
     conceptual row of the optIfODUkT config table.
     It is used to model the addTCM and removeTCM operations of an
     ODUk_CTP or ODUk_TTP for Tandem connection monitoring as defined
     in ITU-T G.874.1.
     Setting RowStatus to createAndGo or createAndWait implies addTCM.
     Setting RowStatus to destroy implies removeTCM.
     Successful addition/removal of TCM will result in updating the
     optIfODUkTcmFieldsInUse and optIfODUkPositionSeqCurrentSize
     variables and the optIfODUkPositionSeqTable table of the

     associated ODUk entry in the optIfODUkConfigTable."
  ::= { optIfODUkTConfigEntry 15 }

-- ODUkT Non-intrusive monitoring (Nim) config table

optIfODUkTNimConfigTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfODUkTNimConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of ODUkTNim configuration information."
  ::= { optIfODUkT 2 }

optIfODUkTNimConfigEntry OBJECT-TYPE
  SYNTAX  OptIfODUkTNimConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains ODUkTNim configuration
     information of an interface.  Each instance must
     correspond to an instance of optIfODUkConfigEntry.
     Rows in this table are mutually exclusive with rows
     in the ODUkT config table -- in other words, this
     row object may not be instantiated for a given pair
     of ifIndex and TCM field values if a corresponding
     instance of optIfODUkTConfigEntry already exists.

     Instances of this conceptual row persist across
     agent restarts, and read-create columns other
     than the status column may be modified while the
     row is active."
  INDEX  {ifIndex, optIfODUkTNimTcmField, optIfODUkTNimDirectionality}
  ::= { optIfODUkTNimConfigTable 1 }

OptIfODUkTNimConfigEntry ::=
  SEQUENCE {
    optIfODUkTNimTcmField                    Unsigned32,
    optIfODUkTNimDirectionality              OptIfSinkOrSource,
    optIfODUkTNimDAPIExpected                OptIfExDAPI,
    optIfODUkTNimSAPIExpected                OptIfExSAPI,
    optIfODUkTNimTraceIdentifierAccepted     OptIfAcTI,
    optIfODUkTNimTIMDetMode                  OptIfTIMDetMode,
    optIfODUkTNimTIMActEnabled               TruthValue,
    optIfODUkTNimDEGThr                      OptIfDEGThr,
    optIfODUkTNimDEGM                        OptIfDEGM,
    optIfODUkTNimCurrentStatus               BITS,
    optIfODUkTNimRowStatus                   RowStatus
    }

optIfODUkTNimTcmField OBJECT-TYPE
  SYNTAX  Unsigned32 (1..6)
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "Indicates the tandem connection monitoring
     field of the ODUk OH on which non-intrusive monitoring
     is performed.  Valid values are
     integers from 1 to 6."
  ::= { optIfODUkTNimConfigEntry 1 }

optIfODUkTNimDirectionality OBJECT-TYPE
  SYNTAX  OptIfSinkOrSource
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "Specifies the monitor point for the ODUk TCM non-intrusive
     monitoring function.  The value source(2) is not allowed
     if the corresponding instance of optIfODUkDirectionality
     has the value sink(1), and the value sink(1) is not allowed
     if the corresponding instance of optIfODUkDirectionality
     has the value source(2).  Either the value sink(1) or
     source(2) is allowed if the corresponding instance of
     optIfODUkDirectionality has the value bidirectional(3).
     The value sink(1) means monitoring at the sink direction
     TCM signal of the ODUk CTP.
     The value source(2) means monitoring at the source direction
     path signal of the ODUk CTP."
  ::= { optIfODUkTNimConfigEntry 2 }

optIfODUkTNimDAPIExpected OBJECT-TYPE
  SYNTAX  OptIfExDAPI
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "The DAPI expected by the receiver.
     This object has no effect if optIfODUkTNimTIMDetMode has
     the value off(1) or sapi(3)."
  ::= { optIfODUkTNimConfigEntry 3 }

optIfODUkTNimSAPIExpected OBJECT-TYPE
  SYNTAX  OptIfExSAPI
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "The SAPI expected by the receiver.
     This object has no effect if optIfODUkTNimTIMDetMode has
     the value off(1) or dapi(2)."
  ::= { optIfODUkTNimConfigEntry 4 }

optIfODUkTNimTraceIdentifierAccepted OBJECT-TYPE
  SYNTAX  OptIfAcTI
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The actual trace identifier accepted.  The value of
     this object is unspecified if optIfODUkTNimCurrentStatus
     has any of the bit positions oci(0), lck(1), or ssf(5)
     set or if optIfODUkTNimRowStatus has any value other
     than active(1)."
  ::= { optIfODUkTNimConfigEntry 5 }

optIfODUkTNimTIMDetMode OBJECT-TYPE
  SYNTAX  OptIfTIMDetMode
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "Indicates the mode of the Trace Identifier Mismatch (TIM)
     Detection function."
  ::= { optIfODUkTNimConfigEntry 6 }

optIfODUkTNimTIMActEnabled OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "Indicates whether the Trace Identifier Mismatch (TIM)
     Consequent Action function is enabled."
  ::= { optIfODUkTNimConfigEntry 7 }

optIfODUkTNimDEGThr OBJECT-TYPE
  SYNTAX  OptIfDEGThr
  UNITS   "percentage"
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "Indicates the threshold level for declaring a performance
     monitoring (PM) Second to be bad.  A PM Second is declared bad if
     the percentage of detected errored blocks in that second is
     greater than or equal to optIfODUkTNimDEGThr."
  ::= { optIfODUkTNimConfigEntry 8 }

optIfODUkTNimDEGM OBJECT-TYPE
  SYNTAX  OptIfDEGM
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "Indicates the threshold level for declaring a Degraded Signal
     defect (dDEG).  A dDEG shall be declared if optIfODUkTNimDEGM
     consecutive bad PM Seconds are detected."
  ::= { optIfODUkTNimConfigEntry 9 }

optIfODUkTNimCurrentStatus OBJECT-TYPE
  SYNTAX  BITS {
    oci(0),
    lck(1),
    tim(2),
    deg(3),
    bdi(4),
    ssf(5)
    }
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the defect condition of the entity, if any.
     The value of this object is unspecified if
     optIfODUkTNimRowStatus has any value other than
     active(1)."
  ::= { optIfODUkTNimConfigEntry 10 }

optIfODUkTNimRowStatus OBJECT-TYPE
  SYNTAX  RowStatus
  MAX-ACCESS  read-create
  STATUS  current
  DESCRIPTION
    "This columnar object is used for creating and deleting a
     conceptual row of the optIfODUkTNim config table.
     It is used to model the addTCM and removeTCM operations of an
     ODUk_CTP or ODUk_TTP for non-intrusive Tandem connection
     monitoring as defined in ITU-T G.874.1.
     Setting RowStatus to createAndGo or createAndWait implies addTCM.
     Setting RowStatus to destroy implies removeTCM.
     Successful addition/removal of Nim TCM will result in updating
     the optIfODUkPositionSeqCurrentSize variable and the
     optIfODUkPositionSeqTable table of the associated ODUk entry
     in the optIfODUkConfigTable."
  ::= { optIfODUkTNimConfigEntry 11 }

-- units of conformance

optIfOTMnGroup OBJECT-GROUP
  OBJECTS  {
    optIfOTMnOrder,
    optIfOTMnReduced,
    optIfOTMnBitRates,
    optIfOTMnInterfaceType,
    optIfOTMnTcmMax,
    optIfOTMnOpticalReach
    }
  STATUS  current
  DESCRIPTION
    "A collection of OTMn structure information objects."
  ::= { optIfGroups 1 }

optIfPerfMonGroup OBJECT-GROUP
  OBJECTS  {
    optIfPerfMonCurrentTimeElapsed,
    optIfPerfMonCurDayTimeElapsed,
    optIfPerfMonIntervalNumIntervals,
    optIfPerfMonIntervalNumInvalidIntervals
    }
  STATUS  current
  DESCRIPTION
    "A collection of performance monitoring interval objects."
  ::= { optIfGroups 2 }

optIfOTSnCommonGroup OBJECT-GROUP
  OBJECTS  {
    optIfOTSnDirectionality
    }
  STATUS  current
  DESCRIPTION
    "A collection of configuration objects
     applicable to all OTSn interfaces."
  ::= { optIfGroups 3 }

optIfOTSnSourceGroupFull OBJECT-GROUP
  OBJECTS  {
    optIfOTSnTraceIdentifierTransmitted
    }
  STATUS  current
  DESCRIPTION
    "A collection of configuration objects
     applicable to full-functionality/IaDI OTSn
     interfaces that support source functions."
  ::= { optIfGroups 4 }

optIfOTSnAPRStatusGroup OBJECT-GROUP
  OBJECTS  {
    optIfOTSnAprStatus
    }
  STATUS  current
  DESCRIPTION
    "A collection of objects applicable to
     OTSn interfaces that support Automatic
     Power Reduction functions."
  ::= { optIfGroups 5 }

optIfOTSnAPRControlGroup OBJECT-GROUP
  OBJECTS  {
    optIfOTSnAprControl
    }
  STATUS  current
  DESCRIPTION
    "A collection of objects applicable to
     OTSn interfaces that provide Automatic
     Power Reduction control functions."
  ::= { optIfGroups 6 }

optIfOTSnSinkGroupBasic OBJECT-GROUP
  OBJECTS  {
    optIfOTSnCurrentStatus
    }
  STATUS  current
  DESCRIPTION
    "A collection of configuration objects
     applicable to all OTSn interfaces that
     support sink functions."
  ::= { optIfGroups 7 }

optIfOTSnSinkGroupFull OBJECT-GROUP
  OBJECTS  {
    optIfOTSnDAPIExpected,
    optIfOTSnSAPIExpected,
    optIfOTSnTraceIdentifierAccepted,
    optIfOTSnTIMDetMode,
    optIfOTSnTIMActEnabled
    }
  STATUS  current
  DESCRIPTION
    "A collection of configuration objects
     applicable to full-functionality/IaDI OTSn
     interfaces that support sink functions."
  ::= { optIfGroups 8 }

optIfOTSnSinkPreOtnPMGroup OBJECT-GROUP
  OBJECTS  {
    optIfOTSnSinkCurrentSuspectedFlag,
    optIfOTSnSinkCurrentInputPower,
    optIfOTSnSinkCurrentLowInputPower,
    optIfOTSnSinkCurrentHighInputPower,
    optIfOTSnSinkCurrentOutputPower,
    optIfOTSnSinkCurrentLowOutputPower,
    optIfOTSnSinkCurrentHighOutputPower,
    optIfOTSnSinkIntervalSuspectedFlag,
    optIfOTSnSinkIntervalLastInputPower,
    optIfOTSnSinkIntervalLowInputPower,
    optIfOTSnSinkIntervalHighInputPower,
    optIfOTSnSinkIntervalLastOutputPower,
    optIfOTSnSinkIntervalLowOutputPower,
    optIfOTSnSinkIntervalHighOutputPower,
    optIfOTSnSinkCurDaySuspectedFlag,
    optIfOTSnSinkCurDayLowInputPower,
    optIfOTSnSinkCurDayHighInputPower,
    optIfOTSnSinkCurDayLowOutputPower,
    optIfOTSnSinkCurDayHighOutputPower,
    optIfOTSnSinkPrevDaySuspectedFlag,
    optIfOTSnSinkPrevDayLastInputPower,
    optIfOTSnSinkPrevDayLowInputPower,
    optIfOTSnSinkPrevDayHighInputPower,
    optIfOTSnSinkPrevDayLastOutputPower,
    optIfOTSnSinkPrevDayLowOutputPower,
    optIfOTSnSinkPrevDayHighOutputPower
    }
  STATUS  current
  DESCRIPTION
    "A collection of pre-OTN performance monitoring
     objects applicable to OTSn interfaces that
     support sink functions."
  ::= { optIfGroups 9 }

optIfOTSnSinkPreOtnPMThresholdGroup OBJECT-GROUP
  OBJECTS  {
    optIfOTSnSinkCurrentLowerInputPowerThreshold,
    optIfOTSnSinkCurrentUpperInputPowerThreshold,
    optIfOTSnSinkCurrentLowerOutputPowerThreshold,
    optIfOTSnSinkCurrentUpperOutputPowerThreshold
    }
  STATUS  current
  DESCRIPTION
    "A collection of pre-OTN performance monitoring
     threshold objects applicable to OTSn interfaces
     that support sink functions."
  ::= { optIfGroups 10 }

optIfOTSnSourcePreOtnPMGroup OBJECT-GROUP
  OBJECTS  {
    optIfOTSnSrcCurrentSuspectedFlag,
    optIfOTSnSrcCurrentOutputPower,
    optIfOTSnSrcCurrentLowOutputPower,
    optIfOTSnSrcCurrentHighOutputPower,
    optIfOTSnSrcCurrentInputPower,
    optIfOTSnSrcCurrentLowInputPower,
    optIfOTSnSrcCurrentHighInputPower,
    optIfOTSnSrcIntervalSuspectedFlag,
    optIfOTSnSrcIntervalLastOutputPower,
    optIfOTSnSrcIntervalLowOutputPower,
    optIfOTSnSrcIntervalHighOutputPower,
    optIfOTSnSrcIntervalLastInputPower,
    optIfOTSnSrcIntervalLowInputPower,
    optIfOTSnSrcIntervalHighInputPower,
    optIfOTSnSrcCurDaySuspectedFlag,
    optIfOTSnSrcCurDayLowOutputPower,
    optIfOTSnSrcCurDayHighOutputPower,
    optIfOTSnSrcCurDayLowInputPower,
    optIfOTSnSrcCurDayHighInputPower,
    optIfOTSnSrcPrevDaySuspectedFlag,
    optIfOTSnSrcPrevDayLastOutputPower,
    optIfOTSnSrcPrevDayLowOutputPower,
    optIfOTSnSrcPrevDayHighOutputPower,
    optIfOTSnSrcPrevDayLastInputPower,
    optIfOTSnSrcPrevDayLowInputPower,
    optIfOTSnSrcPrevDayHighInputPower
    }
  STATUS  current
  DESCRIPTION
    "A collection of pre-OTN performance monitoring
     objects applicable to OTSn interfaces that
     support source functions."
  ::= { optIfGroups 11 }

optIfOTSnSourcePreOtnPMThresholdGroup OBJECT-GROUP
  OBJECTS  {
    optIfOTSnSrcCurrentLowerOutputPowerThreshold,
    optIfOTSnSrcCurrentUpperOutputPowerThreshold,
    optIfOTSnSrcCurrentLowerInputPowerThreshold,
    optIfOTSnSrcCurrentUpperInputPowerThreshold
    }
  STATUS  current
  DESCRIPTION
    "A collection of pre-OTN performance monitoring
     threshold objects applicable to OTSn interfaces
     that support source functions."
  ::= { optIfGroups 12 }

optIfOMSnCommonGroup OBJECT-GROUP

  OBJECTS  {
    optIfOMSnDirectionality
    }
  STATUS  current
  DESCRIPTION
    "A collection of configuration objects
     applicable to all OMSn interfaces."
  ::= { optIfGroups 13 }

optIfOMSnSinkGroupBasic OBJECT-GROUP
  OBJECTS  {
    optIfOMSnCurrentStatus
    }
  STATUS  current
  DESCRIPTION
    "A collection of configuration objects
     applicable to all OMSn interfaces that
     support sink functions."
  ::= { optIfGroups 14 }

optIfOMSnSinkPreOtnPMGroup OBJECT-GROUP
  OBJECTS  {
    optIfOMSnSinkCurrentSuspectedFlag,
    optIfOMSnSinkCurrentAggregatedInputPower,
    optIfOMSnSinkCurrentLowAggregatedInputPower,
    optIfOMSnSinkCurrentHighAggregatedInputPower,
    optIfOMSnSinkCurrentOutputPower,
    optIfOMSnSinkCurrentLowOutputPower,
    optIfOMSnSinkCurrentHighOutputPower,
    optIfOMSnSinkIntervalSuspectedFlag,
    optIfOMSnSinkIntervalLastAggregatedInputPower,
    optIfOMSnSinkIntervalLowAggregatedInputPower,
    optIfOMSnSinkIntervalHighAggregatedInputPower,
    optIfOMSnSinkIntervalLastOutputPower,
    optIfOMSnSinkIntervalLowOutputPower,
    optIfOMSnSinkIntervalHighOutputPower,
    optIfOMSnSinkCurDaySuspectedFlag,
    optIfOMSnSinkCurDayLowAggregatedInputPower,
    optIfOMSnSinkCurDayHighAggregatedInputPower,
    optIfOMSnSinkCurDayLowOutputPower,
    optIfOMSnSinkCurDayHighOutputPower,
    optIfOMSnSinkPrevDaySuspectedFlag,
    optIfOMSnSinkPrevDayLastAggregatedInputPower,
    optIfOMSnSinkPrevDayLowAggregatedInputPower,
    optIfOMSnSinkPrevDayHighAggregatedInputPower,
    optIfOMSnSinkPrevDayLastOutputPower,
    optIfOMSnSinkPrevDayLowOutputPower,
    optIfOMSnSinkPrevDayHighOutputPower

    }
  STATUS  current
  DESCRIPTION
    "A collection of pre-OTN performance monitoring
     objects applicable to OMSn interfaces that
     support sink functions."
  ::= { optIfGroups 15 }

optIfOMSnSinkPreOtnPMThresholdGroup OBJECT-GROUP
  OBJECTS  {
    optIfOMSnSinkCurrentLowerInputPowerThreshold,
    optIfOMSnSinkCurrentUpperInputPowerThreshold,
    optIfOMSnSinkCurrentLowerOutputPowerThreshold,
    optIfOMSnSinkCurrentUpperOutputPowerThreshold
    }
  STATUS  current
  DESCRIPTION
    "A collection of pre-OTN performance monitoring
     threshold objects applicable to OMSn interfaces
     that support sink functions."
  ::= { optIfGroups 16 }

optIfOMSnSourcePreOtnPMGroup OBJECT-GROUP
  OBJECTS  {
    optIfOMSnSrcCurrentSuspectedFlag,
    optIfOMSnSrcCurrentOutputPower,
    optIfOMSnSrcCurrentLowOutputPower,
    optIfOMSnSrcCurrentHighOutputPower,
    optIfOMSnSrcCurrentAggregatedInputPower,
    optIfOMSnSrcCurrentLowAggregatedInputPower,
    optIfOMSnSrcCurrentHighAggregatedInputPower,
    optIfOMSnSrcIntervalSuspectedFlag,
    optIfOMSnSrcIntervalLastOutputPower,
    optIfOMSnSrcIntervalLowOutputPower,
    optIfOMSnSrcIntervalHighOutputPower,
    optIfOMSnSrcIntervalLastAggregatedInputPower,
    optIfOMSnSrcIntervalLowAggregatedInputPower,
    optIfOMSnSrcIntervalHighAggregatedInputPower,
    optIfOMSnSrcCurDaySuspectedFlag,
    optIfOMSnSrcCurDayLowOutputPower,
    optIfOMSnSrcCurDayHighOutputPower,
    optIfOMSnSrcCurDayLowAggregatedInputPower,
    optIfOMSnSrcCurDayHighAggregatedInputPower,
    optIfOMSnSrcPrevDaySuspectedFlag,
    optIfOMSnSrcPrevDayLastOutputPower,
    optIfOMSnSrcPrevDayLowOutputPower,
    optIfOMSnSrcPrevDayHighOutputPower,
    optIfOMSnSrcPrevDayLastAggregatedInputPower,
    optIfOMSnSrcPrevDayLowAggregatedInputPower,
    optIfOMSnSrcPrevDayHighAggregatedInputPower
    }
  STATUS  current
  DESCRIPTION
    "A collection of pre-OTN performance monitoring
     objects applicable to OMSn interfaces that
     support source functions."
  ::= { optIfGroups 17 }

optIfOMSnSourcePreOtnPMThresholdGroup OBJECT-GROUP
  OBJECTS  {
    optIfOMSnSrcCurrentLowerOutputPowerThreshold,
    optIfOMSnSrcCurrentUpperOutputPowerThreshold,
    optIfOMSnSrcCurrentLowerInputPowerThreshold,
    optIfOMSnSrcCurrentUpperInputPowerThreshold
    }
  STATUS  current
  DESCRIPTION
    "A collection of pre-OTN performance monitoring
     threshold objects applicable to OMSn interfaces that
     that support source functions."
  ::= { optIfGroups 18 }

optIfOChGroupCommonGroup OBJECT-GROUP
  OBJECTS  {
    optIfOChGroupDirectionality
    }
  STATUS  current
  DESCRIPTION
    "A collection of configuration objects
     applicable to all OChGroup interfaces."
  ::= { optIfGroups 19 }

optIfOChGroupSinkPreOtnPMGroup OBJECT-GROUP
  OBJECTS  {
    optIfOChGroupSinkCurrentSuspectedFlag,
    optIfOChGroupSinkCurrentAggregatedInputPower,
    optIfOChGroupSinkCurrentLowAggregatedInputPower,
    optIfOChGroupSinkCurrentHighAggregatedInputPower,
    optIfOChGroupSinkCurrentOutputPower,
    optIfOChGroupSinkCurrentLowOutputPower,
    optIfOChGroupSinkCurrentHighOutputPower,
    optIfOChGroupSinkIntervalSuspectedFlag,
    optIfOChGroupSinkIntervalLastAggregatedInputPower,
    optIfOChGroupSinkIntervalLowAggregatedInputPower,
    optIfOChGroupSinkIntervalHighAggregatedInputPower,
    optIfOChGroupSinkIntervalLastOutputPower,
    optIfOChGroupSinkIntervalLowOutputPower,
    optIfOChGroupSinkIntervalHighOutputPower,
    optIfOChGroupSinkCurDaySuspectedFlag,
    optIfOChGroupSinkCurDayLowAggregatedInputPower,
    optIfOChGroupSinkCurDayHighAggregatedInputPower,
    optIfOChGroupSinkCurDayLowOutputPower,
    optIfOChGroupSinkCurDayHighOutputPower,
    optIfOChGroupSinkPrevDaySuspectedFlag,
    optIfOChGroupSinkPrevDayLastAggregatedInputPower,
    optIfOChGroupSinkPrevDayLowAggregatedInputPower,
    optIfOChGroupSinkPrevDayHighAggregatedInputPower,
    optIfOChGroupSinkPrevDayLastOutputPower,
    optIfOChGroupSinkPrevDayLowOutputPower,
    optIfOChGroupSinkPrevDayHighOutputPower
    }
  STATUS  current
  DESCRIPTION
    "A collection of pre-OTN performance monitoring
     objects applicable to OChGroup interfaces that
     support sink functions."
  ::= { optIfGroups 20 }

optIfOChGroupSinkPreOtnPMThresholdGroup OBJECT-GROUP
  OBJECTS  {
    optIfOChGroupSinkCurrentLowerInputPowerThreshold,
    optIfOChGroupSinkCurrentUpperInputPowerThreshold,
    optIfOChGroupSinkCurrentLowerOutputPowerThreshold,
    optIfOChGroupSinkCurrentUpperOutputPowerThreshold
    }
  STATUS  current
  DESCRIPTION
    "A collection of pre-OTN performance monitoring
     threshold objects applicable to OChGroup interfaces
     that support sink functions."
  ::= { optIfGroups 21 }

optIfOChGroupSourcePreOtnPMGroup OBJECT-GROUP
  OBJECTS  {
    optIfOChGroupSrcCurrentSuspectedFlag,
    optIfOChGroupSrcCurrentOutputPower,
    optIfOChGroupSrcCurrentLowOutputPower,
    optIfOChGroupSrcCurrentHighOutputPower,
    optIfOChGroupSrcCurrentAggregatedInputPower,
    optIfOChGroupSrcCurrentLowAggregatedInputPower,
    optIfOChGroupSrcCurrentHighAggregatedInputPower,
    optIfOChGroupSrcIntervalSuspectedFlag,
    optIfOChGroupSrcIntervalLastOutputPower,
    optIfOChGroupSrcIntervalLowOutputPower,
    optIfOChGroupSrcIntervalHighOutputPower,
    optIfOChGroupSrcIntervalLastAggregatedInputPower,
    optIfOChGroupSrcIntervalLowAggregatedInputPower,
    optIfOChGroupSrcIntervalHighAggregatedInputPower,
    optIfOChGroupSrcCurDaySuspectedFlag,
    optIfOChGroupSrcCurDayLowOutputPower,
    optIfOChGroupSrcCurDayHighOutputPower,
    optIfOChGroupSrcCurDayLowAggregatedInputPower,
    optIfOChGroupSrcCurDayHighAggregatedInputPower,
    optIfOChGroupSrcPrevDaySuspectedFlag,
    optIfOChGroupSrcPrevDayLastOutputPower,
    optIfOChGroupSrcPrevDayLowOutputPower,
    optIfOChGroupSrcPrevDayHighOutputPower,
    optIfOChGroupSrcPrevDayLastAggregatedInputPower,
    optIfOChGroupSrcPrevDayLowAggregatedInputPower,
    optIfOChGroupSrcPrevDayHighAggregatedInputPower
    }
  STATUS  current
  DESCRIPTION
    "A collection of pre-OTN performance monitoring
     objects applicable to OChGroup interfaces that
     support source functions."
  ::= { optIfGroups 22 }

optIfOChGroupSourcePreOtnPMThresholdGroup OBJECT-GROUP
  OBJECTS  {
    optIfOChGroupSrcCurrentLowerOutputPowerThreshold,
    optIfOChGroupSrcCurrentUpperOutputPowerThreshold,
    optIfOChGroupSrcCurrentLowerInputPowerThreshold,
    optIfOChGroupSrcCurrentUpperInputPowerThreshold
    }
  STATUS  current
  DESCRIPTION
    "A collection of pre-OTN performance monitoring
     threshold objects applicable to OChGroup interfaces that
     that support source functions."
  ::= { optIfGroups 23 }

optIfOChCommonGroup OBJECT-GROUP
  OBJECTS  {
    optIfOChDirectionality
    }
  STATUS  current
  DESCRIPTION
    "A collection of configuration objects
     applicable to all OCh interfaces."
  ::= { optIfGroups 24 }

optIfOChSinkGroupBasic OBJECT-GROUP
  OBJECTS  {
    optIfOChCurrentStatus
    }
  STATUS  current
  DESCRIPTION
    "A collection of configuration objects
     applicable to all OCh interfaces that
     support sink functions."
  ::= { optIfGroups 25 }

optIfOChSinkPreOtnPMGroup OBJECT-GROUP
  OBJECTS  {
    optIfOChSinkCurrentSuspectedFlag,
    optIfOChSinkCurrentInputPower,
    optIfOChSinkCurrentLowInputPower,
    optIfOChSinkCurrentHighInputPower,
    optIfOChSinkIntervalSuspectedFlag,
    optIfOChSinkIntervalLastInputPower,
    optIfOChSinkIntervalLowInputPower,
    optIfOChSinkIntervalHighInputPower,
    optIfOChSinkCurDaySuspectedFlag,
    optIfOChSinkCurDayLowInputPower,
    optIfOChSinkCurDayHighInputPower,
    optIfOChSinkPrevDaySuspectedFlag,
    optIfOChSinkPrevDayLastInputPower,
    optIfOChSinkPrevDayLowInputPower,
    optIfOChSinkPrevDayHighInputPower
     }
  STATUS  current
  DESCRIPTION
    "A collection of pre-OTN performance monitoring
     objects applicable to OCh interfaces that
     support sink functions."
  ::= { optIfGroups 26 }

optIfOChSinkPreOtnPMThresholdGroup OBJECT-GROUP
  OBJECTS  {
    optIfOChSinkCurrentLowerInputPowerThreshold,
    optIfOChSinkCurrentUpperInputPowerThreshold
     }
  STATUS  current
  DESCRIPTION
    "A collection of pre-OTN performance monitoring
     threshold objects applicable to OCh interfaces
     that support sink functions."
  ::= { optIfGroups 27 }

optIfOChSourcePreOtnPMGroup OBJECT-GROUP
  OBJECTS  {
    optIfOChSrcCurrentSuspectedFlag,
    optIfOChSrcCurrentOutputPower,
    optIfOChSrcCurrentLowOutputPower,
    optIfOChSrcCurrentHighOutputPower,
    optIfOChSrcIntervalSuspectedFlag,
    optIfOChSrcIntervalLastOutputPower,
    optIfOChSrcIntervalLowOutputPower,
    optIfOChSrcIntervalHighOutputPower,
    optIfOChSrcCurDaySuspectedFlag,
    optIfOChSrcCurDayLowOutputPower,
    optIfOChSrcCurDayHighOutputPower,
    optIfOChSrcPrevDaySuspectedFlag,
    optIfOChSrcPrevDayLastOutputPower,
    optIfOChSrcPrevDayLowOutputPower,
    optIfOChSrcPrevDayHighOutputPower
     }
  STATUS  current
  DESCRIPTION
    "A collection of pre-OTN performance monitoring
     objects applicable to OCh interfaces that
     support source functions."
  ::= { optIfGroups 28 }

optIfOChSourcePreOtnPMThresholdGroup OBJECT-GROUP
  OBJECTS  {
    optIfOChSrcCurrentLowerOutputPowerThreshold,
    optIfOChSrcCurrentUpperOutputPowerThreshold
     }
  STATUS  current
  DESCRIPTION
    "A collection of pre-OTN performance monitoring
     threshold objects applicable to OCh interfaces
     that support source functions."
  ::= { optIfGroups 29 }

optIfOTUkCommonGroup OBJECT-GROUP
  OBJECTS  {
    optIfOTUkDirectionality,
    optIfOTUkBitRateK
    }
  STATUS  current
  DESCRIPTION
    "A collection of configuration objects
     applicable to all OTUk interfaces."
  ::= { optIfGroups 30 }

optIfOTUkSourceGroup OBJECT-GROUP
  OBJECTS  {
    optIfOTUkTraceIdentifierTransmitted,
    optIfOTUkSourceAdaptActive
    }
  STATUS  current
  DESCRIPTION
    "A collection of configuration objects
     applicable to OTUk interfaces that
     support source functions."
  ::= { optIfGroups 31 }

optIfOTUkSinkGroup OBJECT-GROUP
  OBJECTS  {
    optIfOTUkDAPIExpected,
    optIfOTUkSAPIExpected,
    optIfOTUkTraceIdentifierAccepted,
    optIfOTUkTIMDetMode,
    optIfOTUkTIMActEnabled,
    optIfOTUkDEGThr,
    optIfOTUkDEGM,
    optIfOTUkSinkAdaptActive,
    optIfOTUkSinkFECEnabled,
    optIfOTUkCurrentStatus
    }
  STATUS  current
  DESCRIPTION
    "A collection of configuration objects
     applicable to OTUk interfaces that
     support sink functions."
  ::= { optIfGroups 32 }

optIfGCC0Group OBJECT-GROUP
  OBJECTS  {
    optIfGCC0Application,
    optIfGCC0RowStatus
    }
  STATUS  current
  DESCRIPTION
    "A collection of GCC0 configuration objects."
  ::= { optIfGroups 33 }

optIfODUkGroup OBJECT-GROUP
  OBJECTS  {
    optIfODUkDirectionality,
    optIfODUkBitRateK,
    optIfODUkTcmFieldsInUse,
    optIfODUkPositionSeqCurrentSize,
    optIfODUkPositionSeqPosition,
    optIfODUkPositionSeqPointer,
    optIfODUkTtpPresent
    }
  STATUS  current
  DESCRIPTION
    "A collection of configuration objects
     applicable to all ODUk interfaces."
  ::= { optIfGroups 34 }

optIfODUkTtpSourceGroup OBJECT-GROUP
  OBJECTS  {
    optIfODUkTtpTraceIdentifierTransmitted
    }
  STATUS  current
  DESCRIPTION
    "A collection of configuration objects
     applicable to all interfaces that support
     ODUk trail termination source functions."
  ::= { optIfGroups 35 }

optIfODUkTtpSinkGroup OBJECT-GROUP
  OBJECTS  {
    optIfODUkTtpDAPIExpected,
    optIfODUkTtpSAPIExpected,
    optIfODUkTtpTraceIdentifierAccepted,
    optIfODUkTtpTIMDetMode,
    optIfODUkTtpTIMActEnabled,
    optIfODUkTtpDEGThr,
    optIfODUkTtpDEGM,
    optIfODUkTtpCurrentStatus
    }
  STATUS  current
  DESCRIPTION
    "A collection of ODUk configuration objects
     applicable to all interfaces that support
     ODUk trail termination sink functions."
  ::= { optIfGroups 36 }

optIfODUkNimGroup OBJECT-GROUP
  OBJECTS  {
    optIfODUkNimDAPIExpected,
    optIfODUkNimSAPIExpected,
    optIfODUkNimTraceIdentifierAccepted,
    optIfODUkNimTIMDetMode,
    optIfODUkNimTIMActEnabled,
    optIfODUkNimDEGThr,
    optIfODUkNimDEGM,
    optIfODUkNimCurrentStatus,
    optIfODUkNimRowStatus
    }
  STATUS  current
  DESCRIPTION
    "A collection of ODUk Nim configuration objects."
  ::= { optIfGroups 37 }

optIfGCC12Group OBJECT-GROUP
  OBJECTS  {
    optIfGCC12GCCPassThrough,
    optIfGCC12Application,
    optIfGCC12RowStatus
    }
  STATUS  current
  DESCRIPTION
    "A collection of GCC12 configuration objects."
  ::= { optIfGroups 38 }

optIfODUkTCommonGroup OBJECT-GROUP
  OBJECTS  {
    optIfODUkTRowStatus
    }
  STATUS  current
  DESCRIPTION
    "A collection of configuration objects
     applicable to all ODUkT instances."
  ::= { optIfGroups 39 }

optIfODUkTSourceGroup OBJECT-GROUP
  OBJECTS  {
    optIfODUkTTraceIdentifierTransmitted,
    optIfODUkTSourceLockSignalAdminState
    }
  STATUS  current
  DESCRIPTION
    "A collection of configuration objects
     applicable to all ODUkT instances
     that provide source functions."
  ::= { optIfGroups 40 }

optIfODUkTSinkGroup OBJECT-GROUP
  OBJECTS  {
    optIfODUkTDAPIExpected,
    optIfODUkTSAPIExpected,
    optIfODUkTTraceIdentifierAccepted,
    optIfODUkTTIMDetMode,
    optIfODUkTTIMActEnabled,
    optIfODUkTDEGThr,
    optIfODUkTDEGM,
    optIfODUkTCurrentStatus
    }
  STATUS  current
  DESCRIPTION
    "A collection of configuration objects
     applicable to all ODUkT instances
     that provide sink functions."
  ::= { optIfGroups 41 }

optIfODUkTSinkGroupCtp OBJECT-GROUP
  OBJECTS  {
    optIfODUkTSinkMode,
    optIfODUkTSinkLockSignalAdminState
    }
  STATUS  current
  DESCRIPTION
    "A collection of configuration objects
     applicable to ODUkT instances not
     colocated with an ODUk TTP that
     provide sink functions."
  ::= { optIfGroups 42 }

optIfODUkTNimGroup OBJECT-GROUP
  OBJECTS  {
    optIfODUkTNimDAPIExpected,
    optIfODUkTNimSAPIExpected,
    optIfODUkTNimTraceIdentifierAccepted,
    optIfODUkTNimTIMDetMode,
    optIfODUkTNimTIMActEnabled,
    optIfODUkTNimDEGThr,
    optIfODUkTNimDEGM,
    optIfODUkTNimCurrentStatus,
    optIfODUkTNimRowStatus
    }
  STATUS  current
  DESCRIPTION
    "A collection of ODUkT Nim configuration objects."
  ::= { optIfGroups 43 }

-- compliance specifications

optIfOtnConfigCompl MODULE-COMPLIANCE
  STATUS  current
  DESCRIPTION
    "Implementation requirements for the OTN configuration
     functions defined in this MIB module."

  MODULE -- this module

    MANDATORY-GROUPS  {
      optIfOTMnGroup,
      optIfOTSnCommonGroup
      }

    GROUP  optIfOTSnSourceGroupFull
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalTransport(196) for which the corresponding
       instance of optIfOTSnDirectionality has the value
       source(2) or bidirectional(3), the corresponding
       instance of optIfOTMnReduced has the value false(2),
       and the corresponding instance of optIfOTMnInterfaceType
       specifies an OTMn interface type of 'IaDI'."

    GROUP  optIfOTSnAPRStatusGroup
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalTransport(196) that support Automatic Power
       Reduction functions."

    GROUP  optIfOTSnAPRControlGroup
    DESCRIPTION
      "This group is optional, but is recommended for interfaces
       of ifType opticalTransport(196) that provide Automatic
       Power Reduction control functions."

    GROUP  optIfOTSnSinkGroupBasic
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalTransport(196) for which the corresponding
       instance of optIfOTSnDirectionality has the value
       sink(1) or bidirectional(3)."

    GROUP  optIfOTSnSinkGroupFull
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalTransport(196) for which the corresponding
       instance of optIfOTSnDirectionality has the value
       sink(1) or bidirectional(3), the corresponding
       instance of optIfOTMnReduced has the value false(2),
       and the corresponding instance of optIfOTMnInterfaceType
       specifies an OTMn interface type of 'IaDI'."

    GROUP  optIfOMSnCommonGroup
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalTransport(196) that support access to the OMS
       overhead information within the OTN Supervisory Channel."

    GROUP  optIfOMSnSinkGroupBasic
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalTransport(196) that support access to the OMS Overhead
       information within the OSC (OTN Supervisory Channel)
       for which the corresponding
       instance of optIfOMSnDirectionality has the value
       sink(1) or bidirectional(3)."

    GROUP  optIfOChGroupCommonGroup
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalChannelGroup(219)."

    GROUP  optIfOChCommonGroup
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalTransport(195)."

    GROUP  optIfOChSinkGroupBasic
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalChannel(195) for which the corresponding
       instance of optIfOChDirectionality has the value
       sink(1) or bidirectional(3)."

    GROUP  optIfOTUkCommonGroup
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalChannel(195) that support OTUk layer functions."

    GROUP  optIfOTUkSourceGroup
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalChannel(195) that support OTUk layer functions
       and for which the corresponding instance of
       optIfOTUkDirectionality has the value source(2) or
       bidirectional(3)."

    GROUP  optIfOTUkSinkGroup
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalChannel(195) that support OTUk layer functions
       and for which the corresponding instance of

       optIfOTUkDirectionality has the value sink(1) or
       bidirectional(3)."

    GROUP  optIfGCC0Group
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalChannel(195) that support GCC0 access functions.
       It may be implemented only if the optIfOTUkCommonGroup
       is also implemented."

    GROUP  optIfODUkGroup
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalChannel(195) that support ODUk layer functions."

    GROUP  optIfODUkTtpSourceGroup
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalChannel(195) for which the corresponding
       instance of optIfODUkTtpPresent has the value
       true(1) and for which the corresponding instance of
       optIfODUkDirectionality has the value source(2) or
       bidirectional(3).  It may be implemented only if the
       optIfODUkGroup is also implemented."

    GROUP  optIfODUkTtpSinkGroup
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalChannel(195) for which the corresponding
       instance of optIfODUkTtpPresent has the value
       true(1) and for which the corresponding instance of
       optIfODUkDirectionality has the value sink(1) or
       bidirectional(3).  It may be implemented only if the
       optIfODUkGroup is also implemented."

    GROUP  optIfODUkNimGroup
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalChannel(195) for which the corresponding
       instance of optIfODUkTtpPresent has the value
       false(2).  It may be implemented only if the
       optIfODUkGroup is also implemented."

    GROUP  optIfGCC12Group
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalChannel(195) that support GCC12 access functions.
       It may be implemented only if the optIfODUkGroup

       is also implemented."

    GROUP  optIfODUkTCommonGroup
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalChannel(195) that support intrusive
       tandem connection monitoring.  It may be implemented
       only if the optIfODUkGroup is also implemented."

    GROUP  optIfODUkTSourceGroup
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalChannel(195) that support intrusive
       tandem connection monitoring and for which
       (i) optIfODUkDirectionality has the value bidirectional(3), or
       (ii) optIfODUkDirectionality has the value sink(1) and
            optIfODUkTCodirectional has the value false(2), or
       (iii) optIfODUkDirectionality has the value source(3) and
             optIfODUkTCodirectional has the value true(1).
       It may be implemented only if the optIfODUkGroup is
       also implemented."

    GROUP  optIfODUkTSinkGroup
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalChannel(195) that support intrusive
       tandem connection monitoring and for which
       (i) optIfODUkDirectionality has the value bidirectional(3), or
       (ii) optIfODUkDirectionality has the value sink(1) and
            optIfODUkTCodirectional has the value true(1), or
       (iii) optIfODUkDirectionality has the value source(3) and
             optIfODUkTCodirectional has the value false(2).
       It may be implemented only if the optIfODUkGroup is
       also implemented."

    GROUP  optIfODUkTSinkGroupCtp
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalChannel(195) that support intrusive
       tandem connection monitoring and for which
       optIfODUkTtpPresent is false(2) and
       (i) optIfODUkDirectionality has the value bidirectional(3), or
       (ii) optIfODUkDirectionality has the value sink(1) and
            optIfODUkTCodirectional has the value true(1), or
       (iii) optIfODUkDirectionality has the value source(3) and
             optIfODUkTCodirectional has the value false(2).
       It may be implemented only if the optIfODUkGroup and
       optIfODUkTSinkGroup are also implemented."

    GROUP  optIfODUkTNimGroup
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalChannel(195) that support non-intrusive
       tandem connection monitoring.  It may be implemented
       only if the optIfODUkGroup is also implemented."
  ::= { optIfCompl 1 }

optIfPreOtnPMCompl MODULE-COMPLIANCE
  STATUS  current
  DESCRIPTION
    "Implementation requirements for Pre-OTN performance
     monitoring functions defined in this MIB module."

  MODULE  -- this module

    MANDATORY-GROUPS  {
      optIfPerfMonGroup
      }

    GROUP  optIfOTSnSinkPreOtnPMGroup
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalTransport(196) that support OTSn sink
       functions (i.e., for which the corresponding instance
       of optIfOTSnDirectionality -- if implemented -- has
       the value sink(1) or bidirectional(3))."

    GROUP  optIfOTSnSinkPreOtnPMThresholdGroup
    DESCRIPTION
      "This group is mandatory if and only if TCA notifications
       are implemented.  If the objects of this group are instantiated
       then the implementation must also provide, in an
       enterprise MIB, suitable TCA notification definitions and
       notification control objects.  Implementation of the
       optIfOTSnSinkPreOtnPMGroup is a prerequisite for
       implementing this group."

    GROUP  optIfOTSnSourcePreOtnPMGroup
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalTransport(196) that support OTSn source
       functions (i.e., for which the corresponding instance
       of optIfOTSnDirectionality -- if implemented -- has
       the value source(2) or bidirectional(3))."

    GROUP  optIfOTSnSourcePreOtnPMThresholdGroup
    DESCRIPTION
      "This group is mandatory if and only if TCA notifications
       are implemented.  If the objects of this group are instantiated
       then the implementation must also provide, in an
       enterprise MIB, suitable TCA notification definitions and
       notification control objects.  Implementation of the
       optIfOTSnSourcePreOtnPMGroup is a prerequisite for
       implementing this group "

    GROUP  optIfOMSnSinkPreOtnPMGroup
    DESCRIPTION
      "This group is optional.  It may be implemented by systems
       with the necessary instrumentation on interfaces of ifType
       opticalTransport(196) that support OMSn sink functions
       (i.e., for which the corresponding instance of
       optIfOMSnDirectionality -- if implemented -- has the value
       sink(1) or bidirectional(3))."

    GROUP  optIfOMSnSinkPreOtnPMThresholdGroup
    DESCRIPTION
      "This group is mandatory if and only if TCA notifications
       are implemented.  If the objects of this group are instantiated
       then the implementation must also provide, in an
       enterprise MIB, suitable TCA notification definitions and
       notification control objects.  Implementation of the
       optIfOMSnSinkPreOtnPMGroup is a prerequisite for
       implementing this group "

    GROUP  optIfOMSnSourcePreOtnPMGroup
    DESCRIPTION
      "This group is optional.  It may be implemented by systems
       with the necessary instrumentation on interfaces of ifType
       opticalTransport(196) that support OMSn source functions
       (i.e., for which the corresponding instance of
       optIfOMSnDirectionality -- if implemented -- has the value
       source(2) or bidirectional(3))."

    GROUP  optIfOMSnSourcePreOtnPMThresholdGroup
    DESCRIPTION
      "This group is mandatory if and only if TCA notifications
       are implemented.  If the objects of this group are instantiated
       then the implementation must also provide, in an
       enterprise MIB, suitable TCA notification definitions and
       notification control objects.  Implementation of the
       optIfOMSnSourcePreOtnPMGroup is a prerequisite for
       implementing this group "

    GROUP  optIfOChGroupSinkPreOtnPMGroup
    DESCRIPTION
      "This group is optional.  It may be implemented by systems
       with the necessary instrumentation on interfaces of ifType
       opticalChannelGroup(219) that support OChGroup sink functions
       (i.e., for which the corresponding instance of
       optIfOChGroupDirectionality -- if implemented -- has the value
       sink(1) or bidirectional(3))."

    GROUP  optIfOChGroupSinkPreOtnPMThresholdGroup
    DESCRIPTION
      "This group is mandatory if and only if TCA notifications
       are implemented.  If the objects of this group are instantiated
       then the implementation must also provide, in an
       enterprise MIB, suitable TCA notification definitions and
       notification control objects.  Implementation of the
       optIfOChGroupSinkPreOtnPMGroup is a prerequisite for
       implementing this group "

    GROUP  optIfOChGroupSourcePreOtnPMGroup
    DESCRIPTION
      "This group is optional.  It may be implemented by systems
       with the necessary instrumentation on interfaces of ifType
       opticalChannelGroup(219) that support OChGroup source functions
       (i.e., for which the corresponding instance of
       optIfOChGroupDirectionality -- if implemented -- has the value
       source(2) or bidirectional(3))."

    GROUP  optIfOChGroupSourcePreOtnPMThresholdGroup
    DESCRIPTION
      "This group is mandatory if and only if TCA notifications
       are implemented.  If the objects of this group are instantiated
       then the implementation must also provide, in an
       enterprise MIB, suitable TCA notification definitions and
       notification control objects.  Implementation of the
       optIfOChGroupSourcePreOtnPMGroup is a prerequisite for
       implementing this group "

    GROUP  optIfOChSinkPreOtnPMGroup
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalChannel(195) that support OCh sink functions
       (i.e., for which the corresponding instance of
       optIfOChDirectionality -- if implemented -- has the
       value sink(1) or bidirectional(3))."

    GROUP  optIfOChSinkPreOtnPMThresholdGroup
    DESCRIPTION
      "This group is mandatory if and only if TCA notifications

       are implemented.  If the objects of this group are instantiated
       then the implementation must also provide, in an
       enterprise MIB, suitable TCA notification definitions and
       notification control objects.  Implementation of the
       optIfOChSinkPreOtnPMGroup is a prerequisite for
       implementing this group "

    GROUP  optIfOChSourcePreOtnPMGroup
    DESCRIPTION
      "This group is mandatory for interfaces of ifType
       opticalChannel(195) that support OCh source functions
       (i.e., for which the corresponding instance of
       optIfOChDirectionality -- if implemented -- has the
       value source(2) or bidirectional(3))."

    GROUP  optIfOChSourcePreOtnPMThresholdGroup
    DESCRIPTION
      "This group is mandatory if and only if TCA notifications
       are implemented.  If the objects of this group are instantiated
       then the implementation must also provide, in an
       enterprise MIB, suitable TCA notification definitions and
       notification control objects.  Implementation of the
       optIfOChSourcePreOtnPMGroup is a prerequisite for
       implementing this group "
  ::= { optIfCompl 2 }

END
