Network Working Group
Expires January 19, 2002   OPTICAL INTERFACE MIB            Mark Stewart
Internet Draft                                                   Kam Lam
                                                     Lucent Technologies
                                                             An-ni Huynh
                                                          Cetus Networks
                                                           July 19, 2001




                     Definitions of Managed Objects
                     for the Optical Interface Type


                  draft-ietf-atommib-opticalmib-01.txt


Status of this Memo

    This document is an Internet-Draft and is in full conformance with
    all provisions of Section 10 of RFC2026.

    Internet-Drafts are working documents of the Internet Engineering
    Task Force (IETF), its areas, and its working groups. Note that
    other groups may also distribute working documents as
    Internet-Drafts.

    Internet-Drafts are draft documents valid for a maximum of six
    months and may be updated, replaced, or obsoleted by other documents
    at any time. It is inappropriate to use Internet-Drafts as reference
    material or to cite them other than as "work in progress."

    The list of current Internet-Drafts can be accessed at
    http://www.ietf.org/ietf/1id-abstracts.txt.

    The list of Internet-Draft Shadow Directories can be accessed at
    http://www.ietf.org/shadow.html.


Editor's Note:

Version 00 of optical mib ID draft draft-ietf-atommib-opticalmib-00.txt
made the following changes proposed at the 50th IETF meeting:
      (1) Add section 3.6:  Usage of TCM levels
      (2) Modify ODUkTConfigTable
      (3) Add ODUkTcmSinkTable
      (4) Add ODUkTcmSourceTable

This version of the optical mib, Version 01, proposes the following
additional changes related to optical performance monitorin (PM),
to align with ITU-T Draft New Recommendations G.cemr and G.798, and
editorial changes to improve the readability of the MIB.

Editorial changes for improving the readability of the MIB:
      - Changed name of MIB from OTN-MIB to OPT-IF-MIB
      - Changed name of MIB module from otnMIB to optIfMibModule
      - Changed all 'otn' prefixes to 'optIf'
      - Added IntervalNumber textual convention and used it as
        the syntax for all IntervalNumber objects
      - Moved PM interval objects from OTSn configuration table
        to new PerfMon group
      - Changed NbrOfValidIntervals object to NumIntervals (i.e.,
        total number instead of valid number of intervals)
      - Changed object ending in NbrOfInvalidIntervals to end
        with NumInvalidIntervals
      - Changed names in interval and previous day tables to
        include 'Last' to denote that the value is the last value
        of that interval/day.
      - Changed the names of all objects ending in TimActDisabled
        to end with TIMActEnabled; this also improved the
        semantics such that a true value means enabled
      - Changed the names of all objects ending in InputPwr
        to end with InputPower
      - Changed the names of all objects ending in LoopThreshold
        to end with LowerInputPowerThreshold or
        LowerOutputPowerThreshold, as appropriate
      - Changed the names of all objects ending in IntervalNbr
        to end with IntervalNumber
      - Changed the names of all objects ending in SafetyThreshold
        to end with UpperOutputPowerThreshold
      - Changed MAX-ACCESS of all Threshold objects to read-write
      - Added compliance specifications and groups
      - Updated descriptions
      - Made formatting changes

Related to optical PM and align with G.cemr:
      - Removed all PMCounterReset objects
      - Removed OTS sink LaserTemp objects
      - Added OMS source and sink LaserTemp objects
      - Added OCh source LaserTemp objects
      - Added UNITS clause to all LaserTemp objects
      - Added UpperInputPowerThreshold objects to the sink tables
      - Added current and previous day tables and scalar objects

Related to configuration parameters and align with G.798:
      - Replace ExTI by ExSAPI and ExDAPI
      - Change TimDetDis to TimDetMo (values: Off, SAPI, DAPI, &
        SAPI+DAPI)
      - Change TTI Received to TTI Accepted
      - Add AcTIStatus - Accepted TTI Status (values: stable, unstable)
      - Add SinkAdaptActive, SourceAdaptActive, and SinkFECEnabled
        to OCh
      - Update the currectStatus tables.
        For OTSn, add BDI, remove SSFP, SSFO, SSF, & LOOP.
        For OMSn, add BDI.
        For OCh, add SSF.
        For ODUkP, remove AIS.
      - Add configuration parameters DEGThr and DEGM to OTUk, ODUkP,
        and ODUkT
      - Move the ODUkT configuration parameters CurrentStatus
        and AdminStateSink into the ODUkTSinkConfig Table
      - Move the ODUkT configuration parameter AdminStateSource
        into the ODUkTSourceConfig Table
      - Add additional references, including ITU-T G.806, G.874.1,
        and G.cemr.

Possible future updates:
      Consider creating textual conventions for
      TraceIdentifierTransmitted, DAPIExpected, SAPIExpected,
      TraceIdentifierAccepted, AcTIStatus, TIMDetMode, DEGThr, DEGM,
      TCMMode, and LockSignalAdminState.

Copyright Notice

   Copyright (C) The Internet Society (2000).  All Rights Reserved.

1.  Abstract

   This memo defines a portion of the Management Information Base (MIB)
   for use with SNMP in TCP/IP-based internets.  In particular, it defines
   objects for managing Optical Interfaces associated with Wavelength
   Division Multiplexing systems or characterized by the Optical
   Transport Network (OTN) in accordance with [ITU G.872].

   Textual Conventions used in this MIB are defined in [RFC2579]
   and [RFC2493]."


Table of Contents

   1 Abstract ..............................................   xx
   2 The SNMP Network Management Framework .................   xx
   3 Overview ..............................................   xx
   3.1 Use of the ifTable ..................................   xx
   3.2 Use of ifTable for OTN OTS/OMS Layer.................   xx
   3.3 Use of ifTable for OTN OCh Layer.....................   xx
   3.4 Use of ifStackTable..................................   xx
   3.5 Optical Network Terminology .........................   xx
   3.6 Tandem Connection Monitoring (TCM) ..................   xx
   4. Structure of the MIB..................................   xx
   4.1.  The otnOTSn group..................................   xx
   4.2.  The otnOMSn group..................................   xx
   4.3.  The otnOch group...................................   xx
   4.4.  The otnODUk group..................................   xx
   4.5.  The otnODUkT group.................................   xx
   4.6.  The otnODUkP group.................................   xx
   5 Object Definitions ....................................   xx
   6 Security Considerations ...............................   xx
   7 Acknowledgments........................................   xx
   8 References ............................................   xx
   9 Author's Address ......................................   xx
   10 Intellectual Property ................................   xx
   Full Copyright Statement ................................   xx

2.  The SNMP Network Management Framework

   The SNMP Management Framework presently consists of five major
   components:

   0    An overall architecture, described in RFC 2571 [RFC2571].

   0    Mechanisms for describing and naming objects and events for the
        purpose of management.  The first version of this Structure of
        Management Information (SMI) is called SMIv1 and described in
        STD 16, RFC 1155 [RFC1155], STD 16, RFC 1212 [RFC1212] and RFC
        1215 [RFC1215].  The second version, called SMIv2, is described
        in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and
        STD 58, RFC 2580 [RFC2580].

   0    Message protocols for transferring management information.  The
        first version of the SNMP message protocol is called SNMPv1 and
        described in STD 15, RFC 1157 [RFC1157].  A second version of
        the SNMP message protocol, which is not an Internet standards
        track protocol, is called SNMPv2c and described in RFC 1901
        [RFC1901] and RFC 1906 [RFC1906].  The third version of the
        message protocol is called SNMPv3 and described in RFC 1906
        [RFC1906], RFC 2572 [RFC2572] and RFC 2574 [RFC2574].

   0    Protocol operations for accessing management information.  The
        first set of protocol operations and associated PDU formats is
        described in STD 15, RFC 1157 [RFC1157].  A second set of
        protocol operations and associated PDU formats is described in
        RFC 1905 [RFC1905].

   o   A set of fundamental applications described in RFC 2573
        [RFC2573] and the view-based access control mechanism described
        in RFC 2575 [RFC2575].

   A more detailed introduction to the current SNMP Management Framework
   can be found in RFC 2570 [RFC2570].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  Objects in the MIB are
   defined using the mechanisms defined in the SMI.

   This memo specifies a MIB module that is compliant to the SMIv2.  A
   MIB conforming to the SMIv1 can be produced through the appropriate
   translations.  The resulting translated MIB must be semantically
   equivalent, except where objects or events are omitted because no
   translation is possible (e.g., use of Counter64).  Some machine
   readable information in SMIv2 will be converted into textual
   descriptions in SMIv1 during the translation process.  However,
   this loss of machine readable information is not considered to
   change the semantics of the MIB.

3.  Overview

   In this document, the term OTN (Optical Transport Network) system
   is used to describe devices that are compliant with the requirements
   specified in the ITU-T Recommendations G.872, G.709, G.798, G.874 and
   G.874.1 [ITU G.872][ITU G.709][ITU G.798][ITU G.874][ITU G.874.1],
   available as of the date this Internet-Draft. As some of the ITU-T
   Recommendations have not yet been approved, implementers of DWDM
   systems are advised to refer to most recent versions of these ITU-T
   Recommendations.

   The optical objects will be managed using the MIB II ifTable and
   ifStackTable.  Additional tables will also be supported to monitor
   layer specific status and provide performance monitoring data.
   In the tables, some entries are required for OTN systems only.
   A Configuration (Config) table, Current Performance Monitoring (PM)
   table, and Interval PM table will be maintained for the OTSn, OMSn,
   and OCh layers on a source and sink trail termination basis.
   These tables will be linked to the ifTable by using the ifIndex
   that is associated with that layer.

   These objects are used when the particular media being used to
   realize an interface is an Optical Transport interface.  At present,
   this applies to these values of the ifType variable in the
   Internet-standard MIB:

   opticalChannel (195), opticalTransport (196)

   The definitions contained herein are based on the OTN
   specifications in ITU-T G.872[ITU G.798], G.709 [ITU G.709],
   G.798[ITU G.798], G.874[ITU G.874], and G.874.1 [ITU G.874.1].

3.1.  Use of the ifTable

   This section specifies how the MIB II interfaces group, as defined in
   [RFC2863], is used for optical interfaces.  Only the
   ifGeneralInformationGroup will be supported for the ifTable and the
   ifStackTable to maintain the relationship between the various layers.
   The OTN layers are managed in the ifTable using IfEntries that
   correlate to the layers depicted in Figure 1.

   For example, a DWDM device with an Optical Network Node Interface
   (ONNI) will have an Optical Transmission Section (OTS) physical
   layer, an Optical Multiplex Section (OMS) layer (transports multiple
   optical channels), and an Optical Channel (OCh) layer.  There is a
   one to one relationship between the OMS and OTS layers.  The OMS
   layer has fixed connectivity via the OTS and thus no connectivity
   flexibility at the OMS layer is supported.

   A device with an ONNI that does not multiplex would consist of
   the OTS and OCh layers supporting a single channel.

   MIB II [RFC1213], as extended by [RFC2863], accommodates these cases
   through appropriate use of the MIB II system and interfaces groups.
   The system group names and describes the type of managed resource.
   The interfaces group defines which OTN layers apply and how these
   layers are configured and multiplexed.  This is achieved by proper
   representation of OTN Layers as IfEntries as defined in [RFC2863],
   as follows:

   In the following figures, opticalChannel and opticalTransport are
   abbreviated as och and otn respectively.

   _____________________
                        \
      Path Data Unit    |\
          (ODUkP)       | \
   _____________________|  \ ______________________
                        |   |                      |  >
     Tandem Data Unit   |   |                      |  |
          (ODUkT)       |   |    OCh  Layer        |   > n och IfEntries
   _____________________|   |                      |  |
                        |   |______________________|  >
           Optical      |  /|                      |  >
       Transport Unit   | / |                      |  |
           (OTUk)       |/  |    OMSn Layer        |  |
   _____________________/   |                      |  |
                            |______________________|  |
      Sub-layers in         |                      |   > m otn IfEntries
      the OCh Layer         |                      |  |
                            |    OTSn Layer        |  |
                            |                      |  |
                            |______________________|  >


                         Figure 1: OTN Layers


   Since the OMSn and OTSn layers have a one to one relationship, only
   one otn IfEntry is required to support these two layers.  Therefore,
   each opticalChannel IfEntry may be mapped to m opticalTransport
   IfEntries, where m is greater than or equal to 1.  Conversely, each
   opticalTransport entry may be mapped to n opticalChannel IfEntries,
   where n is greater than or equal to 1.

   Example 1: Management of unterminated opticalChannel (och) using
   passive optics

   An OTN device connected with two adjacent nodes in a single
   fiber ring that supports 10 wavelengths per fiber would have
   2 opticalTransport IfEntries and 10 opticalChannel IfEntries, as
   depicted in Figure 2. Thus, the same 10 opticalChannel IfEntries
   are stacked above each of the opticalTransport IfEntries.

    ______________________                      ______________________
   |       |      |       |                    |       |      |       |
   | och1  | ...  | och10 |                    | och1  | ...  | och10 |
   |_______|______|_______|                    |_______|______|_______|
   |                      |                    |                      |
   |         otn1         |                    |         otn2         |
   |______________________|                    |______________________|
                               ____________
                              |            |
          ___________________\|    OTN     |__________________\
                             /|   device   |                  /
                              |____________|


          Figure 2: Interface stacks when channels are unterminated


   Example 2: Management of terminated opticalChannel (och) interfaces

   An OTN device connected with two adjacent nodes in a single
   fiber ring that supports 10 wavelengths per fiber would have
   2 opticalTransport IfEntries and 20 opticalChannel IfEntries,
   as depicted in Figure 3. Thus 10 opticalChannel IfEntries are stacked
   above the first opticalTransport IfEntry, and the other 10
   opticalChannel IfEntries are stacked above the second
   opticalTransport IfEntry.

    ______________________                      ______________________
   |       |      |       |                    |       |      |       |
   | och1  | ...  | och10 |                    | och11 | ...  | och20 |
   |_______|______|_______|                    |_______|______|_______|
   |                      |                    |                      |
   |         otn1         |                    |         otn2         |
   |______________________|                    |______________________|
                               ____________
                              |            |
          ___________________\|    OTN     |__________________\
                             /|   device   |                  /
                              |____________|


          Figure 3: Interface stacks when channels are terminated

   The exact configuration and multiplexing of the layers is maintained
   in the ifStackTable [RFC2863], see section 3.4.

