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




                     Definitions of Managed Objects
                     for the Optical Interface Type


                  draft-ietf-atommib-opticalmib-02.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:

This Version incorporates the following changes.

Editorial changes:
a. Creating textual conventions for
     TraceIdentifierTransmitted (TxTI), DAPIExpected (ExDAPI),
     SAPIExpected (ExSAPI), TraceIdentifierAccepted (AcTI),
     TIMDetMode, TIMActEnabled, DEGThr, DEGM, Directionality, BitRateK
b. Rename ODUkP to ODUk for better alignment with G.874.1 terminology
c. Rearrange the order of ODUk and ODUkT
d. Update the dates of the ITU-T references
e. Update the terminology section

Alignment with G.874.1:
f. Add the optIfOTMnTable for defining the OTMn structure
   information (order, bit rates, reduced, interface type,
   maximum TCM levels supported, and optical reach)
g. Remove the AcTIStatus object from the OTSn, OTUk, ODUkP,
   and ODUkT config tables
h. In optIfOTSnConfigTable:
   add objects Directionality, AprStatus, AprControl
i. In the optIdOMSnConfigTable:
   add object Directionality;
   remove object Order
j. In the optIfOChConfigTable:
   add object Directionality;
   remove the objects SinkAdaptActive, SourceAdaptActive, and
   SinkFECEnabled (move to optIdOTUkConfigTable);
   remove ais, lof, lom, and los from Current Status
k. In the optIfOTUkConfigTable:
   add objects Directionality, BitRateK, SinkAdaptActive,
   SourceAdaptActive, and SinkFECEnabled (move from optIfOChConfigTable);
   add lof, ais, and lom to Current Status
l. In the optIfODUkConfigTable:
   add objects Directionality, BitRateK, TcmFieldInUse, and PositionSeq;
   remove objects PayloadTypeTransmitted, PayloadTypeExpected,
   PayloadTypeAccepted, ActiveAdaptFuncSource, ActiveAdaptFuncSink
   (these should belong to the ODUk Client layer, which is not modeled
   in the current MIB yet);
   remove plm from Current Status
m. Combine the ODUkT Sink and Source ConfigTable;
   add objects Directionality and Codirectional;
   rename TcmId to TcmField; add the value monitor to the SinkMode object.

Possible further update to model the non-intrusive monitoring (Nim)
and GCCs defined in G.874.1:
n. Define configuration tables:
   ODUk Nim config table, ODUkT Nim config table,
   GCC0 config table, and GCC12 config table
o. In the optIfODUkConfigTable:
   define attribute for activate/deactive ODUk Nim;
   define attribute for add/remove TCM;
   define attribute for add/remove GCC12 access
p. In the optIfOTUkConfigTable:
   define attribute for add/remove GCC0 access

Copyright Notice

   Copyright (C) The Internet Society (2001).  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 optIfOTMn group................................   xx
   4.2.  The optIfPerfMonInterval group.....................   xx
   4.3.  The optIfOTSn group................................   xx
   4.4.  The optIfOMSn group................................   xx
   4.5.  The optIfOCh group.................................   xx
   4.6.  The optIfOTUk group................................   xx
   4.7.  The optIfODUk group................................   xx
   4.8.  The optIfODUkT 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    |\
          (ODUk)        | \
   _____________________|  \ ______________________
                        |   |                      |  >
     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 otnODUkCurrentStatus 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 (ODUk) - 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 Module (OTM-n[r].m) - G.872
        The OTM is the information structure that is transported
        across an ONNI. The index n and m define the number of supported
        wavelengths and bit rates at the interface.
        Two OTM structures are defined: OTM with full functionality
        (OTM-n.m) and OTM with reduced functionality (OTM-0.m & OTM-nr.m).
        The OTM-n.m consists of up to n multiplexed optical channels and
        an OTM overhead signal to support the non-associated overhead.
        The OTM-0 consists of a single optical channel without a specific
        color assigned. The OTM-nr.m consists of up to n multiplexed
        optical channels. Non associated overhead is not supported.

   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 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
   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 optIfOTMn group handles the OTM information structure of
   an optical interface.
      optIfOTMnTable

   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 optIfODUk group handles configuration information for ODUk.
      optIfODUkConfigTable

   The optIfODUkT group handles configuration information for ODUkT.
      optIfODUkTConfigTable

   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 optIfOTMn group

