-- *****************************************************************
-- INFINERA-TP-OTSPtp-MIB
-- October 2008, Sharfuddin Syed / Narendra Gupta
-- Copyright (c) 2008-2012 by Infinera Inc.
-- All rights reserved.
-- ****************************************************************

INFINERA-TP-OTSPtp-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE                FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP             FROM SNMPv2-CONF
    DisplayString                               FROM SNMPv2-TC
    ifIndex                                     FROM IF-MIB
    FloatTenths, InfnDcmType,InfnEqptType,
    InfnFiberType, InfnEnableDisable,
    InfnTimReptMode,InfnPmHistStatsControl                          FROM INFINERA-TC-MIB
    terminationPoint                            FROM INFINERA-REG-MIB;


otsPTPMIB MODULE-IDENTITY
    LAST-UPDATED  "200810200000Z"
    ORGANIZATION  "Infinera"
    CONTACT-INFO
        "Infinera
        1322 Bordeaux Drive
        Sunnyvale, CA - 94089

        Contact : Technical Support
        Email   : support@infinera.com
        Phone   : 1-877-INF-5288"
    DESCRIPTION " "
    REVISION    "200810200000Z"
    DESCRIPTION
        "First Version"
    ::= { terminationPoint 14 }

otsPTPTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OtsPTPEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of otsPTP entries. Each entry is uniquely identified by the value of ifIndex."
    ::= { otsPTPMIB 1 }

otsPTPEntry  OBJECT-TYPE
    SYNTAX      OtsPTPEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An otsPTP entry containing information pertaining to
        Infinera OTS PTP Interfaces. This table is a subclass of IfCommon.
        Entries will exist in this table only for interfaces of type OTS PTP.
        These objects are auto created when a BMM-C/OAM-C circuit pack object
        is created. They are deleted when BMM-C/OAM-C circuit pack object is deleted."
    INDEX { ifIndex }
    ::= { otsPTPTable 1 }


OtsPTPEntry  ::= SEQUENCE { 
    otsPTPDiscoveredNeighborTP          DisplayString,
    otsPTPProvisionedNeighborTP         DisplayString,
    otsPtpSupportedOpticalSpectrum      INTEGER,
    otsPtpOperationalOpticalSpectrum    INTEGER,  
    otsPtpExpectedSpanLossRange         INTEGER,
    otsPtpAlsPilotSignalState           INTEGER,
    otsPtpProvRxFiberType               InfnFiberType,
    otsPtpAssociatedPeerTxFiberType     InfnFiberType,
    otsPtpRxAssociatedSltePtp           DisplayString,
    otsPtpAssociatedSltePtp             DisplayString,
    otsPtpLinkType                      INTEGER,
    otsPtpRxAssociatedidlerPtp          DisplayString, 
    otsPtpTxAssociatedidlerPtp          DisplayString,
    otsPTPTxFiberType                   InfnFiberType,
    otsPTPRxFiberType                   InfnFiberType,
    otsPTPPmHistStatsEnable             InfnPmHistStatsControl,
    otsPTPRxAssociatedOtsptp            DisplayString,
    otsPTPTxAssociatedOtsptp            DisplayString,
    otsPTPSpanDistance                  FloatTenths,
    otsPTPInlineDcmType                 InfnDcmType,
    otsPTPPreSpanPad                    FloatTenths,
    otsPTPPostSpanPad                   FloatTenths,
    otsPTPTxEqptList                    DisplayString,
    otsPTPRxEqptList                    DisplayString,
    otsPTPTxAssociatedOtsEqptType       InfnEqptType,
    otsPTPRxAssociatedOtsEqptType       InfnEqptType,
    otsPTPAssociatedSltetp	            DisplayString,
    otsPtpRxFiberTypeOverride           INTEGER,
    otsptpOAMControl                    InfnEnableDisable,
    otsptpRemoteOAMStatus               InfnEnableDisable, 
    otsptpTransmitTTI                   DisplayString,
    otsptpRecievedTTI                   DisplayString,
    otsptpAmpType                       Integer32,
    otsPtpExpectedSAPI                  DisplayString,
    otsPtpExpectedDAPI                  DisplayString,
    otsPtpTimDetMode                    InfnTimReptMode,
    otsPTPFiberLabelTx                  DisplayString
  
}