3.2.  Use of ifTable for OTN OTS/OMS Layer

   Only the ifGeneralInformationGroup needs to be supported.

   ifTable Object      Use for combined OTN OTS/OMS Layer
   =====================================================================
    ifIndex             The interface index.

    ifDescr             Optical Transport Network (OTN) Optical
                        Transmission Section (OTS)/Optical Multiplex
                        Section (OMS)

    ifType              opticalTransport (196)

    ifSpeed             Actual bandwidth of the interface in bits per
                        second.  If the bandwidth of the interface is
                        greater than the maximum value of 4,294,967,295,
                        then the maximum value is reported and
                        ifHighSpeed must be used to report the
                        interface's speed.

    ifPhysAddress       An octet string with zero length.  (There is
                        no specific address associated with the
                        interface.)

    ifAdminStatus       The desired administrative status of the
                        interface.  Supports read-only access.

    ifOperStatus        The operational status of the interface.  The
                        value lowerLayerDown(7) is not used, since
                        there is no lower layer interface.  This object
                        is set to notPresent(6) if a component is
                        missing, otherwise it is set to down(2) if
                        either the objects otnOTSnCurrentStatus or
                        otnOMSnCurrentStatus has any value other than
                        noDefect(1).

    ifLastChange        The value of sysUpTime at the last change in
                        ifOperStatus.

    ifName              Enterprise-specific convention (e.g., TL-1 AID)
                        to identify the physical or data entity
                        associated with this interface or an
                        OCTET STRING of zero length.  The
                        enterprise-specific convention is intended to
                        provide the means to reference one or more
                        enterprise-specific tables.

    ifLinkUpDownTrapEnable  Default value is enabled(1).  Supports
                            read-only access.


    ifHighSpeed         Actual bandwidth of the interface in Mega-bits
                        per second.  A value of n represents a range of
                        'n-0.5' to 'n+0.499999'.

    ifConnectorPresent  Set to true(1).

    ifAlias             The (non-volatile) alias name for this interface
                        as assigned by the network manager.

3.3.  Use of ifTable for OTN OCh Layer

   Only the ifGeneralInformationGroup needs to be supported.

   ifTable Object      Use for OTN OCh Layer
   =====================================================================
    ifIndex             The interface index.

    ifDescr             Optical Transport Network (OTN) Optical
                        Channel (OCh)

    ifType              opticalChannel(195)

    ifSpeed             Current bandwidth of the interface in bits per
                        second.  If the bandwidth of the interface is
                        greater than the maximum value of 4,294,967,295,
                        then the maximum value is reported and
                        ifHighSpeed must be used to report the
                        interface's speed.

    ifPhysAddress       The wavelength of the optical channel, expressed
                        in nanometers (e.g., 1550).

    ifAdminStatus       The desired administrative status of the
                        interface.  Supports read-only access.

    ifOperStatus        The operational status of the interface.  This
                        object is set to lowerLayerDown(7) if the
                        ifOperStatus of its otn interface is down(2).
                        Otherwise, it is set to down(2) if one or more
                        of the objects otnOChCurrentStatus,
                        otnOTUkCurrentStatus, otnODUkTCurrentStatus,
                        and otnODUkPCurrentStatus have any value other
                        than noDefect(1).

    ifLastChange        The value of sysUpTime at the last change in
                        ifOperStatus.

    ifName              Enterprise-specific convention (e.g., TL-1 AID)
                        to identify the physical or data entity
                        associated with this interface or an
                        OCTET STRING of zero length.  The
                        enterprise-specific convention is
                        intended to provide the means to reference one
                        or more enterprise-specific tables.

    ifLinkUpDownTrapEnable  Default value is disabled(2).  Supports
                            read-only access.

    ifHighSpeed         Current bandwidth of the interface in Mega-bits
                        per second.  A value of n represents a range of
                        'n-0.5' to 'n+0.499999'.

    ifConnectorPresent  Set to false(2).

    ifAlias             The (non-volatile) alias name for this interface
                        as assigned by the network manager.

3.4.  Use of ifStackTable

   Use of the ifStackTable to associate the opticalTransport and
   opticalChannel interface entries is best illustrated by the example
   shown in Figure 4.  The example assumes an otn interface with ifIndex i that carries two
   multiplexed och interfaces with ifIndex values of j and k,
   respectively. The example shows that j and k are stacked above (i.e.,
   multiplexed into) i. Furthermore, it shows that there is no layer
   lower than i and no layer higher than j and/or k.


                     HigherLayer   LowerLayer
                    --------------------------
                         0             j
                         0             k
                         j             i
                         k             i
                         i             0

              Figure 4: Use of ifStackTable for an OTN port


3.5.  Optical Network Terminology

   The terminology used in this document to describe the layers of an
   optical network and the error conditions and performance monitoring
   parameters on an optical circuit as monitored by an optical
   system are listed below. These terms are defined in ITU-T
   Recommendations G.872, G.709, G.798, G.874, and G.806 [ITU G.798]
   [ITU G.709][ITU G.798][ITU G.874][ITU G.806].
   Brief definition of some terms are also included here to
   facilitate the readability of this document.

   Degraded Threshold (DEGTHR) - G.806
        A threshold level for declaring a performance monitoring (PM)
        Second (a time period of one second) to be bad.
        A PM Second is declared bad if the percentage
        of detected errored blocks in that second or the number of
        errored blocks in that Second is greater than or equal to DEGTHR.

   DEGM - G.806
        A threshold level for declaring a Degraded Signal defect (dDEG).
        A dDEG shall be declared if DEGM consecutive bad PM Seconds are
        detected.


   Expected Destination Access Point Identifier (ExDAPI) - G.798
        The Expected Destination Access Point Identifier (ExDAPI),
        provisioned by the managing system, to be compared with the TTI
        accepted at the overhead position of the sink for the purpose
        of checking the integrity of connectivity.

   Expected Source Access Point Identifier (ExSAPI) - G.798
        The Expected Source Access Point Identifier (ExSAPI), provisioned
        by the managing system, to be compared with the TTI accepted at
        the overhead position of the sink for the purpose of checking
        the integrity of connectivity.

   Inter-Domain Interface (IrDI) - G.872
        A physical interface that represents the boundary between two
        administrative domains.

        G.709 defines the requirements for the IrDI at the Network Node
        Interface (NNI).

   Intra-Domain Interface (IaDI) - G.872
        A physical interface within an administrative domain.

   Optical Channel Layer Network (OCh) - G.872
        This layer network provides end-to-end networking of optical
        channels for transparently conveying client information of
        varying format (e.g. SDH STM-N, PDH 565 Mbit/s, cell based ATM,
        etc.).

   Optical Channel Data Unit Path Layer Network (ODUkP) - G.709
        This layer network provides functionality for the transport of
        information structure consisting of the information payload
        (OPUk) and the related overhead for management of an optical
        channel.

   Optical Channel Data Unit Tandem Connection Sub-Layer Network
   (ODUkT) - G.709
        This layer network is a sub-layer of the optical data unit
        layer, which provides the capability for tandem connection
        monitoring. One to six nested levels of monitoring are
        defined for OTN.

   Optical Channel Payload Unit (OPUk) - G.709
        The OPUk is the information structure used to adapt client
        information for transport over an optical channel. OPUk
        capacities for k=1, k=2, k=3 are defined in ITU-T. The index
        "k" is used to represent different versions of OPUk, ODUk and
        OTUk. k=1 represents an approximate bit rate of 2.5 Gbit/s,
        k=2 represents an approximate bit rate of 10 Gbit/s, and k=3
        represents an approximate bit rate of 40 Gbit/s.

   Optical Multiplex Section Layer Network (OMS) - G.872
        This layer network provides functionality for networking of a
        multi-wavelength optical signal. Note that a
        "multi-wavelength" signal includes the case of just one
        optical channel.

   Optical Transport Network (OTN) - G.872
        A transport network bounded by optical channel access points.
        The optical transport network layered structure is comprised
        of the optical channel, optical multiplex section and optical
        transmission section layer networks.

        According to G.872, an OTN-compliant interface is an interface
        of the optical transport network based on the architecture
        defined in G.872, while an OTN-non-compliant interface is an
        interface that does not comply to the interface recommendations
        that will be defined for the optical transport network based on
        the architecture defined in G.872.

   Optical Transmission Section Layer Network (OTS) - G.872
        This layer network provides functionality for transmission of
        optical signals on optical media of various types.

   Optical Channel Transport Unit Section Layer Network (OTUk) - G.709
        The OTUk is the layer network provides for the transport of an
        ODUk over one or more optical channel link connections.  It
        consists of the optical channel data unit and OTUk related
        overhead (FEC and overhead for management of an optical channel
        link connection).  It is characterized by its frame structure,
        bit rate, and bandwidth.

   Payload Type Transmitted (TxPL)
        The Payload Type signal of size of one byte in the OPUk overhead
        position of the source of a trail for transmission. TxPL is
        derived by the equipment from the active adaptation function.
        If the equipment supports multiple adaptation functions, then
        the adaptation function type can be provisioned by the managing
        system.

   Payload Type Accepted(AcPL)
        The Payload Type signal of size of one byte recovered (accepted)
        from the OPUk overhead position at the sink of a trail.

   Payload Type Expected (ExPL)
        The Payload Type signal of size of one byte to be compared with
        the payload type signal received at the OPUk overhead position of
        the sink for the purpose of checking the integrity of adaptation.
        ExPL is derived by the equipment from the active adaptation
        function. If the equipment supports multiple adaptation
        functions, then the adaptation function type can be provisioned
        by the managing system.

   Payload Type Mismatch (PLM)
        The detection of mismatch of payload type is based on a
        comparison between the  expected Payload Type signal,
        provisioned via the management interface, and the received
        Payload Type signal.

   Trail Trace Identifier Transmitted (TxTI) - G.798
        The Trail Trace Identifier (TTI) information, provisioned by
        the managing system, to be placed in the TTI overhead position
        of the source of a trail for transmission.

   Trail Trace Identifier Accepted (AcTI) - G.798
        The Trail Trace Identifier (TTI) information accepted
        from the TTI overhead position at the sink of a trail.

   Trail Trace Identifier Accepted Status (AcTIStatus) - G.798
        The Status of the Trail Trace Identifier (TTI) accepted
        from the TTI overhead position at the sink of a trail.

   Trace Identifier Mismatch (TIM) - G.798
        The detection of TIM is based on a comparison between the
        expected Trial Trace Identifier (TTI), configured via the
        management interface, and the received TTI.

   Trace Identifier Mismatch Consequent Action Enabled (TimActEnabled) - G.798
        The Consequent Action function of TIM is disabled.

   Trace Identifier Mismatch Detection Mode (TimDetMode) - G.798
        The mode of detecting Trace Identifier Mismatch (TIM).
        Possible modes are
        (1) off - no checking,
        (2) SAPI - checking the SAPI only,
        (3) DAPI - checking  the DAPI only, and
        (4) Both - checking both the SAPI and DAPI.


3.5.1   Defect Conditions

   The following Defect conditions are defined in G.798 (as fault
   cause) for OTN monitoring.

   ais          Alarm Indication Signal (AIS)
   bdi          Backward Defect Indication (BDI)
   bdiO         Backward Defect Indication - Overhead (BDI-O)
   bdiP         Backward Defect Indication - Payload (BDI-P)
   deg          Degraded (DEG)
   lck          Locked (LCK)
   lof          Loss of Frame (LOF)
   lom          Loss of Multi Frame
   loop         Loss of Optical Power (LOOP)
   los          Loss of Signal (LOS)
   losO         Loss of Signal - Overhead (LOS-O)
   losP         Loss of Signal - Payload (LOS-P)
   oci          Open Connection Indication (OCI)
   plm          Payload Mismatch (PLM)
   ssf          Server Signal Failure (SSF)
   ssfO         Server Signal Failure - Overhead (SSF-O)
   ssfP         Server Signal Failure - Payload (SSF-P)
   tim          Trace Identifier Mismatch (TIM)