4.1.1.  optIfOTMnTable

    This table contains the OTM structure information of
    an optical interface.

4.2.  The optIfPerfMonInterval group

4.2.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.3.  The optIfOTSn group

4.3.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.3.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.3.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.3.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.3.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.3.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.3.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.3.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.3.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.4.  The optIfOMSn group

4.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.5.  The optIfOCh group

4.5.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.5.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.5.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.5.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.5.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.5.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.5.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.5.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.5.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.6.  The optIfOTUk group

4.6.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.7.  The optIfODUk group

4.7.1.  optIfODUk Configuration Table

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

4.8.  The optIfODUkT group

4.8.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.

5.  Object Definitions

OPT-IF-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
       1728 Bowling Green Trail
       Raleigh, NC  27613
       Tel: +1 919 247 6991
       Email: mstewart1@nc.rr.com."
    DESCRIPTION
       "The draft MIB module to describe OTN interfaces objects."
    REVISION  "200112100000Z"
    DESCRIPTION
       "The initial version."
    ::={ transmission yy}

-- textual conventions

AcTI ::= TEXTUAL-CONVENTION
  STATUS  current
  DESCRIPTION
    "The trace identifier (TI) accepted at the receiver."
  SYNTAX  SnmpAdminString (SIZE(0..64))

BitRateK ::= TEXTUAL-CONVENTION
  STATUS  current
  DESCRIPTION
    "Indicates the index "k" that is used to
     represent a supported bit rate and the different
     versions of OPUk, ODUk and OTUk.
     Valid values are integers 1, 2, and 3.
        k=1 represents an approximate bit rate of 2.5 Gbit/s,
        k=2 represents an approximate bit rate of 10 Gbit/s,
        k=3 represents an approximate bit rate of 40 Gbit/s."
  SYNTAX  INTEGER (1..3)

DEGM ::= TEXTUAL-CONVENTION
  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."
  SYNTAX  Integer32

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

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

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

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

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)

TIMActEnabled ::= TEXTUAL-CONVENTION
  STATUS  current
  DESCRIPTION
    "Indicates whether the Trace Identifier Mismatch (TIM)
     Consequent Action function is enabled."
  SYNTAX  TruthValue

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

TxTI ::= TEXTUAL-CONVENTION
  STATUS  current
  DESCRIPTION
    "The trace identifier (TI) transmitted."
  SYNTAX  SnmpAdminString (SIZE(0..64))

-- object groups

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

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

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

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

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

-- OTMn Table

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

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

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

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

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

optIfOTMnBitRates OBJECT-TYPE
  SYNTAX  Unsigned32
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "This attribute is an index used to represent the bit
     rate or set of bit rates supported on the interface.
     Valid values are 1, 2, 3, 12, 123, and 23. In the index,
     each digit k represents an approximate bit rate
     supported by the interface. k=1 means 2.5 Gbit/s, k=2
     means 10 Gbit/s, and k=3 means 40 Gbit/s.
     Default value of this attribute is system specific."
  ::= { optIfOTMnEntry 3 }

optIfOTMnInterfaceType OBJECT-TYPE
  SYNTAX  SnmpAdminString
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "This object identifies the type of interface.  The
     value of this attribute will affect the behavior of the
     OTM with respect to presence/absence of OOS processing
     and TCM activation.  For an IrDI interface, there is no
     OOS processing and TCM activation is limited to n levels
     as specified by a TCM level threshold.
     Possible Values -
          field 1: enumeration of IrDI or IaDI
          field 2: 10 character string for additional information
     Default Value -
          field 1: IaDI
          field 2: vendor and/or provider specific"
  ::= { optIfOTMnEntry 4 }