otsPTPDiscoveredNeighborTP OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Name of the corresponding neighbor TP (on neighboring NE) to which this end is connected.
        It will be a zero length string if it is not connected. Once discovery happens, this value
        will be updated. When connection is lost (LOL), this will be a zero length string."
    ::= { otsPTPEntry  1 }


otsPTPProvisionedNeighborTP OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Name of the corresponding neighbor TP (on neighboring NE) to which this end is connected.
        This value is provisioned by the user. If this value is not provisioned (i.e. a zero-length string),
        the first time a link is discovered, the value defined in discoveredNeighborTP is assigned to this
        attribute and persisted."
    ::= { otsPTPEntry  2 }

otsPtpSupportedOpticalSpectrum  OBJECT-TYPE
    SYNTAX      INTEGER {
        cband(1),
        extendedcband(2)
    }

    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { otsPTPEntry 3 }

otsPtpOperationalOpticalSpectrum    OBJECT-TYPE
    SYNTAX      INTEGER
    {
        cband(1),
        extendedcband(2)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { otsPTPEntry 4 }

otsPtpExpectedSpanLossRange OBJECT-TYPE
    SYNTAX      INTEGER
    {
        under25dB(1),
        over25dB(2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { otsPTPEntry 5 }

otsPtpAlsPilotSignalState   OBJECT-TYPE
    SYNTAX      INTEGER
    {
        unknown(1),
        normal(2),
        nosignal(3),
        remoteRxFault(4),
        localRxFault(5)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { otsPTPEntry 6 }


otsPTPTxFiberType OBJECT-TYPE
    SYNTAX  InfnFiberType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The type of Tx fiber used for physical connectivity."
    DEFVAL      { smf }
    ::= { otsPTPEntry  7 }

otsPtpProvRxFiberType   OBJECT-TYPE
    SYNTAX      InfnFiberType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { otsPTPEntry 8 }

otsPTPRxFiberType OBJECT-TYPE
    SYNTAX  InfnFiberType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The type of Rx fiber. The launch power is determined based on
     the non linearities of the fiber type."
    DEFVAL      { unknown }
    ::= { otsPTPEntry  9 }

otsPtpAssociatedPeerTxFiberType OBJECT-TYPE
    SYNTAX      InfnFiberType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { otsPTPEntry 10 }

otsPTPPmHistStatsEnable OBJECT-TYPE
    SYNTAX  InfnPmHistStatsControl 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This flags control the historical PM. This can be enabled or disabled."
    DEFVAL      { enabled }
    ::= { otsPTPEntry  11 }

otsPtpLinkType  OBJECT-TYPE
    SYNTAX      INTEGER {
       linktype1(1),
       linktype2(2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { otsPTPEntry 12 }


otsPTPRxAssociatedOtsptp OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The associated OTS port for receive."
    ::= { otsPTPEntry  13 }


otsPTPTxAssociatedOtsptp OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The associated OTS port for transmit."
    ::= { otsPTPEntry  14 }

otsPTPTxAssociatedOtsEqptType OBJECT-TYPE
    SYNTAX      InfnEqptType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        " "
    ::= { otsPTPEntry  15 }


otsPTPRxAssociatedOtsEqptType  OBJECT-TYPE
    SYNTAX      InfnEqptType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        " "
    ::= { otsPTPEntry  16 }


otsPTPSpanDistance OBJECT-TYPE
    SYNTAX      FloatTenths
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Span distance configuration in kilometers."
    DEFVAL      { 0 }
    ::= { otsPTPEntry  17 }


otsPTPInlineDcmType OBJECT-TYPE
    SYNTAX  InfnDcmType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Inline DCM type configuration."
    DEFVAL      { unspecified }
    ::= { otsPTPEntry  18 }


otsPTPPreSpanPad OBJECT-TYPE
    SYNTAX      FloatTenths
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The pre-span pad value in dB to be deployed across the span."
    DEFVAL      { 0 }
    ::= { otsPTPEntry  19 }


otsPTPPostSpanPad OBJECT-TYPE
    SYNTAX      FloatTenths
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The post-span pad value in dB to be deployed across the span."
    DEFVAL      { 0 }
    ::= { otsPTPEntry  20 }

otsPTPAssociatedSltetp OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        " "
    ::= { otsPTPEntry  21 }

otsPtpRxAssociatedSltePtp   OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { otsPTPEntry 22 }

otsPtpAssociatedSltePtp OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { otsPTPEntry 23 }

otsPtpTxAssociatedidlerPtp OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { otsPTPEntry 24 }

otsPtpRxAssociatedidlerPtp OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { otsPTPEntry 25 }

otsPTPTxEqptList OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "This is a comma ',' separated ordered string for storing Transmit side PON Equipment inventory."
    ::= { otsPTPEntry  26 }

otsPTPRxEqptList OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "This is a comma ',' separated ordered string for storing Recieve side PON Equipment inventory."
    ::= { otsPTPEntry  27 }

otsPtpRxFiberTypeOverride OBJECT-TYPE
    SYNTAX      INTEGER {
        enable(1),
        disable(2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { otsPTPEntry 28 }

otsptpOAMControl        OBJECT-TYPE
    SYNTAX      InfnEnableDisable 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { otsPTPEntry 29 }

otsptpRemoteOAMStatus   OBJECT-TYPE
    SYNTAX      InfnEnableDisable 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { otsPTPEntry 30 }

otsptpTransmitTTI   OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { otsPTPEntry 31 }


otsptpRecievedTTI OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { otsPTPEntry   32}


otsptpAmpType   OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { otsPTPEntry 33 } 

otsPtpExpectedSAPI  OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { otsPTPEntry 34 }

otsPtpExpectedDAPI      OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { otsPTPEntry 35 }

otsPTPFiberLabelTx OBJECT-TYPE
    SYNTAX	DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        " "
    ::= { otsPTPEntry  37 }

otsPtpTimDetMode        OBJECT-TYPE
    SYNTAX      InfnTimReptMode
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { otsPTPEntry 36 }

-- Conformance Statements 
otsPTPConformance    OBJECT IDENTIFIER ::= { otsPTPMIB 3 } 
otsPTPCompliances    OBJECT IDENTIFIER ::= { otsPTPConformance 1 } 
otsPTPGroups         OBJECT IDENTIFIER ::= { otsPTPConformance 2 } 


otsPTPCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the otsPTP-MIB"
    MODULE
        MANDATORY-GROUPS { otsPTPGroup }
    ::= { otsPTPCompliances 1 }

otsPTPGroup OBJECT-GROUP
    OBJECTS {
        otsPTPDiscoveredNeighborTP,
        otsPTPProvisionedNeighborTP    ,
        otsPtpSupportedOpticalSpectrum     ,
        otsPtpOperationalOpticalSpectrum      ,
        otsPtpExpectedSpanLossRange          ,
        otsPtpAlsPilotSignalState             ,
        otsPtpProvRxFiberType                 ,
        otsPtpAssociatedPeerTxFiberType        ,
        otsPtpRxAssociatedSltePtp             ,
        otsPtpAssociatedSltePtp               ,
        otsPtpLinkType                        ,
        otsPtpRxAssociatedidlerPtp            ,
        otsPtpTxAssociatedidlerPtp            ,
        otsPTPTxFiberType                     ,
        otsPTPRxFiberType                     ,
        otsPTPPmHistStatsEnable               ,
        otsPTPRxAssociatedOtsptp              ,
        otsPTPTxAssociatedOtsptp              ,
        otsPTPSpanDistance                    ,
        otsPTPInlineDcmType                   ,
        otsPTPPreSpanPad                      ,
        otsPTPPostSpanPad                     ,
        otsPTPTxEqptList                      ,
        otsPTPRxEqptList                      ,
        otsPTPTxAssociatedOtsEqptType         ,
        otsPTPRxAssociatedOtsEqptType         ,
        otsPTPAssociatedSltetp	              ,
        otsPtpRxFiberTypeOverride,
        otsptpOAMControl,
        otsptpRemoteOAMStatus,
        otsptpTransmitTTI,
        otsptpRecievedTTI,
        otsptpAmpType,
        otsPtpExpectedSAPI,
        otsPtpExpectedDAPI,
        otsPtpTimDetMode,
        otsPTPFiberLabelTx

       }
    STATUS current
    DESCRIPTION
        " A collection of objects for managing the otsPTP"
    ::= { otsPTPGroups 1 }
END