3.5.2   Performance Parameters

   To facilitate the location of equipment that may require
   maintenance it is necessary to monitor measurements such
   as laser temperature and optical power at each layer. The
   measurements are taken periodically, 15 minute intervals,
   and a current snapshot of the value is also made available.

   Each performance parameter is monitored in a current 15
   minute interval. The current interval will monitor the
   most current measured value, the lowest measured value,
   and the highest measured value. An upper and lower threhold
   value is also typically provided for each parameter. At the
   end of the current 15 minute interval the values are
   transferred into the appropriate 15 minute interval
   representing the period within the Performance Monitoring
   Interval Table.

   All performance parameters are accumulated (stored) in 15 minute
   intervals from 4 up to 96 intervals (24 hours worth)
   by an agent with 32 intervals being the default.  Fewer than
   96 intervals of data will be available if the agent has been
   restarted within the last 24 hours. The NE keeps a record of
   the lowest value, highest value, and last measured value in
   each 15 minute interval.

   A Current and Previous 24 hour register will be maintained
   for each measured parameter. The current 15 minute interval
   is compared to the Current 24 Hour register and updated to
   reflect the lowest and highest values measured in the current
   24 hour period. The Current 24 Hour register is transferred
   to the Previous 24 Hour register along with the last measured
   value from the current 15 minute interval.

   There is no requirement for an agent to ensure fixed relationship
   between the start of a fifteen minute interval and any wall clock;
   however some agents may align the fifteen minute intervals with
   quarter hours.

   Performance parameters are of type Integer32, and it is used
   because it is possible for these objects to decrease, be negative.


4.  Structure of the MIB

   The managed Optical Networking interface objects are arranged
   into the following groups of tables:

   The optIfPerfMonGroup group handles the elasped date and time
   as well as the number of interval registers for all layers.
      optIfPerfMonIntervalTable

   The optIfOTSn group handles the configuration and performance
   monitoring information for OTS layers.
      optIfOTSnConfigTable
      optIfOTSnSinkCurrentTable
      optIfOTSnSinkIntervalTable
      optIfOTSnSinkCurDayTable
      optIfOTSnSinkPrevDayTable
      optIfOTSnSrcCurrentTable
      optIfOTSnSrcIntervalTable
      optIfOTSnSrcCurDayTable
      optIfOTSnSrcPrevDayTable

   The optIfOMSn group handles the configuration and performance
   information for OMS layers.
      optIfOMSnConfigTable
      optIfOMSnSinkCurrentTable
      optIfOMSnSinkIntervalTable
      optIfOMSnSinkCurDayTable
      optIfOMSnSinkPrevDayTable
      optIfOMSnSrcCurrentTable
      optIfOMSnSrcIntervalTable
      optIfOMSnSrcCurDayTable
      optIfOMSnSrcPrevDayTable

   The optIfOCh group handles the configuration and performance
   monitoring information for OCh layers.
      optIfOchConfigTable
      optIfOchSinkCurrentTable
      optIfOchSinkIntervalTable
      optIfOChSinkCurDayTable
      optIfOChSinkPrevDayTable
      optIfOchSrcCurrentTable
      optIfOchSrcIntervalTable
      optIfOChSrcCurDayTable
      optIfOChSrcPrevDayTable

   The optIfOTUk group handles configuration information for OTUk.
      optIfOTUkConfigTable

   The optIfODUkT group handles configuration information for ODUkT.
      optIfODUkTConfigTable

   The optIfODUkP group handles configuration information for ODUkP.
      optIfODUkPConfigTable

   This internet draft does not define MIB objects for optical
   system cross-connects.  After consensus is reached on definitions
   of the interface MIB objects for optical systems (resulting from
   resolution of discussions on the objects proposed in this
   internet draft), work can progress on the definitions of
   tables to representing cross-connects (e.g., OCh optical
   cross-connects and ODUk electrical cross-connects).

3.6 Tandem Connection Monitoring (TCM)

   An ODUk termination can be provisioned to support (0..6) TCM levels.
   Each TCM field contains the following subfields:
   -  Trail Trace Identifier (TTI)
   -  Bit Interleaved Parity 8 (BIP8)
   -  Backward Defect Indication (BDI)
   -  Backward Error Indication (BEI)
   -  Status bits indicating the presence of TCM overhead, Incoming
      AlignmentError, or a maintenance signal (STAT).

   The insertion of these subfields is control by:
   - optIfODUkTSourceMode or otnODUkTsinkMode

   The Detection and corresponding action of these subfields are
   controlled by:
   - optIfODUkTTimDetMode
   - optIfODUkTTimActEnabled

   The TCM connection is used for monitoring the quality of an end to
   end connection or any segment, as illustrated in the example:
   TCM1 used for the end-to-end connection from A1 to A2.
   TCM2 used for the segment B1-B2, then used again for the segment B3-B4.
   TCM3-TCM6 these bytes are not in used in this example.

   The TCM connection can be nested (B1-B2 is nested in A1-A2) or
   cascaded (B1-B2 and B3-B4).

          ______     ______     ______     ______     ______
          |TCM6|     |TCM6|     |TCM6|     |TCM6|     |TCM6|
          |----|     |----|     |----|     |----|     |----|
          |TCM5|     |TCM5|     |TCM5|     |TCM5|     |TCM5|
          |----|     |----|     |----|     |----|     |----|
          |TCM4|     |TCM4|     |TCM4|     |TCM4|     |TCM4|
          |----|     |----|     |----|     |----|     |----|
          |TCM3|     |TCM3|     |TCM3|     |TCM3|     |TCM3|
          |----|     |----|     |----|     |----|     |----|
          |TCM2|     |TCM2|     |TCM2|     |TCM2|     |TCM2|
          |----|     |----|     |----|     |----|     |----|
          |TCM1|     |TCM1|     |TCM1|     |TCM1|     |TCM1|
          |----|     |----|     |----|     |----|     |----|
             |         |          |          |           |
             |         |          |          |           |
             |         |          |          |           |
             |         |          |          |           |
             |         |          |          |           |
         |\         |\         /|         |\         /|        /|
   ----> | \________| \_______/ |_________| \_____  / |______ / | ---->
         | /        | /       \ |         | /       \ |       \ |
         |/         |/         \|         |/         \|        \|

   TCM1: A1 <------------------------------------------------> A2
   TCM2:            B1 <-----> B2         B3 <-----> B4



4.1.  The optIfPerfMonInterval group

4.1.1.  optIf Performance Monitoring IntervalTable

   This table applies to all performance monitoring on a NE.
   It provides for the elapsed date, elasped time, and also
   the interval counters supported for the NE across all
   monitored parameters.

4.2.  The optIfOTSn group

4.2.1.  optIfOTSn Configuration Table

   This table contains information on configuration of
   optIfOTSn interfaces, in addition to the information
   on such interfaces contained in the ifTable.

4.2.2.  optIfOTSn Source Current Table

   This table contains information on current performance of
   optIfOTSn interfaces, in addition to the information
   on such interfaces contained in the ifTable.

4.2.3.  optIfOTSn Source Interval Table

   This table contains information on historic performance of
   optIfOTSn interfaces, in addition to the information
   on such interfaces contained in the ifTable.

4.2.4.  optIfOTSn Source Current Day Table

   This table contains a snapshot of information for the
   current 24 hour period for optIfOTSn interfaces contained
   in the ifTable.

4.2.5.  optIfOTSn Source Previous Day Table

   This table contains a snapshot of information for the
   previous 24 hour period for optIfOTSn interfaces contained
   in the ifTable.

4.2.6.  optIfOTSn Sink Current Table

   This table contains information on current performance of
   optIfOTSn interfaces, in addition to the information
   on such interfaces contained in the ifTable.

4.2.7.  optIfOTSn Sink Interval Table

   This table contains information on historic performance of
   optIfOTSn interfaces, in addition to the information
   on such interfaces contained in the ifTable.

4.2.8.  optIfOTSn Sink Current Day Table

   This table contains a snapshot of information for the
   current 24 hour period for optIfOTSn interfaces contained
   in the ifTable.

4.2.9.  optIfOTSn Sink Previous Day Table

   This table contains a snapshot of information for the
   previous 24 hour period for optIfOTSn interfaces contained
   in the ifTable.

4.3.  The optIfOMSn group

4.3.1.  optIfOMSn Configuration Table

   This table contains information on configuration of
   optIfOMSn interfaces, in addition to the information
   on such interfaces contained in the ifTable.

4.3.2.  optIfOMSn Source Current Table

   This table contains information on current performance of
   optIfOMSn interfaces, in addition to the information
   on such interfaces contained in the ifTable.

4.3.3.  optIfOMSn Source Interval Table

   This table contains information on historic performance of
   optIfOMSn interfaces, in addition to the information
   on such interfaces contained in the ifTable.

4.3.4.  optIfOMSn Source Current Day Table

   This table contains a snapshot of information for the
   current 24 hour period for optIfOMSn interfaces contained
   in the ifTable.

4.3.5.  optIfOMSn Source Previous Day Table

   This table contains a snapshot of information for the
   previous 24 hour period for optIfOMSn interfaces contained
   in the ifTable.

4.3.6.  optIfOMSn Sink Current Table

   This table contains information on current performance of
   optIfOMSn interfaces, in addition to the information
   on such interfaces contained in the ifTable.

4.3.7.  optIfOMSn Sink Interval Table

   This table contains information on historic performance of
   optIfOMSn interfaces, in addition to the information
   on such interfaces contained in the ifTable.

4.3.8.  optIfOMSn Sink Current Day Table

   This table contains a snapshot of information for the
   current 24 hour period for optIfOMSn interfaces contained
   in the ifTable.

4.3.9.  optIfOMSn Sink Previous Day Table

   This table contains a snapshot of information for the
   previous 24 hour period for optIfOMSn interfaces contained
   in the ifTable.

4.4.  The optIfOCh group

4.4.1.  optIfOCh Configuration Table

   This table contains information on configuration of
   optIfOCh interfaces, in addition to the information
   on such interfaces contained in the ifTable.

4.4.2.  optIfOCh Source Current Table

   This table contains information on current performance of
   optIfOCh interfaces, in addition to the information
   on such interfaces contained in the ifTable.

4.4.3.  optIfOCh Source Interval Table

   This table contains information on historic performance of
   optIfOCh interfaces, in addition to the information
   on such interfaces contained in the ifTable.

4.4.4.  optIfOCh Source Current Day Table

   This table contains a snapshot of information for the
   current 24 hour period for optIfOCh interfaces contained
   in the ifTable.

4.4.5.  optIfOCh Source Previous Day Table

   This table contains a snapshot of information for the
   previous 24 hour period for optIfOCh interfaces contained
   in the ifTable.


4.4.6.  optIfOCh Sink Current Table

   This table contains information on current performance of
   optIfOCh interfaces, in addition to the information
   on such interfaces contained in the ifTable.

4.4.7.  optIfOCh Sink Interval Table

   This table contains information on historic performance of
   optIfOCh interfaces, in addition to the information
   on such interfaces contained in the ifTable.

4.4.8.  optIfOCh Sink Current Day Table

   This table contains a snapshot of information for the
   current 24 hour period for optIfOCh interfaces contained
   in the ifTable.

4.4.9.  optIfOCh Sink Previous Day Table

   This table contains a snapshot of information for the
   previous 24 hour period for optIfOCh interfaces contained
   in the ifTable.

4.5.  The optIfOTUk group

4.5.1.  optIfOTUk Configuration Table

   This table contains information on configuration of
   optIfOTUk interfaces, in addition to the information
   on such interfaces contained in the ifTable.

4.6.  The optIfODUkT group

4.6.1.  optIfODUkT Configuration Table

   This table contains information on configuration of
   optIfODUkT interfaces, in addition to the information
   on such interfaces contained in the ifTable.

4.7.  The optIfODUkP group

4.7.1.  optIfODUkP Configuration Table

   This table contains information on configuration of
   optIfODUkP interfaces, in addition to the information
   on such interfaces contained in the ifTable.

5.  Object Definitions

OTN-MIB DEFINITIONS ::= BEGIN


IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32, Integer32,
      transmission
          FROM SNMPv2-SMI
    TruthValue
          FROM SNMPv2-TC
    SnmpAdminString
          FROM SNMP-FRAMEWORK-MIB
    MODULE-COMPLIANCE, OBJECT-GROUP
          FROM SNMPv2-CONF
    ifIndex
          FROM IF-MIB
    PerfCurrentCount, PerfIntervalCount
          FROM PerfHist-TC-MIB;

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


optIfMibModule MODULE-IDENTITY
    LAST-UPDATED "200107190000Z"
    ORGANIZATION " "
    CONTACT-INFO
      "Mark A. Stewart
       1801 Varsity Drive
       Raleigh, NC  27606 USA
       Tel: +1 919 838 5572
       E-mail: markstewart@lucent.com."
    DESCRIPTION
       "The draft MIB module to describe OTN interfaces objects."
    REVISION  "200107190000Z"
    DESCRIPTION
       "The initial version."
    ::={ transmission yy}