optIfOTMnTcmMax OBJECT-TYPE
  SYNTAX  Unsigned32
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "This object identifies the maximum number of TCM
     levels allowed for any Optical Channel contained in this
     OTM.  A new TCM activation will be rejected if the
     requested level is greater than the threshold. If
     InterfaceType for the OTM is IaDI, then this attribute is irrelevant.
     Possible Values -  integer from 0 to 6. n  (IrDI), where 0 < n < 7
     Default Value - 3"
  ::= { optIfOTMnEntry 5 }

optIfOTMnOpticalReach OBJECT-TYPE
  SYNTAX  Unsigned32
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "This object indicates the length the optical signal
     may travel before requiring termination or regeneration.
     Valid values are:
             1 -  intraOffice,
             2 -  shortHaul,
             3 -  longHaul."
  ::= { optIfOTMnEntry 6 }

-- 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 {
    optIfOTSnDirectionality                  Directionality,
    optIfOTSnAprStatus                   SnmpAdminString,
    optIfOTSnAprControl                  SnmpAdminString,
    optIfOTSnTraceIdentifierTransmitted  TxTI,
    optIfOTSnDAPIExpected                ExDAPI,
    optIfOTSnSAPIExpected                ExSAPI,
    optIfOTSnTraceIdentifierAccepted     AcTI,
    optIfOTSnTIMDetMode                  TIMDetMode,
    optIfOTSnTIMActEnabled               TIMActEnabled,
    optIfOTSnCurrentStatus               INTEGER
    }

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

optIfOTSnAprStatus OBJECT-TYPE
  SYNTAX  SnmpAdminString
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the Automatic Power Reduce (APR) status of the entity."
  ::= { optIfOTSnConfigEntry 2 }

optIfOTSnAprControl OBJECT-TYPE
  SYNTAX  SnmpAdminString
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Specifies the Automatic Power Reduce (APR) control on the entity."
  ::= { optIfOTSnConfigEntry 3 }

optIfOTSnTraceIdentifierTransmitted OBJECT-TYPE
  SYNTAX  TxTI
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The trace identifier transmitted."
  ::= { optIfOTSnConfigEntry 4 }

optIfOTSnDAPIExpected OBJECT-TYPE
  SYNTAX  ExDAPI
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The DAPI expected by the receiver."
  ::= { optIfOTSnConfigEntry 5 }

optIfOTSnSAPIExpected OBJECT-TYPE
  SYNTAX  ExSAPI
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The SAPI expected by the receiver."
  ::= { optIfOTSnConfigEntry 6 }

optIfOTSnTraceIdentifierAccepted OBJECT-TYPE
  SYNTAX  AcTI
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The actual trace identifier received."
  ::= { optIfOTSnConfigEntry 7 }

optIfOTSnTIMDetMode OBJECT-TYPE
  SYNTAX  TIMDetMode
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Indicates the mode of the Trace Identifier Mismatch (TIM)
     Detection function."
  ::= { optIfOTSnConfigEntry 8 }

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

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

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

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

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

OptIfOTSnSinkCurrentEntry ::=
  SEQUENCE {
    optIfOTSnSinkCurrentSuspectedFlag             TruthValue,
    optIfOTSnSinkCurrentInputPower                Integer32,
    optIfOTSnSinkCurrentLowInputPower             Integer32,
    optIfOTSnSinkCurrentHighInputPower            Integer32,
    optIfOTSnSinkCurrentLowerInputPowerThreshold  Integer32,
    optIfOTSnSinkCurrentUpperInputPowerThreshold  Integer32
    }

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 {
    optIfOMSnDirectionality Directionality,
    optIfOMSnCurrentStatus  INTEGER
    }

optIfOTSnDirectionality OBJECT-TYPE
  SYNTAX  Directionality
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the directionality of the entity."
  ::= { 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 1 }

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

OptIfOChConfigEntry ::=
  SEQUENCE {
    optIfOChDirectionality     Directionality,
    optIfOChCurrentStatus      INTEGER
    }

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

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

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

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

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

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

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

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

optIfOChSinkCurrentLowInputPower OBJECT-TYPE
  SYNTAX  Integer32
  UNITS  "0.1 dbm"
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The lowest optical power monitored at the input during the
     current 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 3 }

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

OptIfOChSinkIntervalEntry ::=
  SEQUENCE {
    optIfOChSinkIntervalNumber          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 4 }

optIfOChSinkCurDayEntry OBJECT-TYPE
  SYNTAX  OptIfOChSinkCurDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OCh sink performance
     monitoring information of an interface for the current
     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 5 }

optIfOChSinkPrevDayEntry OBJECT-TYPE
  SYNTAX  OptIfOChSinkPrevDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OCh sink performance
     monitoring information of an interface for the previous
     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 6 }

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

OptIfOChSrcCurrentEntry ::=
  SEQUENCE {
    optIfOChSrcCurrentSuspectedFlag              TruthValue,
    optIfOChSrcCurrentOutputPower                Integer32,
    optIfOChSrcCurrentLowOutputPower             Integer32,
    optIfOChSrcCurrentHighOutputPower            Integer32,
    optIfOChSrcCurrentLowerOutputPowerThreshold  Integer32,
    optIfOChSrcCurrentUpperOutputPowerThreshold  Integer32,
    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 7 }

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

OptIfOChSrcIntervalEntry ::=
  SEQUENCE {
    optIfOChSrcIntervalNumber           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 8 }

optIfOChSrcCurDayEntry OBJECT-TYPE
  SYNTAX  OptIfOChSrcCurDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OCh source performance
     monitoring information of an interface for the current
     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 9 }

optIfOChSrcPrevDayEntry OBJECT-TYPE
  SYNTAX  OptIfOChSrcPrevDayEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains OCh source performance
     monitoring information of an interface for the previous
     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 {
    optIfOTUkDirectionality              Directionality,
    optIfOTUkBitRateK                    BitRateK,
    optIfOTUkTraceIdentifierTransmitted  TxTI,
    optIfOTUkDAPIExpected                ExDAPI,
    optIfOTUkSAPIExpected                ExSAPI,
    optIfOTUkTraceIdentifierAccepted     AcTI,
    optIfOTUkTIMDetMode                  TIMDetMode,
    optIfOTUkTIMActEnabled               TIMActEnabled,
    optIfOTUkDEGThr                      DEGThr,
    optIfOTUkDEGM                        DEGM,
    optIfOTUkSinkAdaptActive             TruthValue,
    optIfOTUkSourceAdaptActive           TruthValue,
    optIfOTUkSinkFECEnabled              TruthValue,
    optIfOTUkCurrentStatus               INTEGER
    }

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

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

optIfOTUkTraceIdentifierTransmitted OBJECT-TYPE
  SYNTAX  TxTI
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The trace identifier transmitted."
  ::= { optIfOTUkConfigEntry 3 }

optIfOTUkDAPIExpected OBJECT-TYPE
  SYNTAX  ExDAPI
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The DAPI expected by the receiver."
  ::= { optIfOTUkConfigEntry 4 }

optIfOTUkSAPIExpected OBJECT-TYPE
  SYNTAX  ExSAPI
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The SAPI expected by the receiver."
  ::= { optIfOTUkConfigEntry 5 }

optIfOTUkTraceIdentifierAccepted OBJECT-TYPE
  SYNTAX  AcTI
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The actual trace identifier accepted."
  ::= { optIfOTUkConfigEntry 6 }

optIfOTUkTIMDetMode OBJECT-TYPE
  SYNTAX  TIMDetMode
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Indicates the mode of the Trace Identifier Mismatch (TIM)
     Detection function."
  ::= { optIfOTUkConfigEntry 7 }

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