-- textual conventions

IntervalNumber ::= 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  Integer32 (1..96)

-- object groups

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

optIfPerfMon OBJECT IDENTIFIER ::= { optIfObjects 1 }
optIfOTSn OBJECT IDENTIFIER ::= { optIfObjects 2 }
optIfOMSn OBJECT IDENTIFIER ::= { optIfObjects 3 }
optIfOCh OBJECT IDENTIFIER ::= { optIfObjects 4 }

optIfOTUk OBJECT IDENTIFIER ::= { optIfOCh 1 }
optIfODUkT OBJECT IDENTIFIER ::= { optIfOCh 2 }
optIfODUkP OBJECT IDENTIFIER ::= { optIfOCh 3 }

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

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

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."
  ::= { optIfPerfMon 1 }

optIfPerfMonCurDayTimeElapsed OBJECT-TYPE
  SYNTAX  Gauge32 (0..86400)
  UNITS  "seconds"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Number of seconds elapsed in the current calendar day
     performance monitoring period."
  ::= { optIfPerfMon 2 }

-- 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 3 }

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 {
    optIfPerfMonIntervalNumIntervals         Unsigned32,
    optIfPerfMonIntervalNumInvalidIntervals  Unsigned32
    }

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 1 }

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 2 }

-- 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 {
    optIfOTSnTraceIdentifierTransmitted  SnmpAdminString,
    optIfOTSnDAPIExpected                SnmpAdminString,
    optIfOTSnSAPIExpected                SnmpAdminString,
    optIfOTSnTraceIdentifierAccepted     SnmpAdminString,
    optIfOTSnAcTIStatus                  INTEGER,
    optIfOTSnTIMDetMode                  INTEGER,
    optIfOTSnTIMActEnabled               TruthValue,
    optIfOTSnCurrentStatus               INTEGER
    }

optIfOTSnTraceIdentifierTransmitted OBJECT-TYPE
  SYNTAX  SnmpAdminString (SIZE(0..64))
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The trace identifier transmitted."
  ::= { optIfOTSnConfigEntry 1 }

optIfOTSnDAPIExpected OBJECT-TYPE
  SYNTAX  SnmpAdminString (SIZE(0..16))
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The DAPI expected by the receiver."
  ::= { optIfOTSnConfigEntry 2 }

optIfOTSnSAPIExpected OBJECT-TYPE
  SYNTAX  SnmpAdminString (SIZE(0..16))
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The SAPI expected by the receiver."
  ::= { optIfOTSnConfigEntry 3 }

optIfOTSnTraceIdentifierAccepted OBJECT-TYPE
  SYNTAX  SnmpAdminString (SIZE (0..64))
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The actual trace identifier received."
  ::= { optIfOTSnConfigEntry 4 }

optIfOTSnAcTIStatus OBJECT-TYPE
  SYNTAX  INTEGER {
    stable(1),
    unstable(2)
    }
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The status of the accepted Trail Trace Identifier by the receiver."
  ::= { optIfOTSnConfigEntry 5 }

optIfOTSnTIMDetMode OBJECT-TYPE
  SYNTAX  INTEGER {
    off(1),
    dapi(2),
    sapi(3),
    both(4)
    }
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Indicates the mode of the Trace Identifier Mismatch (TIM)
     Detection function."
  ::= { optIfOTSnConfigEntry 6 }

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

optIfOTSnCurrentStatus OBJECT-TYPE
  SYNTAX  INTEGER {
    noDefect(1),
    bdiP(2),
    bdiO(3),
    bdi(4)
    tim(5),
    losP(6),
    losO(7),
    los(8)
    }
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the failure condition of the entity, if any."
  ::= { optIfOTSnConfigEntry 8 }

-- 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
    }

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 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 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 }

-- 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          IntervalNumber,
    optIfOTSnSinkIntervalSuspectedFlag   TruthValue,
    optIfOTSnSinkIntervalLastInputPower  Integer32,
    optIfOTSnSinkIntervalLowInputPower   Integer32,
    optIfOTSnSinkIntervalHighInputPower  Integer32
    }

optIfOTSnSinkIntervalNumber OBJECT-TYPE
  SYNTAX  IntervalNumber
  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 }