optIfOTUkDEGThr OBJECT-TYPE
  SYNTAX  DEGThr
  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 9 }

optIfOTUkDEGM OBJECT-TYPE
  SYNTAX  DEGM
  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 10 }

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

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

optIfOTUkSinkFECEnabled OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "If Forward Error Correction (FEC) is supported, this object
     indicates whether FEC at the OTUk sink adaptation function is
     enabled or not."
  ::= { optIfOTUkConfigEntry 13 }

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




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

-- ODUk config table

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

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

OptIfODUkConfigEntry ::=
  SEQUENCE {
    optIfODUkDirectionality              Directionality,
    optIfODUkBitRateK                    BitRateK,
    optIfODUkTcmFieldInUse               BITS,
    optIfODUkPositionSeq                 SnmpAdminString,
    optIfODUkTraceIdentifierTransmitted  TxTI,
    optIfODUkDAPIExpected                ExDAPI,
    optIfODUkSAPIExpected                ExSAPI,
    optIfODUkTraceIdentifierAccepted     AcTI,
    optIfODUkTIMDetMode                  TIMDetMode,
    optIfODUkTIMActEnabled               TIMActEnabled,
    optIfODUkDEGThr                      DEGThr,
    optIfODUkDEGM                        DEGM,
    optIfODUkCurrentStatus               INTEGER
    }

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

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

optIfODUkTcmFieldInUse OBJECT-TYPE
  SYNTAX  BITS (SIZE(6))
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the TCM field(s) that are current used.
     The positions of the bits corresponding to the TCM fields.
     A bit that is set to 1 means that TCM field is used."
  ::= { optIfODUkConfigEntry 3 }

optIfODUkPositionSeq OBJECT-TYPE
  SYNTAX  SnmpAdminString
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "This variable indicates the positions of the TCM and
     GCC processing functions within the ODUk TP.
     The order of the position in the positionSeq attribute
     together with the signal flow determine the processing
     sequence of the TCM and GCC functions within the ODUk
     TP. Once the positions are determined, the signal
     processing sequence will follow the signal flow for each
     direction of the signal.
     Within the ODUk_CTP, the position order is going from
     adaptation to connection function. Within the ODUk_TTP,
     the order is going from connection to adaptation
     function.
     The syntax of this variable will indicates a
     SEQUENCE OF pointers, which point to the contained TCM
     and GCC function.
     The order of TCM and GCC access function in the
     positionSeq attribute is significant only when there are
     more than one TCM functions within the ODUk TP and also
     at least one of them have the TimActDisabled attribute
     set to FALSE (i.e., AIS is inserted upon TIM).
     If a GCC12_TP is contained in an ODUk_TTP and the
     GCC12_TP is not listed in the PositionSeq attribute of
     the ODUk_TTP, then the GCC access is at the AP side of
     the ODUk TT function.
     See ITU-T G.874.1 Appendix I for more information."
  ::= { optIfODUkConfigEntry 4 }

optIfODUkTraceIdentifierTransmitted OBJECT-TYPE
  SYNTAX  TxTI
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The trace identifier transmitted."
  ::= { optIfODUkConfigEntry 5 }

optIfODUkDAPIExpected OBJECT-TYPE
  SYNTAX  ExDAPI
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The DAPI expected by the receiver."
  ::= { optIfODUkConfigEntry 6 }

optIfODUkSAPIExpected OBJECT-TYPE
  SYNTAX  ExSAPI
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The SAPI expected by the receiver."
  ::= { optIfODUkConfigEntry 7 }

optIfODUkTraceIdentifierAccepted OBJECT-TYPE
  SYNTAX  AcTI
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The actual trace identifier accepted."
  ::= { optIfODUkConfigEntry 8 }

optIfODUkTIMDetMode OBJECT-TYPE
  SYNTAX  TIMDetMode
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Indicates the mode of the Trace Identifier Mismatch (TIM)
     Detection function."
  ::= { optIfODUkConfigEntry 9 }