-- OTSn sink current day table
-- Contains data for the current calendar day 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 calendar day."
  ::= { 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
     calendar day."
  INDEX  { ifIndex }
  ::= { optIfOTSnSinkCurDayTable 1 }

OptIfOTSnSinkCurDayEntry ::=
  SEQUENCE {
    optIfOTSnSinkCurDaySuspectedFlag   TruthValue,
    optIfOTSnSinkCurDayLowInputPower   Integer32,
    optIfOTSnSinkCurDayHighInputPower  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 calendar day."
  ::= { 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 calendar day."
  ::= { optIfOTSnSinkCurDayEntry 3 }

-- OTSn sink previous day table
-- Contains data for the previous calendar day 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 calendar day."
  ::= { 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
     calendar day."
  INDEX  { ifIndex }
  ::= { optIfOTSnSinkPrevDayTable 1 }

OptIfOTSnSinkPrevDayEntry ::=
  SEQUENCE {
    optIfOTSnSinkPrevDaySuspectedFlag   TruthValue,
    optIfOTSnSinkPrevDayLastInputPower  Integer32,
    optIfOTSnSinkPrevDayLowInputPower   Integer32,
    optIfOTSnSinkPrevDayHighInputPower  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 calendar day."
  ::= { 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 calendar day."
  ::= { 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 calendar day."
  ::= { optIfOTSnSinkPrevDayEntry 4 }

-- 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,
    optIfOTSnSrcCurrentLaserTemp                  Integer32,
    optIfOTSnSrcCurrentLowLaserTemp               Integer32,
    optIfOTSnSrcCurrentHighLaserTemp              Integer32,
    optIfOTSnSrcCurrentLowerLaserTempThreshold    Integer32,
    optIfOTSnSrcCurrentUpperLaserTempThreshold    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 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 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 }

optIfOTSnSrcCurrentLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The operating temperature of the laser."
  ::= { optIfOTSnSrcCurrentEntry 7 }

optIfOTSnSrcCurrentLowLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest operating temperature of the laser during the
     current interval."
  ::= { optIfOTSnSrcCurrentEntry 8 }

optIfOTSnSrcCurrentHighLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest operating temperature of the laser during the
     current interval."
  ::= { optIfOTSnSrcCurrentEntry 9 }

optIfOTSnSrcCurrentLowerLaserTempThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The lower limit threshold on laser temperature.  If
     optIfOTSnSrcCurrentLaserTemp drops to this value or below,
     a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOTSnSrcCurrentEntry 10 }

optIfOTSnSrcCurrentUpperLaserTempThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The upper limit threshold on laser temperature.  If
     optIfOTSnSrcCurrentLaserTemp 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           IntervalNumber,
    optIfOTSnSrcIntervalSuspectedFlag    TruthValue,
    optIfOTSnSrcIntervalLastOutputPower  Integer32,
    optIfOTSnSrcIntervalLowOutputPower   Integer32,
    optIfOTSnSrcIntervalHighOutputPower  Integer32,
    optIfOTSnSrcIntervalLastLaserTemp    Integer32,
    optIfOTSnSrcIntervalLowLaserTemp     Integer32,
    optIfOTSnSrcIntervalHighLaserTemp    Integer32
    }

optIfOTSnSrcIntervalNumber OBJECT-TYPE
  SYNTAX  IntervalNumber
  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 }

optIfOTSnSrcIntervalLastLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last operating temperature of the laser during the
     interval."
  ::= { optIfOTSnSrcIntervalEntry 6 }

optIfOTSnSrcIntervalLowLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest operating temperature of the laser during the
     interval."
  ::= { optIfOTSnSrcIntervalEntry 7 }

optIfOTSnSrcIntervalHighLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest operating temperature of the laser during the
     interval."
  ::= { optIfOTSnSrcIntervalEntry 8 }

-- OTSn source current day table
-- Contains data for the current calendar day 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 calendar day."
  ::= { 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
     calendar day."
  INDEX  { ifIndex }
  ::= { optIfOTSnSrcCurDayTable 1 }

OptIfOTSnSrcCurDayEntry ::=
  SEQUENCE {
    optIfOTSnSrcCurDaySuspectedFlag    TruthValue,
    optIfOTSnSrcCurDayLowOutputPower   Integer32,
    optIfOTSnSrcCurDayHighOutputPower  Integer32,
    optIfOTSnSrcCurDayLowLaserTemp     Integer32,
    optIfOTSnSrcCurDayHighLaserTemp    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 calendar day."
  ::= { 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 calendar day."
  ::= { optIfOTSnSrcCurDayEntry 3 }

optIfOTSnSrcCurDayLowLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest operating temperature of the laser during the
     current calendar day."
  ::= { optIfOTSnSrcCurDayEntry 4 }

optIfOTSnSrcCurDayHighLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest operating temperature of the laser during the
     current calendar day."
  ::= { optIfOTSnSrcCurDayEntry 5 }

-- OTSn source previous day table
-- Contains data for the previous calendar day 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 calendar day."
  ::= { 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
     calendar day."
  INDEX  { ifIndex }
  ::= { optIfOTSnSrcPrevDayTable 1 }

OptIfOTSnSrcPrevDayEntry ::=
  SEQUENCE {
    optIfOTSnSrcPrevDaySuspectedFlag    TruthValue,
    optIfOTSnSrcPrevDayLastOutputPower  Integer32,
    optIfOTSnSrcPrevDayLowOutputPower   Integer32,
    optIfOTSnSrcPrevDayHighOutputPower  Integer32,
    optIfOTSnSrcPrevDayLastLaserTemp    Integer32,
    optIfOTSnSrcPrevDayLowLaserTemp     Integer32,
    optIfOTSnSrcPrevDayHighLaserTemp    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 calendar day."
  ::= { 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 calendar day."
  ::= { 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 calendar day."
  ::= { optIfOTSnSrcPrevDayEntry 4 }

optIfOTSnSrcPrevDayLastLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last operating temperature of the laser during the
     previous calendar day."
  ::= { optIfOTSnSrcPrevDayEntry 5 }

optIfOTSnSrcPrevDayLowLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest operating temperature of the laser during the
     previous calendar day."
  ::= { optIfOTSnSrcPrevDayEntry 6 }

optIfOTSnSrcPrevDayHighLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest operating temperature of the laser during the
     previous calendar day."
  ::= { 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 {
    optIfOMSnOrder          Unsigned32,
    optIfOMSnCurrentStatus  INTEGER
    }

optIfOMSnOrder OBJECT-TYPE
  SYNTAX  Unsigned32 (1..900)
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The number of multiplexed optical channels."
  ::= { optIfOMSnConfigEntry 1 }

optIfOMSnCurrentStatus OBJECT-TYPE
  SYNTAX  INTEGER {
    noDefect(1),
    ssfP(2),
    ssfO(3),
    ssf(4),
    bdiP(5),
    bdiO(6),
    bdi(7),
    losP(8)
    }
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the failure condition of the entity, if any."
  ::= { optIfOMSnConfigEntry 2 }

-- OMSn sink current table
-- Contains data for the current 15 minute performance monitoring
-- interval. Laser temperature attributes are provided when a
-- pre-amplifier is used.

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,
    optIfOMSnSinkCurrentLaserTemp                 Integer32,
    optIfOMSnSinkCurrentLowLaserTemp              Integer32,
    optIfOMSnSinkCurrentHighLaserTemp             Integer32,
    optIfOMSnSinkCurrentLowerLaserTempThreshold   Integer32,
    optIfOMSnSinkCurrentUpperLaserTempThreshold   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 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 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 }

optIfOMSnSinkCurrentLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"

  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The operating temperature of the laser."
  ::= { optIfOMSnSinkCurrentEntry 7 }

optIfOMSnSinkCurrentLowLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest operating temperature of the laser during the
     current interval."
  ::= { optIfOMSnSinkCurrentEntry 8 }

optIfOMSnSinkCurrentHighLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest operating temperature of the laser during the
     current interval."
  ::= { optIfOMSnSinkCurrentEntry 9 }

optIfOMSnSinkCurrentLowerLaserTempThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The lower limit threshold on laser temperature.  If
     optIfOMSnSinkCurrentLaserTemp drops to this value or below,
     a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOMSnSinkCurrentEntry 10 }

optIfOMSnSinkCurrentUpperLaserTempThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The upper limit threshold on aggregated input power.  If
     optIfOMSnSinkCurrentLaserTemp 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. Laser Temperature attributes are provided when
-- a pre-amplifier is used.

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                    IntervalNumber,
    optIfOMSnSinkIntervalSuspectedFlag             TruthValue,
    optIfOMSnSinkIntervalLastAggregatedInputPower  Integer32,
    optIfOMSnSinkIntervalLowAggregatedInputPower   Integer32,
    optIfOMSnSinkIntervalHighAggregatedInputPower  Integer32,
    optIfOMSnSinkIntervalLastLaserTemp             Integer32,
    optIfOMSnSinkIntervalLowLaserTemp              Integer32,
    optIfOMSnSinkIntervalHighLaserTemp             Integer32
    }

optIfOMSnSinkIntervalNumber OBJECT-TYPE
  SYNTAX  IntervalNumber
  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 }

optIfOMSnSinkIntervalLastLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last operating temperature of the laser during the
     interval."
  ::= { optIfOMSnSinkIntervalEntry 6 }

optIfOMSnSinkIntervalLowLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest operating temperature of the laser during the
     interval."
  ::= { optIfOMSnSinkIntervalEntry 7 }

optIfOMSnSinkIntervalHighLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest operating temperature of the laser during the
     interval."
  ::= { optIfOMSnSinkIntervalEntry 8 }

-- OMSn sink current day table
-- Contains data for the current calendar day performance
-- monitoring interval. Laser Temperature attributes are
-- provided when a pre-amplifier is used.

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 calendar day."
  ::= { 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
     calendar day."
  INDEX  { ifIndex }
  ::= { optIfOMSnSinkCurDayTable 1 }

OptIfOMSnSinkCurDayEntry ::=
  SEQUENCE {
    optIfOMSnSinkCurDaySuspectedFlag             TruthValue,
    optIfOMSnSinkCurDayLowAggregatedInputPower   Integer32,
    optIfOMSnSinkCurDayHighAggregatedInputPower  Integer32,
    optIfOMSnSinkCurDayLowLaserTemp              Integer32,
    optIfOMSnSinkCurDayHighLaserTemp             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 calendar day."
  ::= { 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 calendar day."
  ::= { optIfOMSnSinkCurDayEntry 3 }

optIfOMSnSinkCurDayLowLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest operating temperature of the laser during the
     current calendar day."
  ::= { optIfOMSnSinkCurDayEntry 4 }

optIfOMSnSinkCurDayHighLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest operating temperature of the laser during the
     current calendar day."
  ::= { optIfOMSnSinkCurDayEntry 5 }

-- OMSn sink previous day table
-- Contains data for the previous calendar day performance
-- monitoring interval. Laser Temperature attributes are
-- provided when a pre-amplifier is used.

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 calendar day."
  ::= { 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
     calendar day."
  INDEX  { ifIndex }
  ::= { optIfOMSnSinkPrevDayTable 1 }

OptIfOMSnSinkPrevDayEntry ::=
  SEQUENCE {
    optIfOMSnSinkPrevDaySuspectedFlag             TruthValue,
    optIfOMSnSinkPrevDayLastAggregatedInputPower  Integer32,
    optIfOMSnSinkPrevDayLowAggregatedInputPower   Integer32,
    optIfOMSnSinkPrevDayHighAggregatedInputPower  Integer32,
    optIfOMSnSinkPrevDayLastLaserTemp             Integer32,
    optIfOMSnSinkPrevDayLowLaserTemp              Integer32,
    optIfOMSnSinkPrevDayHighLaserTemp             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 calendar day."
  ::= { 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 calendar day."
  ::= { 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 calendar day."
  ::= { optIfOMSnSinkPrevDayEntry 4 }

optIfOMSnSinkPrevDayLastLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last operating temperature of the laser during the
     previous calendar day."
  ::= { optIfOMSnSinkPrevDayEntry 5 }

optIfOMSnSinkPrevDayLowLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest operating temperature of the laser during the
     previous calendar day."
  ::= { optIfOMSnSinkPrevDayEntry 6 }

optIfOMSnSinkPrevDayHighLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest operating temperature of the laser during the
     previous calendar day."
  ::= { optIfOMSnSinkPrevDayEntry 7 }

-- OMSn source current table
-- Contains data for the current 15 minute performance monitoring
-- interval. Laser Temperature attributes are provided when a
-- post-amplifier is used.

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,
    optIfOMSnSrcCurrentLaserTemp                  Integer32,
    optIfOMSnSrcCurrentLowLaserTemp               Integer32,
    optIfOMSnSrcCurrentHighLaserTemp              Integer32,
    optIfOMSnSrcCurrentLowerLaserTempThreshold    Integer32,
    optIfOMSnSrcCurrentUpperLaserTempThreshold    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 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 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 }

optIfOMSnSrcCurrentLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The operating temperature of the laser."
  ::= { optIfOMSnSrcCurrentEntry 7 }

optIfOMSnSrcCurrentLowLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest operating temperature of the laser during the
     current interval."
  ::= { optIfOMSnSrcCurrentEntry 8 }

optIfOMSnSrcCurrentHighLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest operating temperature of the laser during the
     current interval."
  ::= { optIfOMSnSrcCurrentEntry 9 }

optIfOMSnSrcCurrentLowerLaserTempThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The lower limit threshold on laser temperature.  If
     optIfOMSnSrcCurrentLaserTemp drops to this value or below,
     a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOMSnSrcCurrentEntry 10 }

optIfOMSnSrcCurrentUpperLaserTempThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The upper limit threshold on laser temperature.  If
     optIfOMSnSrcCurrentLaserTemp 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. Laser Temperature attributes are provided when
-- a post-amplifier is used.

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           IntervalNumber,
    optIfOMSnSrcIntervalSuspectedFlag    TruthValue,
    optIfOMSnSrcIntervalLastOutputPower  Integer32,
    optIfOMSnSrcIntervalLowOutputPower   Integer32,
    optIfOMSnSrcIntervalHighOutputPower  Integer32,
    optIfOMSnSrcIntervalLastLaserTemp    Integer32,
    optIfOMSnSrcIntervalLowLaserTemp     Integer32,
    optIfOMSnSrcIntervalHighLaserTemp    Integer32
    }

optIfOMSnSrcIntervalNumber OBJECT-TYPE
  SYNTAX  IntervalNumber
  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 }

optIfOMSnSrcIntervalLastLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last operating temperature of the laser during the
     interval."
  ::= { optIfOMSnSrcIntervalEntry 6 }

optIfOMSnSrcIntervalLowLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest operating temperature of the laser during the
     interval."
  ::= { optIfOMSnSrcIntervalEntry 7 }

optIfOMSnSrcIntervalHighLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest operating temperature of the laser during the
     interval."
  ::= { optIfOMSnSrcIntervalEntry 8 }

-- OMSn source current day table
-- Contains data for the current calendar day performance
-- monitoring interval. Laser Temperature attributes are
-- provided when a post-amplifier is used.

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 calendar day."
  ::= { 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
     calendar day."
  INDEX  { ifIndex }
  ::= { optIfOMSnSrcCurDayTable 1 }

OptIfOMSnSrcCurDayEntry ::=
  SEQUENCE {
    optIfOMSnSrcCurDaySuspectedFlag    TruthValue,
    optIfOMSnSrcCurDayLowOutputPower   Integer32,
    optIfOMSnSrcCurDayHighOutputPower  Integer32,
    optIfOMSnSrcCurDayLowLaserTemp     Integer32,
    optIfOMSnSrcCurDayHighLaserTemp    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 calendar day."
  ::= { 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 calendar day."
  ::= { optIfOMSnSrcCurDayEntry 3 }

optIfOMSnSrcCurDayLowLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest operating temperature of the laser during the
     current calendar day."
  ::= { optIfOMSnSrcCurDayEntry 4 }

optIfOMSnSrcCurDayHighLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest operating temperature of the laser during the
     current calendar day."
  ::= { optIfOMSnSrcCurDayEntry 5 }

-- OMSn source previous day table
-- Contains data for the previous calendar day performance
-- monitoring interval. Laser Temperature attributes are
-- provided when a post-amplifier is used.

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 calendar day."
  ::= { 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
     calendar day."
  INDEX  { ifIndex }
  ::= { optIfOMSnSrcPrevDayTable 1 }

OptIfOMSnSrcPrevDayEntry ::=
  SEQUENCE {
    optIfOMSnSrcPrevDaySuspectedFlag    TruthValue,
    optIfOMSnSrcPrevDayLastOutputPower  Integer32,
    optIfOMSnSrcPrevDayLowOutputPower   Integer32,
    optIfOMSnSrcPrevDayHighOutputPower  Integer32,
    optIfOMSnSrcPrevDayLastLaserTemp    Integer32,
    optIfOMSnSrcPrevDayLowLaserTemp     Integer32,
    optIfOMSnSrcPrevDayHighLaserTemp    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 calendar day."
  ::= { 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 calendar day."
  ::= { 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 calendar day."
  ::= { optIfOMSnSrcPrevDayEntry 4 }

optIfOMSnSrcPrevDayLastLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last operating temperature of the laser during the
     previous calendar day."
  ::= { optIfOMSnSrcPrevDayEntry 5 }

optIfOMSnSrcPrevDayLowLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest operating temperature of the laser during the
     previous calendar day."
  ::= { optIfOMSnSrcPrevDayEntry 6 }

optIfOMSnSrcPrevDayHighLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest operating temperature of the laser during the
     previous calendar day."
  ::= { optIfOMSnSrcPrevDayEntry 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 4 }

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 {
    optIfOChSinkAdaptActive    TruthValue,
    optIfOChSourceAdaptActive  TruthValue,
    optIfOChSinkFECEnabled     TruthValue,
    optIfOChCurrentStatus      INTEGER
    }

optIfOChSinkAdaptActive OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Indicates whether the sink adaptation function is activated or not."
  ::= { optIfOTSnConfigEntry 1 }

optIfOChSourceAdaptActive OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Indicates whether the source adaptation function is activated or
     not."
  ::= { optIfOTSnConfigEntry 2 }

optIfOChSinkFECEnabled 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 OCh sink adaptation function is
     enabled or not."
  ::= { optIfOTSnConfigEntry 3 }

optIfOChCurrentStatus OBJECT-TYPE
  SYNTAX  INTEGER {
    noDefect(1),
    ais(2),
    lof(3),
    lom(4),
    los(5),
    losP(6),
    oci(7),
    ssfP(8),
    ssfO(9),
    ssf(10)
    }
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the failure condition of the entity, if any."
  ::= { optIfOChConfigEntry 4 }

-- 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 5 }

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 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 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 6 }

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          IntervalNumber,
    optIfOChSinkIntervalSuspectedFlag   TruthValue,
    optIfOChSinkIntervalLastInputPower  Integer32,
    optIfOChSinkIntervalLowInputPower   Integer32,
    optIfOChSinkIntervalHighInputPower  Integer32
    }

optIfOChSinkIntervalNumber OBJECT-TYPE
  SYNTAX  IntervalNumber
  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 calendar day 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 calendar day."
  ::= { optIfOCh 7 }

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
     calendar day."
  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 calendar day."
  ::= { 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 calendar day."
  ::= { optIfOChSinkCurDayEntry 3 }

-- OCh sink previous day table
-- Contains data for the previous calendar day 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 calendar day."
  ::= { optIfOCh 8 }

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
     calendar day."
  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 calendar day."
  ::= { 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 calendar day."
  ::= { 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 calendar day."
  ::= { 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 9 }

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,
    optIfOChSrcCurrentLaserTemp                  Integer32,
    optIfOChSrcCurrentLowLaserTemp               Integer32,
    optIfOChSrcCurrentHighLaserTemp              Integer32,
    optIfOChSrcCurrentLowerLaserTempThreshold    Integer32,
    optIfOChSrcCurrentUpperLaserTempThreshold    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 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 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 }

optIfOChSrcCurrentLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The operating temperature of the laser."
  ::= { optIfOChSrcCurrentEntry 7 }

optIfOChSrcCurrentLowLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest operating temperature of the laser during the
     current interval."
  ::= { optIfOChSrcCurrentEntry 8 }

optIfOChSrcCurrentHighLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest operating temperature of the laser during the
     current interval."
  ::= { optIfOChSrcCurrentEntry 9 }

optIfOChSrcCurrentLowerLaserTempThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The lower limit threshold on laser temperature.  If
     optIfOChSrcCurrentLaserTemp drops to this value or below,
     a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOChSrcCurrentEntry 10 }

optIfOChSrcCurrentUpperLaserTempThreshold OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The upper limit threshold on laser temperature.  If
     optIfOChSrcCurrentLaserTemp reaches or exceeds this value,
     a Threshold Crossing Alert (TCA) should be sent."
  ::= { optIfOChSrcCurrentEntry 11 }

-- 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 10 }

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           IntervalNumber,
    optIfOChSrcIntervalSuspectedFlag    TruthValue,
    optIfOChSrcIntervalLastOutputPower  Integer32,
    optIfOChSrcIntervalLowOutputPower   Integer32,
    optIfOChSrcIntervalHighOutputPower  Integer32,
    optIfOChSrcIntervalLastLaserTemp    Integer32,
    optIfOChSrcIntervalLowLaserTemp     Integer32,
    optIfOChSrcIntervalHighLaserTemp    Integer32
    }

optIfOChSrcIntervalNumber OBJECT-TYPE
  SYNTAX  IntervalNumber
  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 }

optIfOChSrcIntervalLastLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last operating temperature of the laser during the
     interval."
  ::= { optIfOChSrcIntervalEntry 6 }

optIfOChSrcIntervalLowLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest operating temperature of the laser during the
     interval."
  ::= { optIfOChSrcIntervalEntry 7 }

optIfOChSrcIntervalHighLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest operating temperature of the laser during the
     interval."
  ::= { optIfOChSrcIntervalEntry 8 }

-- OCh source current day table
-- Contains data for the current calendar day 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 calendar day."
  ::= { optIfOCh 11 }

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
     calendar day."
  INDEX  { ifIndex }
  ::= { optIfOChSrcCurDayTable 1 }

OptIfOChSrcCurDayEntry ::=
  SEQUENCE {
    optIfOChSrcCurDaySuspectedFlag    TruthValue,
    optIfOChSrcCurDayLowOutputPower   Integer32,
    optIfOChSrcCurDayHighOutputPower  Integer32,
    optIfOChSrcCurDayLowLaserTemp     Integer32,
    optIfOChSrcCurDayHighLaserTemp    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 calendar day."
  ::= { 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 calendar day."
  ::= { optIfOChSrcCurDayEntry 3 }

optIfOChSrcCurDayLowLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest operating temperature of the laser during the
     current calendar day."
  ::= { optIfOChSrcCurDayEntry 4 }

optIfOChSrcCurDayHighLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest operating temperature of the laser during the
     current calendar day."
  ::= { optIfOChSrcCurDayEntry 5 }

-- OCh source previous day table
-- Contains data for the previous calendar day 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 calendar day."
  ::= { optIfOCh 12 }

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
     calendar day."
  INDEX  { ifIndex }
  ::= { optIfOChSrcPrevDayTable 1 }

OptIfOChSrcPrevDayEntry ::=
  SEQUENCE {
    optIfOChSrcPrevDaySuspectedFlag    TruthValue,
    optIfOChSrcPrevDayLastOutputPower  Integer32,
    optIfOChSrcPrevDayLowOutputPower   Integer32,
    optIfOChSrcPrevDayHighOutputPower  Integer32,
    optIfOChSrcPrevDayLastLaserTemp    Integer32,
    optIfOChSrcPrevDayLowLaserTemp     Integer32,
    optIfOChSrcPrevDayHighLaserTemp    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 calendar day."
  ::= { 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 calendar day."
  ::= { 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 calendar day."
  ::= { optIfOChSrcPrevDayEntry 4 }

optIfOChSrcPrevDayLastLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The last operating temperature of the laser during the
     previous calendar day."
  ::= { optIfOChSrcPrevDayEntry 5 }

optIfOChSrcPrevDayLowLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest operating temperature of the laser during the
     previous calendar day."
  ::= { optIfOChSrcPrevDayEntry 6 }

optIfOChSrcPrevDayHighLaserTemp OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "degrees Celsius"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The highest operating temperature of the laser during the
     previous calendar day."
  ::= { optIfOChSrcPrevDayEntry 7 }

-- 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 {
    optIfOTUkTraceIdentifierTransmitted  SnmpAdminString,
    optIfOTUkDAPIExpected                SnmpAdminString,
    optIfOTUkSAPIExpected                SnmpAdminString,
    optIfOTUkTraceIdentifierAccepted     SnmpAdminString,
    optIfOTUkAcTIStatus                  INTEGER,
    optIfOTUkTIMDetMode                  INTEGER,
    optIfOTUkTIMActEnabled               TruthValue,
    optIfOTUkDEGThr                      INTEGER,
    optIfOTUkDEGM                        INTEGER,
    optIfOTUkCurrentStatus               INTEGER
    }

optIfOTUkTraceIdentifierTransmitted OBJECT-TYPE
  SYNTAX  SnmpAdminString (SIZE(0..64))
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The trace identifier transmitted."
  ::= { optIfOTUkConfigEntry 1 }

optIfOTUkDAPIExpected OBJECT-TYPE
  SYNTAX  SnmpAdminString (SIZE(0..16))
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The DAPI expected by the receiver."
  ::= { optIfOTUkConfigEntry 2 }

optIfOTUkSAPIExpected OBJECT-TYPE
  SYNTAX  SnmpAdminString (SIZE(0..16))
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The SAPI expected by the receiver."
  ::= { optIfOTUkConfigEntry 3 }

optIfOTUkTraceIdentifierAccepted OBJECT-TYPE
  SYNTAX  SnmpAdminString(SIZE (0..64))
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The actual trace identifier accepted."
  ::= { optIfOTUkConfigEntry 4 }

optIfOTUkAcTIStatus OBJECT-TYPE
  SYNTAX  INTEGER {
    stable(1),
    unstable(2)
    }
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The status of the accepted Trail Trace Identifier by the receiver."
  ::= { optIfOTUkConfigEntry 5 }

optIfOTUkTIMDetMode OBJECT-TYPE
  SYNTAX  INTEGER {
    off(1),
    dapi(2),
    sapi(3),
    both(4)
    }
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Indicates the mode of the Trace Identifier Mismatch (TIM)
     Detection function."
  ::= { optIfOTUkConfigEntry 6 }

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

optIfOTUkDEGThr OBJECT-TYPE
  SYNTAX  Integer32
  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 DEGTHR."
  ::= { optIfOTUkConfigEntry 8 }

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

optIfOTUkCurrentStatus OBJECT-TYPE
  SYNTAX  INTEGER {
    noDefect(1),
    tim(2),
    deg(3),
    bdi(4),
    ssf(5)
    }
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the failure condition of the entity, if any."
  ::= { optIfOTUkConfigEntry 10 }

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

-- ODUkT Sink config table

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

optIfODUkTSinkConfigEntry OBJECT-TYPE
  SYNTAX  OptIfODUkTSinkConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains ODUkT Sink configuration
     information of an interface."
  INDEX  { ifIndex, optIfODUkTTcmId }
  ::= { optIfODUkTSinkConfigTable 1 }

OptIfODUkTSinkConfigEntry ::=
  SEQUENCE {
    optIfODUkTTcmId                       Unsigned32,
    optIfODUkTDAPIExpected                SnmpAdminString,
    optIfODUkTSAPIExpected                SnmpAdminString,
    optIfODUkTTraceIdentifierAccepted     SnmpAdminString,
    optIfODUkTAcTIStatus                  INTEGER,
    optIfODUkTTIMDetMode                  INTEGER,
    optIfODUkTTIMActEnabled               TruthValue,
    optIfODUkTDEGThr                      INTEGER,
    optIfODUkTDEGM                        INTEGER,
    optIfODUkTSinkMode                    INTEGER,
    optIfODUkTSinkLockSignalAdminState    INTEGER,
    optIfODUkTCurrentStatus               INTEGER
    }

optIfODUkTTcmId OBJECT-TYPE
  SYNTAX  Unsigned32 (1..6)
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "Value of the TCM level"
  ::= { optIfODUkTSinkConfigEntry 1 }

optIfODUkTDAPIExpected OBJECT-TYPE
  SYNTAX  SnmpAdminString (SIZE(0..16))
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The DAPI expected by the receiver."
  ::= { optIfODUkTSinkConfigEntry 2 }

optIfODUkTSAPIExpected OBJECT-TYPE
  SYNTAX  SnmpAdminString (SIZE(0..16))
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The SAPI expected by the receiver."
  ::= { optIfODUkTSinkConfigEntry 3 }

optIfODUkTTraceIdentifierAccepted OBJECT-TYPE
  SYNTAX  SnmpAdminString (SIZE (0..64))
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The actual trace identifier accepted."
  ::= { optIfODUkTSinkConfigEntry 4 }

optIfODUkTAcTIStatus OBJECT-TYPE
  SYNTAX  INTEGER {
    stable(1),
    unstable(2)
    }
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The status of the accepted Trail Trace Identifier by the receiver."
  ::= { optIfODUkTSinkConfigEntry 5 }

optIfODUkTTIMDetMode OBJECT-TYPE
  SYNTAX  INTEGER {
    off(1),
    dapi(2),
    sapi(3),
    both(4)
    }
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Indicates the mode of the Trace Identifier Mismatch (TIM)
     Detection function."
  ::= { optIfODUkTSinkConfigEntry 6 }

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

optIfODUkTDEGThr OBJECT-TYPE
  SYNTAX  Integer32
  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 DEGTHR."
  ::= { optIfODUkTSinkConfigEntry 8 }

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

optIfODUkTSinkMode OBJECT-TYPE
  SYNTAX  INTEGER  {
    transparent (1),
    operational (2)
    }
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
    "Controls the detection of the TCM sub-fields at the Sink:
     If the value is TRANSPARENT, the TCM sub-fields were not inserted.
     If the value is OPERATIONAL, then:
        - Trail Trace Identifier is inserted in the TTI byte position
        - Backward Defect Indication is inserted in the BDI bit position
        - Bit Interleaved Parity (BIP-8) is inserted in the BIP8 byte
          position
        - Bits 6, 7 and 8 of byte BI shall be fixed to 000 (reserved)"
  ::= { optIfODUkTSinkConfigEntry 10 }

optIfODUkTSinkLockSignalAdminState OBJECT-TYPE
  SYNTAX  INTEGER {
    locked(1),
    normal(2)
    }
  MAX-ACCESS  read-write
  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."
  ::= { optIfODUkTSinkConfigEntry 11 }

optIfODUkTCurrentStatus OBJECT-TYPE
  SYNTAX  INTEGER {
    noDefect(1),
    oci(2),
    lck(3),
    tim(4),
    deg(5),
    bdi(6),
    ssf(7)
    }
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the failure condition of the entity, if any."
  ::= { optIfODUkTSinkConfigEntry 12 }

-- ODUkT Source config table

optIfODUkTSourceConfigTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfODUkTSourceConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of ODUkT TCM Source configuration information."
  ::= { optIfODUkT 2 }

optIfODUkTSourceConfigEntry OBJECT-TYPE
  SYNTAX  OptIfODUkTSourceConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains ODUkT Source configuration
     information of an interface."
  INDEX  { ifIndex, optIfODUkTTcmId }
  ::= { optIfODUkTSourceConfigTable 1 }

OptIfODUkTSourceConfigEntry ::=
  SEQUENCE {
    optIfODUkTTcmId                       Unsigned32,
    optIfODUkTTraceIdentifierTransmitted  SnmpAdminString,
    optIfODUkTSourceMode                  INTEGER,
    optIfODUkTSourceLockSignalAdminState  INTEGER
    }

optIfODUkTTcmId OBJECT-TYPE
  SYNTAX  Unsigned32 (1..6)
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "Value of the TCM level"
  ::= { optIfODUkTSourceConfigEntry 1 }


optIfODUkTTraceIdentifierTransmitted OBJECT-TYPE
  SYNTAX  SnmpAdminString (SIZE(0..64))
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The trace identifier transmitted."
  ::= { optIfODUkTSourceConfigEntry 2 }

optIfODUkTSourceMode OBJECT-TYPE
  SYNTAX  INTEGER  {
    transparent (1),
    operational (2)
    }
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
    "Controls the detection of the TCM sub-fields at the Source:
     If the value is TRANSPARENT, all information shall be passed
        through transparently, with the exception of the TCM ACT.
     If the value is OPERATIONAL, then:
        - Trail Trace Identifier is inserted in the TTI byte position
        - Backward Defect Indication is inserted in the BDI bit position
        - Bit Interleaved Parity (BIP-8) is inserted in the BIP8 byte
          position
        - Bits 6, 7 and 8 of byte BI shall be fixed to 000 (reserved)"
  ::= { optIfODUkTSourceConfigEntry 3 }

optIfODUkTSourceLockSignalAdminState OBJECT-TYPE
  SYNTAX  INTEGER {
    locked(1),
    normal(2)
    }
  MAX-ACCESS  read-write
  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."
  ::= { optIfODUkTSourceConfigEntry 4 }

-- the optIfODUkP group
-- This group handles the configuration information
-- for the ODUkP layers.

-- ODUkP config table

optIfODUkPConfigTable OBJECT-TYPE
  SYNTAX  SEQUENCE OF OptIfODUkPConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A table of ODUkP configuration information."
  ::= { optIfODUkP 1 }

optIfODUkPConfigEntry OBJECT-TYPE
  SYNTAX  OptIfODUkPConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains ODUkP configuration
     information of an interface."
  INDEX  { ifIndex }
  ::= { optIfODUkPConfigTable 1 }

OptIfODUkPConfigEntry ::=
  SEQUENCE {
    optIfODUkPTraceIdentifierTransmitted  SnmpAdminString,
    optIfODUkPDAPIExpected                SnmpAdminString,
    optIfODUkPSAPIExpected                SnmpAdminString,
    optIfODUkPTraceIdentifierAccepted     SnmpAdminString,
    optIfODUkPAcTIStatus                  INTEGER,
    optIfODUkPTIMDetMode                  INTEGER,
    optIfODUkPTIMActEnabled               TruthValue,
    optIfODUkPDEGThr                      INTEGER,
    optIfODUkPDEGM                        INTEGER,
    optIfODUkPCurrentStatus               INTEGER,
    optIfODUkPPayloadTypeTransmitted      Unsigned32,
    optIfODUkPPayloadTypeExpected         Unsigned32,
    optIfODUkPPayloadTypeAccepted         Unsigned32,
    optIfODUkPActiveAdaptFuncSource       INTEGER,
    optIfODUkPActiveAdaptFuncSink         INTEGER
    }

optIfODUkPTraceIdentifierTransmitted OBJECT-TYPE
  SYNTAX  SnmpAdminString (SIZE(0..64))
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The trace identifier transmitted."
  ::= { optIfODUkPConfigEntry 1 }

optIfODUkPDAPIExpected OBJECT-TYPE
  SYNTAX  SnmpAdminString (SIZE(0..16))
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The DAPI expected by the receiver."
  ::= { optIfODUkPConfigEntry 2 }

optIfODUkPSAPIExpected OBJECT-TYPE
  SYNTAX  SnmpAdminString (SIZE(0..16))
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The SAPI expected by the receiver."
  ::= { optIfODUkPConfigEntry 3 }

optIfODUkPTraceIdentifierAccepted OBJECT-TYPE
  SYNTAX  SnmpAdminString(SIZE (0..64))
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The actual trace identifier accepted."
  ::= { optIfODUkPConfigEntry 4 }

optIfODUkPAcTIStatus OBJECT-TYPE
  SYNTAX  INTEGER {
    stable(1),
    unstable(2)
    }
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The status of the accepted Trail Trace Identifier by the receiver."
  ::= { optIfODUkPConfigEntry 5 }

optIfODUkPTIMDetMode OBJECT-TYPE
  SYNTAX  INTEGER {
    off(1),
    dapi(2),
    sapi(3),
    both(4)
    }
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Indicates the mode of the Trace Identifier Mismatch (TIM)
     Detection function."
  ::= { optIfODUkPConfigEntry 6 }

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

optIfODUkPDEGThr OBJECT-TYPE
  SYNTAX  Integer32
  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 DEGTHR."
  ::= { optIfODUkPConfigEntry 8 }

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

optIfODUkPCurrentStatus OBJECT-TYPE
  SYNTAX  INTEGER {
    noDefect(1),
    lck(2),
    tim(3),
    oci(4),
    deg(5),
    bdi(6),
    ssf(7),
    plm(8)
    }
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the failure condition of the entity, if any."
  ::= { optIfODUkPConfigEntry 10 }

optIfODUkPPayloadTypeTransmitted OBJECT-TYPE
  SYNTAX  Unsigned32 (0..255)
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The payload type signal transmitted."
  ::= { optIfODUkPConfigEntry 11 }

optIfODUkPPayloadTypeExpected OBJECT-TYPE
  SYNTAX  Unsigned32 (0..255)
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The payload type signal expected by the receiver."
  ::= { optIfODUkPConfigEntry 12 }

optIfODUkPPayloadTypeAccepted OBJECT-TYPE
  SYNTAX  Unsigned32 (0..255)
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The actual payload type signal accepted."
  ::= { optIfODUkPConfigEntry 13}

optIfODUkPActiveAdaptFuncSource OBJECT-TYPE
  SYNTAX  INTEGER {
    cBRa2G5(1),
    cBRa10G(2),
    cBRa40G(3),
    cBRb2G5(4),
    cBRb10G(5),
    cBRb40G(6),
    aTMvp(7),
    gFP(8),
    nULL(9),
    pRBS(10),
    rSn(11),
    gcc(12),
    aps(13)
    }
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "When an ODUkP termination point supports multiple
     adaptation functions, this object indicates the active
     adaptation function at the interface port."
  ::= { optIfODUkPConfigEntry 14 }

optIfODUkPActiveAdaptFuncSink OBJECT-TYPE
  SYNTAX  INTEGER {
    cBR2G5(1),
    cBR10G(2),
    cBR40G(3),
    aTMvp(4),
    gFP(5),
    nULL(6),
    pRBS(7),
    rSn(8),
    gcc(9),
    aps(10)
    }
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "When an ODUkP termination point supports multiple
     adaptation functions, this object indicates the active
     adaptation function at the interface port."
  ::= { optIfODUkPConfigEntry 15 }

-- groups

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

optIfOTSnConfigGroup OBJECT-GROUP
  OBJECTS  {
    optIfOTSnTraceIdentifierTransmitted,
    optIfOTSnDAPIExpected,
    optIfOTSnSAPIExpected,
    optIfOTSnTraceIdentifierAccepted,
    optIfOTSnAcTIStatus,
    optIfOTSnTIMDetModeled,
    optIfOTSnTIMActEnabled,
    optIfOTSnCurrentStatus
    }
  STATUS  current
  DESCRIPTION
    "A collection of OTSn configuration objects."
  ::= { optIfGroups 2 }

optIfOTSnPMGroup OBJECT-GROUP
  OBJECTS  {
    optIfOTSnSinkCurrentSuspectedFlag,
    optIfOTSnSinkCurrentInputPower,
    optIfOTSnSinkCurrentLowInputPower,
    optIfOTSnSinkCurrentHighInputPower,
    optIfOTSnSinkCurrentLowerInputPowerThreshold,
    optIfOTSnSinkCurrentUpperInputPowerThreshold,
    optIfOTSnSinkIntervalNumber,
    optIfOTSnSinkIntervalSuspectedFlag,
    optIfOTSnSinkIntervalLastInputPower,
    optIfOTSnSinkIntervalLowInputPower,
    optIfOTSnSinkIntervalHighInputPower,
    optIfOTSnSinkCurDaySuspectedFlag,
    optIfOTSnSinkCurDayLowInputPower,
    optIfOTSnSinkCurDayHighInputPower,
    optIfOTSnSinkPrevDaySuspectedFlag,
    optIfOTSnSinkPrevDayLastInputPower,
    optIfOTSnSinkPrevDayLowInputPower,
    optIfOTSnSinkPrevDayHighInputPower,
    optIfOTSnSrcCurrentSuspectedFlag,
    optIfOTSnSrcCurrentOutputPower,
    optIfOTSnSrcCurrentLowOutputPower,
    optIfOTSnSrcCurrentHighOutputPower,
    optIfOTSnSrcCurrentLowerOutputPowerThreshold,
    optIfOTSnSrcCurrentUpperOutputPowerThreshold,
    optIfOTSnSrcCurrentLaserTemp,
    optIfOTSnSrcCurrentLowLaserTemp,
    optIfOTSnSrcCurrentHighLaserTemp,
    optIfOTSnSrcCurrentLowerLaserTempThreshold,
    optIfOTSnSrcCurrentUpperLaserTempThreshold,
    optIfOTSnSrcIntervalNumber,
    optIfOTSnSrcIntervalSuspectedFlag,
    optIfOTSnSrcIntervalLastOutputPower,
    optIfOTSnSrcIntervalLowOutputPower,
    optIfOTSnSrcIntervalHighOutputPower,
    optIfOTSnSrcIntervalLastLaserTemp,
    optIfOTSnSrcIntervalLowLaserTemp,
    optIfOTSnSrcIntervalHighLaserTemp,
    optIfOTSnSrcCurDaySuspectedFlag,
    optIfOTSnSrcCurDayLowOutputPower,
    optIfOTSnSrcCurDayHighOutputPower,
    optIfOTSnSrcCurDayLowLaserTemp,
    optIfOTSnSrcCurDayHighLaserTemp,
    optIfOTSnSrcPrevDaySuspectedFlag,
    optIfOTSnSrcPrevDayLastOutputPower,
    optIfOTSnSrcPrevDayLowOutputPower,
    optIfOTSnSrcPrevDayHighOutputPower,
    optIfOTSnSrcPrevDayLastLaserTemp,
    optIfOTSnSrcPrevDayLowLaserTemp,
    optIfOTSnSrcPrevDayHighLaserTemp
    }
  STATUS  current
  DESCRIPTION
    "A collection of OTSn performance monitoring objects."
  ::= { optIfGroups 3 }

optIfOMSnConfigGroup OBJECT-GROUP
  OBJECTS  {
    optIfOMSnOrder,
    optIfOMSnCurrentStatus
    }
  STATUS  current
  DESCRIPTION
    "A collection of OMSn configuration objects."
  ::= { optIfGroups 4 }

optIfOMSnPMGroup OBJECT-GROUP
  OBJECTS  {
    optIfOMSnSinkCurrentSuspectedFlag,
    optIfOMSnSinkCurrentAggregatedInputPower,
    optIfOMSnSinkCurrentLowAggregatedInputPower,
    optIfOMSnSinkCurrentHighAggregatedInputPower,
    optIfOMSnSinkCurrentLowerInputPowerThreshold,
    optIfOMSnSinkCurrentUpperInputPowerThreshold,
    optIfOMSnSinkCurrentLaserTemp,
    optIfOMSnSinkCurrentLowLaserTemp,
    optIfOMSnSinkCurrentHighLaserTemp,
    optIfOMSnSinkCurrentLowerLaserTempThreshold,
    optIfOMSnSinkCurrentUpperLaserTempThreshold,
    optIfOMSnSinkIntervalNumber,
    optIfOMSnSinkIntervalSuspectedFlag,
    optIfOMSnSinkIntervalLastAggregatedInputPower,
    optIfOMSnSinkIntervalLowAggregatedInputPower,
    optIfOMSnSinkIntervalHighAggregatedInputPower,
    optIfOMSnSinkIntervalLastLaserTemp,
    optIfOMSnSinkIntervalLowLaserTemp,
    optIfOMSnSinkIntervalHighLaserTemp,
    optIfOMSnSinkCurDaySuspectedFlag,
    optIfOMSnSinkCurDayLowAggregatedInputPower,
    optIfOMSnSinkCurDayHighAggregatedInputPower,
    optIfOMSnSinkCurDayLowLaserTemp,
    optIfOMSnSinkCurDayHighLaserTemp,
    optIfOMSnSinkPrevDaySuspectedFlag,
    optIfOMSnSinkPrevDayLastAggregatedInputPower,
    optIfOMSnSinkPrevDayLowAggregatedInputPower,
    optIfOMSnSinkPrevDayHighAggregatedInputPower,
    optIfOMSnSinkPrevDayLastLaserTemp,
    optIfOMSnSinkPrevDayLowLaserTemp,
    optIfOMSnSinkPrevDayHighLaserTemp,
    optIfOMSnSrcCurrentSuspectedFlag,
    optIfOMSnSrcCurrentOutputPower,
    optIfOMSnSrcCurrentLowOutputPower,
    optIfOMSnSrcCurrentHighOutputPower,
    optIfOMSnSrcCurrentLowerOutputPowerThreshold,
    optIfOMSnSrcCurrentUpperOutputPowerThreshold,
    optIfOMSnSrcCurrentLaserTemp,
    optIfOMSnSrcCurrentLowLaserTemp,
    optIfOMSnSrcCurrentHighLaserTemp,
    optIfOMSnSrcCurrentLowerLaserTempThreshold,
    optIfOMSnSrcCurrentUpperLaserTempThreshold,
    optIfOMSnSrcIntervalNumber,
    optIfOMSnSrcIntervalSuspectedFlag,
    optIfOMSnSrcIntervalLastOutputPower,
    optIfOMSnSrcIntervalLowOutputPower,
    optIfOMSnSrcIntervalHighOutputPower,
    optIfOMSnSrcIntervalLastLaserTemp,
    optIfOMSnSrcIntervalLowLaserTemp,
    optIfOMSnSrcIntervalHighLaserTemp,
    optIfOMSnSrcCurDaySuspectedFlag,
    optIfOMSnSrcCurDayLowOutputPower,
    optIfOMSnSrcCurDayHighOutputPower,
    optIfOMSnSrcCurDayLowLaserTemp,
    optIfOMSnSrcCurDayHighLaserTemp,
    optIfOMSnSrcPrevDaySuspectedFlag,
    optIfOMSnSrcPrevDayLastOutputPower,
    optIfOMSnSrcPrevDayLowOutputPower,
    optIfOMSnSrcPrevDayHighOutputPower,
    optIfOMSnSrcPrevDayLastLaserTemp,
    optIfOMSnSrcPrevDayLowLaserTemp,
    optIfOMSnSrcPrevDayHighLaserTemp
    }
  STATUS  current
  DESCRIPTION
    "A collection of OMSn performance monitoring objects."
  ::= { optIfGroups 5 }

optIfOChConfigGroup OBJECT-GROUP
  OBJECTS  {
    optIfOChSinkAdaptActive,
    optIfOChSourceAdaptActive,
    optIfOChSinkFECEnabled,
    optIfOChCurrentStatus
    }
  STATUS  current
  DESCRIPTION
    "A collection of OCh configuration objects."
  ::= { optIfGroups 6 }

optIfOChPMGroup OBJECT-GROUP
  OBJECTS  {
    optIfOChSinkCurrentSuspectedFlag,
    optIfOChSinkCurrentInputPower,
    optIfOChSinkCurrentLowInputPower,
    optIfOChSinkCurrentHighInputPower,
    optIfOChSinkCurrentLowerInputPowerThreshold,
    optIfOChSinkCurrentUpperInputPowerThreshold,
    optIfOChSinkIntervalNumber,
    optIfOChSinkIntervalSuspectedFlag,
    optIfOChSinkIntervalLastInputPower,
    optIfOChSinkIntervalLowInputPower,
    optIfOChSinkIntervalHighInputPower,
    optIfOChSinkCurDaySuspectedFlag,
    optIfOChSinkCurDayLowInputPower,
    optIfOChSinkCurDayHighInputPower,
    optIfOChSinkPrevDaySuspectedFlag,
    optIfOChSinkPrevDayLastInputPower,
    optIfOChSinkPrevDayLowInputPower,
    optIfOChSinkPrevDayHighInputPower,
    optIfOChSrcCurrentSuspectedFlag,
    optIfOChSrcCurrentOutputPower,
    optIfOChSrcCurrentLowOutputPower,
    optIfOChSrcCurrentHighOutputPower,
    optIfOChSrcCurrentLowerOutputPowerThreshold,
    optIfOChSrcCurrentUpperOutputPowerThreshold,
    optIfOChSrcCurrentLaserTemp,
    optIfOChSrcCurrentLowLaserTemp,
    optIfOChSrcCurrentHighLaserTemp,
    optIfOChSrcCurrentLowerLaserTempThreshold,
    optIfOChSrcCurrentUpperLaserTempThreshold,
    optIfOChSrcIntervalNumber,
    optIfOChSrcIntervalSuspectedFlag,
    optIfOChSrcIntervalLastOutputPower,
    optIfOChSrcIntervalLowOutputPower,
    optIfOChSrcIntervalHighOutputPower,
    optIfOChSrcIntervalLastLaserTemp,
    optIfOChSrcIntervalLowLaserTemp,
    optIfOChSrcIntervalHighLaserTemp,
    optIfOChSrcCurDaySuspectedFlag,
    optIfOChSrcCurDayLowOutputPower,
    optIfOChSrcCurDayHighOutputPower,
    optIfOChSrcCurDayLowLaserTemp,
    optIfOChSrcCurDayHighLaserTemp,
    optIfOChSrcPrevDaySuspectedFlag,
    optIfOChSrcPrevDayLastOutputPower,
    optIfOChSrcPrevDayLowOutputPower,
    optIfOChSrcPrevDayHighOutputPower,
    optIfOChSrcPrevDayLastLaserTemp,
    optIfOChSrcPrevDayLowLaserTemp,
    optIfOChSrcPrevDayHighLaserTemp
     }
  STATUS  current
  DESCRIPTION
    "A collection of OCh performance monitoring objects."
  ::= { optIfGroups 7 }

optIfOTUkConfigGroup OBJECT-GROUP
  OBJECTS  {
    optIfOTUkTraceIdentifierTransmitted,
    optIfOTUkDAPIExpected,
    optIfOTUkSAPIExpected,
    optIfOTUkTraceIdentifierAccepted,
    optIfOTUkAcTIStatus,
    optIfOTUkTIMDetMode,
    optIfOTUkTIMActEnabled,
    optIfOTUkDEGThr,
    optIfOTUkDEGM,
    optIfOTUkCurrentStatus
    }
  STATUS  current
  DESCRIPTION
    "A collection of OTUk configuration objects."
  ::= { optIfGroups 8 }

optIfODUkTGroup OBJECT-GROUP
  OBJECTS  {
    optIfODUkTTcmI,
    optIfODUkTTraceIdentifierTransmitted,
    optIfODUkTDAPIExpected,
    optIfODUkTSAPIExpected,
    optIfODUkTTraceIdentifierAccepted,
    optIfODUkTAcTIStatus,
    optIfODUkTTIMDetMode,
    optIfODUkTTIMActEnabled,
    optIfODUkTDEGThr,
    optIfODUkTDEGM,
    optIfODUkTSinkMode,
    optIfODUkTSourceMode,
    optIfODUkTSinkLockSignalAdminState,
    optIfODUkTSourceLockSignalAdminState,
    optIfODUkTCurrentStatus
    }
  STATUS  current
  DESCRIPTION
    "A collection of ODUkT configuration objects."
  ::= { optIfGroups 9 }

optIfODUkPGroup OBJECT-GROUP
  OBJECTS  {
    optIfODUkPTraceIdentifierTransmitted,
    optIfODUkPDAPIExpected,
    optIfODUkPSAPIExpected,
    optIfODUkPTraceIdentifierAccepted,
    optIfODUkPAcTIStatus,
    optIfODUkPTIMDetMode,
    optIfODUkPTIMActEnabled,
    optIfODUkPDEGThr,
    optIfODUkPDEGM,
    optIfODUkPCurrentStatus,
    optIfODUkPPayloadTypeTransmitted,
    optIfODUkPPayloadTypeExpected,
    optIfODUkPPayloadTypeAccepted,
    optIfODUkPActiveAdaptFuncSource,
    optIfODUkPActiveAdaptFuncSink
    }
  STATUS  current
  DESCRIPTION
    "A collection of ODUkP configuration objects."
  ::= { optIfGroups 10 }

-- compliance specifications

optIfMinCompl MODULE-COMPLIANCE
  STATUS  current
  DESCRIPTION
    "The minimal implementation requirements for this MIB module."
  MODULE
    MANDATORY-GROUPS  {
      optIfPerfMonGroup,
      optIfOTSnConfigGroup,
      optIfOTSnPMGroup,
      optIfOChConfigGroup,
      optIfOChPMGroup
      }
  ::= { optIfCompl 1 }

optIfFullCompl MODULE-COMPLIANCE
  STATUS  current
  DESCRIPTION
    "The full implementation requirements for this MIB module."
  MODULE  -- This module
    MANDATORY-GROUPS  {
      optIfPerfMonGroup,
      optIfOTSnConfigGroup,
      optIfOTSnPMGroup,
      optIfOMSnConfigGroup,
      optIfOMSnPMGroup,
      optIfOChConfigGroup,
      optIfOChPMGroup,
      optIfOTUkConfigGroup,
      optIfODUkTGroup,
      optIfODUkPGroup
      }
  ::= { optIfCompl 2 }

END

6.  Security Considerations

   There are a number of management objects defined in this MIB that
   have a MAX-ACCESS clause of read-write and/or read-create.  Such
   objects may be considered sensitive or vulnerable in some network
   environments. The support for SET operations in a non-secure
   environment without proper protection can have a negative effect on
   network operations.

   The managed objects in this MIB contain sensitive information since,
   collectively, they allow influencing of interfaces in OTN equipment
   or networks and provide information of their configuration.

   It is thus important to control even GET access to these objects and
   possibly to even encrypt the values of these object when sending them
   over the network via SNMP. Not all versions of SNMP provide features
   for such a secure environment.

   SNMPv1 by itself is not a secure environment. Even if the network
   itself is secure (for example by using IPSec), there is no
   control as to who on the secure network is allowed to access and
   GET/SET (read/change/create/delete) the objects in this MIB.

   It is recommended that the implementers consider the security
   features as provided by the SNMPv3 framework. Specifically, the use
   of the User-based Security Model RFC 2574 [RFC2574] and the View-based
   Access Control Model RFC 2575 [RFC2575] is recommended.

   It is then a customer/user responsibility to ensure that the SNMP
   entity giving access to an instance of this MIB, is properly
   configured to give access to the objects only to those principals
   (users) that have legitimate rights to indeed GET or SET
   (change/create/delete) them.

7.  Acknowledgements

   This internet draft is the collaborative effort of a geographical
   diverse team of individuals coming together for the purpose of
   this effort.

   Mark Stewart/Brian Teer wrote sections on use of interface tables,
   reviewed the MIB Object Definitions for SNMP SMIv2 compliance, and
   wrote the PM sections in working with the draft of G.cemr.
   Anni Huynh wrote the MIB definitions for OTN interface.
   Kam Lam wrote the sections on Optical Networking Terminology
   and the OTN layers configuration parameters.

   Tom Rutt wrote the summary section on the Structure of the MIB.
   Maarten Vissers provided insight into Optical Networking concepts.
   Nathan Kohn initiated the concept, then gathered and coordinated
   the team leading to this internet draft and is responsible for any
   typos.

   Thanks to Lakshmi Raman and Moshe Rozenblit of Teraburst Networks
   for reviewing and commenting on a preliminary version of this
   Internet-Draft.

8.  References

[RFC2571]   Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture
            for Describing SNMP Management Frameworks", RFC 2571, April
            1999.

[RFC1155]   Rose, M., and K. McCloghrie, "Structure and Identification
            of Management Information for TCP/IP-based Internets", STD
            16, RFC 1155, May 1990.

[RFC1212]   Rose, M. and K. McCloghrie, "Concise MIB Definitions",
            STD 16, RFC 1212, March 1991.

[RFC1215]   M. Rose, "A Convention for Defining Traps for use with the
            SNMP", RFC 1215, March 1991.

[RFC2578]   McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
            Rose, M., and S. Waldbusser, "Structure of Management
            Information Version 2 (SMIv2)", STD 58, RFC 2578, April
            1999.

[RFC2579]   McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
            Rose, M., and S. Waldbusser, "Textual Conventions for
            SMIv2", STD 58, RFC 2579, April 1999.

[RFC2580]   McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
            Rose, M., and S. Waldbusser, "Conformance Statements for
            SMIv2", STD 58, RFC 2580, April 1999.

[RFC1157]   Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple
            Network Management Protocol", STD 15, RFC 1157, May 1990.

[RFC1901]   Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
            "Introduction to Community-based SNMPv2", RFC 1901, January
            1996.

[RFC1906]   Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
            "Transport Mappings for Version 2 of the Simple Network
            Management Protocol (SNMPv2)", RFC 1906, January 1996.

[RFC2572]   Case, J., Harrington D., Presuhn R., and B. Wijnen, "Message
            Processing and Dispatching for the Simple Network Management
            Protocol (SNMP)", RFC 2572, April 1999.

[RFC2574]   Blumenthal, U., and B. Wijnen, "User-based Security Model
            (USM) for version 3 of the Simple Network Management
            Protocol (SNMPv3)", RFC 2574, April 1999.

[RFC1905]   Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
            "Protocol Operations for Version 2 of the Simple Network
            Management Protocol (SNMPv2)", RFC 1905, January 1996.

[RFC2573]   Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications",
            RFC 2573, April 1999.

[RFC2575]   Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based
            Access Control Model (VACM) for the Simple Network
            Management Protocol (SNMP)", RFC 2575, April 1999.

[RFC2570]   Case, J., Mundy, R., Partain, D., and B. Stewart,
            "Introduction to Version 3 of the Internet-standard Network
            Management Framework", RFC 2570, April 1999.

[RFC1213] McCloghrie, K. and M. Rose, "Management Information Base for
        Network Management of TCP/IP-based internets - MIB-II", STD 17,
        RFC 1213, March 1991.

[RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group MIB",
        RFC 2863, June 2000.

[RFC2493] Tesink, K., " Textual Conventions for MIB Modules Using
        Performance History Based on 15 Minute Intervals", RFC 2493,
        January 1999.

[ITU G.709] ITU Recommendation G.709, "Network Node Interface for the
        Optical Transport Network (OTN)", (2/2001).

[ITU G.798] ITU Recommendation G.798, "Characteristics of Optical
        Transport Network Hierarchy Equipment Functional Blocks",
        Draft Issue 0.8.1 (6/2001).

[ITU G.872] ITU Recommendation G.872, "Transmission Systems and Media,
        Digital Systems, and Networks - Digital transmission systems
        Digital networks, and Optical transport networks",
        Draft 1.4 (11/2000).

[ITU G.874] ITU Recommendation G.874, "Management aspects of the optical
        transport network element", Draft 1.7 (6/2001).

[ITU G.874.1] ITU Recommendation G.874.1, "OTN Protocol-neutral
        Management Information Model for the NE View",
        Draft 0.2 (3/2001).

[ITU G.cemr] ITU Recommendation G.cemr, "Common Equipment Management
        Function Requirements", Draft 0.5 (7/2001)

[ITU G.806] ITU Recommendation G.806, "Characteristics of Transport
        Equipment รป Description methodology and generic functionality",
        (10/2000).

9.  Author's Address

   Name:    Mark A. Stewart
   Company: Lucent Technologies
   Address: 1801 Varsity Drive, MS-409F
            Raleigh, NC 27606
   Phone:   919-838-5572
   EMail:   markstewart@lucent.com

   Name(s): An-ni Huynh
   Company: Cetus Networks
   Phone:   732-615-5402
   EMail:   a_n_huynh@yahoo.com

   Name(s): Kam Lam
   Company: Lucent Technologies
   Address: 101 Crawfords Corner Road, Room 4C-616A
            Holmdel, NJ 07733
   Phone:   732-949-8338
   EMail:   hklam@lucent.com

10. Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   intellectual property or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; neither does it represent that it
   has made any effort to identify any such rights.  Information on the
   IETF's procedures with respect to rights in standards-track and
   standards-related documentation can be found in BCP-11.  Copies of
   claims of rights made available for publication and any assurances of
   licenses to be made available, or the result of an attempt made to
   obtain a general license or permission for the use of such
   proprietary rights by implementers or users of this specification can
   be obtained from the IETF Secretariat.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights which may cover technology that may be required to practice
   this standard.  Please address the information to the IETF Executive
   Director.

Expires January 19 2002                                           [Page xx]