optIfODUkTIMActEnabled OBJECT-TYPE
  SYNTAX  TIMActEnabled
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Indicates whether the Trace Identifier Mismatch (TIM)
     Consequent Action function is enabled."
  ::= { optIfODUkConfigEntry 10 }

optIfODUkDEGThr OBJECT-TYPE
  SYNTAX  DEGThr
  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."
  ::= { optIfODUkConfigEntry 11 }

optIfODUkDEGM OBJECT-TYPE
  SYNTAX  DEGM
  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."
  ::= { optIfODUkConfigEntry 12 }

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


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

-- ODUkT config table

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

optIfODUkTConfigEntry OBJECT-TYPE
  SYNTAX  OptIfODUkTConfigEntry
  MAX-ACCESS  not-accessible
  STATUS  current
  DESCRIPTION
    "A conceptual row that contains ODUkT configuration
     information of an interface."
  INDEX  { ifIndex, optIfODUkTTcmField }
  ::= { optIfODUkTConfigTable 1 }

OptIfODUkTConfigEntry ::=
  SEQUENCE {
    optIfODUkTTcmField                    Unsigned32,
    optIfODUkTDirectionalit               Directionality,
    optIfODUkTCodirectional               TruthValue,
    optIfODUkTTraceIdentifierTransmitted  TxTI,
    optIfODUkTDAPIExpected                ExDAPI,
    optIfODUkTSAPIExpected                ExSAPI,
    optIfODUkTTraceIdentifierAccepted     AcTI,
    optIfODUkTTIMDetMode                  TIMDetMode,
    optIfODUkTTIMActEnabled               TIMActEnabled,
    optIfODUkTDEGThr                      DEGThr,
    optIfODUkTDEGM                        DEGM,
    optIfODUkTSinkMode                    INTEGER,
    optIfODUkTSourceMode                  INTEGER,
    optIfODUkTSinkLockSignalAdminState    INTEGER,
    optIfODUkTSourceLockSignalAdminState  INTEGER,
    optIfODUkTCurrentStatus               INTEGER
    }

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

optIfODUkTDirectionality OBJECT-TYPE
  SYNTAX  Directionality
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Indicates the directionality of the entity."
  ::= { optIfODUkTConfigEntry 2 }

optIfODUkTCodirectional OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Specifies the directionality of the ODUkT
     TP with respect to the associated ODUk_CTP.
     The value of TRUE means that the sink part of the ODUkT
     TP terminates the same signal direction as the sink part
     of the ODUk_CTP. The Source part behaves similarily.
     This variable is meaningful only on objects
     instantiated under ODUk_CTP, and at least one among
     ODUk CTP and subordinate object has the Directionality
     equal to Bidirectional."
  ::= { optIfODUkTConfigEntry 3 }

optIfODUkTTraceIdentifierTransmitted OBJECT-TYPE
  SYNTAX  TxTI
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The trace identifier transmitted."
  ::= { optIfODUkTConfigEntry 4 }

optIfODUkTDAPIExpected OBJECT-TYPE
  SYNTAX  ExDAPI
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The DAPI expected by the receiver."
  ::= { optIfODUkTConfigEntry 5 }

optIfODUkTSAPIExpected OBJECT-TYPE
  SYNTAX  ExSAPI
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The SAPI expected by the receiver."
  ::= { optIfODUkTConfigEntry 6 }

optIfODUkTTraceIdentifierAccepted OBJECT-TYPE
  SYNTAX  AcTI
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "The actual trace identifier accepted."
  ::= { optIfODUkTConfigEntry 7 }

optIfODUkTTIMDetMode OBJECT-TYPE
  SYNTAX  TIMDetMode
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Indicates the mode of the Trace Identifier Mismatch (TIM)
     Detection function."
  ::= { optIfODUkTConfigEntry 8 }

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

optIfODUkTDEGThr OBJECT-TYPE
  SYNTAX  DEGThr
  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."
  ::= { optIfODUkTConfigEntry 10 }

optIfODUkTDEGM OBJECT-TYPE
  SYNTAX  DEGM
  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."
  ::= { optIfODUkTConfigEntry 11 }

optIfODUkTSinkMode OBJECT-TYPE
  SYNTAX  INTEGER  {
    transparent (1),
    operational (2),
    monitor (3)
    }
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
    "This variable specifies the TCM mode at the entity.
     Valid values are: Operational, Monitor, and Transparent.
"
  ::= { optIfODUkTConfigEntry 12 }

optIfODUkTSourceMode OBJECT-TYPE
  SYNTAX  INTEGER  {
    transparent (1),
    operational (2)
    }
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
    "This variable specifies the TCM mode at the entity.
     Valid values are: Operational, Transparent."
  ::= { optIfODUkTConfigEntry 13 }

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."
  ::= { optIfODUkTConfigEntry 14 }

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."
  ::= { optIfODUkTConfigEntry 15 }

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."
  ::= { optIfODUkTConfigEntry 16 }


-- groups

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


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

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

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

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

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

optIfOChConfigGroup OBJECT-GROUP
  OBJECTS  {
    optIfOChDirectionality,
    optIfOChCurrentStatus
    }
  STATUS  current
  DESCRIPTION
    "A collection of OCh configuration objects."
  ::= { optIfGroups 7 }

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

optIfOTUkConfigGroup OBJECT-GROUP
  OBJECTS  {
    optIfOTUkDirectionality,
    optIfOTUkBitRateK,
    optIfOTUkTraceIdentifierTransmitted,
    optIfOTUkDAPIExpected,
    optIfOTUkSAPIExpected,
    optIfOTUkTraceIdentifierAccepted,
    optIfOTUkTIMDetMode,
    optIfOTUkTIMActEnabled,
    optIfOTUkDEGThr,
    optIfOTUkDEGM,
    optIfOTUkSinkAdaptActive,
    optIfOTUkSourceAdaptActive,
    optIfOTUkSinkFECEnabled,
    optIfOTUkCurrentStatus
    }
  STATUS  current
  DESCRIPTION
    "A collection of OTUk configuration objects."
  ::= { optIfGroups 9 }

optIfODUkGroup OBJECT-GROUP
  OBJECTS  {
    optIfODUkDirectionality,
    optIfODUkBitRateK,
    optIfODUkTcmFieldInUse,
    optIfODUkPositionSeq,
    optIfODUkTraceIdentifierTransmitted,
    optIfODUkDAPIExpected,
    optIfODUkSAPIExpected,
    optIfODUkTraceIdentifierAccepted,
    optIfODUkTIMDetMode,
    optIfODUkTIMActEnabled,
    optIfODUkDEGThr,
    optIfODUkDEGM,
    optIfODUkCurrentStatus
    }
  STATUS  current
  DESCRIPTION
    "A collection of ODUk configuration objects."
  ::= { optIfGroups 10 }

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

-- compliance specifications

optIfMinCompl MODULE-COMPLIANCE
  STATUS  current
  DESCRIPTION
    "The minimal implementation requirements for this MIB module."
  MODULE
    MANDATORY-GROUPS  {
      optIfOTMnGroup,
      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  {
      optIfOTMnGroup,
      optIfPerfMonGroup,
      optIfOTSnConfigGroup,
      optIfOTSnPMGroup,
      optIfOMSnConfigGroup,
      optIfOMSnPMGroup,
      optIfOChConfigGroup,
      optIfOChPMGroup,
      optIfOTUkConfigGroup,
      optIfODUkTGroup,
      optIfODUkGroup
      }
  ::= { 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",
        (10/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",
        (10/2001).

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

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

[ITU G.7710/Y.1701] ITU Recommendation G.cemr, "Common Equipment Management
        Function Requirements", (10/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
   Address: 1728 Bowling Green Trail
            Raleigh, NC  27613
   Phone:   919.247.6991
   EMail:   mstewart1@nc.rr.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 May 21 2002                                           [Page xx]