ADVA-FSP3000ALM-MIB DEFINITIONS ::= BEGIN

-- ------------------------------------------------------------------ --
-- FSP3000ALM - MIB
-- ------------------------------------------------------------------ --

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    NOTIFICATION-TYPE,
    Integer32,
    Unsigned32,
    IpAddress,
    Counter64,
    enterprises
                                    FROM SNMPv2-SMI
    DateAndTime,
    RowStatus,
    TruthValue,
    DisplayString,
    TEXTUAL-CONVENTION
                                    FROM SNMPv2-TC
    SnmpAdminString
                                    FROM SNMP-FRAMEWORK-MIB
    TrapAlarmSeverity,
    TrapCounter,
    IdentityTranslation
                                    FROM ADVA-MIB;

fsp3000alm MODULE-IDENTITY
    LAST-UPDATED "202311100000Z"
    ORGANIZATION "Adtran Networks SE "

    CONTACT-INFO "
              Adtran Networks SE
              Fraunhoferstrasse 9a
              82152 Martinsried/Munich
              Germany

              Support Europe:
              Phone:  +49 89 89 0665 848
              Fax:    +49 89 89 0665 22848
              e-mail: support@adtran.com

              Support USA:
              Phone:  +1 201 995 0080
              Fax:    +1 201 995 0081
              e-mail: support-usa@adtran.com

              Support Asia:
              Phone:  +81 3 5408 5891
              Fax:    +81 3 5408 5899
              e-mail: support-asia@adtran.com
            "
    DESCRIPTION
      "Fiber monitoring system for fiber optical networks."

    REVISION      "202311100000Z"
    DESCRIPTION   "Version V6.1.1"

    REVISION      "202304190000Z"
    DESCRIPTION   "Version V5.6.1"

    REVISION      "202212100000Z"
    DESCRIPTION   "Version V5.5.1"

    REVISION      "202203040000Z"
    DESCRIPTION   "Version V5.2.1"

    REVISION      "202112020000Z"
    DESCRIPTION   "Version V5.1.1"

    REVISION      "202107200000Z"
    DESCRIPTION   "Version V4.5.1"

    REVISION      "202102100000Z"
    DESCRIPTION   "Version V4.1.3"

    REVISION      "202012140000Z"
    DESCRIPTION   "Version V4.1.2"

    REVISION      "202011100000Z"
    DESCRIPTION   "Version V4.1.1"

    REVISION      "202006010000Z"
    DESCRIPTION   "Version V3.4.1"

    REVISION      "201912010000Z"
    DESCRIPTION   "Version V3.3.1"

    REVISION      "201907030000Z"
    DESCRIPTION   "Version V3.2.1"

    REVISION      "201811260000Z"
    DESCRIPTION   "Version V3.1.1"

    REVISION      "201807090000Z"
    DESCRIPTION   "Version V2.3.2"

    REVISION      "201805240000Z"
    DESCRIPTION   "Version V2.3.1"

    REVISION      "201711070000Z"
    DESCRIPTION   "Version V2.2.1"

    REVISION      "201703210000Z"
    DESCRIPTION   "Version V2.1.2"

    REVISION      "201703080000Z"
    DESCRIPTION   "Version V2.1.1"

    REVISION      "201610040000Z"
    DESCRIPTION   "Version V1.5.1"
    ::= { products 14 }

advaMIB             OBJECT IDENTIFIER ::= { enterprises 2544 }
products            OBJECT IDENTIFIER ::= { advaMIB 1 }

-- ------------------------------------------------------------------ --
-- Textual Conventions
-- ------------------------------------------------------------------ --

Fsp3000almAlarmListType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        ""
    SYNTAX      INTEGER {
        alarmTempCPU(1),
        alarmTempBoard1(2),
        alarmTempBoard2Low(3),
        alarmTempBoard2High(4),
        alarmTempLaserLow(5),
        alarmTempLaserHigh(6),
        alarmMonNotRunning(7),
        alarmFpRunning(8),
        alarmFaRunning(9),
        alarmFpMissing(10),
        alarmThresCrossedFast(11),
        alarmThresCrossedMedium(12),
        alarmThresCrossedSlow(13),
        alarmLinkBudgetExceeded(14),
        alarmLinkBudgetNearlyExceeded(15),
        alarmManagementState(16),
        alarmDisabledState(17),
        stateChangedTrap(18),
        objectChangedTrap(19),
        trapsinkCreatedTrap(20),
        trapsinkDeletedTrap(21),
        transient15MinMeasCollected(22),
        transient1DayMeasCollected(23),
        transientFpStarted(24),
        transientFpCompleted(25),
        transientFpFailed(26),
        transientSwMgmtActionStarted(27),
        transientSwMgmtActionCompleted(28),
        transientSwMgmtActionFailed(29),
        transientDbMgmtActionStarted(30),
        transientDbMgmtActionCompleted(31),
        transientDbMgmtActionFailed(32),
        alarmNtpServerUnreachable(33),
        transientFpSaved(34),
        transientMonStarted(35),
        transientMonStopped(36),
        transientOtdrMeasurementStarted(37),
        transientOtdrMeasurementCompleted(38),
        transientOtdrMeasurementFailed(39),
        transientOtdrMeasurementSaved(40),
        transientFaStarted(41),
        transientFaCompleted(42),
        transientFaFailed(43),
        transientFaSaved(44),
        transientInternalError(45),
        alarmRebootRunning(46),
        alarmWarmupRunning(47),
        alarmBadSysStat(48),
        alarmWrongFWVersion(49),
        alarmMonProcNotRunning(50),
        transientFaDeleted(51),
        transientOtdrMeasurementDeleted(52),
        transientOtdrTraceMgmtActionStarted(53),
        transientOtdrTraceMgmtActionCompleted(54),
        transientOtdrTraceMgmtActionFailed(55),
        alarmAlmPackageMismatch(56),
        alarmEmailNotifyThresCrossedFast(57),
        alarmEmailNotifyThresCrossedMedium(58),
        alarmEmailNotifyThresCrossedSlow(59),
        alarmEmailNotifyLinkBudgetExceeded(60),
        alarmEmailNotifyLinkBudgetNearlyExceeded(61),
        authenticationNotification(62),
        authenticationNotificationSummary(63),
        monitorPointCreated(64),
        monitorPointDeleted(65),
        alarmLossDeviationHigh(66),
        alarmLossHigh(67),
        alarmRootLinkFault(68),
        transientResetMeansStarted(69),
        transientResetMeansCompleted(70),
        transientResetMeansFailed(71),
        alarmTrafficOutage(72),
        userAdded(73),
        userDeleted(74),
        customizedFpEventCreated(75),
        customizedFpEventDeleted(76),
        transientExportMgmtActionStarted(77),
        transientExportMgmtActionCompleted(78),
        transientExportMgmtActionFailed(79),
        alarmSensor1High(80),
        alarmSensor2High(81),
        alarmEmailNotifyRootLinkFault(82),
        transientTimeChange(83),
        alarmTopologyChanged(84),
        alarmEmailNotifyLossDeviationHigh(85),
        alarmEmailNotifyLossHigh(86),
        alarmEmailNotifySensor1High(87),
        alarmEmailNotifySensor2High(88),
        alarmEmulationMode(89),
        transientFiberIdentifierStarted(90),
        transientFiberIdentifierCompleted(91),
        transientFiberIdentifierFailed(92),
        transientPkiCertRequestStarted(93),
        transientPkiCertRequestCompleted(94),
        transientPkiCertRequestFailed(95),
        alarmCertExceeded(96),
        alarmCertNearlyExceeded(97),
        transientLinkChanged(98),
        alarmAddDropLinkLossHigh(99),
        alarmAddDropLinkLossDev(100),
        alarmEmailNotifyAddDropLinkLossHigh(101),
        alarmEmailNotifyAddDropLinkLossDev(102),
        segmentCreated(103),
        segmentDeleted(104),
        alarmEquipmentRemoved(105),
        alarmEquipmentFault (106),
        alarmAttenuationHigh (107),
        internalExtensionChannelCreated( 108),
        internalExtensionChannelDeleted(109),
        portExtenderCreated (110),
        portExtenderDeleted (111)
    }

-- ------------------------------------------------------------------ --
-- FSP3000ALM OIDs
-- ------------------------------------------------------------------ --

trap                  OBJECT IDENTIFIER ::= { fsp3000alm 0 }

alarm                 OBJECT IDENTIFIER ::= { fsp3000alm 1 }

device                OBJECT IDENTIFIER ::= { fsp3000alm 2 }

measurement           OBJECT IDENTIFIER ::= { fsp3000alm 3 }

eventLogs             OBJECT IDENTIFIER ::= { fsp3000alm 4 }

system                OBJECT IDENTIFIER ::= { fsp3000alm 5 }

maintain              OBJECT IDENTIFIER ::= { fsp3000alm 6 }

otdrTraceMgmt         OBJECT IDENTIFIER ::= { fsp3000alm 7 }

inventory             OBJECT IDENTIFIER ::= { fsp3000alm 8 }


-- ------------------------------------------------------------------ --
-- trap - trap definitions
-- ------------------------------------------------------------------ --

alarmTempCPU NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  aidString,
                  alarmSeverity }
    STATUS      current
    DESCRIPTION
        "This trap is sent if tempCPU value crossed tresholdMaxTempCPU threshold."
::= { trap 1 }

alarmTempBoard1 NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  aidString,
                  alarmSeverity }
    STATUS      current
    DESCRIPTION
        "This trap is sent if tempBoard1 (CPU board) value crossed tresholdMaxTempBoard1 threshold.
       Not used on 16ALM-1650D."
::= { trap 2 }

alarmTempBoard2Low NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  aidString,
                  alarmSeverity }
    STATUS      current
    DESCRIPTION
        "This trap is sent if tempBoard2 (laser board) value crossed tresholdMinTempBoard2 threshold."
::= { trap 3 }

alarmTempBoard2High NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  aidString,
                  alarmSeverity }
    STATUS      current
    DESCRIPTION
        "This trap is sent if tempBoard2 (laser board) value crossed tresholdMaxTempBoard2 threshold."
::= { trap 4 }

alarmTempLaserLow NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  aidString,
                  alarmSeverity }
    STATUS      current
    DESCRIPTION
        "This trap is sent if tempLaser value crossed tresholdMinTempLaser threshold.
        Not used on 16ALM-1650D."
::= { trap 5 }

alarmTempLaserHigh NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  aidString,
                  alarmSeverity }
    STATUS      current
    DESCRIPTION
        "This trap is sent if tempLaser value crossed tresholdMaxTempLaser threshold.
        Not used on 16ALM-1650D."
::= { trap 6 }

alarmMonNotRunning NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName,
                  alarmSeverity }
    STATUS      current
    DESCRIPTION
        "This trap is related with enabling/disabling monitoring function by user.
        The relevant alarm in alarmTable refering to this trap will be set/cleared."
::= { trap 7 }

alarmFpRunning NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName,
                  alarmSeverity }
    STATUS      current
    DESCRIPTION
        "This trap is related with initiating/finishing fingerprint calculation.
        The relevant alarm in alarmTable refering to this trap will be set/cleared.
        Not used on 16ALM-1650D."
::= { trap 8 }

alarmFaRunning NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName,
                  alarmSeverity }
    STATUS      current
    DESCRIPTION
        "This trap is related with initiating/finishing fault analysis.
        The relevant alarm in alarmTable refering to this trap will be set/cleared."
::= { trap 9 }

alarmFpMissing NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName,
                  alarmSeverity }
    STATUS      current
    DESCRIPTION
        "This trap is related with situation when fingerprint was not calculated for
        a port. The relevant alarm in alarmTable refering to this trap will be set/cleared."
::= { trap 10 }

alarmThresCrossedFast NOTIFICATION-TYPE
      OBJECTS     { eventLogTimeStamp,
                    portAidString,
                    portName,
                    alarmSeverity }
        STATUS  current
        DESCRIPTION
      "This trap is sent if the absolute value of measurementLossDevFast exceeded
       portThresDeviationFast threshold."
::= { trap 11 }

alarmThresCrossedMedium NOTIFICATION-TYPE
      OBJECTS     { eventLogTimeStamp,
                    portAidString,
                    portName,
                    alarmSeverity }
        STATUS  current
        DESCRIPTION
      "This trap is sent if the absolute value of measurementLossDevMedium exceeded
       portThresDeviationMedium threshold.
       This alarm is not supported any longer and thus it will never be raised."
::= { trap 12 }

alarmThresCrossedSlow NOTIFICATION-TYPE
      OBJECTS     { eventLogTimeStamp,
                    portAidString,
                    portName,
                    alarmSeverity }
        STATUS  current
        DESCRIPTION
      "This trap is sent if the absolute value of measurementLossDevSlow exceeded
       portThresDeviationSlow threshold.
       This alarm is not supported any longer and thus it will never be raised."
::= { trap 13 }

alarmLinkBudgetExceeded NOTIFICATION-TYPE
      OBJECTS     { eventLogTimeStamp,
                    portAidString,
                    portName,
                    alarmSeverity }
        STATUS  current
        DESCRIPTION
      "This trap is sent if measurementLossLinkLoss value exceeded portThresBudget threshold."
::= { trap 14 }

alarmLinkBudgetNearlyExceeded NOTIFICATION-TYPE
      OBJECTS     { eventLogTimeStamp,
                    portAidString,
                    portName,
                    alarmSeverity }
        STATUS  current
        DESCRIPTION
      "This trap is sent if measurementLossLinkLoss value exceeded portThresCloseToBudget threshold."
::= { trap 15 }

alarmManagementState NOTIFICATION-TYPE
      OBJECTS     { eventLogTimeStamp,
                    portAidString,
                    portName,
                    alarmSeverity }
        STATUS  current
        DESCRIPTION
        "This trap is sent each time when portAdminState is changed from/to mgt(4) value."
::= { trap 16 }

alarmDisabledState NOTIFICATION-TYPE
      OBJECTS     { eventLogTimeStamp,
                    portAidString,
                    portName,
                    alarmSeverity }
        STATUS  current
        DESCRIPTION
        "This trap is sent each time when portAdminState is changed from/to dsbld(6) value."
::= { trap 17 }

stateChangedTrap NOTIFICATION-TYPE
      OBJECTS     { eventLogTimeStamp,
                    portAidString,
                    portName }
    STATUS      current
    DESCRIPTION   "This trap is sent when an entity state is changed (OperState or AdminState).
                   Additionally this trap will contain changed object: portOperState or portAdminState"
::= { trap 18 }

objectChangedTrap NOTIFICATION-TYPE
      OBJECTS     { eventLogTimeStamp}
    STATUS      current
    DESCRIPTION   "This trap is sent when an object such as alarm severity or threshold is changed
                   Additionally this trap will contain changed object, portAidString, aidString, if relevant"
::= { trap 19 }

trapsinkCreatedTrap NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  trapsinkAddress,
                  ipv6TrapsinkAddress,
                  dnsTrapsinkHostName }
    STATUS      current
    DESCRIPTION   "This trap is sent every time an new entry is added to the trapsinkTable or ipv6TrapsinkTable or dnsTrapsinkTable"
::= { trap 20 }

trapsinkDeletedTrap NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  trapsinkAddress,
                  ipv6TrapsinkAddress,
                  dnsTrapsinkHostName }
    STATUS      current
    DESCRIPTION   "This trap is sent every time an new entry is removed from the trapsinkTable or ipv6TrapsinkTable or dnsTrapsinkTable"
::= { trap 21 }

transient15MinMeasCollected NOTIFICATION-TYPE
    STATUS      current
    DESCRIPTION   "This trap is every time when all the measurement data for all the port are
                   collected for selected period"
::= { trap 22 }

transient1DayMeasCollected NOTIFICATION-TYPE
    STATUS      current
    DESCRIPTION   "This trap is every time when all the measurement data for all the port are
                   collected for selected period"
::= { trap 23 }

transientFpStarted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName }
    STATUS      current
    DESCRIPTION   "This trap is sent when fingerprint monitoring has started"
::= { trap 24 }

transientFpCompleted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName }
    STATUS      current
    DESCRIPTION   "This trap is sent when fingerprint monitoring has completed with success"
::= { trap 25 }

transientFpFailed NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName }
    STATUS      current
    DESCRIPTION   "This trap is sent when fingerprint monitoring has ended with failure"
::= { trap 26 }

transientSwMgmtActionStarted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  softwareMgmtRequest}
    STATUS      current
    DESCRIPTION   "This trap is sent when any action related with Software
                   Management is initiated. In case of file-transfer related
                   operations it will contain softwareMgmtFileName varbind."
::= { trap 27 }

transientSwMgmtActionCompleted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  softwareMgmtRequest}
    STATUS      current
    DESCRIPTION   "This trap is sent when any action related with Software
                   Management is successfully completed. In case of file-transfer
                   related operations it will contain softwareMgmtFileName
                   varbind."
::= { trap 28 }

transientSwMgmtActionFailed NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  softwareMgmtRequest,
                  softwareMgmtLastError}
    STATUS      current
    DESCRIPTION   "This trap is sent when any action related with Software
                   Management failed. In case of file-transfer related
                   operations it will contain softwareMgmtFileName
                   varbind."
::= { trap 29 }

transientDbMgmtActionStarted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  databaseMgmtRequest}
    STATUS      current
    DESCRIPTION   "This trap is sent when any action related with Database
                   Management is initiated. In case of file-transfer related
                   operations it will contain additionally databaseMgmtFileName
                   varbind."
::= { trap 30 }

transientDbMgmtActionCompleted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  databaseMgmtRequest}
    STATUS      current
    DESCRIPTION   "This trap is sent when any action related with Database
                   Management is successfully completed. In case of file-transfer
                   related operations it will contain additionally
                   databaseMgmtFileName varbind."
::= { trap 31 }

transientDbMgmtActionFailed NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  databaseMgmtRequest,
                  databaseMgmtLastError}
    STATUS      current
    DESCRIPTION   "This trap is sent when any action related with Database
                   Management failed. In case of file-transfer related
                   operations it will contain additionally
                   databaseMgmtFileName varbind."
::= { trap 32 }

alarmNtpServerUnreachable NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  aidString,
                  alarmSeverity,
                  ntpServerName,
                  ntpServerName2,
                  ntpServerName3}
    STATUS      current
    DESCRIPTION   "Trap to be sent when NTP servers are unreachable."
::= { trap 33 }

transientFpSaved NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName }
    STATUS      current
    DESCRIPTION   "This trap is sent when a completed fingerprint measurement is saved as current fingerprint."
::= { trap 34 }

transientMonStarted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName }
    STATUS      current
    DESCRIPTION   "This trap is sent when monitoring of the particular port was enabled."
::= { trap 35 }

transientMonStopped NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName }
    STATUS      current
    DESCRIPTION   "This trap is sent when monitoring of the particular port was disabled."
::= { trap 36 }

transientOtdrMeasurementStarted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName }
    STATUS      current
    DESCRIPTION   "This trap is sent when manual OTDR measurement was intitiated."
::= { trap 37 }

transientOtdrMeasurementCompleted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName }
    STATUS      current
    DESCRIPTION   "This trap is sent when manual OTDR measurement is completed."
::= { trap 38 }

transientOtdrMeasurementFailed NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName }
    STATUS      current
    DESCRIPTION   "This trap is sent when manual OTDR measurement failed."
::= { trap 39 }

transientOtdrMeasurementSaved NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName }
    STATUS      current
    DESCRIPTION   "This trap is sent when data of manual OTDR measurement was saved."
::= { trap 40 }

transientFaStarted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName }
    STATUS      current
    DESCRIPTION   "This trap is sent when fault analysis in initiated."
::= { trap 41 }

transientFaCompleted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName }
    STATUS      current
    DESCRIPTION   "This trap is sent when fault analysis is completed."
::= { trap 42 }

transientFaFailed NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName }
    STATUS      current
    DESCRIPTION   "This trap is sent when fault analysis is completed."
::= { trap 43 }

transientFaSaved NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName,
                  measurementFaFaultPos,
                  measurementFaCorrectedFaultPos,
                  measurementAutoFaFaultPos,
                  measurementAutoFaCorrectedFaultPos,
                  measurementFaFaultPosLatitude,
                  measurementFaFaultPosLongitude,
                  measurementAutoFaFaultPosLatitude,
                  measurementAutoFaFaultPosLongitude
                  }
    STATUS      current
    DESCRIPTION   "This trap is sent when the data of a completed fault analysis was saved. Which FaultPos objects are present is determined by the type
                   AutoFa or (manual)Fa , CorrectedFaultPos is only contained when it exists."
::= { trap 44 }

transientInternalError NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp }
    STATUS      current
    DESCRIPTION   "This trap is sent when some critical error happened which affects monitoring capabilities"
::= { trap 45 }

alarmRebootRunning NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  aidString,
                  alarmSeverity}
    STATUS      current
    DESCRIPTION   "This trap is to inform user that rebooting of system started"
::= { trap 46 }

alarmWarmupRunning NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  aidString,
                  alarmSeverity }
    STATUS      current
    DESCRIPTION   "This trap is sent when to inform a user about starting/finishing warming up process."
::= { trap 47 }

alarmBadSysStat NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  aidString,
                  alarmSeverity }
    STATUS      current
    DESCRIPTION   "This trap is sent when some critical error happened due to hardware failure."
::= { trap 48 }

alarmWrongFWVersion NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  aidString,
                  alarmSeverity }
    STATUS      current
    DESCRIPTION   "This trap is sent when alarm informing about the fact that firmware version is not up to date is raised/cleared.
                   Not used on 16ALM-1650D."
::= { trap 49 }

alarmMonProcNotRunning NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  aidString,
                  alarmSeverity }
    STATUS      current
    DESCRIPTION   "This trap is sent when some critical error happened which affects monitoring capabilities of the unit."
::= { trap 50 }

transientFaDeleted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName }
    STATUS      current
    DESCRIPTION   "This trap is sent when fault analysis was deleted."
::= { trap 51 }

transientOtdrMeasurementDeleted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName }
    STATUS      current
    DESCRIPTION   "This trap is sent when manual OTDR measurement was deleted."
::= { trap 52 }

transientOtdrTraceMgmtActionStarted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName,
                  otdrTraceMgmtRequest,
                  otdrTraceMgmtFileName }
    STATUS      current
    DESCRIPTION   "This trap is sent when any action related with OTDR Trace
                   Management is initiated."
::= { trap 53 }

transientOtdrTraceMgmtActionCompleted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName,
                  otdrTraceMgmtRequest,
                  otdrTraceMgmtFileName }
    STATUS      current
    DESCRIPTION   "This trap is sent when any action related with OTDR Trace
                   Management is successfully completed."
::= { trap 54 }

transientOtdrTraceMgmtActionFailed NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName,
                  otdrTraceMgmtRequest,
                  otdrTraceMgmtFileName,
                  otdrTraceMgmtLastError }
    STATUS      current
    DESCRIPTION   "This trap is sent when any action related with OTDR Trace
                   Management failed."
::= { trap 55 }

alarmAlmPackageMismatch NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  aidString,
                  alarmSeverity }
    STATUS      current
    DESCRIPTION   "This trap is sent when softwareVersion and
                   expectedSoftwareVersion values do not match and
                   expectedSoftwareVersion value is not empty and
                   operationMode is set to 'standalone'."
::= { trap 56 }

alarmEmailNotifyThresCrossedFast NOTIFICATION-TYPE
      OBJECTS     { eventLogTimeStamp,
                    portAidString,
                    portName,
                    alarmEmailNotifyExternalId,
                    alarmEmailNotifyId,
                    alarmEmailNotifySeverity,
                    alarmEmailNotifyTimeStamp,
                    alarmEmailNotifyState,
                    alarmEmailNotifyEvent,
                    alarmEmailNotifyEventTimeStamp,
                    alarmEmailNotifyFaultType,
                    alarmEmailNotifyFaultPosition,
                    alarmEmailNotifyFaultAnalysisReference,
                    alarmEmailNotifyCorrectedFaultPos,
                    alarmEmailNotifyFaultPosLatitude,
                    alarmEmailNotifyFaultPosLongitude }
      STATUS  current
      DESCRIPTION
      "This trap is sent if the absolute value of measurementLossDevFast exceeded
       portThresDeviationFast threshold and the corresponding automatic fault
       analysis measurement has been completed.
       alarmEmailNotifyCorrectedFaultPos is only contained when it exists."
::= { trap 57 }

alarmEmailNotifyThresCrossedMedium NOTIFICATION-TYPE
      OBJECTS     { eventLogTimeStamp,
                    portAidString,
                    portName,
                    alarmEmailNotifyExternalId,
                    alarmEmailNotifyId,
                    alarmEmailNotifySeverity,
                    alarmEmailNotifyTimeStamp,
                    alarmEmailNotifyState,
                    alarmEmailNotifyEvent,
                    alarmEmailNotifyEventTimeStamp,
                    alarmEmailNotifyFaultType,
                    alarmEmailNotifyFaultPosition,
                    alarmEmailNotifyFaultAnalysisReference,
                    alarmEmailNotifyCorrectedFaultPos,
                    alarmEmailNotifyFaultPosLatitude,
                    alarmEmailNotifyFaultPosLongitude }
      STATUS  current
      DESCRIPTION
      "This trap is sent if the absolute value of measurementLossDevMedium exceeded
       portThresDeviationMedium threshold and the corresponding automatic fault
       analysis measurement has been completed.
       alarmEmailNotifyCorrectedFaultPos is only contained when it exists.
       This alarm is not supported any longer and thus it will never be raised."
::= { trap 58 }

alarmEmailNotifyThresCrossedSlow NOTIFICATION-TYPE
      OBJECTS     { eventLogTimeStamp,
                    portAidString,
                    portName,
                    alarmEmailNotifyExternalId,
                    alarmEmailNotifyId,
                    alarmEmailNotifySeverity,
                    alarmEmailNotifyTimeStamp,
                    alarmEmailNotifyState,
                    alarmEmailNotifyEvent,
                    alarmEmailNotifyEventTimeStamp,
                    alarmEmailNotifyFaultType,
                    alarmEmailNotifyFaultPosition,
                    alarmEmailNotifyFaultAnalysisReference,
                    alarmEmailNotifyCorrectedFaultPos,
                    alarmEmailNotifyFaultPosLatitude,
                    alarmEmailNotifyFaultPosLongitude }
      STATUS  current
      DESCRIPTION
      "This trap is sent if the absolute value of measurementLossDevSlow exceeded
       portThresDeviationSlow threshold and the corresponding automatic fault
       analysis measurement has been completed.
       alarmEmailNotifyCorrectedFaultPos is only contained when it exists.
       This alarm is not supported any longer and thus it will never be raised."
::= { trap 59 }

alarmEmailNotifyLinkBudgetExceeded NOTIFICATION-TYPE
      OBJECTS     { eventLogTimeStamp,
                    portAidString,
                    portName,
                    alarmEmailNotifyExternalId,
                    alarmEmailNotifyId,
                    alarmEmailNotifySeverity,
                    alarmEmailNotifyTimeStamp,
                    alarmEmailNotifyState,
                    alarmEmailNotifyEvent,
                    alarmEmailNotifyEventTimeStamp,
                    alarmEmailNotifyFaultType,
                    alarmEmailNotifyFaultPosition,
                    alarmEmailNotifyFaultAnalysisReference,
                    alarmEmailNotifyCorrectedFaultPos,
                    alarmEmailNotifyFaultPosLatitude,
                    alarmEmailNotifyFaultPosLongitude }
      STATUS  current
      DESCRIPTION
      "This trap is sent if measurementLossLinkLoss value exceeded portThresBudget
       threshold and the corresponding automatic fault analysis measurement has
       been completed.
       alarmEmailNotifyCorrectedFaultPos is only contained when it exists."
::= { trap 60 }

alarmEmailNotifyLinkBudgetNearlyExceeded NOTIFICATION-TYPE
      OBJECTS     { eventLogTimeStamp,
                    portAidString,
                    portName,
                    alarmEmailNotifyExternalId,
                    alarmEmailNotifyId,
                    alarmEmailNotifySeverity,
                    alarmEmailNotifyTimeStamp,
                    alarmEmailNotifyState,
                    alarmEmailNotifyEvent,
                    alarmEmailNotifyEventTimeStamp,
                    alarmEmailNotifyFaultType,
                    alarmEmailNotifyFaultPosition,
                    alarmEmailNotifyFaultAnalysisReference,
                    alarmEmailNotifyCorrectedFaultPos,
                    alarmEmailNotifyFaultPosLatitude,
                    alarmEmailNotifyFaultPosLongitude }
      STATUS  current
      DESCRIPTION
      "This trap is sent if measurementLossLinkLoss value exceeded portThresCloseToBudget
       threshold and the corresponding automatic fault analysis measurement has
       been completed.
       alarmEmailNotifyCorrectedFaultPos is only contained when it exists."
::= { trap 61 }

authenticationNotification NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  authTrapLctIp,
                  authTrapStatus,
                  authTrapSessionId,
                  authTrapProtocol,
                  authTrapUserName,
                  authTrapLctIpv6 }
    STATUS      current
    DESCRIPTION   "This trap is sent when authentication event happens."
::= { trap 62 }

authenticationNotificationSummary NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  authTrapProtocol,
                  authTrapSuccessfulAuthCount,
                  authTrapUnsuccessfulAuthCount,
                  authTrapLogoutCount }
    STATUS      current
    DESCRIPTION   "This trap is sent when authentication event happens more often than 5 times within 10 seconds."
::= { trap 63 }

monitorPointCreated NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  monitorPointAidString,
                  monitorPointName }
    STATUS      current
    DESCRIPTION   "This trap is sent when Monitor Point was created"
::= { trap 64 }

monitorPointDeleted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  monitorPointAidString,
                  monitorPointName }
    STATUS      current
    DESCRIPTION   "This trap is sent when Monitor Point was deleted"
::= { trap 65 }

alarmLossDeviationHigh NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  monitorPointAidString,
                  monitorPointName,
                  monitorPointPos,
                  monitorPointExternalId,
                  alarmSeverity }
    STATUS      current
    DESCRIPTION   "This trap is sent if difference between monitorPointLossCurrentLoss and monitorPointLossFpLoss exceeded portMonitorThresDeviation."
::= { trap 66 }

alarmLossHigh NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  monitorPointAidString,
                  monitorPointName,
                  monitorPointPos,
                  monitorPointExternalId,
                  alarmSeverity }
    STATUS      current
    DESCRIPTION   "This trap is sent if monitorPointLossCurrentLoss value exceeded portMonitorThresLossBudget."
::= { trap 67 }

alarmRootLinkFault NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName,
                  alarmSeverity }
    STATUS      current
    DESCRIPTION   "PON: This trap is sent if alarmLossHigh or alarmLossDeviationHigh is present for all Monitor Points.
                   PES: This trap is sent if the Last Reflection changes.
                   ADL: This trap is sent if a FaultPosition is before at least one corresponding addDropPoint."
::= { trap 68 }

transientResetMeansStarted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName }
    STATUS      current
    DESCRIPTION   "This trap is sent when reset mean value action has started"
::= { trap 69 }

transientResetMeansCompleted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName }
    STATUS      current
    DESCRIPTION   "This trap is sent when reset mean value action has completed with success"
::= { trap 70 }

transientResetMeansFailed  NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName }
    STATUS      current
    DESCRIPTION   "This trap is sent when reset mean value action has ended with failure"
::= { trap 71 }

alarmTrafficOutage  NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName,
                  alarmSeverity }
    STATUS      current
    DESCRIPTION   "This trap is sent when DWDM traffic on the specific port was not detected any longer"
::= { trap 72 }

userAdded  NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  userManagementUsername }
    STATUS      current
    DESCRIPTION   "This trap is sent when user was added"
::= { trap 73 }

userDeleted  NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  userManagementUsername }
    STATUS      current
    DESCRIPTION   "This trap is sent when user was deleted"
::= { trap 74 }

customizedFpEventCreated  NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName,
                  customizedFpEventId,
                  customizedFpEventCorrectedPosition,
                  customizedFpEventRemark }
    STATUS      current
    DESCRIPTION   "This trap is sent when a customized Fingerprint Event was created"
::= { trap 75 }

customizedFpEventDeleted  NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName,
                  customizedFpEventId }
    STATUS      current
    DESCRIPTION   "This trap is sent when a customized Fingerprint Event was deleted"
::= { trap 76 }

transientExportMgmtActionStarted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  exportMgmtRequest}
    STATUS      current
    DESCRIPTION   "This trap is sent when any action related with Export
                   Management is initiated. In case of file-transfer related
                   operations it will contain additionally  exportMgmtFileName
                   varbind."
::= { trap 77 }

transientExportMgmtActionCompleted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  exportMgmtRequest}
    STATUS      current
    DESCRIPTION   "This trap is sent when any action related with Export
                   Management is successfully completed. In case of file-transfer
                   related operations it will contain additionally
                   exportMgmtFileName varbind."
::= { trap 78 }

transientExportMgmtActionFailed NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  exportMgmtRequest,
                  exportMgmtLastError}
    STATUS      current
    DESCRIPTION   "This trap is sent when any action related with Export
                   Management failed. In case of file-transfer related
                   operations it will contain additionally
                   exportMgmtFileName varbind."
::= { trap 79 }

alarmSensor1High NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  monitorPointAidString,
                  monitorPointName,
                  monitorPointPos,
                  monitorPointExternalId,
                  alarmSeverity }
    STATUS      current
    DESCRIPTION   "This trap is sent if difference between monitorPointLossCurrentLoss and monitorPointLossFpLoss exceeded  portSensor1Thres."
::= { trap 80 }

alarmSensor2High NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  monitorPointAidString,
                  monitorPointName,
                  monitorPointPos,
                  monitorPointExternalId,
                  alarmSeverity }
    STATUS      current
    DESCRIPTION   "This trap is sent if difference between monitorPointLossCurrentLoss and monitorPointLossFpLoss exceeded  portSensor2Thres."
::= { trap 81 }

alarmEmailNotifyRootLinkFault NOTIFICATION-TYPE
      OBJECTS     { eventLogTimeStamp,
                    portAidString,
                    portName,
                    alarmEmailNotifyExternalId,
                    alarmEmailNotifyId,
                    alarmEmailNotifySeverity,
                    alarmEmailNotifyTimeStamp,
                    alarmEmailNotifyState,
                    alarmEmailNotifyEvent,
                    alarmEmailNotifyEventTimeStamp,
                    alarmEmailNotifyFaultType,
                    alarmEmailNotifyFaultPosition,
                    alarmEmailNotifyFaultAnalysisReference,
                    alarmEmailNotifyCorrectedFaultPos,
                    alarmEmailNotifyFaultPosLatitude,
                    alarmEmailNotifyFaultPosLongitude }
      STATUS  current
      DESCRIPTION
      "This trap is sent if alarmRootLinkFault is set
       and the corresponding automatic fault analysis measurement has
       been completed.
       alarmEmailNotifyCorrectedFaultPos is only contained when it exists."
::= { trap 82 }

transientTimeChange NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  localDateAndTime,
                  ntpTimeChangeReason }
    STATUS  current
    DESCRIPTION
    "This trap is sent if a time step occured (manually or ntp)"
::= { trap 83 }

alarmTopologyChanged NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName,
                  alarmSeverity }
    STATUS  current
    DESCRIPTION
    "This trap is sent if the Link Topology has changed"
::= { trap 84 }

alarmEmailNotifyLossDeviationHigh NOTIFICATION-TYPE
      OBJECTS     { eventLogTimeStamp,
                    monitorPointAidString,
                    monitorPointName,
                    alarmEmailNotifyExternalId,
                    alarmEmailNotifyId,
                    alarmEmailNotifySeverity,
                    alarmEmailNotifyTimeStamp,
                    alarmEmailNotifyState,
                    alarmEmailNotifyEvent,
                    alarmEmailNotifyEventTimeStamp,
                    alarmEmailNotifyFaultType,
                    alarmEmailNotifyFaultPosition,
                    alarmEmailNotifyFaultAnalysisReference }
      STATUS  current
      DESCRIPTION
      "This trap is sent if difference between monitorPointLossCurrentLoss and
       monitorPointLossFpLoss exceeded portMonitorThresDeviation
       and the corresponding automatic fault analysis measurement has
       been completed."
::= { trap 85 }

alarmEmailNotifyLossHigh NOTIFICATION-TYPE
      OBJECTS     { eventLogTimeStamp,
                    monitorPointAidString,
                    monitorPointName,
                    alarmEmailNotifyExternalId,
                    alarmEmailNotifyId,
                    alarmEmailNotifySeverity,
                    alarmEmailNotifyTimeStamp,
                    alarmEmailNotifyState,
                    alarmEmailNotifyEvent,
                    alarmEmailNotifyEventTimeStamp,
                    alarmEmailNotifyFaultType,
                    alarmEmailNotifyFaultPosition,
                    alarmEmailNotifyFaultAnalysisReference }
      STATUS  current
      DESCRIPTION
      "This trap is sent if monitorPointLossCurrentLoss value exceeded
       portMonitorThresLossBudget and the corresponding automatic
       fault analysis measurement has been completed."
::= { trap 86 }

alarmEmailNotifySensor1High NOTIFICATION-TYPE
      OBJECTS     { eventLogTimeStamp,
                    monitorPointAidString,
                    monitorPointName,
                    alarmEmailNotifyExternalId,
                    alarmEmailNotifyId,
                    alarmEmailNotifySeverity,
                    alarmEmailNotifyTimeStamp,
                    alarmEmailNotifyState,
                    alarmEmailNotifyEvent,
                    alarmEmailNotifyEventTimeStamp,
                    alarmEmailNotifyFaultType,
                    alarmEmailNotifyFaultPosition,
                    alarmEmailNotifyFaultAnalysisReference }
      STATUS  current
      DESCRIPTION
      "This trap is sent if difference between monitorPointLossCurrentLoss and
       monitorPointLossFpLoss exceeded  portSensor1Thres and the
       corresponding automatic fault analysis measurement has been completed."
::= { trap 87 }

alarmEmailNotifySensor2High NOTIFICATION-TYPE
      OBJECTS     { eventLogTimeStamp,
                    monitorPointAidString,
                    monitorPointName,
                    alarmEmailNotifyExternalId,
                    alarmEmailNotifyId,
                    alarmEmailNotifySeverity,
                    alarmEmailNotifyTimeStamp,
                    alarmEmailNotifyState,
                    alarmEmailNotifyEvent,
                    alarmEmailNotifyEventTimeStamp,
                    alarmEmailNotifyFaultType,
                    alarmEmailNotifyFaultPosition,
                    alarmEmailNotifyFaultAnalysisReference }
      STATUS  current
      DESCRIPTION
      "This trap is sent if difference between monitorPointLossCurrentLoss and
       monitorPointLossFpLoss exceeded  portSensor2Thres and the
       corresponding automatic fault analysis measurement has been completed."
::= { trap 88 }

alarmEmulationMode NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  aidString,
                  alarmSeverity }
    STATUS      current
    DESCRIPTION   "This trap is sent when the unit is switched to emulationmode."
::= { trap 89 }

transientFiberIdentifierStarted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName }
    STATUS      current
    DESCRIPTION   "This trap is sent when Fiber Identification has started."
::= { trap 90 }

transientFiberIdentifierCompleted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName }
    STATUS      current
    DESCRIPTION   "This trap is sent when Fiber Identification has completed."
::= { trap 91 }

transientFiberIdentifierFailed NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName }
    STATUS      current
    DESCRIPTION   "This trap is sent when Fiber Identification has failed."
::= { trap 92 }

transientPkiCertRequestStarted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  caId,
                  certificateId,
                  keyId }
    STATUS      current
    DESCRIPTION   "This trap is sent when Pki Certificate Request has started."
::= { trap 93 }
transientPkiCertRequestCompleted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  caId,
                  certificateId,
                  keyId}
    STATUS      current
    DESCRIPTION   "This trap is sent when Pki Certificate Request has completed."
::= { trap 94 }
transientPkiCertRequestFailed NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  caId,
                  certificateId,
                  keyId,
                  keyCertRequestStatus}
    STATUS      current
    DESCRIPTION   "This trap is sent when Pki Certificate Request has failed."
::= { trap 95 }
alarmCertExceeded NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  certificateId }
    STATUS      current
    DESCRIPTION   "This trap is sent when a Certificate has exceeded its Validity Period."
::= { trap 96 }
alarmCertNearlyExceeded NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  certificateId }
    STATUS      current
    DESCRIPTION   "This trap is sent when a Certificate soon will exceed its Validity Period."
::= { trap 97 }
transientLinkChanged NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName,
                  linkLayoutEventId }
    STATUS      current
    DESCRIPTION   "This trap is sent when an Add-Drop Link Layout has changed."
::= { trap 98 }

alarmAddDropLinkLossHigh NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  monitorPointAidString,
                  monitorPointName,
                  monitorPointPos,
                  monitorPointExternalId,
                  alarmSeverity }
    STATUS      current
    DESCRIPTION
    "This trap is sent if difference between monitorPointLossCurrentLoss
    and monitorPointLossFpLoss exceeded portThresAddDropHigh."
::= { trap 99 }

alarmAddDropLinkLossDev NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  monitorPointAidString,
                  monitorPointName,
                  monitorPointPos,
                  monitorPointExternalId,
                  alarmSeverity }
    STATUS      current
    DESCRIPTION
    "This trap is sent if difference between monitorPointLossCurrentLoss
    and monitorPointLossFpLoss exceeded portThresAddDropDeviation."
::= { trap 100 }

alarmEmailNotifyAddDropLinkLossHigh NOTIFICATION-TYPE
      OBJECTS     { eventLogTimeStamp,
                    monitorPointAidString,
                    monitorPointName,
                    alarmEmailNotifyExternalId,
                    alarmEmailNotifyId,
                    alarmEmailNotifySeverity,
                    alarmEmailNotifyTimeStamp,
                    alarmEmailNotifyState,
                    alarmEmailNotifyEvent,
                    alarmEmailNotifyEventTimeStamp,
                    alarmEmailNotifyFaultType,
                    alarmEmailNotifyFaultPosition,
                    alarmEmailNotifyCorrectedFaultPos,
                    alarmEmailNotifyFaultAnalysisReference }
      STATUS  current
      DESCRIPTION
      "This trap is sent if difference between monitorPointLossCurrentLoss and
       monitorPointLossFpLoss exceeded portThresAddDropHigh and the
       corresponding automatic fault analysis measurement has been completed."
::= { trap 101 }

alarmEmailNotifyAddDropLinkLossDev NOTIFICATION-TYPE
      OBJECTS     { eventLogTimeStamp,
                    monitorPointAidString,
                    monitorPointName,
                    alarmEmailNotifyExternalId,
                    alarmEmailNotifyId,
                    alarmEmailNotifySeverity,
                    alarmEmailNotifyTimeStamp,
                    alarmEmailNotifyState,
                    alarmEmailNotifyEvent,
                    alarmEmailNotifyEventTimeStamp,
                    alarmEmailNotifyFaultType,
                    alarmEmailNotifyFaultPosition,
                    alarmEmailNotifyCorrectedFaultPos,
                    alarmEmailNotifyFaultAnalysisReference }
      STATUS  current
      DESCRIPTION
      "This trap is sent if difference between monitorPointLossCurrentLoss and
       monitorPointLossFpLoss exceeded portThresAddDropDeviation and the
       corresponding automatic fault analysis measurement has been completed."
::= { trap 102}

segmentCreated NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName,
                  segmentId,
                  segmentStartEventId,
                  segmentStopEventId,
                  segmentStartCorrection,
                  segmentStopCorrection,
                  segmentRemark}
    STATUS      current
    DESCRIPTION   "This trap is sent when a Segment was created."
::= { trap 103 }

segmentDeleted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName,
                  segmentId,
                  segmentStartEventId,
                  segmentStopEventId,
                  segmentStartCorrection,
                  segmentStopCorrection,
                  segmentRemark}
    STATUS      current
    DESCRIPTION   "This trap is sent when a  Segment was deleted."
::= { trap 104 }

alarmEquipmentRemoved NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp }
    STATUS  current
    DESCRIPTION
    "This trap is sent if the Equipment is not reachable"
::= { trap 105 }


alarmEquipmentFault NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  extShelfAidString,
                  extShelfName,
                  alarmSeverity }
    STATUS  current
    DESCRIPTION
    "This trap is sent if the Equipment is faulty"
::= { trap 106 }

alarmAttenuationHigh NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName,
                  alarmSeverity }
    STATUS  current
    DESCRIPTION
    "This trap is sent if the Optical Connection from this Port to its
    extender has a too high loss "
::= { trap 107 }

internalExtensionChannelCreated NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName,
                  entityPortAidString,
                  entityPortAidString,
                  entityPortAidString
                  }
    STATUS      current
    DESCRIPTION
    "This trap is sent when a internalExtensionChannel including the
    correspondig set of Ports was created, with first and last aidString."
::= { trap 108 }

internalExtensionChannelDeleted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  portAidString,
                  portName,
                  entityPortAidString,
                  entityPortAidString,
                  entityPortAidString
                  }
    STATUS      current
    DESCRIPTION
    "This trap is sent when a internalExtensionChannel including the
    correspondig set of Ports was deleted, with first and last aidString."
::= { trap 109 }

portExtenderCreated NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  extShelfAidString,
                  extShelfName,
                  extShelfType
                  }
    STATUS      current
    DESCRIPTION   "This trap is sent when a Portextender was created."
::= { trap 110 }

portExtenderDeleted NOTIFICATION-TYPE
    OBJECTS     { eventLogTimeStamp,
                  extShelfAidString,
                  extShelfName,
                  extShelfType
                  }
    STATUS      current
    DESCRIPTION   "This trap is sent when a Portextender was deleted."
::= { trap 111 }

-- ------------------------------------------------------------------ --
-- alarm - contains alarm severity profile
--         and table of active alarms
-- ------------------------------------------------------------------ --

alarmTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF AlarmEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
::= { alarm 1 }

alarmSeverityTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF AlarmSeverityEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
::= { alarm 2 }

alarmEmailNotifyTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF AlarmEmailNotifyEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
::= { alarm 3 }

alarmDescriptionTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF AlarmDescriptionEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
::= { alarm 4 }

lossAlarmsMasking   OBJECT-TYPE
SYNTAX      INTEGER {
disabled (1),
enabled (2)
}
MAX-ACCESS  read-write
STATUS      current
DESCRIPTION
" 1 disable / 2 enable Alarmmasking LinkLoss>LinkLossNearly>Fast>Medium>Slow
  this attribute is deprecated, it can be set but it has no effect."
::=  {  alarm 5 }



-- ------------------------------------------------------------------ --
-- alarmTable
-- ------------------------------------------------------------------ --

alarmEntry OBJECT-TYPE
      SYNTAX        AlarmEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
      INDEX         { alarmSource, alarmType }
::= { alarmTable 1 }

AlarmEntry ::=
      SEQUENCE {
            alarmSource      Integer32,
            alarmType        Fsp3000almAlarmListType,
            alarmSeverity    TrapAlarmSeverity,
            alarmTimeStamp   DateAndTime
      }

alarmSource OBJECT-TYPE
    SYNTAX      Integer32 (0..899000)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "Equals portId of the concerned port if the alarm is
    port-specific. Zero otherwise."
    ::=  { alarmEntry 1 }

alarmType OBJECT-TYPE
    SYNTAX      Fsp3000almAlarmListType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "Type of alarm."
    ::=  { alarmEntry 2 }

alarmSeverity OBJECT-TYPE
    SYNTAX      TrapAlarmSeverity
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Value of severity."
    ::=  { alarmEntry 3 }

alarmTimeStamp OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Timestamp of alarm."
    ::=  { alarmEntry 4 }

-- ------------------------------------------------------------------ --
-- alarmSeverityTable
-- ------------------------------------------------------------------ --

alarmSeverityEntry OBJECT-TYPE
      SYNTAX        AlarmSeverityEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
      INDEX         { alarmSource, alarmSeverityType }
::= { alarmSeverityTable 1 }

AlarmSeverityEntry ::=
      SEQUENCE {
            alarmSeverityType        Fsp3000almAlarmListType,
            alarmSeverityValue       TrapAlarmSeverity
      }

alarmSeverityType OBJECT-TYPE
    SYNTAX      Fsp3000almAlarmListType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "Type of severity."
    ::=  { alarmSeverityEntry 2 }

alarmSeverityValue OBJECT-TYPE
    SYNTAX      TrapAlarmSeverity
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "Value of severity."
    ::=  { alarmSeverityEntry 3 }

-- ------------------------------------------------------------------ --
-- alarmEmailNotifyTable
-- ------------------------------------------------------------------ --

alarmEmailNotifyEntry OBJECT-TYPE
      SYNTAX        AlarmEmailNotifyEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
      INDEX         { alarmSource, alarmEmailNotifyType }
::= { alarmEmailNotifyTable 1 }

AlarmEmailNotifyEntry ::=
    SEQUENCE {
        alarmEmailNotifyType                    Fsp3000almAlarmListType,
        alarmEmailNotifyExternalId              DisplayString,
        alarmEmailNotifyId                      DisplayString,
        alarmEmailNotifySeverity                INTEGER,
        alarmEmailNotifyTimeStamp               DateAndTime,
        alarmEmailNotifyFaultPosition           DisplayString,
        alarmEmailNotifyFaultType               DisplayString,
        alarmEmailNotifyState                   DisplayString,
        alarmEmailNotifyEvent                   DisplayString,
        alarmEmailNotifyEventTimeStamp          DateAndTime,
        alarmEmailNotifyFaultAnalysisReference  Integer32,
        alarmEmailNotifyCorrectedFaultPos       DisplayString,
        alarmEmailNotifyFaultPosLatitude        DisplayString,
        alarmEmailNotifyFaultPosLongitude       DisplayString
    }

alarmEmailNotifyType OBJECT-TYPE
    SYNTAX      Fsp3000almAlarmListType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "Type of alarm."
    ::=  { alarmEmailNotifyEntry 1 }

alarmEmailNotifyExternalId OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..64))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "ExternalId of port."
    ::=  { alarmEmailNotifyEntry 2 }

alarmEmailNotifyId OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..16))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Id of alarm."
    ::=  { alarmEmailNotifyEntry 3 }

alarmEmailNotifySeverity OBJECT-TYPE
    SYNTAX      INTEGER { low(1), med(2), high(3), notReported(4) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Value of severity."
    ::=  { alarmEmailNotifyEntry 4 }

alarmEmailNotifyTimeStamp OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Timestamp of alarm creation."
    ::=  { alarmEmailNotifyEntry 5 }

alarmEmailNotifyFaultPosition OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..8))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Fault position in kilometers."
    ::=  { alarmEmailNotifyEntry 6 }

alarmEmailNotifyFaultType OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..64))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
    "Fault type of alarm."
    ::=  { alarmEmailNotifyEntry 7 }

alarmEmailNotifyState OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..64))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
    "State of alarm."
    ::=  { alarmEmailNotifyEntry 8 }

alarmEmailNotifyEvent OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..64))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
    "Alarm event."
    ::=  { alarmEmailNotifyEntry 9 }

alarmEmailNotifyEventTimeStamp OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
    "Timestamp of alarm event."
    ::=  { alarmEmailNotifyEntry 10 }

alarmEmailNotifyFaultAnalysisReference OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Fault analysis reference number."
    ::=  { alarmEmailNotifyEntry 11 }

alarmEmailNotifyCorrectedFaultPos OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..8))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Fault analysis corrected position."
    ::=  { alarmEmailNotifyEntry 12 }

alarmEmailNotifyFaultPosLatitude OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..10))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "The latitude of the fault position in decimal degrees (-90 to 90 degree)."
    ::=  { alarmEmailNotifyEntry 13 }

alarmEmailNotifyFaultPosLongitude OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..10))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "The longitude of the fault position in decimal degrees (-180 to 180 degree)."
    ::=  { alarmEmailNotifyEntry 14 }

-- ------------------------------------------------------------------ --
-- alarmDescriptionTable
-- ------------------------------------------------------------------ --

alarmDescriptionEntry OBJECT-TYPE
    SYNTAX          AlarmDescriptionEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
    ""
    INDEX           { alarmType }
::= { alarmDescriptionTable 1 }

AlarmDescriptionEntry ::=
    SEQUENCE {
        alarmDescriptionName    DisplayString
    }

alarmDescriptionName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Name of alarm."
    ::=  { alarmDescriptionEntry 2 }


-- ------------------------------------------------------------------ --
-- almDevice
-- ------------------------------------------------------------------ --

shelf                 OBJECT IDENTIFIER ::= { device 1 }

-- ------------------------------------------------------------------ --
-- shelf
-- ------------------------------------------------------------------ --

shelfUnitName OBJECT-TYPE
      SYNTAX        SnmpAdminString
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Official Equipment Name"
::= { shelf 1 }

firmwarePackageRev OBJECT-TYPE
      SYNTAX        SnmpAdminString
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Firmware Package Revision Number"
::= { shelf 2 }

hardwareRev OBJECT-TYPE
      SYNTAX        SnmpAdminString
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Equipment Revision Number"
::= { shelf 3 }

fpgaRev OBJECT-TYPE
      SYNTAX        SnmpAdminString
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "The active FPGA version on the device"
::= { shelf 4 }

serialNumber OBJECT-TYPE
      SYNTAX        SnmpAdminString
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Equipment Serial Number"
::= { shelf 5 }

partNumber OBJECT-TYPE
      SYNTAX        SnmpAdminString
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Part Number"
::= { shelf 6 }

cleiCode OBJECT-TYPE
      SYNTAX        SnmpAdminString
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Common Language Equipment Identifier"
::= { shelf 7 }

vendorId OBJECT-TYPE
      SYNTAX        SnmpAdminString
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "OEM Vendor Code"
::= { shelf 8 }

inventoryType OBJECT-TYPE
      SYNTAX        SnmpAdminString
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Type of the physical entity"
::= { shelf 9 }

universalSerialIdent OBJECT-TYPE
      SYNTAX        SnmpAdminString
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Universal Serial Identifier"
::= { shelf 10 }

tempCPU OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 C"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Current CPU temperature (in 0.1 degree Celsius)."
::= { shelf 11 }

thresholdMaxTempCPU OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 C"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Upper threshold for CPU temperature. If tempCPU is higher
      than threshold, the system will send a trap."
::= { shelf 12 }

tempBoard1 OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 C"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Current temperature of the management board (in 0.1 degree Celsius).
       Not available on 16ALM-1650D."
::= { shelf 13 }

thresholdMaxTempBoard1 OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 C"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Upper threshold for board temperature. If tempBoard is higher
      than threshold, the system will send a trap.
      Not available on 16ALM-1650D."
::= { shelf 14 }

tempBoard2 OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 C"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      ""
::= { shelf 15 }

thresholdMinTempBoard2 OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 C"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      ""
::= { shelf 16 }

thresholdMaxTempBoard2 OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 C"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      ""
::= { shelf 17 }

tempLaser OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 C"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Not available on 16ALM-1650D."
::= { shelf 18 }

thresholdMinTempLaser OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 C"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Not available on 16ALM-1650D."
::= { shelf 19 }

thresholdMaxTempLaser OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 C"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Not available on 16ALM-1650D."
::= { shelf 20 }

aidString OBJECT-TYPE
      SYNTAX        OCTET STRING (SIZE(0..16))
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Name of the device"
::= { shelf 21 }

shelfName OBJECT-TYPE
      SYNTAX        DisplayString (SIZE(0..64))
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
      "Name of the device"
::= { shelf 22 }

-- ------------------------------------------------------------------ --
-- portTable
-- ------------------------------------------------------------------ --

portTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF PortEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      "Table of optical ports."
::= { device 2 }

portEntry OBJECT-TYPE
      SYNTAX        PortEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
      INDEX         { portId }
::= { portTable 1 }

PortEntry ::=
      SEQUENCE {
            portId                       Integer32,
            portAdminState               INTEGER,
            portOperState                INTEGER,
            portName                     DisplayString,
            portAidString                IdentityTranslation,
            portRemark                   DisplayString,
            portFingerprintMode          INTEGER,
            portPriority                 INTEGER,
            portGisConfigured            INTEGER,
            portConnectedInternalChannel IdentityTranslation,
            portPmData                   INTEGER
      }

portId OBJECT-TYPE
      SYNTAX        Integer32 (1..898)
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
::= { portEntry 1 }

portAdminState OBJECT-TYPE
      SYNTAX    INTEGER
                {
                  is(2),
                  mgt(4),
                  dsbld(6)
                }
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
      "Administrative State of the port. Setting to mgt disables the service.
      It is, however, manadatory to set state to mgt to perform other measurement affecting
      actions (e.g. changing thresholds values)."
::= { portEntry 2 }

portOperState OBJECT-TYPE
      SYNTAX    INTEGER
                {
                  undefined(0),
                  nr(1),
                  anr(2),
                  out(3),
                  un(4)
                }
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Operational State of the port. The value of the port is set to anr if
       the at least one of the following alarms are set on this port:
       alarmMonNotRunning, alarmFpMissing."
::= { portEntry 3 }

portName OBJECT-TYPE
      SYNTAX        DisplayString (SIZE(0..128))
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
      "Name of the link."
::= { portEntry 4 }

portAidString OBJECT-TYPE
      SYNTAX        IdentityTranslation
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      ""
::= { portEntry 5 }

portRemark OBJECT-TYPE
      SYNTAX        DisplayString (SIZE(0..255))
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
      "Port remark."
::= { portEntry 6 }

portFingerprintMode OBJECT-TYPE
      SYNTAX    INTEGER
                {
                  none(0),
                  pointToPointWithRefl(1),
                  pointToPointWithoutRefl(2),
                  pon(3),
                  pes(4),
                  adl(5)
                }
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Type of the current Fingerprint."
::= { portEntry 7 }

portPriority OBJECT-TYPE
      SYNTAX    INTEGER
                {
                  normal(1),
                  high(2)
                }
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
      "Priority of the Port."
::= { portEntry 8 }

portGisConfigured OBJECT-TYPE
      SYNTAX    INTEGER
                {
                  no(1),
                  yes(2)
                }
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
     "This variable is set to 'yes' when a route is configured in the
     internal ALM GIS for this port. Can be set to 'no' to delete the route"
::= { portEntry 9 }

portConnectedInternalChannel OBJECT-TYPE
      SYNTAX        IdentityTranslation
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
      "Current mapping, i.e. internal optical port on Port Extender,
       which the port is connected to, 'empty' if none"
::= { portEntry 10 }

portPmData OBJECT-TYPE
      SYNTAX    INTEGER
                {
                  disabled(1),
                  enabled(2)
                }
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
     "This value needs to be set to 2 to enable perfomance monitor data collection,
      there is a maximum amount of ports, which can be selected."
::= { portEntry 11 }

-- ------------------------------------------------------------------ --
-- monitoringItems
-- ------------------------------------------------------------------ --

monitoringItems            OBJECT IDENTIFIER ::= { device 3 }

-- ------------------------------------------------------------------ --
-- feederLengthTable
-- ------------------------------------------------------------------ --

feederLengthTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF FeederLengthEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   ""
    ::=  { monitoringItems 1 }


feederLengthEntry OBJECT-TYPE
    SYNTAX      FeederLengthEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   ""
    INDEX       { portId }
    ::=  { feederLengthTable 1 }

FeederLengthEntry ::=
    SEQUENCE {
        feederLength            Integer32
    }

feederLength OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 m"
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
      "Distance in decimeter up to the splitter."
::= { feederLengthEntry 1 }

-- ------------------------------------------------------------------ --
-- monitorPointTable
-- ------------------------------------------------------------------ --

monitorPointTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF MonitorPointEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      "Table of optical ports."
::= { monitoringItems 2 }

monitorPointEntry OBJECT-TYPE
      SYNTAX        MonitorPointEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
      INDEX         { portId, mpId }
::= { monitorPointTable 1 }

MonitorPointEntry ::=
      SEQUENCE {
            mpId                    Integer32,
            monitorPointPos         Integer32,
            monitorPointState       Integer32,
            monitorPointName        DisplayString,
            monitorPointAidString   IdentityTranslation,
            monitorPointRemark      DisplayString,
            monitorPointExternalId  DisplayString
      }

mpId OBJECT-TYPE
      SYNTAX        Integer32 (1..128)
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
::= { monitorPointEntry 1 }

monitorPointPos OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 m"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Position of the Monitor Point in decimeter."
::= { monitorPointEntry 2 }

monitorPointState OBJECT-TYPE
      SYNTAX        INTEGER {
          inactive (0),--monitor point is not active
          active (1) --monitor point is active
      }
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
      "This variable is set to '1' when this Monitor Point
      is active. If this Monitor Point is inactive this variable
      is set to '0'."
::= { monitorPointEntry 3 }

monitorPointName OBJECT-TYPE
      SYNTAX        DisplayString (SIZE(0..64))
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
      "Name of the Monitor Point."
::= { monitorPointEntry 4 }

monitorPointAidString OBJECT-TYPE
      SYNTAX        IdentityTranslation
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      ""
::= { monitorPointEntry 5 }

monitorPointRemark OBJECT-TYPE
      SYNTAX        DisplayString (SIZE(0..255))
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
      "Remark of the Monitor Point."
::= { monitorPointEntry 6 }

monitorPointExternalId OBJECT-TYPE
     SYNTAX        DisplayString (SIZE(0..64))
     MAX-ACCESS    read-write
     STATUS        current
     DESCRIPTION
     "The externalId of the Monitor Point."
::= { monitorPointEntry 7 }


-- ------------------------------------------------------------------ --
-- extShelfTable
-- ------------------------------------------------------------------ --

extShelfTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF ExtShelfEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      "Table of external Shelves aka Port Extenders."
::= { device 4 }

extShelfEntry OBJECT-TYPE
      SYNTAX        ExtShelfEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
      INDEX         { extShelfNo }
::= { extShelfTable 1 }

ExtShelfEntry ::=
      SEQUENCE {
            extShelfNo                   Integer32,
            extShelfRowStatus            RowStatus,
            extShelfType                 SnmpAdminString,
            extShelfAidString            IdentityTranslation,
            extShelfInternalId           Integer32,
            extShelfNrInternalPorts      Integer32,
            extShelfNrMonitorPorts       Integer32,
            extShelfName                 DisplayString,
            extShelfRemark               DisplayString
      }

extShelfNo OBJECT-TYPE
      SYNTAX        Integer32 (1..8)
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      "Number of external shelf"
::= { extShelfEntry 1 }

extShelfRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The status of this conceptual row. To create a row in this
        table, set this object to createAndGo(4). To remove a row,
        set this object to destroy(6)."
    ::= { extShelfEntry 2 }

extShelfType OBJECT-TYPE
      SYNTAX        SnmpAdminString
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
      "Type of the external shelf, i.e. ALM-EXT-16MPO24-8LA
       or ALM-EXT-96LA-2LA"
::= { extShelfEntry 3 }

extShelfAidString OBJECT-TYPE
      SYNTAX        IdentityTranslation
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "AID: SHEXT-1 .. SHEXT-8"
::= { extShelfEntry 4 }

extShelfInternalId OBJECT-TYPE
      SYNTAX        Integer32 (91..98)
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "91, ..., 98 the internal ID used for the alarm table"
::= { extShelfEntry 5 }

extShelfNrInternalPorts OBJECT-TYPE
      SYNTAX        Integer32 (2|8)
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Number of internal optical ports"
::= { extShelfEntry 6 }

extShelfNrMonitorPorts OBJECT-TYPE
      SYNTAX        Integer32 (96|384)
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Number of Monitor Ports on the Port Extender"
::= { extShelfEntry 7 }

extShelfName OBJECT-TYPE
      SYNTAX        DisplayString (SIZE(0..64))
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
      "Name of the Port Extender"
::= { extShelfEntry 8 }

extShelfRemark OBJECT-TYPE
      SYNTAX        DisplayString (SIZE(0..255))
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
      "Remark of the Port Extender"
::= { extShelfEntry 9 }



-- ------------------------------------------------------------------ --
-- entityPortTable
-- ------------------------------------------------------------------ --

entityPortTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF EntityPortEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      "Table of Monitor Ports"
::= { device 5 }

entityPortEntry OBJECT-TYPE
      SYNTAX        EntityPortEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
      INDEX         {  inventoryShelfNo ,entityPortInternalNo,entityPortPortNo }
::= { entityPortTable 1 }

EntityPortEntry ::=
      SEQUENCE {
            entityPortInternalNo        Integer32,
            entityPortPortNo            Integer32,
            entityPortAidString         IdentityTranslation,
            entityPortPortId            Integer32
      }

entityPortInternalNo OBJECT-TYPE
      SYNTAX        Integer32 (0|65..72)
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      "Number of the internal optical port, A .. H as
       ASCII decimal code 65, .., 72; 0 for the Monitor
       Ports on the ALM itself"
::= { entityPortEntry 1 }

entityPortPortNo OBJECT-TYPE
      SYNTAX        Integer32 (0..64)
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      "Number of Monitor Port, 1 .. 16 on 16ALM, 1 .. 64
       on 64ALM, 1 .. 48 on Port Extenders"
::= { entityPortEntry 2 }

entityPortAidString OBJECT-TYPE
      SYNTAX        IdentityTranslation
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "AID: MCH-1-x for Monitor Ports on the ALM,
       MCH-Ex-X-y for Monitor Ports on Port Extenders,
       ICH-Ex-X for internal optical ports on Port Extenders"
::= { entityPortEntry 3 }

entityPortPortId OBJECT-TYPE
      SYNTAX        Integer32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Internal port ID: 1 .. 16|64 for Monitor Ports on ALM itself
       100, 150, 200, ... for internal optical ports on Port Extender
       101, ..., 148, 151, ..., 198, ........, 851, ..., 898 for Monitor
       Ports on Port Extender"
::= { entityPortEntry 4 }

-- ------------------------------------------------------------------ --
-- measurement
-- ------------------------------------------------------------------ --

measurementLossTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF MeasurementLossEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
::= { measurement 1 }

histMeasLoss15MinTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HistMeasLoss15MinEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   ""
::=  { measurement 4 }

histMeasLoss1DayTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HistMeasLoss1DayEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   ""
::=  { measurement 5 }

portThresTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF PortThresEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
::= { measurement 6 }

portPeriodLossDevTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF PortPeriodLossDevEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
::= { measurement 7 }

measurementFpTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF MeasurementFpEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
::= { measurement 8 }

measurementFaTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF MeasurementFaEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
::= { measurement 9 }

measurementOtdrTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF MeasurementOtdrEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
::= { measurement 10 }

measurementAutoFaTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF MeasurementAutoFaEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
::= { measurement 11 }

monitorPointLossTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF MonitorPointLossEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
::= { measurement 12 }

histMonitorPointLoss15MinTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HistMonitorPointLoss15MinEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   ""
::=  { measurement 13 }

histMonitorPointLoss1DayTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HistMonitorPointLoss1DayEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   ""
::=  { measurement 14 }

measurementFpEventTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MeasurementFpEventEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   ""
::=  { measurement 15 }

customizedFpEventTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CustomizedFpEventEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   ""
::=  { measurement 16 }

mergedFpEventTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MergedFpEventEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   ""
::=  { measurement 17 }

linkLayoutEventTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF LinkLayoutEventEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   ""
::=  { measurement 18 }

segmentTable OBJECT-TYPE
SYNTAX      SEQUENCE OF SegmentEntry
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION   ""
::=  { measurement 19 }

histSegmentTable OBJECT-TYPE
SYNTAX      SEQUENCE OF HistSegmentEntry
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION   ""
::=  { measurement 20 }

internalChannelLossTable OBJECT-TYPE
SYNTAX      SEQUENCE OF InternalChannelLossEntry
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION   ""
::=  { measurement 21 }

-- ------------------------------------------------------------------ --
-- measurementLossTable
-- ------------------------------------------------------------------ --

measurementLossEntry OBJECT-TYPE
      SYNTAX        MeasurementLossEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
      INDEX         { portId, measurementLossIndex }
::= { measurementLossTable 1 }

MeasurementLossEntry ::=
    SEQUENCE {
        measurementLossIndex                Integer32,
        measurementLossLinkLoss             Integer32,
        measurementLossLinkFaultLoc         Integer32,
        measurementLossLinkFaultLocRes      Integer32,
        measurementLossDevFast              Integer32,
        measurementLossDevMedium            Integer32,
        measurementLossDevSlow              Integer32,
        measurementLossDataTimestamp        DateAndTime
    }

measurementLossIndex OBJECT-TYPE
      SYNTAX        Integer32(1..1)
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      ""
::= { measurementLossEntry 1 }

measurementLossLinkLoss OBJECT-TYPE
    SYNTAX        Integer32 (0..420)
    UNITS         "0.1 dB"
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Link loss at termination in tenth of dB."
::= { measurementLossEntry 2 }

measurementLossLinkFaultLoc OBJECT-TYPE
    SYNTAX        Integer32
    UNITS         "0.1 m"
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Fault location in decimetres. If there is no current
        Fault Position the value is -1"
::= { measurementLossEntry 3 }

measurementLossLinkFaultLocRes OBJECT-TYPE
    SYNTAX        Integer32
    UNITS         "0.1 m"
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Resolution of the fault location measurement in decimetres."
::= { measurementLossEntry 4 }

measurementLossDevFast OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 dB"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      ""
::= { measurementLossEntry 5 }

measurementLossDevMedium OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 dB"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      ""
::= { measurementLossEntry 6 }

measurementLossDevSlow OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 dB"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      ""
::= { measurementLossEntry 7 }

measurementLossDataTimestamp OBJECT-TYPE
      SYNTAX        DateAndTime
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      ""
::= { measurementLossEntry 8 }

-- ------------------------------------------------------------------ --
-- histMeasLoss15MinTable
-- ------------------------------------------------------------------ --

histMeasLoss15MinEntry OBJECT-TYPE
    SYNTAX      HistMeasLoss15MinEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   "Entry of histMeasLoss15MinTable"
    INDEX       { portId, histMeasLoss15MinNumber }
    ::=  { histMeasLoss15MinTable 1 }

HistMeasLoss15MinEntry ::=  SEQUENCE
  { histMeasLoss15MinNumber Integer32,
    histMeasLoss15MinLow Integer32,
    histMeasLoss15MinMean Integer32,
    histMeasLoss15MinHigh Integer32,
    histMeasLoss15MinValidFlag TruthValue,
    histMeasLoss15MinTimeStamp DateAndTime,
    histMeasLoss15MinLength Integer32,
    histMeasLoss15MinLossPerKmLow Integer32,
    histMeasLoss15MinLossPerKmMean Integer32,
    histMeasLoss15MinLossPerKmHigh Integer32}

histMeasLoss15MinNumber OBJECT-TYPE
    SYNTAX      Integer32 (1..96)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A number between 1 and 96, which identifies the interval for
         which the set of statistics is available. The interval
         identified by 1 is the most recently completed 15 minute
         interval, and the interval identified by N is the interval
         immediately preceding the one identified by N-1."
    ::=  { histMeasLoss15MinEntry 1 }

histMeasLoss15MinLow OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "0.1 dB"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Lowest link loss"
    ::=  { histMeasLoss15MinEntry 2 }

histMeasLoss15MinMean OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "0.1 dB"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Mean link loss"
    ::=  { histMeasLoss15MinEntry 3 }

histMeasLoss15MinHigh OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "0.1 dB"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Highest link loss"
    ::=  { histMeasLoss15MinEntry 4 }

histMeasLoss15MinValidFlag OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Valid Flag"
    ::=  { histMeasLoss15MinEntry 5 }

histMeasLoss15MinTimeStamp OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Timestamp"
    ::=  { histMeasLoss15MinEntry 6 }

histMeasLoss15MinLength OBJECT-TYPE
    SYNTAX      Integer32
    UNITS         "0.1 m"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Link legth"
    ::=  { histMeasLoss15MinEntry 7 }

histMeasLoss15MinLossPerKmLow OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "0.01 dB/km"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Lowest link loss per km"
    ::=  { histMeasLoss15MinEntry 8 }

histMeasLoss15MinLossPerKmMean OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "0.01 dB/km"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Mean link loss per km"
    ::=  { histMeasLoss15MinEntry 9 }

histMeasLoss15MinLossPerKmHigh OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "0.01 dB/km"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Highest link loss per km"
    ::=  { histMeasLoss15MinEntry 10 }

-- ------------------------------------------------------------------ --
-- histMeasLoss1DayTable
-- ------------------------------------------------------------------ --

histMeasLoss1DayEntry OBJECT-TYPE
    SYNTAX      HistMeasLoss1DayEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   "Entry of histMeasLoss1DayTable"
    INDEX       { portId, histMeasLoss1DayNumber }
    ::=  { histMeasLoss1DayTable 1 }

HistMeasLoss1DayEntry ::=  SEQUENCE
  { histMeasLoss1DayNumber Integer32,
    histMeasLoss1DayLow Integer32,
    histMeasLoss1DayMean Integer32,
    histMeasLoss1DayHigh Integer32,
    histMeasLoss1DayValidFlag TruthValue,
    histMeasLoss1DayTimeStamp DateAndTime,
    histMeasLoss1DayLength Integer32,
    histMeasLoss1DayLossPerKmLow Integer32,
    histMeasLoss1DayLossPerKmMean Integer32,
    histMeasLoss1DayLossPerKmHigh Integer32 }

histMeasLoss1DayNumber OBJECT-TYPE
    SYNTAX      Integer32 (1..31)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A number, which identifies the interval for
         which the set of statistics is available. The interval
         identified by 1 is the most recently completed 1 day
         interval."
    ::=  { histMeasLoss1DayEntry 1 }

histMeasLoss1DayLow OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "0.1 dB"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Lowest link loss"
    ::=  { histMeasLoss1DayEntry 2 }

histMeasLoss1DayMean OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "0.1 dB"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Mean link loss"
    ::=  { histMeasLoss1DayEntry 3 }

histMeasLoss1DayHigh OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "0.1 dB"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Highest link loss"
    ::=  { histMeasLoss1DayEntry 4 }

histMeasLoss1DayValidFlag OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Valid Flag"
    ::=  { histMeasLoss1DayEntry 5 }

histMeasLoss1DayTimeStamp OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Timestamp"
::=  { histMeasLoss1DayEntry 6 }

histMeasLoss1DayLength OBJECT-TYPE
    SYNTAX      Integer32
    UNITS         "0.1 m"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Link legth"
    ::=  { histMeasLoss1DayEntry 7 }

histMeasLoss1DayLossPerKmLow OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "0.01 dB/km"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Lowest link loss per km"
    ::=  { histMeasLoss1DayEntry 8 }

histMeasLoss1DayLossPerKmMean OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "0.01 dB/km"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Mean link loss per km"
    ::=  { histMeasLoss1DayEntry 9 }

histMeasLoss1DayLossPerKmHigh OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "0.01 dB/km"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Highest link loss per km"
    ::=  { histMeasLoss1DayEntry 10 }

-- ------------------------------------------------------------------ --
-- portThresTable
-- ------------------------------------------------------------------ --

portThresEntry OBJECT-TYPE
      SYNTAX        PortThresEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
      INDEX         { portId }
::= { portThresTable 1 }

PortThresEntry ::=
      SEQUENCE {
        portThresDeviationFast     Integer32,
        portThresDeviationMedium   Integer32,
        portThresDeviationSlow     Integer32,
        portThresBudget            Integer32,
        portThresCloseToBudget     Integer32,
        portMonitorThresLossBudget Integer32,
        portMonitorThresDeviation  Integer32,
        portSensor1Thres           Integer32,
        portSensor2Thres           Integer32,
        portAutoThresAdjustment    INTEGER,
        portThresBudgetMargin      Integer32,
        portThresCloseToBudgetMargin Integer32,
        portThresAddDropHigh        Integer32,
        portThresAddDropDeviation   Integer32
      }

portThresDeviationFast   OBJECT-TYPE
    SYNTAX      Integer32
    UNITS         "0.1 dB"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "portThresDeviationFast"
    ::=  { portThresEntry 2 }

 portThresDeviationMedium  OBJECT-TYPE
    SYNTAX      Integer32
    UNITS         "0.1 dB"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "portThresDeviationMedium
     This attribute is deprecated, it can be set but is has no effect."
    ::=  { portThresEntry 3 }

portThresDeviationSlow   OBJECT-TYPE
    SYNTAX      Integer32
    UNITS         "0.1 dB"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "portThresDeviationSlow
     This attribute is deprecated, it can be set but is has no effect."
    ::=  { portThresEntry 4 }

portThresBudget   OBJECT-TYPE
    SYNTAX      Integer32
    UNITS         "0.1 dB"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "portThresBudget"
    ::=  { portThresEntry 5 }

portThresCloseToBudget   OBJECT-TYPE
    SYNTAX      Integer32
    UNITS         "0.1 dB"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "portThresCloseToBudget"
    ::=  { portThresEntry 6 }

portMonitorThresLossBudget   OBJECT-TYPE
    SYNTAX      Integer32
    UNITS         "0.1 dB"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "portMonitorThresLossBudget"
    ::=  { portThresEntry 7 }

portMonitorThresDeviation   OBJECT-TYPE
    SYNTAX      Integer32
    UNITS         "0.1 dB"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "portMonitorThresDeviation"
    ::=  { portThresEntry 8 }

portSensor1Thres   OBJECT-TYPE
    SYNTAX      Integer32
    UNITS         "0.1 dB"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "portSensor1Thres"
    ::=  { portThresEntry 9 }

portSensor2Thres   OBJECT-TYPE
    SYNTAX      Integer32
    UNITS         "0.1 dB"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "portSensor2Thres"
    ::=  { portThresEntry 10 }

portAutoThresAdjustment  OBJECT-TYPE
        SYNTAX      INTEGER {
            disabled (1), -- portAutoThresAdjustment  disabled
            enabled  (2)  -- portAutoThresAdjustment  enabled
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
        "1 disable / 2 enable automatic adjustment of ThresBudget/ThresCloseToBudget
         with the following margins"
        ::=  { portThresEntry 11 }

portThresBudgetMargin   OBJECT-TYPE
    SYNTAX      Integer32
    UNITS         "0.1 dB"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "portThresBudgetMargin"
    ::=  { portThresEntry 12 }

portThresCloseToBudgetMargin   OBJECT-TYPE
    SYNTAX      Integer32
    UNITS         "0.1 dB"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "portThresCloseToBudgetMargin"
    ::=  { portThresEntry 13 }

portThresAddDropHigh   OBJECT-TYPE
    SYNTAX      Integer32
    UNITS         "0.1 dB"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "portThresAddDropHigh"
    ::=  { portThresEntry 14 }

portThresAddDropDeviation   OBJECT-TYPE
    SYNTAX      Integer32
    UNITS         "0.1 dB"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "portThresAddDropDeviation"
    ::=  { portThresEntry 15 }

-- ------------------------------------------------------------------ --
-- portPeriodLossDevTable
-- ------------------------------------------------------------------ --

portPeriodLossDevEntry OBJECT-TYPE
      SYNTAX        PortPeriodLossDevEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
      INDEX         { portId }
::= { portPeriodLossDevTable 1 }

PortPeriodLossDevEntry ::=
      SEQUENCE {
        portPeriodLossDevFast   Integer32,
        portPeriodLossDevMedium Integer32,
        portPeriodLossDevSlow   Integer32
      }

portPeriodLossDevFast   OBJECT-TYPE
    SYNTAX      Integer32
    UNITS         "min"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "This attribute is deprecated it can be set but it has no effect."
    ::=  { portPeriodLossDevEntry 1 }

portPeriodLossDevMedium   OBJECT-TYPE
    SYNTAX      Integer32
    UNITS         "h"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "This attribute is deprecated it can be set but it has no effect."
    ::=  { portPeriodLossDevEntry 2 }

portPeriodLossDevSlow   OBJECT-TYPE
    SYNTAX      Integer32
    UNITS         "d"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "This attribute is deprecated it can be set but it has no effect."
    ::=  { portPeriodLossDevEntry 3 }

-- ------------------------------------------------------------------ --
-- measurementFpTable
-- ------------------------------------------------------------------ --

measurementFpEntry OBJECT-TYPE
      SYNTAX        MeasurementFpEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
      INDEX         { portId, measurementFpIndex }
::= { measurementFpTable 1 }

MeasurementFpEntry ::=
    SEQUENCE {
        measurementFpIndex              Integer32,
        measurementFpRefractiveIndex    Integer32,
        measurementFpExternalOffset     Integer32,
        measurementFpCouplerLoss        Integer32,
        measurementFpLinkLoss           Integer32,
        measurementFpLineEndPos         Integer32,
        measurementFpDataTimestamp      DateAndTime,
        measurementFpNumConnectors      Integer32,
        measurementFpNumSplices         Integer32,
        measurementFpMaxLaserPower      Integer32,
        measurementFpFastMode           INTEGER,
        measurementFpMonitoringMode     INTEGER,
        measurementFpTrafficDetected    INTEGER
    }

measurementFpIndex OBJECT-TYPE
    SYNTAX          Integer32 (1..1)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        ""
::= { measurementFpEntry 1 }

measurementFpRefractiveIndex OBJECT-TYPE
      SYNTAX        Integer32 (1400000..1550000)
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Refractive index multiplied by 1000000."
::= { measurementFpEntry 2 }

measurementFpExternalOffset OBJECT-TYPE
      SYNTAX        Integer32 (0..100)
      UNITS         "m"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "External offset length in meters."
::= { measurementFpEntry 3 }

measurementFpCouplerLoss OBJECT-TYPE
      SYNTAX        Integer32 (0..100)
      UNITS         "0.1 dB"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Coupler loss in tenth of dB."
::= { measurementFpEntry 4 }

measurementFpLinkLoss OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 dB"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Link loss at reflector in tenth of dB."
::= { measurementFpEntry 5 }

measurementFpLineEndPos OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 m"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Position of the reflector in decimetres."
::= { measurementFpEntry 6 }

measurementFpDataTimestamp OBJECT-TYPE
      SYNTAX        DateAndTime
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      ""
::= { measurementFpEntry 7 }

measurementFpNumConnectors OBJECT-TYPE
    SYNTAX      Integer32 (0..20 | -2147483648)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Equals -2147483648 if loss guidance was not enabled during fingerprint creation."
::=  { measurementFpEntry 8 }

measurementFpNumSplices OBJECT-TYPE
    SYNTAX      Integer32 (0..20 | -2147483648)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Equals -2147483648 if loss guidance was not enabled during fingerprint creation."
::=  { measurementFpEntry 9 }

measurementFpMaxLaserPower OBJECT-TYPE
      SYNTAX        Integer32 (0..1000)
      UNITS         "0.01 dBm"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Maximal laser power in 0.01dBm.
       Only available on 16ALM-1650D."
::= { measurementFpEntry 10 }

measurementFpFastMode OBJECT-TYPE
      SYNTAX        INTEGER {
                        disabled (1),
                        enabled (2)
      }
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
        "If this variable is 'enabled' faster OTDR measurements are activated
        with less accuracy."
::= { measurementFpEntry 11 }

measurementFpMonitoringMode OBJECT-TYPE
      SYNTAX        INTEGER {
                        lossCalculation (1),
                        trafficCheck (2),
                        standard (3),
                        highDynamic (4),
                        highResolution (5),
                        cabinetSensorShort (6),
                        cabinetSensorLong (7),
                        dpaCustom (8),
                        dpaFast (9),
                        dpaBalanced (10) ,
                        dpaHighSensitivity (11)
      }
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
        "Measurement method for monitoring."
::= { measurementFpEntry 12 }

measurementFpTrafficDetected OBJECT-TYPE
      SYNTAX        INTEGER {
                        undefined(0),
                        no(1),
                        yes(2)
      }
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
        "This object is available if traffic check is enabled."
::= { measurementFpEntry 13 }

-- ------------------------------------------------------------------ --
-- measurementFaTable
-- ------------------------------------------------------------------ --

measurementFaEntry OBJECT-TYPE
      SYNTAX        MeasurementFaEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
      INDEX         { portId, measurementFaIndex }
::= { measurementFaTable 1 }

MeasurementFaEntry ::=
    SEQUENCE {
        measurementFaIndex              Integer32,
        measurementFaLinkLoss           Integer32,
        measurementFaFaultPos           Integer32,
        measurementFaDeprecated         INTEGER,
        measurementFaDataTimestamp      DateAndTime,
        measurementFaCorrectedFaultPos  Integer32,
        measurementFaFaultPosLatitude   DisplayString,
        measurementFaFaultPosLongitude  DisplayString
    }

measurementFaIndex OBJECT-TYPE
      SYNTAX        Integer32 (1..1)
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
::= { measurementFaEntry 1 }

measurementFaLinkLoss OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 dB"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Link loss at reflector in tenth of dB."
::= { measurementFaEntry 2 }

measurementFaFaultPos OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 m"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Fault position in decimetres."
::= { measurementFaEntry 3 }

measurementFaDeprecated OBJECT-TYPE
    SYNTAX      INTEGER {
                  undefined(0),
                  no(1),
                  yes(2)
    }    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This variable is set to 'yes' when this Fault Analysis
        refers to old fingerprint, i.e. new finger print was generated
        after this Fault Analysis had been performed."
    ::= { measurementFaEntry 4 }

measurementFaDataTimestamp OBJECT-TYPE
      SYNTAX        DateAndTime
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      ""
::= { measurementFaEntry 5 }

measurementFaCorrectedFaultPos OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 m"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Corrected fault position in decimetres. If no customized events
      were added this entry equals -2147483648."
::= { measurementFaEntry 6 }

measurementFaFaultPosLatitude OBJECT-TYPE
      SYNTAX        DisplayString (SIZE(0..10))
      UNITS         "deg"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "The latitude of the fault position in decimal degrees (-90 to 90 degree)."
::= { measurementFaEntry 7 }

measurementFaFaultPosLongitude OBJECT-TYPE
      SYNTAX        DisplayString (SIZE(0..10))
      UNITS         "deg"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "The longitude of the fault position in decimal degrees (-180 to 180 degree)."
::= { measurementFaEntry 8 }


-- ------------------------------------------------------------------ --
-- measurementOtdrTable
-- ------------------------------------------------------------------ --

measurementOtdrEntry OBJECT-TYPE
      SYNTAX        MeasurementOtdrEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
      INDEX         { portId, measurementOtdrIndex }
::= { measurementOtdrTable 1 }

MeasurementOtdrEntry ::=
      SEQUENCE {
        measurementOtdrIndex             Integer32,
            measurementOtdrLength            Integer32,
            measurementOtdrExternalOffset    Integer32,
            measurementOtdrRefractiveIndex   Integer32,
            measurementOtdrPowerLevel        Integer32,
            measurementOtdrPulseWidth        Integer32,
            measurementOtdrAverageRate       Integer32,
            measurementOtdrDataTimestamp     DateAndTime,
            measurementOtdrMaxLaserPower     Integer32,
            measurementOtdrLinkLength        Integer32,
            measurementOtdrMeasTime          Integer32
      }

measurementOtdrIndex OBJECT-TYPE
      SYNTAX        Integer32 (1..1)
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
::= { measurementOtdrEntry 1 }

measurementOtdrLength OBJECT-TYPE
      SYNTAX        Integer32 (100..200000)
      UNITS         "0.1 m"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Measurement length in meters."
::= { measurementOtdrEntry 2 }

measurementOtdrExternalOffset OBJECT-TYPE
      SYNTAX        Integer32 (0..100)
      UNITS         "m"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "External offset length in meters."
::= { measurementOtdrEntry 3 }

measurementOtdrRefractiveIndex OBJECT-TYPE
      SYNTAX        Integer32 (1400000..1550000)
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Refractive index multiplied by 1000000."
::= { measurementOtdrEntry 4 }

measurementOtdrPowerLevel OBJECT-TYPE
      SYNTAX        Integer32 (-2000..2000)
      UNITS         "0.01 dBm"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Power level in 0.01dBm.
       Not available on 16ALM-1650D."
::= { measurementOtdrEntry 5 }

measurementOtdrPulseWidth OBJECT-TYPE
      SYNTAX        Integer32 (5..20000)
      UNITS         "ns"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Pulse width in ns."
::= { measurementOtdrEntry 6 }

measurementOtdrAverageRate OBJECT-TYPE
      SYNTAX        Integer32 (0..7)
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Average rate (0=512,1=1024,2=2048,3=4096,4=8192,5=16384,6=32768,7=65536).
       Not available on 16ALM-1650D."
::= { measurementOtdrEntry 7 }

measurementOtdrDataTimestamp OBJECT-TYPE
      SYNTAX        DateAndTime
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      ""
::= { measurementOtdrEntry 8 }

measurementOtdrMaxLaserPower OBJECT-TYPE
      SYNTAX        Integer32 (0..1000)
      UNITS         "0.01 dBm"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Maximal laser power in 0.01dBm.
       Not available on 16ALM."
::= { measurementOtdrEntry 9 }

measurementOtdrLinkLength OBJECT-TYPE
      SYNTAX        Integer32 (100..200000)
      UNITS         "m"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Length of the optical link in meters.
       Not available on 16ALM."
::= { measurementOtdrEntry 10 }

measurementOtdrMeasTime OBJECT-TYPE
      SYNTAX        Integer32 (15..300)
      UNITS         "s"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Measurement time in seconds.
       Not available on 16ALM."
::= { measurementOtdrEntry 11 }

-- ------------------------------------------------------------------ --
-- measurementAutoFaTable
-- ------------------------------------------------------------------ --

measurementAutoFaEntry OBJECT-TYPE
      SYNTAX        MeasurementAutoFaEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
      INDEX         { portId, measurementAutoFaIndex }
::= { measurementAutoFaTable 1 }

MeasurementAutoFaEntry ::=
    SEQUENCE {
        measurementAutoFaIndex              Integer32,
        measurementAutoFaReference          Integer32,
        measurementAutoFaLinkLoss           Integer32,
        measurementAutoFaFaultPos           Integer32,
        measurementAutoFaDeprecated         INTEGER,
        measurementAutoFaDataTimestamp      DateAndTime,
        measurementAutoFaCorrectedFaultPos  Integer32,
        measurementAutoFaFaultPosLatitude   DisplayString,
        measurementAutoFaFaultPosLongitude  DisplayString
    }

measurementAutoFaIndex OBJECT-TYPE
      SYNTAX        Integer32 (1..20)
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
::= { measurementAutoFaEntry 1 }

measurementAutoFaReference OBJECT-TYPE
      SYNTAX        Integer32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Fault analysis reference number."
::= { measurementAutoFaEntry 2 }

measurementAutoFaLinkLoss OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 dB"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Link loss at reflector in tenth of dB."
::= { measurementAutoFaEntry 3 }

measurementAutoFaFaultPos OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 m"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Fault position in decimetres."
::= { measurementAutoFaEntry 4 }

measurementAutoFaDeprecated OBJECT-TYPE
    SYNTAX      INTEGER {
                  undefined(0),
                  no(1),
                  yes(2)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This variable is set to 'yes' when this Fault Analysis
        refers to old fingerprint, i.e. new finger print was generated
        after this Fault Analysis had been performed."
    ::= { measurementAutoFaEntry 5 }

measurementAutoFaDataTimestamp OBJECT-TYPE
      SYNTAX        DateAndTime
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      ""
::= { measurementAutoFaEntry 6 }

measurementAutoFaCorrectedFaultPos OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 m"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Corrected fault position in decimetres. If no customized events
      were added this entry equals -2147483648."
::= { measurementAutoFaEntry 7 }

measurementAutoFaFaultPosLatitude OBJECT-TYPE
      SYNTAX        DisplayString (SIZE(0..10))
      UNITS         "deg"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "The latitude of the fault position in decimal degrees (-90 to 90 degree)."
::= { measurementAutoFaEntry 8 }

measurementAutoFaFaultPosLongitude OBJECT-TYPE
      SYNTAX        DisplayString (SIZE(0..10))
      UNITS         "deg"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "The longitude of the fault position in decimal degrees (-180 to 180 degree)."
::= { measurementAutoFaEntry 9 }


-- ------------------------------------------------------------------ --
-- monitorPointLossTable
-- ------------------------------------------------------------------ --

monitorPointLossEntry OBJECT-TYPE
      SYNTAX        MonitorPointLossEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
      INDEX         { portId, mpId }
::= { monitorPointLossTable 1 }

MonitorPointLossEntry ::= SEQUENCE {
        monitorPointLossCurrentLoss      Integer32,
        monitorPointLossFpLoss           Integer32,
        monitorPointLossDataTimestamp    DateAndTime
      }

monitorPointLossCurrentLoss OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 dB"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Current loss at monitor point in tenth of dB."
::= { monitorPointLossEntry 1 }

monitorPointLossFpLoss OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 dB"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Fingerprint loss at monitor point in tenth of dB."
::= { monitorPointLossEntry 2 }

monitorPointLossDataTimestamp OBJECT-TYPE
      SYNTAX        DateAndTime
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      ""
::= { monitorPointLossEntry 3 }


-- ------------------------------------------------------------------ --
-- histMonitorPointLoss15MinTable
-- ------------------------------------------------------------------ --

histMonitorPointLoss15MinEntry OBJECT-TYPE
    SYNTAX      HistMonitorPointLoss15MinEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   "Entry of histMonitorPointLoss15MinTable"
    INDEX       { portId, mpId, histMonitorPointLoss15MinNumber }
    ::=  { histMonitorPointLoss15MinTable 1 }

HistMonitorPointLoss15MinEntry ::=  SEQUENCE
  { histMonitorPointLoss15MinNumber     Integer32,
    histMonitorPointLoss15MinLow        Integer32,
    histMonitorPointLoss15MinMean       Integer32,
    histMonitorPointLoss15MinHigh       Integer32,
    histMonitorPointLoss15MinValid      TruthValue,
    histMonitorPointLoss15MinTimeStamp  DateAndTime }

histMonitorPointLoss15MinNumber OBJECT-TYPE
    SYNTAX      Integer32 (1..96)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A number between 1 and 96, which identifies the interval for
         which the set of statistics is available. The interval
         identified by 1 is the most recently completed 15 minute
         interval, and the interval identified by N is the interval
         immediately preceding the one identified by N-1. Only existing
         values will be shown."
    ::=  { histMonitorPointLoss15MinEntry 1 }

histMonitorPointLoss15MinLow OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "0.1 dB"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Lowest monitor point loss"
    ::=  { histMonitorPointLoss15MinEntry 2 }

histMonitorPointLoss15MinMean OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "0.1 dB"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Mean monitor point loss"
    ::=  { histMonitorPointLoss15MinEntry 3 }

histMonitorPointLoss15MinHigh OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "0.1 dB"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Highest monitor point loss"
    ::=  { histMonitorPointLoss15MinEntry 4 }

histMonitorPointLoss15MinValid OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Valid Flag"
    ::=  { histMonitorPointLoss15MinEntry 5 }

histMonitorPointLoss15MinTimeStamp OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Timestamp"
    ::=  { histMonitorPointLoss15MinEntry 6 }

-- ------------------------------------------------------------------ --
-- histMonitorPointLoss1DayTable
-- ------------------------------------------------------------------ --

histMonitorPointLoss1DayEntry OBJECT-TYPE
    SYNTAX      HistMonitorPointLoss1DayEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   "Entry of histMonitorPointLoss1DayTable"
    INDEX       { portId, mpId, histMonitorPointLoss1DayNumber }
    ::=  { histMonitorPointLoss1DayTable 1 }

HistMonitorPointLoss1DayEntry ::=  SEQUENCE
  { histMonitorPointLoss1DayNumber      Integer32,
    histMonitorPointLoss1DayLow         Integer32,
    histMonitorPointLoss1DayMean        Integer32,
    histMonitorPointLoss1DayHigh        Integer32,
    histMonitorPointLoss1DayValid       TruthValue,
    histMonitorPointLoss1DayTimeStamp   DateAndTime }

histMonitorPointLoss1DayNumber OBJECT-TYPE
    SYNTAX      Integer32 (1..31)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A number, which identifies the interval for
         which the set of statistics is available. The interval
         identified by 1 is the most recently completed 1 day
         interval. Only existing values will be shown."
    ::=  { histMonitorPointLoss1DayEntry 1 }

histMonitorPointLoss1DayLow OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "0.1 dB"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Lowest monitor point loss"
    ::=  { histMonitorPointLoss1DayEntry 2 }

histMonitorPointLoss1DayMean OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "0.1 dB"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Mean monitor point loss"
    ::=  { histMonitorPointLoss1DayEntry 3 }

histMonitorPointLoss1DayHigh OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "0.1 dB"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Highest monitor point loss"
    ::=  { histMonitorPointLoss1DayEntry 4 }

histMonitorPointLoss1DayValid OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Valid Flag"
    ::=  { histMonitorPointLoss1DayEntry 5 }

histMonitorPointLoss1DayTimeStamp OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Timestamp"
::=  { histMonitorPointLoss1DayEntry 6 }

-- ------------------------------------------------------------------ --
-- measurementFpEventTable
-- ------------------------------------------------------------------ --

measurementFpEventEntry OBJECT-TYPE
    SYNTAX        MeasurementFpEventEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION   "Entry of measurementFpEventEntry"
    INDEX         { portId, measurementFpEventId }
::= { measurementFpEventTable 1 }

MeasurementFpEventEntry ::= SEQUENCE
    {
        measurementFpEventId            Integer32,
        measurementFpEventPosition      Integer32,
        measurementFpEventReflectance   Integer32,
        measurementFpEventAttenuation   Integer32,
        measurementFpEventRemark        DisplayString
    }

measurementFpEventId OBJECT-TYPE
    SYNTAX        Integer32 (1..1000)
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        ""
::= { measurementFpEventEntry 1 }

measurementFpEventPosition OBJECT-TYPE
    SYNTAX        Integer32
    UNITS         "0.1 m"
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Position in decimeter."
::= { measurementFpEventEntry 2 }

measurementFpEventReflectance OBJECT-TYPE
    SYNTAX        Integer32
    UNITS         "0.1 dB"
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Reflectance in tenth of dB"
::= { measurementFpEventEntry 3 }

measurementFpEventAttenuation OBJECT-TYPE
    SYNTAX        Integer32
    UNITS         "0.1 dB"
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Attenuation in tenth of dB"
::= { measurementFpEventEntry 4}

measurementFpEventRemark OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..255))
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        ""
::= { measurementFpEventEntry 5}

-- ------------------------------------------------------------------ --
-- customizedFpEventTable
-- ------------------------------------------------------------------ --

customizedFpEventEntry OBJECT-TYPE
    SYNTAX        CustomizedFpEventEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION   "Entry of customizedFpEventEntry"
    INDEX         { portId, customizedFpEventId }
::= { customizedFpEventTable 1 }

CustomizedFpEventEntry ::= SEQUENCE
    {
        customizedFpEventId                 Integer32,
        customizedFpEventRowStatus          RowStatus,
        customizedFpEventCorrectedPosition  Integer32,
        customizedFpEventRemark             SnmpAdminString,
        customizedFpEventOtdrId             Integer32,
        customizedFpEventOtdrPosition       Integer32,
        customizedFpEventLayoutId           Integer32
    }

customizedFpEventId OBJECT-TYPE
    SYNTAX        Integer32 (1..1000)
    MAX-ACCESS    accessible-for-notify
    STATUS        current
    DESCRIPTION
        ""
::= { customizedFpEventEntry 1 }

customizedFpEventRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The status of this conceptual row. To create a row in this
        table, set this object to createAndGo(4). To remove a row,
        set this object to destroy(6)."
::= { customizedFpEventEntry 2 }

customizedFpEventCorrectedPosition OBJECT-TYPE
    SYNTAX        Integer32
    UNITS         "0.1 m"
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION
        "Corrected position in tenth of meter."
::= { customizedFpEventEntry 3 }

customizedFpEventRemark OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION
        "Remark."
::= { customizedFpEventEntry 4 }

customizedFpEventOtdrId OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "OTDR fingerprint event ID. If no mapping between GIS and OTDR
         event was found this entry equals -2147483648."
::= { customizedFpEventEntry 5 }

customizedFpEventOtdrPosition OBJECT-TYPE
    SYNTAX        Integer32
    UNITS         "0.1 m"
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION
        "OTDR distance in tenth of meter is either filled when event mapped to a
        fingerprint event or potentially added when not mapped."
::= { customizedFpEventEntry 6 }

customizedFpEventLayoutId OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION
        "0 for all fingerprinttyps other then AddDropFiber. Values great the 0 are then mapping to a AddDropFiberLayoutLine between the coupler and reflector of this id."
::= { customizedFpEventEntry 7 }

-- ------------------------------------------------------------------ --
-- mergedFpEventTable
-- ------------------------------------------------------------------ --

mergedFpEventEntry OBJECT-TYPE
    SYNTAX        MergedFpEventEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION   "Entry of mergedFpEventEntry"
    INDEX         { portId, mergedFpEventId }
::= { mergedFpEventTable 1 }

MergedFpEventEntry ::= SEQUENCE
    {
        mergedFpEventId                 Integer32,
        mergedFpEventCustomizedEventId  Integer32,
        mergedFpEventOtdrId             Integer32,
        mergedFpEventCorrectedPosition  Integer32,
        mergedFpEventOtdrPosition       Integer32,
        mergedFpEventRemark             SnmpAdminString
    }

mergedFpEventId OBJECT-TYPE
    SYNTAX        Integer32 (1..2000)
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        ""
::= { mergedFpEventEntry 1 }

mergedFpEventCustomizedEventId OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Customized fingerprint event ID."
::= { mergedFpEventEntry 2 }

mergedFpEventOtdrId OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "OTDR fingerprint event ID."
::= { mergedFpEventEntry 3 }

mergedFpEventCorrectedPosition OBJECT-TYPE
    SYNTAX        Integer32
    UNITS         "0.1 m"
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Corrected position in tenth of meter."
::= { mergedFpEventEntry 4 }

mergedFpEventOtdrPosition OBJECT-TYPE
    SYNTAX        Integer32
    UNITS         "0.1 m"
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "OTDR distance in tenth of meter is either filled when event mapped to a
        fingerprint event or potentially added when not mapped."
::= { mergedFpEventEntry 5 }

mergedFpEventRemark OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Remark."
::= { mergedFpEventEntry 6 }

-- ------------------------------------------------------------------ --
-- linkLayoutEventTable
-- ------------------------------------------------------------------ --

linkLayoutEventEntry OBJECT-TYPE
    SYNTAX        LinkLayoutEventEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION   "Entry of linkLayoutEventEntry"
    INDEX         { portId, linkLayoutEventId }
::= {linkLayoutEventTable 1 }

LinkLayoutEventEntry ::= SEQUENCE
    {
        linkLayoutEventId                   Integer32,
        linkLayoutEventRowStatus            RowStatus,
        linkLayoutEventMpId                 Integer32,
        linkLayoutEventFpEventId            Integer32,
        linkLayoutEventCustomizedEventId    Integer32,
        linkLayoutEventFaultPos             Integer32,
        linkLayoutEventCorrectedFaultPos    Integer32
    }

linkLayoutEventId  OBJECT-TYPE
    SYNTAX        Integer32 (1..10)
    MAX-ACCESS    accessible-for-notify
    STATUS        current
    DESCRIPTION
        ""
::= { linkLayoutEventEntry 1 }

linkLayoutEventRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The status of this conceptual row. To create a row in this
        table, set this object to createAndGo(4). To remove a row,
        set this object to destroy(6)."
::= { linkLayoutEventEntry 2 }

linkLayoutEventMpId OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION
        "MonitorPoint event ID."
::= { linkLayoutEventEntry 3 }

linkLayoutEventFpEventId  OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION
        "Fingerprint event ID of matching coupler."
::= { linkLayoutEventEntry 4 }

linkLayoutEventCustomizedEventId OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION
        "Customized Event ID of matching coupler."
::= { linkLayoutEventEntry 5 }

linkLayoutEventFaultPos OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 m"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Fault position starting from last coupler in decimetres, is negative if the fault position is before the position of the corresponding coupler."
::= { linkLayoutEventEntry 6}

linkLayoutEventCorrectedFaultPos OBJECT-TYPE
      SYNTAX        Integer32
      UNITS         "0.1 m"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      "Corrected fault position starting from last coupler in decimetres. If no customized events
      were added this entry equals -2147483648."
::= { linkLayoutEventEntry 7 }

-- ------------------------------------------------------------------ --
-- (hist)SegmentTable
-- ------------------------------------------------------------------ --

segmentEntry OBJECT-TYPE
    SYNTAX      SegmentEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   "Entry of segmentTable"
    INDEX       { portId, segmentId }
    ::=  { segmentTable 1 }

SegmentEntry ::=  SEQUENCE
  { segmentId     Integer32,
    segmentRowStatus RowStatus,
    segmentStartEventId Integer32,
    segmentStopEventId  Integer32,
    segmentStartCorrection Integer32,
    segmentStopCorrection  Integer32,
    segmentRemark         SnmpAdminString,
    segmentFpLength     Integer32,
    segmentFpLoss       Integer32,
    segmentFpLossPerKm  Integer32}


segmentId OBJECT-TYPE
    SYNTAX      Integer32 (1..999)
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "A number which identifies the Segment. The sequenze does not have to be without holes.Creating a new segment needs a free number."
    ::=  { segmentEntry 1 }


segmentRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The status of this conceptual row. To create a row in this
        table, set this object to createAndGo(4). To remove a row,
        set this object to destroy(6)."
    ::= { segmentEntry 2 }

segmentStartEventId   OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "FingerpintId for the starting event of the segment . 0 for measuring from link start."
    ::=  { segmentEntry 3 }

segmentStopEventId   OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "FingerpintId for the stoping event of the segment . 0 for measuring from link start."
    ::=  { segmentEntry 4 }

segmentStartCorrection  OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "0.1 m"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Offest for the segment start realtiv to the event (0 from link start) , can be + or - , regadles of value the segment can't escape the link boundrys."
    ::=  { segmentEntry 5 }

segmentStopCorrection  OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "0.1 m"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Offest for the segment stop realtiv to the event (0 from link start), can be + or - , regadles of value the segment can't escape the link boundrys."
    ::=  { segmentEntry 6 }

segmentRemark OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION
        "Remark."
    ::= { segmentEntry 7 }

segmentFpLength  OBJECT-TYPE
    SYNTAX      Integer32
    UNITS        "0.1 m"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Segment length in decimeter"
    ::=  { segmentEntry 8 }

segmentFpLoss  OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "0.1 dB"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Segment loss"
    ::=  { segmentEntry 9 }

segmentFpLossPerKm OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "0.01 dB"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Segment loss per km"
    ::=  { segmentEntry 10 }

-- ------------------------------------------------------------------ --

histSegmentEntry OBJECT-TYPE
    SYNTAX      HistSegmentEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   "Entry of histSegmentTable"
    INDEX       { portId, segmentId, histSegmentNumber }
    ::=  { histSegmentTable 1 }

HistSegmentEntry ::=  SEQUENCE
  { histSegmentNumber     Integer32,
    histSegmentLength     Integer32,
    histSegmentLoss       Integer32,
    histSegmentLossPerKm  Integer32,
    histSegmentUncertain  TruthValue,
    histSegmentTimeStamp  DateAndTime }

histSegmentNumber OBJECT-TYPE
    SYNTAX      Integer32 (1..30)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A number between 1 and 30, which identifies the interval for
         which the set of statistics is available. 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. Only existing
         values will be shown."
    ::=  { histSegmentEntry 1 }

histSegmentLength  OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "0.1 m"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Segment length in decimeter"
    ::=  { histSegmentEntry 2 }

histSegmentLoss  OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "0.1 dB"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Segment loss"
    ::=  { histSegmentEntry 3 }

histSegmentLossPerKm OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "0.01 dB"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Segment loss per km"
    ::=  { histSegmentEntry 4 }

histSegmentUncertain OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Set if the loss value was to close to the  noise"
    ::=  { histSegmentEntry 5 }

histSegmentTimeStamp OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Timestamp"
    ::=  { histSegmentEntry 6 }


-- ------------------------------------------------------------------ --
-- internalChannelLossTable
-- ------------------------------------------------------------------ --

internalChannelLossEntry OBJECT-TYPE
    SYNTAX      InternalChannelLossEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   "Entry of internalChannelLossTable"
    INDEX       { portId }
    ::=  { internalChannelLossTable 1 }

InternalChannelLossEntry ::=  SEQUENCE
  { internalChannelLossValue       Integer32,
    internalChannelLossTimeStamp  DateAndTime}


internalChannelLossValue OBJECT-TYPE
    SYNTAX        Integer32 (0..420)
    UNITS         "0.1 dB"
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Link loss at termination in tenth of dB."
::= { internalChannelLossEntry 1 }


internalChannelLossTimeStamp OBJECT-TYPE
      SYNTAX        DateAndTime
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
      ""
::= { internalChannelLossEntry 2 }

-- --------------------------------------------------------------------------
--                         Event Handling
-- --------------------------------------------------------------------------

eventsLogged OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This value is the sum of all notified events (trap counter).
        It is also the event number of the most recent event
        (eventLogIndex) found in the eventLog tables. It can,
        for example, be used to check if a notification (trap) is
        lost.
        The value is reset to 0 after a cold start. The counter is
        increased even if no trap sinks are specified."
    ::= { eventLogs 1 }


-- --------------------------------------------------------------------------
--                          eventLog Table
-- --------------------------------------------------------------------------
-- All enterprise-specific events are logged in the log table, even if a
-- trap was not sent to any trapsinks.
-- The events are indexed by the eventLogIndex (used as a trap counter)
-- and include a timestamp indicating when the event occurred.
-- The corresponding eventLogTimeStamp is included in each trap, thus
-- allowing the possibility of tracking (and detecting lost messages by
-- comparing to neEventsLogged) traps at a management station.
-- The neEventLogIdentityTranslation is also included in each trap.
-- This table is a simplified version of the nlmLogTable in [RFC3014].
--
-- Note: since this table can be very large, the management systems
-- should use caution when requesting information from this table
-- to reduce the load on the network (ie, always use getnext with the
-- last received trap counter as index).
-- -----------------------------------------------------------------------------

eventLogTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EventLogEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Table of events issued by the NE's SNMP agent. The eventLog
        entries are read-only."
    ::= { eventLogs 2 }

eventLogEntry OBJECT-TYPE
    SYNTAX      EventLogEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Entries in the eventLog Table. Enterprise traps are
        always logged; logging of Generic traps is product specific."
    INDEX { eventLogIndex }
    ::= { eventLogTable 1 }

EventLogEntry ::= SEQUENCE {
    eventLogIndex                 Unsigned32,
    eventLogTimeStamp             DateAndTime,
    eventLogNotificationOID       OBJECT IDENTIFIER,
    eventLogIdentityTranslation   IdentityTranslation
    }

eventLogIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The associated neEventsLogged counter for the logged
        event (trap)."
    ::= { eventLogEntry 1 }

eventLogTimeStamp OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The NE Date and Time when the event (trap) occurred. This
        object is used in the trap varbind."
    ::= { eventLogEntry 2 }

eventLogNotificationOID OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The NOTIFICATION-TYPE object identifier of the event that
        occurred. The last part of the OID corresponds to the
        specific trap type value in the trap PDU."
    ::= { eventLogEntry 3 }

eventLogIdentityTranslation OBJECT-TYPE
    SYNTAX      IdentityTranslation
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Translation of entPhysicalIndex/ifIndex or other identifier
        to a string used in the trap varbind following the timestamp
        varbind."
    ::= { eventLogEntry 4 }


-- **************************************************************************
-- ************************   eventLogVar Table   *************************
-- **************************************************************************
-- The variables of an entry in the eventLogTable are logged in this table.
-- Note: the OctetString syntax is also used to represent DataAndTime
-- SnmpAdminString and DisplayString objects. Integer32 is also used to
-- represent INTEGER. This table is a simplified version of
-- nlmLogVariableTable in [RFC3014].
-- **************************************************************************

eventLogVarTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EventLogVarEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Table of variables corresponding to events logged in the
        eventLog."
    ::= { eventLogs 3 }

eventLogVarEntry OBJECT-TYPE
    SYNTAX      EventLogVarEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Entries in the eventLogVar Table. An entry appears in
        this table for each variable in the varbind list of an entry
        in the eventLogTable. For an event having no variables,
        no entries are found in this table."
    INDEX { eventLogIndex, eventLogVarIndex }
    ::= { eventLogVarTable 1 }

EventLogVarEntry ::= SEQUENCE {
    eventLogVarIndex          Unsigned32,
    eventLogVarId             OBJECT IDENTIFIER,
    eventLogVarType           INTEGER,
    eventLogVarInteger32Val   Integer32,
    eventLogVarIpAddressVal   IpAddress,
    eventLogVarOctetStringVal OCTET STRING,
    eventLogVarOidVal         OBJECT IDENTIFIER,
    eventLogVarCounter64Val   Counter64,
    eventLogVarUnsigned32Val  Unsigned32
}

eventLogVarIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A monotonically increasing integer, starting at 1 for a
        given eventLogIndex, for indexing a variable contained in
        the varbind list of a logged event."
    ::= { eventLogVarEntry 1 }

eventLogVarId OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The object identifier of the variable in the varbind list."
    ::= { eventLogVarEntry 2 }

eventLogVarType OBJECT-TYPE
    SYNTAX      INTEGER {
        integer32 (1),
        ipAddress (2),
        octetString (3),
        objectId (4),
        counter64 (5),
        -- counter32,
        unsigned32 (7)
        -- timeTicks,
        -- opaque
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The type of variable. One and only one of the value objects
        that follow must be instantiated, based on this type. The
        used types depend on the enterprise traps defined for the
        specific product."
    ::= { eventLogVarEntry 3 }

eventLogVarInteger32Val OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value when eventLogVarType is 'integer32'. Integer32
        is also used to represent INTEGER types.
        Otherwise, 0 is returned."
    ::= { eventLogVarEntry 4 }

eventLogVarIpAddressVal OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value when eventLogVarType is 'ipAddress'.
        Otherwise, an empty address is returned."
    ::= { eventLogVarEntry 5 }

eventLogVarOctetStringVal OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value when eventLogVarType is 'octetString'.
        OctetString is used for all string types, including
        DisplayString, SnmpAdminString and DateAndTime.
        Otherwise, an empty string is returned."
    ::= { eventLogVarEntry 6 }

eventLogVarOidVal OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value when eventLogVarType is 'objectId'.
        Otherwise, an objectId { 0.0 } is returned."
    ::= { eventLogVarEntry 7 }

eventLogVarCounter64Val OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value when eventLogVarType is 'counter64'."
    ::= { eventLogVarEntry 8 }

eventLogVarUnsigned32Val OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value when eventLogVarType is 'unsigned32'."
    ::= { eventLogVarEntry 10 }


------------------------------------------------------------
-- Trap Sink Table
------------------------------------------------------------

trapsinkTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TrapsinkEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Table of Trapsinks. A trapsinkTable entry can be created,
        deleted or modified via the SNMP interface for a specific
        address and port."
    ::= { eventLogs 4 }

trapsinkEntry OBJECT-TYPE
    SYNTAX      TrapsinkEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Entries in the Trapsink Table. Entries are created and
        deleted using the trapsinkRowStatus object. The maximum of
        rows in this table is product specific."
    INDEX { trapsinkAddress, trapsinkPort }
    ::= { trapsinkTable 1 }

TrapsinkEntry ::= SEQUENCE {
    trapsinkAddress       IpAddress,
    trapsinkPort          Integer32,
    trapsinkCommunity     DisplayString,
    trapsinkRowStatus     RowStatus,
    trapsinkVersion       INTEGER,
    trapsinkUserName      DisplayString,
    trapsinkRemark        OCTET STRING,
    trapsinkLifetime      INTEGER
    }

trapsinkAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "IP Address of the Management System which should receive
        SNMP Traps."
    ::= { trapsinkEntry 1 }

trapsinkPort OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The port number where the specified trap sink will receive
        SNMP traps."
    ::= { trapsinkEntry 2 }

trapsinkCommunity OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..128))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Community String which is sent with an SNMP Trap to the
        Management Station. The default is 'public'."
    ::= { trapsinkEntry 3 }

trapsinkRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The status of this conceptual row. To create a row in this
        table, set this object to createAndGo(4). To remove a row,
        set this object to destroy(6)."
    ::= { trapsinkEntry 4 }

trapsinkVersion OBJECT-TYPE
    SYNTAX      INTEGER { v1(1), v2(2), v3(3) }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The default is v2(2)."
    ::=  { trapsinkEntry 5 }

trapsinkUserName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A human readable string representing the name of the user."
    ::=  { trapsinkEntry 6 }

trapsinkRemark OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(0..500))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A human readable string representing the remark for the trap sink."
    ::=  { trapsinkEntry 7 }

trapsinkLifetime OBJECT-TYPE
    SYNTAX    INTEGER {
        undefined(0),
        duration1hour(1),
        duration1day(2),
        duration3days(3),
        duration1week(4),
        duration1month(5),
        unlimited(6)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
          "Lifetime of Trapsink"
   ::=  { trapsinkEntry 8 }


------------------------------------------------------------
-- IPv6 Trap Sink Table
------------------------------------------------------------

ipv6TrapsinkTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Ipv6TrapsinkEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Table of IPv6 Trapsinks. A ipv6TrapsinkTable entry can be created,
        deleted or modified via the SNMP interface for a specific
        address and port."
    ::= { eventLogs 5 }

ipv6TrapsinkEntry OBJECT-TYPE
    SYNTAX      Ipv6TrapsinkEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Entries in the IPv6 Trapsink Table. Entries are created and
        deleted using the ipv6TrapsinkRowStatus object. The maximum of
        rows in this table is product specific."
    INDEX { ipv6TrapsinkId }
    ::= { ipv6TrapsinkTable 1 }

Ipv6TrapsinkEntry ::= SEQUENCE {
    ipv6TrapsinkId          Integer32,
    ipv6TrapsinkAddress     DisplayString,
    ipv6TrapsinkPort        Integer32,
    ipv6TrapsinkCommunity   DisplayString,
    ipv6TrapsinkRowStatus   RowStatus,
    ipv6TrapsinkVersion     INTEGER,
    ipv6TrapsinkUserName    DisplayString,
    ipv6TrapsinkRemark      OCTET STRING,
    ipv6TrapsinkLifetime    INTEGER
    }

ipv6TrapsinkId OBJECT-TYPE
    SYNTAX      Integer32 (1..10)
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        ""
    ::= { ipv6TrapsinkEntry 1 }

ipv6TrapsinkAddress OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "IPv6 Address of the Management System which should receive
        SNMP Traps."
    ::= { ipv6TrapsinkEntry 2 }

ipv6TrapsinkPort OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The port number where the specified trap sink will receive
        SNMP traps."
    ::= { ipv6TrapsinkEntry 3 }

ipv6TrapsinkCommunity OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..128))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Community String which is sent with an SNMP Trap to the
        Management Station. The default is 'public'."
    ::= { ipv6TrapsinkEntry 4 }

ipv6TrapsinkRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The status of this conceptual row. To create a row in this
        table, set this object to createAndGo(4). To remove a row,
        set this object to destroy(6)."
    ::= { ipv6TrapsinkEntry 5 }

ipv6TrapsinkVersion OBJECT-TYPE
    SYNTAX      INTEGER { v1(1), v2(2), v3(3) }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The default is v2(2)."
    ::=  { ipv6TrapsinkEntry 6 }

ipv6TrapsinkUserName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A human readable string representing the name of the user."
    ::=  { ipv6TrapsinkEntry 7 }

ipv6TrapsinkRemark OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(0..500))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A human readable string representing the remark for the trap sink."
    ::=  { ipv6TrapsinkEntry 8 }

ipv6TrapsinkLifetime OBJECT-TYPE
    SYNTAX    INTEGER {
        undefined(0),
        duration1hour(1),
        duration1day(2),
        duration3days(3),
        duration1week(4),
        duration1month(5),
        unlimited(6)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
          "Lifetime of ipv6Trapsink"
   ::=  { ipv6TrapsinkEntry 9 }

-- ------------------------------------------------------------------ --
-- sysLogRecipients
-- ------------------------------------------------------------------ --

sysLogRecipients          OBJECT IDENTIFIER ::= { eventLogs 6 }

sysLogRecipient1Address OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..45))
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "An IPv4/IPv6 address of one syslog server."
::= { sysLogRecipients 1 }

sysLogRecipient2Address OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..45))
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "An IPv4/IPv6 address of one syslog server."
::= { sysLogRecipients 2 }

sysLogRecipient3Address OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..45))
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "An IPv4/IPv6 address of one syslog server."
::= { sysLogRecipients 3 }


------------------------------------------------------------
-- dns Trap Sink Table
------------------------------------------------------------

dnsTrapsinkTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF DnsTrapsinkEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Table of Trapsinks. A dnsTrapsinkTable entry can be created,
        deleted or modified via the SNMP interface for a specific
        address and port."
    ::= { eventLogs 7 }

dnsTrapsinkEntry OBJECT-TYPE
    SYNTAX      DnsTrapsinkEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Entries in the dns Trapsink Table. Entries are created and
        deleted using the dnsTrapsinkRowStatus object. The maximum of
        rows in this table is product specific."
    INDEX { dnsTrapsinkId }
    ::= { dnsTrapsinkTable 1 }

DnsTrapsinkEntry ::= SEQUENCE {
    dnsTrapsinkId          Integer32,
    dnsTrapsinkHostName    DisplayString,
    dnsTrapsinkPort        Integer32,
    dnsTrapsinkCommunity   DisplayString,
    dnsTrapsinkRowStatus   RowStatus,
    dnsTrapsinkVersion     INTEGER,
    dnsTrapsinkUserName    DisplayString,
    dnsTrapsinkRemark      OCTET STRING,
    dnsTrapsinkLifetime    INTEGER
    }

dnsTrapsinkId OBJECT-TYPE
    SYNTAX      Integer32 (1..10)
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        ""
    ::= { dnsTrapsinkEntry 1 }

dnsTrapsinkHostName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Host Address of the Management System which should receive
        SNMP Traps."
    ::= { dnsTrapsinkEntry 2 }

dnsTrapsinkPort OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The port number where the specified trap sink will receive
        SNMP traps."
    ::= { dnsTrapsinkEntry 3 }

dnsTrapsinkCommunity OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..128))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Community String which is sent with an SNMP Trap to the
        Management Station. The default is 'public'."
    ::= { dnsTrapsinkEntry 4 }

dnsTrapsinkRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The status of this conceptual row. To create a row in this
        table, set this object to createAndGo(4). To remove a row,
        set this object to destroy(6)."
    ::= { dnsTrapsinkEntry 5 }

dnsTrapsinkVersion OBJECT-TYPE
    SYNTAX      INTEGER { v1(1), v2(2), v3(3) }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The default is v2(2)."
    ::=  { dnsTrapsinkEntry 6 }

dnsTrapsinkUserName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A human readable string representing the name of the user."
    ::=  { dnsTrapsinkEntry 7 }


dnsTrapsinkRemark OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(0..500))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A human readable string representing the remark for the trap sink."
    ::=  { dnsTrapsinkEntry 8 }

dnsTrapsinkLifetime OBJECT-TYPE
    SYNTAX    INTEGER {
        undefined(0),
        duration1hour(1),
        duration1day(2),
        duration3days(3),
        duration1week(4),
        duration1month(5),
        unlimited(6)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
          "Lifetime of dnsTrapsink"
   ::=  { dnsTrapsinkEntry 9 }


-- --------------------------------------------------------------------------
--                         DefaultLoggingFacility
-- --------------------------------------------------------------------------

sysLogFacility OBJECT-TYPE
    SYNTAX    INTEGER {
        local0(0),
        local1(1),
        local2(2),
        local3(3),
        local4(4),
        local5(5),
        local6(6),
        local7(7)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This value is the default facility ALM labels its syslog messages."
    ::= { eventLogs 8 }

-- ------------------------------------------------------------------ --
-- system
-- ------------------------------------------------------------------ --

information             OBJECT IDENTIFIER ::= { system 1 }

ipSettings              OBJECT IDENTIFIER ::= { system 2 }

softwareMgmt            OBJECT IDENTIFIER ::= { system 3 }

databaseMgmt            OBJECT IDENTIFIER ::= { system 4 }

ntpMgmt                 OBJECT IDENTIFIER ::= { system 5 }

generalSettings         OBJECT IDENTIFIER ::= { system 6 }

emailNotifySettings     OBJECT IDENTIFIER ::= { system 7 }

advaSecurity            OBJECT IDENTIFIER ::= { system 8 }

lossGuidance            OBJECT IDENTIFIER ::= { system 9 }

userManagement          OBJECT IDENTIFIER ::= { system 10 }

exportMgmt              OBJECT IDENTIFIER ::= { system 11 }

bidirSettings           OBJECT IDENTIFIER ::= { system 12 }

remoteAuth              OBJECT IDENTIFIER ::= { system 13 }

prioSettings            OBJECT IDENTIFIER ::= { system 14 }

-- ------------------------------------------------------------------ --
-- information
-- ------------------------------------------------------------------ --

softwareVersion OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Reports the running software version on the device"
    ::= { information 1 }

localDateAndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Reports the current local time on the device."
    ::= { information 2 }

releaseNumber OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The release number of the product. It will have the following format:
         XXYYZZ. For example, release version 1.2.1 will be identified in the
         following way:'10201'."
    ::= { information 3 }

expectedSoftwareVersion OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Value set by System Controller when this unit is attached to it.
        The value must match the softwareVersion value. In case values do
        not match, then trap alarmAlmPackageMismatch is sent (and alarm is
        raised). Trap is not sent (and alarm is not raised) when value is
        empty or when operationMode is set to 'standalone'."
    ::= { information 4 }

-- ------------------------------------------------------------------ --
-- ipSettings
-- ------------------------------------------------------------------ --

ipAddress OBJECT-TYPE
    SYNTAX        IpAddress
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "IP address of the system (IPv4).
        Changes to IP Settings should be made in one SET request."
::= { ipSettings 1 }

subnetMask OBJECT-TYPE
    SYNTAX        IpAddress
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Subnet mask.
        Changes to IP Settings should be made in one SET request."
::= { ipSettings 2 }

gateway OBJECT-TYPE
    SYNTAX        IpAddress
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Gateway.
        Changes to IP Settings should be made in one SET request."
::= { ipSettings 3 }

dns1 OBJECT-TYPE
    SYNTAX        IpAddress
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "DNS server 1. The address '0.0.0.0' may be used to remove an entry.
        Changes to IP Settings should be made in one SET request."
::= { ipSettings 4 }

dns2 OBJECT-TYPE
    SYNTAX        IpAddress
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "DNS server 2. The address '0.0.0.0' may be used to remove an entry.
        Changes to IP Settings should be made in one SET request."
::= { ipSettings 5 }

dhcp OBJECT-TYPE
    SYNTAX      INTEGER {
        disabled (1),-- DHCP disabled
        enabled (2)-- DHCP enabled
    }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Dynamic Host Configuration Protocol (DHCP) configuration.
        Changes to IP Settings should be made in one SET request but if you enable
        DHCP only this value and IPv6 address/dns can be set in one SET request."
::= { ipSettings 6 }

ipv6Address OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "IPv6 address of the system.
        Changes to IP Settings should be made in one SET request but IPv6 Address
        can be configured independently."
::= { ipSettings 7 }

ipv6Dns1 OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "IPv6 DNS server 1. The address '::' may be used to remove an entry.
        Changes to IP Settings should be made in one SET request."
::= { ipSettings 8 }

ipv6Dns2 OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "IPv6 DNS server 2. The address '::' may be used to remove an entry.
        Changes to IP Settings should be made in one SET request."
::= { ipSettings 9 }

ipSettingsUsb OBJECT IDENTIFIER ::= { ipSettings 10 }

ethernetPortTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF EthernetPortEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
::= {ipSettings 11 }

-- ------------------------------------------------------------------ --
-- IP Usb Settings
-- ------------------------------------------------------------------ --



ipSettingsUsbMode OBJECT-TYPE
    SYNTAX      INTEGER {
        disabled (1),
        lan (2),
        mobile(3),
        serial (4),
        lanAdapter(5),
        portExtender(6)
    }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Needs to be set according to the connected USB-device .
        Changes to USB IP Settings should be made in one SET request."
::= { ipSettingsUsb 1 }

ipSettingsUsbMobileDialInNumber OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Only relevant for usbmode=Mobile(3).
        Changes to USB IP Settings should be made in one SET request."
::= { ipSettingsUsb 2 }

ipSettingsUsbMobileAPN OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Only relevant for usbmode=Mobile(3).
        Changes to USB IP Settings should be made in one SET request."
::= { ipSettingsUsb 3 }

ipSettingsUsbMobileUserName OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Only relevant for usbmode=Mobile(3).
        Changes to USB IP Settings should be made in one SET request."
::= { ipSettingsUsb 4 }

ipSettingsUsbMobileUserPassword OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Only relevant for usbmode=Mobile(3).
        Changes to USB IP Settings should be made in one SET request."
::= { ipSettingsUsb 5 }

ipSettingsUsbMobileSIMPin OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Only relevant for usbmode=Mobile(3).
        Changes to USB IP Settings should be made in one SET request."
::= { ipSettingsUsb 6 }

ipSettingsUsbMobileIPAddress OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Only relevant for usbmode=Mobile(3).
        Changes to USB IP Settings should be made in one SET request."
::= { ipSettingsUsb 7 }

ipSettingsUsbMobileRoutingNetAddress OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Only relevant for usbmode=Mobile(3).
        Changes to USB IP Settings should be made in one SET request."
::= { ipSettingsUsb 8 }

ipSettingsUsbMobileRoutingNetMask OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Only relevant for usbmode=Mobile(3).
        Changes to USB IP Settings should be made in one SET request."
::= { ipSettingsUsb 9 }

ipSettingsUsbLanAdapterIPAddress OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Only relevant for usbmode=LanAdapter(5).
        Changes to USB IP Settings should be made in one SET request."
::= { ipSettingsUsb 10 }

ipSettingsUsbLanAdapterSubnetMask OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Only relevant for usbmode=LanAdapter(5).
        Changes to USB IP Settings should be made in one SET request."
::= { ipSettingsUsb 11 }

ipSettingsUsbLanAdapterGateway OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Only relevant for usbmode=LanAdapter(5).
        Changes to USB IP Settings should be made in one SET request."
::= { ipSettingsUsb 12 }

ipSettingsUsbLanAdapterRoutingNetAddress OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Only relevant for usbmode=LanAdapter(5).
        Changes to USB IP Settings should be made in one SET request."
::= { ipSettingsUsb 13 }

ipSettingsUsbLanAdapterRoutingNetMask OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Only relevant for usbmode=LanAdapter(5).
        Changes to USB IP Settings should be made in one SET request."
::= { ipSettingsUsb 14 }

-- ------------------------------------------------------------------ --
-- IP ethernet Settings
-- ------------------------------------------------------------------ --

ethernetPortEntry OBJECT-TYPE
      SYNTAX        EthernetPortEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
      INDEX         { ethernetPortId }
::= { ethernetPortTable 1 }

EthernetPortEntry ::=
      SEQUENCE {
        ethernetPortId            Integer32,
        ethernetPortIdentifier    SnmpAdminString,
        ethernetPortMode          INTEGER,
        ethernetPortBitrate        INTEGER,
        ethernetPortDuplex        INTEGER,
        ethernetPortMtu           Integer32
      }

ethernetPortId          OBJECT-TYPE
    SYNTAX      Integer32 (1..1)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   "Index"
    ::=  { ethernetPortEntry 1 }


ethernetPortIdentifier   OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Identifier of the Ethernetdevice"
    ::=  { ethernetPortEntry 2 }

ethernetPortMode        OBJECT-TYPE
    SYNTAX      INTEGER {
      autoneg (1),
      half10 (2),
      full10 (3),
      half100 (4),
      full100 (5),
      full1000 (6)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "selected ethernet mode,not configurable on some hardware"
    ::=  { ethernetPortEntry 3 }

ethernetPortBitrate   OBJECT-TYPE
    SYNTAX      INTEGER {
      bitrate10 (1),
      bitrate100 (2),
      bitrate1000 (3)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "curent ethernet Bitrate"
    ::=  { ethernetPortEntry 4 }

ethernetPortDuplex  OBJECT-TYPE
    SYNTAX      INTEGER {
      half (1),
      full (2)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "current duplex mode"
    ::=  { ethernetPortEntry 5 }

ethernetPortMtu    OBJECT-TYPE
    SYNTAX      Integer32 (1280..1500)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "configured Mtu "
    ::=  { ethernetPortEntry 6 }

-- ------------------------------------------------------------------ --
-- softwareMgmt
-- ------------------------------------------------------------------ --
softwareMgmtFileTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SoftwareMgmtFileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   ""
    ::=  { softwareMgmt 1 }

softwareMgmtFileEntry OBJECT-TYPE
    SYNTAX      SoftwareMgmtFileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   ""
    INDEX       {
                  softwareMgmtFileIndex
                }
    ::=  { softwareMgmtFileTable 1 }

SoftwareMgmtFileEntry ::=  SEQUENCE
  { softwareMgmtFileIndex Integer32,
    softwareMgmtFileSize Unsigned32,
    softwareMgmtFileCreationTime DateAndTime,
    softwareMgmtFileVersion SnmpAdminString,
    softwareMgmtFileFileName SnmpAdminString,
    softwareMgmtFileRowStatus RowStatus }

softwareMgmtFileIndex OBJECT-TYPE
    SYNTAX      Integer32 (0..5)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   "Index"
    ::=  { softwareMgmtFileEntry 1 }

softwareMgmtFileSize OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "Byte"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Size of File"
    ::=  { softwareMgmtFileEntry 2 }

softwareMgmtFileCreationTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Creation Time"
    ::=  { softwareMgmtFileEntry 3 }

softwareMgmtFileVersion OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "General Release Issue Number of software"
    ::=  { softwareMgmtFileEntry 4 }

softwareMgmtFileFileName OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "File Name"
    ::=  { softwareMgmtFileEntry 5 }

softwareMgmtFileRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The status of this row. Only active(1) and destroy(6)
        values are supported. New row is created when a new
        DB file is generated by backup action or downloaded
        to the storage. To remove a file from storage
        represented by this row, set this object destroy(6)."
    ::=  { softwareMgmtFileEntry 6 }

softwareMgmtRequest OBJECT-TYPE
    SYNTAX      INTEGER {
        none (1),                  -- none
        download (2),              -- download new software
        installActivate (3),       -- install and activate new software
        reboot (6),                -- reboot with current software
        downloadInstallActivate(8) -- shortcut (NE is FTP/SCP client)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Set request to initiate software management related action"
    ::= { softwareMgmt 2 }

softwareMgmtState OBJECT-TYPE
    SYNTAX      INTEGER {
        idle (1),
        downloading (2),
        downloadReadyForInstallation (3),
        installingSoftware (4),
        rebooting (7),
        failure (8)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current status of the SW upgrade process. When
        failure is set then softwareMgmtLastError is applicable."
    ::= { softwareMgmt 3 }

softwareMgmtLastError OBJECT-TYPE
    SYNTAX      INTEGER {
        noError (1),
        downloadLoginFailed (2),
        downloadFileNotFound (3),
        downloadFileNoAccess (4),
        downloadServerUnreachable (5),
        downloadFailed (6),
        installationFailed (7),
        restoreFailed (8),
        noSpaceLeft (9),       -- applicable for download and activate
        internalError (10),
        invalidBackupFile (11),
        installationVersionMismatch (12),
        installationFileNotExist (13),
        installationChecksumError (14),
        invalidBackupPassword (15)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The latest failure in the software upgrade process.
        Applicable only when softwareMgmtState is set to 'failure'.
        NOTE: All failures that are caused by malfunctioning
              hardware are reported as internalError(10)."
    ::= { softwareMgmt 4 }

softwareMgmtDatabaseUsage OBJECT-TYPE
    SYNTAX        INTEGER
                {
                  current(1),  -- default value, active DB will be used after upgrade
                  storage(2),  -- DB from selected file will be used after upgrade
                  factoryDefault(3) -- Reset to factory default.
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Options defining which database will be used after upgrade/reboot.
         When storage is selected then softwareMgmtDatabaseFileName must be set"
    ::= { softwareMgmt 5 }

softwareMgmtDatabaseFileName OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "DB filename located in the storage which will be used after SW installation
         when softwareMgmtDatabaseUsage is set to storage(2)"
    ::= { softwareMgmt 6 }

softwareMgmtServerAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The IP address of the external FTP/SCP server."
    ::= { softwareMgmt 7 }

softwareMgmtServerLogin OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The login name on the external FTP/SCP server."
    ::= { softwareMgmt 8 }

softwareMgmtServerPasswd OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The password on the external FTP/SCP server. Read requests on
        this object will return a zero-length string."
    ::= { softwareMgmt 9 }

softwareMgmtServerDirectory OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The SW file location (path) on the external FTP/SCP server."
   ::= { softwareMgmt 10 }

softwareMgmtFileName OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The SW file name (without path) on the external FTP/SCP server
        or the name of the file which has been downloaded to the NE."
    ::= { softwareMgmt 11 }

softwareMgmtTransferProtocol OBJECT-TYPE
    SYNTAX      INTEGER {
        ftp (1),
        scp (2)
    }    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The transfer protocol to be used."
    ::= { softwareMgmt 12 }

softwareMgmtFtpPort OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The TCP port number of FTP server used for file transfer.
         Default value is 21."
    ::=  { softwareMgmt 13 }

softwareMgmtActionProgress OBJECT-TYPE
    SYNTAX      Integer32 (0..100 | -2147483648)
    UNITS       "%"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Operational progress in % i.e. file transfer"
    ::=  { softwareMgmt 14 }

softwareMgmtIpv6Address OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The IPv6 address of the external FTP/SCP server."
    ::= { softwareMgmt 15 }

softwareMgmtScpPort OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The TCP port number of SCP server used for file transfer.
         Default value is 22."
    ::=  { softwareMgmt 16 }

softwareMgmtBackupPassword OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Optional, the password decrypting the backup.
        Only used if softwareMgmtDatabaseUsage is set to storage(2)
        For Decryption it has to be sent together with softwareMgmtRequest
        Read requests on this object will return a zero-length string.
        "
    ::= { softwareMgmt 17 }

-- ------------------------------------------------------------------ --
-- databaseMgmt
-- ------------------------------------------------------------------ --
databaseMgmtFileTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF DatabaseMgmtFileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   ""
    ::=  { databaseMgmt 1 }

databaseMgmtFileEntry OBJECT-TYPE
    SYNTAX      DatabaseMgmtFileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   ""
    INDEX       {
                  databaseMgmtFileIndex
                }
    ::=  { databaseMgmtFileTable 1 }

DatabaseMgmtFileEntry ::=  SEQUENCE
  { databaseMgmtFileIndex Integer32,
    databaseMgmtFileSize Unsigned32,
    databaseMgmtFileCreationTime DateAndTime,
    databaseMgmtFileVersion SnmpAdminString,
    databaseMgmtFileFileName SnmpAdminString,
    databaseMgmtFileRowStatus RowStatus }

databaseMgmtFileIndex OBJECT-TYPE
    SYNTAX      Integer32 (0..5)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   "Index"
    ::=  { databaseMgmtFileEntry 1 }

databaseMgmtFileSize OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "Byte"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Size of File"
    ::=  { databaseMgmtFileEntry 2 }

databaseMgmtFileCreationTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Creation Time"
    ::=  { databaseMgmtFileEntry 3 }

databaseMgmtFileVersion OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "General Release Issue Number of software"
    ::=  { databaseMgmtFileEntry 4 }

databaseMgmtFileFileName OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "File Name"
    ::=  { databaseMgmtFileEntry 5 }

databaseMgmtFileRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The status of this row. Only active(1) and destroy(6)
        values are supported. New row is created when a new
        software image file downloaded to the storage.
        To remove a file from storage represented by this row,
        set this object destroy(6)."
    ::=  { databaseMgmtFileEntry 6 }

databaseMgmtRequest OBJECT-TYPE
    SYNTAX      INTEGER {
        none (1),
        download (2),
        upload (3),
        runBackup (4),
        runBackupUpload (5),
        runRestore (6),
        runDownloadRestore (7),
        resetToFactory (8)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Set request to initiate software management related action"
    ::= { databaseMgmt 2 }

databaseMgmtState OBJECT-TYPE
    SYNTAX      INTEGER {
        idle (1),
        downloading (2),
        uploading (3),
        runningBackup (4),
        runningRestore (5),
    resettingToFactory (6),
        failure (7)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current status of the backup/restore DB process. When
        failure is set then databaseMgmtLastError is applicable."
    ::= { databaseMgmt 3 }

databaseMgmtLastError OBJECT-TYPE
    SYNTAX      INTEGER {
        noError (1),
        transferLoginFailed (2),
        transferFileNotFound (3),
        transferFileNoAccess (4),
        transferServerUnreachable (5),
        transferFailed (6),
        backupFailed (7),
        restoreFailed (8),
        noSpaceLeft (9),
        internalError (10),
        invalidBackupFile (11),
        invalidBackupPassword (15)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The latest failure of the backup/restore DB process.
        Applicable only when databaseMgmtState is set to 'failure'.
        NOTE: All failures that are caused by malfunctioning
              hardware are reported as internalError."
    ::= { databaseMgmt 4 }

databaseMgmtServerAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The IP address of the external FTP/SCP server."
    ::= { databaseMgmt 5 }

databaseMgmtServerLogin OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The login name on the external FTP/SCP server."
    ::= { databaseMgmt 6 }

databaseMgmtServerPasswd OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The password on the external FTP/SCP server. Read requests on
         this object will return a zero-length string."
    ::= { databaseMgmt 7 }

databaseMgmtServerDirectory OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The file location (path) on the external FTP/SCP server."
   ::= { databaseMgmt 8 }

databaseMgmtFileName OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The file name (without path and either without file name extension or with .ADB extension)
         on the external FTP/SCP server or the name of the file which has been downloaded to the NE.
         Set to empty for auto-generated filename, only available during the backup process, will be
         changed to the file name once the backup is started"
    ::= { databaseMgmt 9 }

databaseMgmtTransferProtocol OBJECT-TYPE
    SYNTAX      INTEGER {
        ftp (1),
        scp (2)
    }    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The transfer protocol to be used."
    ::= { databaseMgmt 10 }

databaseMgmtFtpPort OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The TCP port number of the FTP server used for file transfer.
         Default value is 21."
    ::=  { databaseMgmt 11 }

databaseMgmtActionProgress OBJECT-TYPE
    SYNTAX      Integer32 (0..100 | -2147483648)
    UNITS       "%"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Operational progress in % i.e. file transfer"
    ::=  { databaseMgmt 12 }

databaseMgmtIpv6Address OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The IPv6 address of the external FTP/SCP server."
    ::= { databaseMgmt 13 }

databaseMgmtScpPort OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The TCP port number of the FTP server used for file transfer.
         Default value is 22."
    ::=  { databaseMgmt 14 }

databaseMgmtBackupPassword OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Optional, the password encrypting/decrypting the backup,
         For En-/Decryption it has to be sent together with databaseMgmtRequest.
         Read requests on this object will return a zero-length string."
    ::= { databaseMgmt 15 }

-- ------------------------------------------------------------------ --
-- ntpMgmt
-- ------------------------------------------------------------------ --

ntpClientConfig OBJECT-TYPE
    SYNTAX      INTEGER {
        disabled (1),  -- NTP client disabled
        enabled (2)  -- default value, NTP client enabled
    }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "NTP client configuration."
::= { ntpMgmt 1}

ntpServerName OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Address of first NTP Server."
::= { ntpMgmt 2}

ntpServerName2 OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Address of second NTP Server."
::= { ntpMgmt 3}

ntpServerName3 OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Address of second NTP Server."
::= { ntpMgmt 4}

ntpTimeChangeReason OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    accessible-for-notify
    STATUS        current
    DESCRIPTION
        "Reason of Time Change (manual, ntp)"
::= { ntpMgmt 5}
-- ------------------------------------------------------------------ --
-- generalSettings
-- ------------------------------------------------------------------ --

operationMode OBJECT-TYPE
    SYNTAX      INTEGER {
        standalone (1), -- Standalone version, managed directly by NM.
        controller (2)  -- Controller version, managed indirectly (via controller).
    }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Mode of operation. Switching between versions affects the available functionality of NE
        (e.g. user management). Switching between the modes is not service affecting and does not
        cause any other effects, except showing/hiding particular functionality."
::= { generalSettings 1}

httpsPort OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Https Port for webgui access"
::= { generalSettings 2}

-- ------------------------------------------------------------------ --
-- Access Security
-- ------------------------------------------------------------------ --

access OBJECT IDENTIFIER ::= { generalSettings 3 }

sshInterface OBJECT-TYPE
    SYNTAX      INTEGER {
        disabled (1),  -- ssh server disabled
        enabled (2)  -- default value, ssh server enabled
    }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Ssh server configuration."
::= { access 1 }

netconfInterface OBJECT-TYPE
    SYNTAX      INTEGER {
        disabled (1),  -- netconf server disabled
        enabled (2)  -- default value, netconf server enabled
    }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Netconf server configuration."
::= { access 2 }

sshPasswordAuthentication OBJECT-TYPE
    SYNTAX      INTEGER {
        disabled (1),  -- ssh server password interactive disabled
        enabled (2)  -- default value, ssh server password interactive  enabled
    }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
         "Ssh server configuration for password interactive."
::= { access 3 }

generalSessionTimeout OBJECT-TYPE
    SYNTAX      Integer32 (1..60)
    UNITS         "min"
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Timeout for all sessions except snmp in minutes."
::= { access 4 }

snmpSessionTimeout OBJECT-TYPE
    SYNTAX      Integer32 (30..3600)
    UNITS         "min"
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Timeout for snmp sessions in seconds"
::= { access 5 }

maxLoginFailureDelay OBJECT-TYPE
    SYNTAX      Integer32 (0..99999)
    UNITS         "s"
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Maximum wait time after a fail login attempt in seconds"
::= { access 6 }

passwordStrength OBJECT-TYPE
    SYNTAX      INTEGER {
        basic (1),  -- atleast 8 characters
        enhanced (2)  -- atleast 12 characters, 1 lower/upper case letter, 1 number, 1 special chracter
    }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
         "Strength required for user passwords"
::= { access 7 }

userInfoDeletionPeriod OBJECT-TYPE
    SYNTAX      Integer32 (0..1096)
    UNITS         "d"
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
         "Period in days after user info is deleted from logs, 0 to disable the feature"
::= { access 8 }

defaultTrapsinkLifetime OBJECT-TYPE
    SYNTAX    INTEGER {
        duration1hour(1),
        duration1day(2),
        duration3days(3),
        duration1week(4),
        duration1month(5),
        unlimited(6)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
      "Default lifetime of Trapsink"
::= { access 9 }

-- ------------------------------------------------------------------ --
-- generalSettingsPKI
-- ------------------------------------------------------------------ --

pki OBJECT IDENTIFIER ::= { generalSettings 4 }

caTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF CaEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION   "caTable"
    ::= { pki 1 }

caEntry OBJECT-TYPE
    SYNTAX        CaEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION   "Entry of caTable"
    INDEX       {
                  caId
                }
    ::= { caTable 1 }

CaEntry ::= SEQUENCE
  {    caId Unsigned32,
    caRowStatus RowStatus,
    caAlias SnmpAdminString,
    caScepUrl SnmpAdminString,  --todo maybe 3 parts like netconf/tool
    caScepDomainName SnmpAdminString,
    caScepUserName SnmpAdminString,
    caScepPassword SnmpAdminString,
    caScepCertValidation INTEGER,
    caScepQueryMessage SnmpAdminString,
    caScepCipherAlgorithm INTEGER,
    caScepDigestAlgorithm INTEGER,
    caScepRequestMethod INTEGER}

caId OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    accessible-for-notify
    STATUS        current
    DESCRIPTION   ""
    ::= { caEntry 1 }

caRowStatus OBJECT-TYPE
    SYNTAX        RowStatus
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "RowStatus object is used to create or delete a row in the table."
    ::= { caEntry 2 }

caAlias OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "User Applied Descriptor"
    ::= { caEntry 3 }

caScepUrl OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "SCEP service URL. May omit the scheme, because HTTP is used by default anyway.
        May omit the path, then default path for MS CA will be assumed '/CertSrv/mscep/mscep.dll/pkiclient.exe'"
    ::= { caEntry 4 }

caScepDomainName OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "Domain name for SCEP service authorization."
    ::= { caEntry 5 }

caScepUserName OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "User name for SCEP service authorization."
    ::= { caEntry 6 }

caScepPassword OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "Password for SCEP service authorization."
    ::= { caEntry 7 }

caScepCertValidation OBJECT-TYPE
    SYNTAX      INTEGER {
      disabled (1),
      enabled (2)
    }
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "SCEP certificate(s) attibutes/extensions validation"
    ::= { caEntry 8 }

caScepQueryMessage OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "Optional SCEP query message, required by some SCEP server implementations,
         e.g. common name of the CA/RA or any non-empty value."
    ::= { caEntry 9}

caScepCipherAlgorithm  OBJECT-TYPE
    SYNTAX      INTEGER {
      cipherAes128  (1),
      cipher3des    (2)
    }
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "SCEP cipher algorithm "
    ::= { caEntry 10 }

caScepDigestAlgorithm  OBJECT-TYPE
    SYNTAX      INTEGER {
      sha1    (1),
      sha256  (2),
      sha512  (3)
    }
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "SCEP digest algorithm"
    ::= { caEntry 11 }

caScepRequestMethod OBJECT-TYPE
    SYNTAX      INTEGER {
      get (1),
      post (2)
    }
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "SCEP request method"
    ::= { caEntry 12 }

keyTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF KeyEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION   "keyTable"
    ::= { pki 2 }

keyEntry OBJECT-TYPE
    SYNTAX        KeyEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION   "Entry of keyTable"
    INDEX       {
                  keyId
                }
    ::= { keyTable 1 }

KeyEntry ::= SEQUENCE
  {    keyId Unsigned32,
    keyRowStatus RowStatus,
    keyAlias SnmpAdminString,
    keyProfile Integer32,
    keyAlgorithm INTEGER,
    keyLength INTEGER,
    keySha1  OCTET STRING,
    keySha256  OCTET STRING,
    keyCertCommonName SnmpAdminString,
    keyCertAlternativeNameIp SnmpAdminString,
    keyCertAlternativeNameDns SnmpAdminString,
    keyCertKeyUsage SnmpAdminString,
    keyCertExtKeyUsage SnmpAdminString,
    keyCertValidityPeriod Integer32,
    keyCertRequestChallenge SnmpAdminString,
    keyCertRenewMode INTEGER,
    keyCertRenewInterval Integer32,
    keyCertRenewRetryInterval Integer32,
    keyCertRenewDate DateAndTime,
    keyCertWarnInterval Integer32,
    keyCertRequest INTEGER,
    keyCertRequestStatus INTEGER,
    keyCaEntity SnmpAdminString,
    keyCertificates SnmpAdminString}

keyId OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    accessible-for-notify
    STATUS        current
    DESCRIPTION   ""
    ::= { keyEntry 1 }

keyRowStatus OBJECT-TYPE
    SYNTAX        RowStatus
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "RowStatus object is used to create or delete a row in the table."
    ::= { keyEntry 2 }

keyAlias OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "User Applied Descriptor"
    ::= { keyEntry 3 }

keyProfile OBJECT-TYPE
    SYNTAX        INTEGER {
      none (1),
      web (2)
    }
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "Cryptographic key usage/application profile."
    ::= { keyEntry 4 }

keyAlgorithm OBJECT-TYPE
    SYNTAX        INTEGER {
    undefined(0),
    rsa(1),
    dsa(2),
    ecdsa(3)
    }
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "Cryptographic key algorithm"
    ::= { keyEntry 5 }

keyLength OBJECT-TYPE
    SYNTAX        INTEGER {
    undefined(0),
    len256(1),
    len384(2),
    len1024(3),
    len2048(4),
    len3072(5),
    len4096(6)
    }
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "Cryptographic key bit-length or bit-size. It is not a direct 'security level',
          because it depends on key algorithm in the first place."
    ::= { keyEntry 6 }


keySha1 OBJECT-TYPE
    SYNTAX        OCTET STRING (SIZE(0..255))
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "SHA-1 fingerprint (hash value) of data"
    ::= { keyEntry 7 }

keySha256 OBJECT-TYPE
    SYNTAX         OCTET STRING (SIZE(0..255))
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "SHA-256 fingerprint (hash value) of data"
    ::= { keyEntry 8 }

keyCertCommonName OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "Public key certificate subject's common name"
    ::= { keyEntry 9 }

keyCertAlternativeNameIp OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "Public key certificate subject's alternative name (IP address)"
    ::= { keyEntry 10 }

keyCertAlternativeNameDns OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "Public key certificate subject's alternative name (DNS name)"
    ::= { keyEntry 11 }

keyCertKeyUsage OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "Public key certificate key usage (X.509 attribute)"
    ::= { keyEntry 12 }

keyCertExtKeyUsage OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "Public key certificate extended key usage (X.509 attribute)"
    ::= { keyEntry 13 }

keyCertValidityPeriod OBJECT-TYPE
    SYNTAX        Integer32
    UNITS         "y"
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "Public key certificate requested validity period (in years), only for selfsigned"
    ::= { keyEntry 14 }

keyCertRequestChallenge OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "Certificate signing request challenge password. When using automatic enrollment procotol (SCEP),
         request challenge is used to authorize initial certificate signing request."
    ::= { keyEntry 15 }

keyCertRenewMode OBJECT-TYPE
    SYNTAX        INTEGER {
      manual (1),
      autoSelfSinged (2),
      autoNoChallengeNewKey (3),
      autoChallengeNoNewKey (4),
      autoNoChallengeNoNewKey (5),
      autoChallengeNewKey(6)
    }
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "Public key certificate renewal mode - either manual or automatic.
        In manual mode the user must trigger generation of a new certificate."
    ::= { keyEntry 16 }

keyCertRenewInterval OBJECT-TYPE
    SYNTAX        Integer32
    UNITS         "%|min"
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "Public key certificate renewal interval. Determines when to renew the
        certificate relative to current certificate's either validity period (when given in -percentage)
        or validity end date (+ minutes)."
    ::= { keyEntry 17 }

keyCertRenewRetryInterval OBJECT-TYPE
    SYNTAX        Integer32
    UNITS         "min"
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "Public key certificate renewal retry interval. In minutes"
    ::= { keyEntry 18 }

keyCertRenewDate OBJECT-TYPE
    SYNTAX        DateAndTime
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "Planned date (UTC) of certificate (optionally, also key) renewal. Normally should be in the future,
           but might be in the past, especially in case of failure."
    ::= { keyEntry 19 }

keyCertWarnInterval OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "Public key certificate warn periode. Determines when to warn about a certificate,
        relative to current certificate's either validity period (when given in -percentage) or validity end date (+ minutes)"
    ::= { keyEntry 20 }

keyCertRequest OBJECT-TYPE
    SYNTAX        INTEGER {
      none (1),
      newCert (2),
      renewCert (3)
    }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION   "Starts procedure of certificate signing request to be processed by a external CA."
    ::= { keyEntry 21 }

keyCertRequestStatus OBJECT-TYPE
    SYNTAX        INTEGER {
      idle (1),
      running (2),
      generalError (3),
      applyError (4),
      networkError (5),
      scepCapsError (6),
      scepProtoError (7),
      authError (8),
      urlError (9),
      hostError (10),
      timeoutError (11),
      certAttributeError (12),
      certError (13)
    }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "Status of the last certificate signing request"
    ::= { keyEntry 22 }

keyCaEntity OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "Identifier of an associated certificate authority"
    ::= { keyEntry 23 }

keyCertificates OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "Identifiers of associated public key certificate(s)"
    ::= { keyEntry 24 }

certificateTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF CertificateEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION   "certificateTable"
    ::= { pki 3 }

certificateEntry OBJECT-TYPE
    SYNTAX        CertificateEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION   "Entry of certificateTable"
    INDEX       {
                  certificateId
                }
    ::= { certificateTable 1 }

CertificateEntry ::= SEQUENCE
  {    certificateId Unsigned32,
    certificateType INTEGER,
    certificateValidityStatus INTEGER,
    certificatePurpose INTEGER,
    certificateStatus INTEGER,
    certificateIssuer SnmpAdminString,
    certificateSerialNo SnmpAdminString,
    certificateSubject SnmpAdminString,
    certificateCommonName SnmpAdminString,
    certificateValidFrom DateAndTime,
    certificateValidTo DateAndTime,
    certificateSignAlgorithm INTEGER,
    certificateSha1  OCTET STRING,
    certificateSha256  OCTET STRING,
    certificateAlternativeNameIp SnmpAdminString,
    certificateAlternativeNameDns SnmpAdminString,
    certificateKeyUsage SnmpAdminString,
    certificateExtKeyUsage SnmpAdminString,
    certificateBasicConstraints SnmpAdminString,
    certificateCrlDistrPoints SnmpAdminString,
    certificateCaEntity SnmpAdminString,
    certificateKeyEntity SnmpAdminString}

certificateId OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    accessible-for-notify
    STATUS        current
    DESCRIPTION   ""
    ::= { certificateEntry 1 }
certificateType OBJECT-TYPE
    SYNTAX        INTEGER {
    none(1),
    selfSigned(13),
    endEntity(15),
    manual(16)
    }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "Public key certificate type."
    ::= { certificateEntry 2 }
certificateValidityStatus OBJECT-TYPE
    SYNTAX        INTEGER {
    capUndefined(0),
    capNone(1),
    capOkay(2),
    capIssuerError(3),
    capDateError(4),
    capRevoked(5),
    capSignatureError(6),
    capAttributeError(7),
    capGeneralFail(8),
    capDateExpired(9),
    capDateNotReached(10),
    capIssuerUknown(11),
    capIssuerNotTrusted(12),
    capConstraintsError(13)
    }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "Public key certificate type and validity status"
    ::= { certificateEntry 3 }

certificatePurpose OBJECT-TYPE
    SYNTAX        INTEGER {
    none(1),
    webService(2)
    }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "Public key certificate purpose/application. When associated key is available,
        its purpose is derived from the associated key's profile. Otherwise the purpose needs to be declared."
    ::= { certificateEntry 4 }

certificateStatus OBJECT-TYPE
    SYNTAX       INTEGER {
      none (1),
      active (2),
      needrenew(3),
      applyerror(4)
    }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "Certificate status."
    ::= { certificateEntry 5 }

certificateIssuer OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "Public key certificate issuer"
    ::= { certificateEntry 6 }

certificateSerialNo OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "Public key certificate serial number"
    ::= { certificateEntry 7 }

certificateSubject OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "Public key certificate subject"
    ::= { certificateEntry 8 }

certificateCommonName OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "Public key certificate subject's common name"
    ::= { certificateEntry 9 }

certificateValidFrom OBJECT-TYPE
    SYNTAX        DateAndTime
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "Start date (UTC) of public key certificate's validity period"
    ::= { certificateEntry 10 }

certificateValidTo OBJECT-TYPE
    SYNTAX        DateAndTime
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "End date (UTC) of public key certificate's validity period"
    ::= { certificateEntry 11 }

certificateSignAlgorithm OBJECT-TYPE
    SYNTAX        INTEGER {
    undefined(0),
    none(1),
    md5(2),
    sha1(3),
    sha224(4),
    sha256(5),
    sha384(6),
    sha512(7),
    other(8)
    }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "Certificate signature hash (message digest) algorithm"
    ::= { certificateEntry 12 }

certificateSha1 OBJECT-TYPE
    SYNTAX         OCTET STRING (SIZE(0..255))
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "SHA-1 fingerprint (hash value) of data"
    ::= { certificateEntry 13 }

certificateSha256 OBJECT-TYPE
    SYNTAX         OCTET STRING (SIZE(0..255))
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "SHA-256 fingerprint (hash value) of data"
    ::= { certificateEntry 14 }

certificateAlternativeNameIp OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "Public key certificate subject's alternative name (multiple IP addresses)"
    ::= { certificateEntry 15 }

certificateAlternativeNameDns OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "Public key certificate subject's alternative name (multiple DNS names)"
    ::= { certificateEntry 16 }

certificateKeyUsage OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "Public key certificate key usage (X.509 attribute)"
    ::= { certificateEntry 17 }

certificateExtKeyUsage OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "Public key certificate extended key usage (X.509 attribute)"
    ::= { certificateEntry 18 }

certificateBasicConstraints OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "Public key certificate basic constraints"
    ::= { certificateEntry 19 }

certificateCrlDistrPoints OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "List of CRL distribution points URLs (CDPs), extracted from certificate extension.
      Supports only HTTP URLs, other protocols are ignored."
    ::= { certificateEntry 20 }

certificateCaEntity OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS     read-only
    STATUS        current
    DESCRIPTION   "Identifier of an associated certificate authority"
    ::= { certificateEntry 21 }

certificateKeyEntity OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "Identifiers of cryptograhic keys associated with public key certificate."
    ::= { certificateEntry 22 }


-- ------------------------------------------------------------------ --
-- emailNotifySettings
-- ------------------------------------------------------------------ --

emailNotifyConfig OBJECT-TYPE
    SYNTAX      INTEGER {
        disabled (1),  -- email functionality disabled
        enabledMails (2),  -- email functionality enabled, ALM sends mails
        enabledTraps (3),  -- email functionality enabled, ALM sends traps instead of mails
        enabledMailsAndTraps(4) -- email functionality enabled, ALM sends traps and mails
    }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Email functionality configuration."
::= { emailNotifySettings 1}

smtpServerName OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Name or IP Address (IPv4 or IPv6) of the SMTP server."
::= { emailNotifySettings 2}

smtpServerPort OBJECT-TYPE
    SYNTAX        Integer32 (1..65535)
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Port of the SMTP server."
::= { emailNotifySettings 3}

smtpServerConnectionSecurity OBJECT-TYPE
    SYNTAX      INTEGER {
        none (1),
        sslTls (2),
        startTls (3)
    }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Security type for the connection to the SMTP server."
::= { emailNotifySettings 4}

smtpServerAuthConfig OBJECT-TYPE
    SYNTAX      INTEGER {
        noAuth (1),  -- no authentication
        auth (2)  -- use authentication
    }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Configuration of authentication with SMTP server.
         If set from noAuth(1) to auth(2) then smtpServerAccount
         and smtpServerPasswd have to be given in the same SET request."
::= { emailNotifySettings 5}

smtpServerAccount OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(0..100))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Account used for authentication with SMTP server."
::= { emailNotifySettings 6 }

smtpServerPasswd OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(0..100))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Password used for authentication with SMTP server. Read requests on
        this object will return a zero-length string."
::= { emailNotifySettings 7 }

-- ------------------------------------------------------------------ --
-- emailRecipientTable
-- ------------------------------------------------------------------ --
emailRecipientTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF EmailRecipientEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      "Table of email recipients."
::= { emailNotifySettings 8 }

emailRecipientEntry OBJECT-TYPE
      SYNTAX        EmailRecipientEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
      INDEX         { emailRecipientId }
::= { emailRecipientTable 1 }

EmailRecipientEntry ::=
      SEQUENCE {
         emailRecipientId             Integer32,
         emailRecipientAddress        DisplayString,
         emailRecipientType           INTEGER,
         emailRecipientRowStatus      RowStatus,
         emailRecipientFormat         INTEGER,
         emailRecipientMinSeverity    INTEGER,
         emailRecipientAttachment     INTEGER
    }

emailRecipientId OBJECT-TYPE
    SYNTAX        Integer32 (1..10)
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        ""
::= { emailRecipientEntry 1 }

emailRecipientAddress OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION
        "An email address."
::= { emailRecipientEntry 2 }

emailRecipientType OBJECT-TYPE
    SYNTAX      INTEGER { to(1), cc(2), bcc(3) }
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION
        "The default value is to(1)."
::= { emailRecipientEntry 3 }

emailRecipientRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The status of this conceptual row. To create a row in this
        table, set this object to createAndGo(4). To remove a row,
        set this object to destroy(6)."
::= { emailRecipientEntry 4 }

emailRecipientFormat OBJECT-TYPE
    SYNTAX      INTEGER { xml(1), text(2) , longText(3) }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The email format. You can choose either
        XML or the human readable email text format.
        The default value is xml(1)"
::= { emailRecipientEntry 5 }

emailRecipientMinSeverity OBJECT-TYPE
    SYNTAX      INTEGER { low(1), med(2), high(3) }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The minimum severity of alarms that are sent to
        the recipient.
        The default value is low(1)"
::= { emailRecipientEntry 6 }

emailRecipientAttachment OBJECT-TYPE
    SYNTAX      INTEGER { no(1), yes(2) }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Attach trace in sor format.
        The default value is no(1)"
::= { emailRecipientEntry 7 }

-- ------------------------------------------------------------------ --
-- externalIdTable
-- ------------------------------------------------------------------ --
externalIdTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF ExternalIdEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      "Table defining the mapping of portIds to externalIds."
::= { emailNotifySettings 9 }

externalIdEntry OBJECT-TYPE
      SYNTAX        ExternalIdEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
      INDEX         { portId }
::= { externalIdTable 1 }

ExternalIdEntry ::=
      SEQUENCE {
             externalId  DisplayString
    }

externalId OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..64))
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The externalId for the corresponding port."
::= { externalIdEntry 1}

smtpSenderAddress OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Sender Address."
::= { emailNotifySettings 10 }

smtpExtendedHello OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "EHLO (Extended Hello) or HELO (Hello) identifies the server initiating the connection."
::= { emailNotifySettings 11 }

-- ------------------------------------------------------------------ --
-- advaSecurity
-- ------------------------------------------------------------------ --

authTrapUserName OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The name string for user authentication purposes."
    ::=  { advaSecurity 1 }

authTrapLctIp OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "IP address of LCT used in NE access."
    ::=  { advaSecurity 2 }

authTrapStatus OBJECT-TYPE
    SYNTAX      INTEGER { success(2), authenticationError(3), sessionError(4), logout(5) }
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Indication whether security operation was successful/unsuccessful."
    ::=  { advaSecurity 3 }

authTrapSessionId OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Session name used in NE access."
    ::=  { advaSecurity 4 }

authTrapProtocol OBJECT-TYPE
    SYNTAX      INTEGER { login(2), ssh(4), snmp(6), https(8), netconf(11) }
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Protocol type used in NE access."
    ::=  { advaSecurity 5 }

authTrapSuccessfulAuthCount OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Number of successful authentications."
    ::=  { advaSecurity 6 }

authTrapUnsuccessfulAuthCount OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Number of unsuccessful authentications."
    ::=  { advaSecurity 7 }

authTrapLogoutCount OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Number of logouts."
    ::=  { advaSecurity 8 }

authTrapLctIpv6 OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "IPv6 address of LCT used in NE access."
    ::=  { advaSecurity 9 }

-- ------------------------------------------------------------------ --
-- lossGuidance
-- ------------------------------------------------------------------ --

lossGuidanceConfig OBJECT-TYPE
    SYNTAX      INTEGER {
        disabled (1),  -- loss guidance functionality disabled
        enabled (2)    -- loss guidance functionality enabled
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        ""
    ::=  { lossGuidance 1 }

minLoss OBJECT-TYPE
    SYNTAX      Integer32 (20..50)
    UNITS       "0.1 dB"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Default value is 20. In tenth of dB."
    ::=  { lossGuidance 2 }

alwDev OBJECT-TYPE
    SYNTAX      Integer32 (10..30)
    UNITS       "0.1 dB"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Default value is 10. In tenth of dB."
    ::=  { lossGuidance 3 }

lossKm OBJECT-TYPE
    SYNTAX      Integer32 (10..50)
    UNITS       "0.01 dB"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Default value is 29. In hundredth of dB."
    ::=  { lossGuidance 4 }

lossConnectors OBJECT-TYPE
    SYNTAX      Integer32 (0..10)
    UNITS       "0.1 dB"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Default value is 5. In tenth of dB."
    ::=  { lossGuidance 5 }

lossSplices OBJECT-TYPE
    SYNTAX      Integer32 (0..10)
    UNITS       "0.1 dB"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Default value is 1. In tenth of dB."
    ::=  { lossGuidance 6 }

numConnectors OBJECT-TYPE
    SYNTAX      Integer32 (0..20)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Default value is 2."
    ::=  { lossGuidance 7 }

numSplices OBJECT-TYPE
    SYNTAX      Integer32 (0..20)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Default value is 2."
    ::=  { lossGuidance 8 }

-- ------------------------------------------------------------------ --
-- userManagementTable
-- ------------------------------------------------------------------ --

userManagementTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF UserManagementEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION   "userManagementTable"
    ::= { userManagement 1 }

userManagementEntry OBJECT-TYPE
    SYNTAX        UserManagementEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION   "Entry of userManagementTable"
    INDEX       {
                  userManagementUsername
                }
    ::= { userManagementTable 1 }

UserManagementEntry ::= SEQUENCE
{
    userManagementRowStatus RowStatus,
    userManagementUsername SnmpAdminString,
    userManagementEmailAddress SnmpAdminString,
    userManagementPrivilegeLevel INTEGER,
    userManagementSecurityLevel INTEGER,
    userManagementAuthPrivKey SnmpAdminString,
    userManagementAuthPrivKeyOld SnmpAdminString,
    userManagementUdpSessionStatus INTEGER,
    userManagementSso2fa INTEGER,
    userManagementSnmpAuthProtocol INTEGER,
    userManagementPrivacyKeyType INTEGER,
    userManagementPrivacyKey SnmpAdminString
}

userManagementRowStatus OBJECT-TYPE
    SYNTAX        RowStatus
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "RowStatus"
    ::= { userManagementEntry 1 }

userManagementUsername OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "The name string for user authentication purposes"
    ::= { userManagementEntry 2 }

userManagementEmailAddress OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "An email address"
    ::= { userManagementEntry 3 }

userManagementPrivilegeLevel OBJECT-TYPE
    SYNTAX        INTEGER {
        admin(1),
        operator(2),
        observer(3),
        netadmin(4)
    }
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   ""
    ::= { userManagementEntry 4 }

userManagementSecurityLevel OBJECT-TYPE
    SYNTAX        INTEGER {
        undefined(0),
        noAuthNoPriv(1),
        authNoPriv(2),
        authPriv(3)
    }
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   ""
    ::= { userManagementEntry 5 }

userManagementAuthPrivKey OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "A human readable string representing the current or new password for user
                  account. Users with administrator privileges can use this object to set the
                  password of other users."
    ::= { userManagementEntry 6 }

userManagementAuthPrivKeyOld OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "A human readable string representing the old password for user
                   account. This object should be used only for password change
                   procedure."
    ::= { userManagementEntry 7 }

userManagementUdpSessionStatus OBJECT-TYPE
    SYNTAX        INTEGER {
        undefined(0),
        active(1),
        inactive(2)
    }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "UDP-based User Session Status"
    ::= { userManagementEntry 8 }

userManagementSso2fa OBJECT-TYPE
    SYNTAX      INTEGER {
        disabled (1),
        enabled (2)
    }
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "If enabled, user can login only if Single Sign On
        and 2 Factor Authentication are enabled.
        This parameter can be set only on user creation."
    ::= { userManagementEntry 9 }

userManagementSnmpAuthProtocol OBJECT-TYPE
    SYNTAX      INTEGER {
        md5 (1),
        sha256 (2),
        sha512 (3)
    }
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "Changes the HMAC for v3 Authentication.
        Default is MD5.
        This parameter can be set only on password creation/change."
    ::= { userManagementEntry 10 }

userManagementPrivacyKeyType OBJECT-TYPE
    SYNTAX         INTEGER {
        authkey     (1),
        userdefined (2)
    }
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "Defines if SNMP Privacy Key should use a user password as value. Will delete userManagementPrivacyKey if set to  authkey."
    ::= { userManagementEntry 11 }

userManagementPrivacyKey OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "Privacy key/password for SNMP v3 auth-priv queries encryption."
    ::= { userManagementEntry 12 }

-- ------------------------------------------------------------------ --
-- exportMgmt
-- ------------------------------------------------------------------ --

exportMgmtRequest OBJECT-TYPE
    SYNTAX      INTEGER {
        none (1),
        exportAllLogs (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Set request to initiate software management related action"
    ::= { exportMgmt 1 }

exportMgmtState OBJECT-TYPE
    SYNTAX      INTEGER {
        idle (1),
        exporting (2),
        failure (7)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current status of the export process. When
        failure is set then databaseMgmtLastError is applicable."
    ::= { exportMgmt 2 }

exportMgmtLastError OBJECT-TYPE
    SYNTAX      INTEGER {
        noError (1),
        transferLoginFailed (2),
        transferFileNotFound (3),
        transferFileNoAccess (4),
        transferServerUnreachable (5),
        transferFailed (6),
        internalError (10)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The latest failure of the export process.
        Applicable only when exportMgmtLastError is set to 'failure'.
        NOTE: All failures that are caused by malfunctioning
              hardware are reported as internalError."
    ::= { exportMgmt 3 }

exportMgmtServerAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The IP address of the external FTP/SCP server."
    ::= { exportMgmt 4 }

exportMgmtServerLogin OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The login name on the external FTP/SCP server."
    ::= { exportMgmt 5 }

exportMgmtServerPasswd OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The password on the external FTP/SCP server. Read requests on
         this object will return a zero-length string."
    ::= { exportMgmt 6 }

exportMgmtServerDirectory OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The file location (path) on the external FTP/SCP server."
   ::= { exportMgmt 7 }

exportMgmtFileName OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The file name (without path and either without file name extension)
         on the external FTP/SCP server or the name of the file which has been downloaded to the NE."
    ::= { exportMgmt 8 }

exportMgmtTransferProtocol OBJECT-TYPE
    SYNTAX      INTEGER {
        ftp (1),
        scp (2)
    }    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The transfer protocol to be used."
    ::= { exportMgmt 9 }

exportMgmtFtpPort OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The TCP port number of the FTP server used for file transfer.
         Default value is 21."
    ::=  { exportMgmt 10 }

exportMgmtActionProgress OBJECT-TYPE
    SYNTAX      Integer32 (0..100 | -2147483648)
    UNITS       "%"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Operational progress in % i.e. file transfer"
    ::=  { exportMgmt 11 }

exportMgmtIpv6Address OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The IPv6 address of the external FTP/SCP server."
    ::= { exportMgmt 12 }

exportMgmtScpPort OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The TCP port number of the SCP server used for file transfer.
         Default value is 22."
    ::=  { exportMgmt 13 }

-- ------------------------------------------------------------------ --
-- bidirSettings
-- ------------------------------------------------------------------ --

bidirSettingsTimeSlotConfig OBJECT-TYPE
    SYNTAX      INTEGER {
        none (11),
        numSlots2unitSlot1 (21),
        numSlots2unitSlot2 (22),
        numSlots3unitSlot1 (31),
        numSlots3unitSlot2 (32),
        numSlots3unitSlot3 (33)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
      "This value selects the system-wide configuration about the number of
      time slots and the time slot used by this ALM unit.
      numSlots3unitSlot2 (32) means three time slots and the second one is
      used on this ALM unit."
    ::=  { bidirSettings 1 }

bidirSettingsInactiveUserCmds OBJECT-TYPE
    SYNTAX      INTEGER {
        disabled (1), -- bidirSettingsInactiveUserCmds  disabled
        enabled  (2)  -- bidirSettingsInactiveUserCmds  enabled
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If this option is enabled it allows users to run tasks during the inactive time slot."
    ::=  { bidirSettings 2 }

dwdmExtraWaitTimeSlot OBJECT-TYPE
    SYNTAX      Integer32 (0..32)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Add extra time before sending out the laser pulse"
    ::=  { bidirSettings 3 }




-- ------------------------------------------------------------------ --
-- remoteAuth
-- ------------------------------------------------------------------ --


authmode OBJECT-TYPE
    SYNTAX      INTEGER {
        disabled (1),  -- local auth
        radius   (2),  -- radius enabled
        tacacs   (3)   -- tacacs enabled
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "defines whether a remote authentication is enabled or not
        and if so which kind of server"
    ::=  { remoteAuth 1 }

loginmode OBJECT-TYPE
    SYNTAX      INTEGER {
        pap    (1),
        chap   (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "specifies the authentication protocol"
    ::=  { remoteAuth 2 }

sso2fa OBJECT-TYPE
    SYNTAX      INTEGER {
        disabled (1), -- sso_2fa  disabled
        enabled  (2)  -- sso_2fa  enabled
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "specifies whether single sign on is possible during
        2 factor authentication"
    ::=  { remoteAuth 3 }

remoteAuthServersTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF RemoteAuthServersEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION   "remoteAuthServersTable"
    ::= { remoteAuth 4 }

remoteAuthServersEntry OBJECT-TYPE
    SYNTAX        RemoteAuthServersEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION   "Entry of remoteAuthServersTable"
    INDEX       {
                   remoteAuthServersId
                }
    ::= { remoteAuthServersTable 1 }

RemoteAuthServersEntry ::= SEQUENCE
{
    remoteAuthServersId Integer32,
    remoteAuthServersIpAddress DisplayString,
    remoteAuthServersPort Integer32,
    remoteAuthServersSecret DisplayString,
    remoteAuthServersTimeout Integer32,
    remoteAuthServersActive INTEGER
}

remoteAuthServersId OBJECT-TYPE
    SYNTAX        Integer32 (1..3)
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        ""
::= { remoteAuthServersEntry 1 }

remoteAuthServersIpAddress OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "IpAddresse v4/v6"
::= { remoteAuthServersEntry 2 }

remoteAuthServersPort OBJECT-TYPE
    SYNTAX        Integer32 (0..65535)
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The default Radius 1812 /TACACS+ 49."
::= { remoteAuthServersEntry 3 }

remoteAuthServersSecret OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "secret of the remoteAuthServer"
::= { remoteAuthServersEntry 4 }

remoteAuthServersTimeout OBJECT-TYPE
    SYNTAX        Integer32 (1..10 )
    UNITS         "s"
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "the timeout in seconds (default 3)"
::= { remoteAuthServersEntry 5 }

remoteAuthServersActive OBJECT-TYPE
    SYNTAX      INTEGER {
    disabled (1), -- this server is  disabled
    enabled  (2)  -- this server is  enabled
    }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        ""
::= { remoteAuthServersEntry 6 }

-- ------------------------------------------------------------------ --
-- prioSettings
-- ------------------------------------------------------------------ --

prioSettingsConfig OBJECT-TYPE
    SYNTAX      INTEGER {
    disabled (1), --  disabled
    enabled  (2)  --   enabled
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
      "This value enables/disables the system-wide usage of Priority Ports."
    ::=  { prioSettings 1 }


-- ------------------------------------------------------------------ --
-- maintain
-- ------------------------------------------------------------------ --

-- ------------------------------------------------------------------ --
-- maintainTable
-- ------------------------------------------------------------------ --
maintainTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF MaintainEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      "Table of maintenance actions of monitor ports."
::= { maintain 1 }

maintainEntry OBJECT-TYPE
      SYNTAX        MaintainEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
      INDEX         { portId }
::= { maintainTable 1 }

MaintainEntry ::=
      SEQUENCE {
             maintainOperationRequest               INTEGER,
             maintainOperationRefractiveIndex       Integer32,
             maintainOperationExternalOffset        Integer32,
             maintainOperationCouplerLoss           Integer32,
             maintainOperationOtdrLength            Integer32,
             maintainOperationOtdrPowerLevel        Integer32,
             maintainOperationOtdrPulseWidth        Integer32,
             maintainOperationOtdrAverageRate       INTEGER,
             maintainOperationState                 INTEGER,
             maintainOperationLastError             INTEGER,
             maintainOperationNumConnectors         Integer32,
             maintainOperationNumSplices            Integer32,
             maintainOperationMaxLaserPower         Integer32,
             maintainOperationOtdrLinkLength        Integer32,
             maintainOperationOtdrMeasTime          Integer32,
             maintainOperationDwdmMode              INTEGER,
             maintainOperationLossCalculationPoint  Integer32,
             maintainOperationFastMode              INTEGER,
             maintainOperationMonitoringMode        INTEGER,
             maintainOperationExpectedLoss          Integer32
    }

maintainOperationRequest OBJECT-TYPE
    SYNTAX      INTEGER {
        none (1),
        runFingerprintGeneration (2),--new fingerprint will overwrite the old one
        runOtdrMeasurement (3),
        runFaultAnalysis (4),
        runFingerprintGpon (5),
        runFingerprintWithoutReflector (6),
        runResetMeanValues (7),
        runFingerprintPes (8),
        runLossCalculationPointUpdate (9),
        runFiberIdentification (10),
        runFingerprintAdl (11),
        runFingerprintDpa (12)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Set request to initiate OTDR measurement. It can be performed
         only if portAdminState is in Mgt state except of runOtdrMeasurement (3),
         runFaultAnalysis (4), runResetMeanValues (7) and runFiberIdentification (10) which can be performed
         also if portAdminState is in service."
::= { maintainEntry 1 }

maintainOperationRefractiveIndex OBJECT-TYPE
      SYNTAX        Integer32 (1400000..1550000)
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
      "Refractive index multiplied by 1000000. Parameter must be
      provided for Fingerprint generation or OTDR measurement."
::= { maintainEntry 2 }

maintainOperationExternalOffset OBJECT-TYPE
      SYNTAX        Integer32 (0..100)
      UNITS         "m"
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
      "External offset length in meters. Parameter must be
      provided for Fingerprint generation or OTDR measurement."
::= { maintainEntry 3 }

maintainOperationCouplerLoss OBJECT-TYPE
      SYNTAX        Integer32 (0..100)
      UNITS         "0.1 dB"
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
      "Coupler loss in tenth of dB. Parameter must be provided
      for Fingerprint generation."
::= { maintainEntry 4 }

maintainOperationOtdrLength OBJECT-TYPE
      SYNTAX        Integer32 (100..200000)
      UNITS         "m"
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
      "Measurement length in meters.
       Parameter must be provided for OTDR measurement.
       On 16ALM the allowed range is 100..35000."
::= { maintainEntry 5 }

maintainOperationOtdrPowerLevel OBJECT-TYPE
      SYNTAX        Integer32 (-2000..2000)
      UNITS         "0.01 dBm"
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
      "Power level in 0.01dBm. Parameter must be provided
       for OTDR measurement.
       Not available on 16ALM-1650D."
::= { maintainEntry 6 }

maintainOperationOtdrPulseWidth OBJECT-TYPE
      SYNTAX        Integer32 (5..20000)
      UNITS         "ns"
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
      "Pulse width in ns. Parameter must be provided
       for OTDR measurement.
       On 16ALM the allowed range is 25..1000."
::= { maintainEntry 7 }

maintainOperationOtdrAverageRate OBJECT-TYPE
      SYNTAX        Integer32 (0..7)
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
      "Average rate (0=512,1=1024,2=2048,3=4096,4=8192,5=16384,6=32768,7=65536).
       Parameter must be provided for OTDR measurement.
       Not available on 16ALM-1650D."
::= { maintainEntry 8 }

maintainOperationState OBJECT-TYPE
    SYNTAX      INTEGER {
        idle (1),
        waiting (2),
        fingerprintGenerationRunning (3),
        otdrMeasurementRunning (4),
        faultAnalysisRunning (5),
        failure (6)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current status of a measurement. When
        failure is set then maintainOperationLastError is applicable."
::= { maintainEntry 9 }

maintainOperationLastError OBJECT-TYPE
    SYNTAX      INTEGER {
        noError (1),
        reflectionPointNotFound (2),
        noSpaceLeft (3),
        internalError (4),
        lossCalculationPointNotFound (5),
        deprecatedFingerprintVersion(6)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The latest failure of the maintain operation action.
         Applicable only when maintainOperationState is set to 'failure'."
::= { maintainEntry 10 }

maintainOperationNumConnectors OBJECT-TYPE
    SYNTAX      Integer32 (0..20)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Default value is taken from system.lossGuidance"
::=  { maintainEntry 11 }

maintainOperationNumSplices OBJECT-TYPE
    SYNTAX      Integer32 (0..20)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Default value is taken from system.lossGuidance"
::=  { maintainEntry 12 }

maintainOperationMaxLaserPower OBJECT-TYPE
      SYNTAX        Integer32 (-1..1500)
      UNITS         "0.01 dBm"
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
      "Maximal laser power used for Fingerprint generation or OTDR measurement in 0.01dBm.
       Parameter must be provided for Fingerprint generation or OTDR measurement. The value '-1'
       correspond to the maximal laser power.
       For GPON measurements only values between 4 to 15 dbm are allowed.
       Not available on 16ALM."
::= { maintainEntry 13 }

maintainOperationOtdrLinkLength OBJECT-TYPE
      SYNTAX        Integer32 (100..300000)
      UNITS         "m"
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
      "Length of the optical link in meters.
       Parameter must be provided for OTDR measurement (max. 200000 meters)
       and fingerprint without reflector (max. 300000 meters) and must be
       greater or equal than maintainOperationOtdrLength.
       Not available on 16ALM."
::= { maintainEntry 14 }

maintainOperationOtdrMeasTime OBJECT-TYPE
      SYNTAX        Integer32 (15..300)
      UNITS         "s"
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
      "Measurement time in seconds. Parameter must be provided
       for OTDR measurement.
       Not available on 16ALM."
::= { maintainEntry 15 }

maintainOperationDwdmMode OBJECT-TYPE
    SYNTAX      INTEGER {
        disabled (1),-- DWDM Mode disabled
        enabled (2)-- DWDM Mode enabled
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "This variable is set to 'enabled' to allow DWDM measurements
     else only standard non DWDM measurements can be done."
::= { maintainEntry 16 }

maintainOperationLossCalculationPoint OBJECT-TYPE
      SYNTAX        Integer32 (500..150000 | 0)
      UNITS         "m"
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
      "Loss between the origin of the optical link and the loss
       calculation point is used for the bidirectional measurements or
       other measurements without reflector. Set to 0 to enable maintainOperationExpectedLoss
       for FingerprintWithoutReflector mode."
::= { maintainEntry 17 }

maintainOperationFastMode OBJECT-TYPE
    SYNTAX      INTEGER {
        disabled (1),-- Fast Mode disabled
        enabled (2)-- Fast Mode enabled
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "This variable is set to 'enabled' to activate faster OTDR measurements
    with less accuracy."
::= { maintainEntry 18 }

maintainOperationMonitoringMode OBJECT-TYPE
    SYNTAX      INTEGER {
        lossCalculation (1),-- Loss Calcualtion Mode enabled
        trafficCheck (2),-- Traffic Check Mode enabled
        standard (3), -- PES Standard
        highDynamic (4), -- PES High Dynamic
        highResolution (5), -- PES High Resolution
        fiberIdentFrequency270 (6), -- Fiber Identification Tone Frequency (270Hz)
        fiberIdentFrequency330 (7), -- Fiber Identification Tone Frequency (330Hz)
        fiberIdentFrequency1000 (8), -- Fiber Identification Tone Frequency (1000Hz)
        fiberIdentFrequency2000 (9), -- Fiber Identification Tone Frequency (2000Hz)
        cabinetSensorShort (10), -- PES Cabinet Sensor Short Range <20km , min distance between each Sensor 5m
        cabinetSensorLong  (11),  -- PES Cabinet Sensor Long Range <100km , min distance between each Sensor 200m
        dpaFast (12), -- DPA preset for low loss PON
        dpaBalanced (13) , -- DPA  preset for medium loss PON
        dpaHighSensitivity (14)  -- DPA preset for high loss PON
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "This variables decides which measurements method will be used for monitoring.
    Also used the set the Tone Frequency used for runFiberIdentification."
::= { maintainEntry 19 }

maintainOperationExpectedLoss  OBJECT-TYPE
      SYNTAX        Integer32 (50..350 | 0)
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
      "Expected loss in tenth of dB. Between 5 and 35 db. Parameter maintainOperationLossCalculationPoint
      must be set to 0 for it to be used."
::= { maintainEntry 20 }


-- ------------------------------------------------------------------ --
-- scheduleFaTable
-- ------------------------------------------------------------------ --
scheduleFaTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF ScheduleFaEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      "Table of scheduled measurement actions of monitor ports."
::= { maintain 2 }

scheduleFaEntry OBJECT-TYPE
      SYNTAX        ScheduleFaEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
      INDEX         { portId }
::= { scheduleFaTable 1 }

ScheduleFaEntry ::=
      SEQUENCE {
             scheduleFaFirstRun                       DateAndTime,
             scheduleFaInterval                       INTEGER,
             scheduleFaRequiredState                  INTEGER,
             scheduleFaNextRun                        DateAndTime,
             scheduleFaLastRun                        DateAndTime,
             scheduleFaStatus                         INTEGER
    }


scheduleFaFirstRun OBJECT-TYPE
    SYNTAX        DateAndTime
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION   "Date (UTC) from where the schedule calculation should start."
    ::= { scheduleFaEntry 1 }

scheduleFaInterval OBJECT-TYPE
    SYNTAX      INTEGER {
                          disabled (0),
                          twoHours (1),
                          threeHours (2),
                          fourHours (3),
                          sixHours (4),
                          eightHours (5),
                          twelveHours (6),
                          oneDay (7),
                          twoDays (8),
                          sevenDays (9)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Interval between two measurements, will not run if disabled."
    ::= { scheduleFaEntry 2 }

scheduleFaRequiredState OBJECT-TYPE
    SYNTAX      INTEGER { inService (1),
                          inServiceOrManagement (2)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Scheduled Fa Measurement, will only be done if in the right adminstate (default 1 inService)"
    ::= { scheduleFaEntry 3 }

scheduleFaNextRun OBJECT-TYPE
    SYNTAX        DateAndTime
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "Next date (UTC) where scheduled Fa will try to run."
    ::= { scheduleFaEntry 4 }

scheduleFaLastRun OBJECT-TYPE
    SYNTAX        DateAndTime
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "Last date (UTC) where scheduled Fa was executed."
    ::= { scheduleFaEntry 5 }

scheduleFaStatus OBJECT-TYPE
    SYNTAX      INTEGER {disabled (0),
                         idle (1),
                         queued (2),
                         running (3),
                         finished (4),
                         error (5)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Status of scheduled Fa Measurement, will rest to idle (1) only at full 1/4 hour intevalls"
    ::= { scheduleFaEntry 6 }

-- ------------------------------------------------------------------ --
-- otdrTraceMgmt
-- ------------------------------------------------------------------ --

-- ------------------------------------------------------------------ --
-- otdrTraceMgmtTable
-- ------------------------------------------------------------------ --
otdrTraceMgmtTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF OtdrTraceMgmtEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      "Table of trace management of monitor ports."
::= { otdrTraceMgmt 1 }

otdrTraceMgmtEntry OBJECT-TYPE
      SYNTAX        OtdrTraceMgmtEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      ""
      INDEX         { portId }
::= { otdrTraceMgmtTable 1 }

OtdrTraceMgmtEntry ::=
      SEQUENCE {
             otdrTraceMgmtRequest          INTEGER,
             otdrTraceMgmtState            INTEGER,
             otdrTraceMgmtLastError        INTEGER,
             otdrTraceMgmtServerAddress    IpAddress,
             otdrTraceMgmtServerLogin      SnmpAdminString,
             otdrTraceMgmtServerPasswd     SnmpAdminString,
             otdrTraceMgmtServerDirectory  SnmpAdminString,
             otdrTraceMgmtFileName         SnmpAdminString,
             otdrTraceMgmtTransferProtocol INTEGER,
             otdrTraceMgmtFtpPort          Integer32,
             otdrTraceMgmtActionProgress   Integer32,
             otdrTraceMgmtAutoFaReference  Integer32,
             otdrTraceMgmtIpv6Address      SnmpAdminString,
             otdrTraceMgmtScpPort          Integer32
}

otdrTraceMgmtRequest OBJECT-TYPE
    SYNTAX      INTEGER {
        none (1),
        exportOmTrace (2),--save and upload OTDR Measurement trace
        exportFaTrace (3),--save and upload Fault Analysis trace
        exportFpTrace (4),--save and upload Fingerprint trace
        exportAutoFaTrace (5),--save and upload auto-generated Fault Analysis trace
        exportOmTraceFiltered (6),--save and upload filtered OTDR Measurement trace
        exportFaTraceFiltered (7),--save and upload filtered Fault Analysis trace
        exportFpTraceFiltered (8),--save and upload filtered Fingerprint trace
        exportAutoFaTraceFiltered (9),--save and upload filtered auto-generated Fault Analysis trace
        exportOmSor (10),--save and upload OTDR Measurement trace in SOR data format
        exportFaSor (11),--save and upload Fault Analysis trace in SOR data format
        exportFpSor (12),--save and upload Fingerprint trace in SOR data format
        exportAutoFaSor (13),--save and upload auto-generated Fault Analysis trace in SOR data format
        exportOmSorFiltered (14),--save and upload filtered OTDR Measurement trace in SOR data format
        exportFaSorFiltered (15),--save and upload filtered Fault Analysis trace in SOR data format
        exportFpSorFiltered (16),--save and upload filtered Fingerprint trace in SOR data format
        exportAutoFaSorFiltered (17),--save and upload filtered auto-generated Fault Analysis trace in SOR data format
        exportFaSorFilteredLow (18),--save and upload filtered Fault Analysis trace in SOR data format (lower pulse width)
        exportFaSorFilteredHigh (19),--save and upload filtered Fault Analysis trace in SOR data format (higher pulse width)
        exportFpSorFilteredLow (20),--save and upload Fingerprint trace in SOR data format (lower pulse width)
        exportFpSorFilteredHigh (21),--save and upload Fingerprint trace in SOR data format (higher pulse width)
        exportAutoFaSorFilteredLow (22),--save and upload filtered auto-generated Fault Analysis trace in SOR data format (lower pulse width)
        exportAutoFaSorFilteredHigh (23) --save and upload filtered auto-generated Fault Analysis trace in SOR data format (higher pulse width)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Set request to initiate trace management related action"
    ::= { otdrTraceMgmtEntry 1 }

otdrTraceMgmtState OBJECT-TYPE
    SYNTAX      INTEGER {
        idle (1),
        exportingAutoFaTrace (4),--exporting auto-generated Fault Analysis
        exportingOmTrace (5),--exporting most recent OTDR Measurement
        exportingFaTrace (6),--exporting most recent Fault Analysis
        exportingFpTrace (7),--exporting Fingerprint
        failure (8)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current status of the export/upload of OTDR traces. When
        failure is set then otdrTraceMgmtLastError is applicable."
    ::= { otdrTraceMgmtEntry 2 }

otdrTraceMgmtLastError OBJECT-TYPE
    SYNTAX      INTEGER {
        noError (1),
        transferLoginFailed (2),
        transferFileNotFound (3),
        transferFileNoAccess (4),
        transferServerUnreachable (5),
        transferFailed (6),
        missingOtdrTrace (7),
        wrongOtdrTraceIndex (8),
        internalError (9),
        noSpaceLeft (10)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The latest failure of the export/upload of OTDR traces process.
         Applicable only when otdrTraceMgmtState is set to 'failure'.
         NOTE: All failures that are caused by malfunctioning
               hardware are reported as internalError."
    ::= { otdrTraceMgmtEntry 3 }

otdrTraceMgmtServerAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The IP address of the external FTP/SCP server."
    ::= { otdrTraceMgmtEntry 4 }

otdrTraceMgmtServerLogin OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The login name on the external FTP/SCP server."
    ::= { otdrTraceMgmtEntry 5 }

otdrTraceMgmtServerPasswd OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The password on the external FTP/SCP server. Read requests on
        this object will return a zero-length string."
    ::= { otdrTraceMgmtEntry 6 }

otdrTraceMgmtServerDirectory OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The OTDR trace destination location (path) on the external
         FTP/SCP server."
   ::= { otdrTraceMgmtEntry 7 }

otdrTraceMgmtFileName OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Target File Name of the trace without extension.
        Extension is either 'sor' or 'csv'. Depends on the
        selected OTDR Trace Management Request"
    ::=  { otdrTraceMgmtEntry 8 }

otdrTraceMgmtTransferProtocol OBJECT-TYPE
    SYNTAX      INTEGER {
        ftp (1),
        scp (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The transfer protocol to be used."
    ::= { otdrTraceMgmtEntry 9 }

otdrTraceMgmtFtpPort OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The TCP port number of the FTP server used for file transfer.
         Default value is 21."
    ::=  { otdrTraceMgmtEntry 10 }

otdrTraceMgmtActionProgress OBJECT-TYPE
    SYNTAX      Integer32 (0..100 | -2147483648)
    UNITS       "%"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Operational progress in % i.e. file transfer"
    ::=  { otdrTraceMgmtEntry 11 }

otdrTraceMgmtAutoFaReference OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Fault Analysis reference number. A value of 0 means
        the latest auto-generated fault analysis is exported."
    ::=  { otdrTraceMgmtEntry 12 }

otdrTraceMgmtIpv6Address OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The IPv6 address of the external FTP/SCP server."
    ::= { otdrTraceMgmtEntry 13 }

otdrTraceMgmtScpPort OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The TCP port number of the SCP server used for file transfer.
         Default value is 22."
    ::=  { otdrTraceMgmtEntry 14 }

-- ------------------------------------------------------------------ --
-- inventoryTable
-- ------------------------------------------------------------------ --

inventoryTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF InventoryEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   "Inventory table"
    ::=  { inventory 1 }


inventoryEntry OBJECT-TYPE
    SYNTAX      InventoryEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   ""
    INDEX       {
        inventoryShelfNo,
        inventorySlotNo,
        inventoryPortNo,
        inventoryExtNo,
        inventoryClassName
        }
    ::=  { inventoryTable 1 }

InventoryEntry ::=
    SEQUENCE {
        inventoryShelfNo                Integer32,
        inventorySlotNo                 Integer32,
        inventoryPortNo                 Integer32,
        inventoryExtNo                  Integer32,
        inventoryClassName              Integer32,
        inventoryAidString              IdentityTranslation,
        inventoryUnitName               SnmpAdminString,
        inventoryFirmwarePackageRev     SnmpAdminString,
        inventoryHardwareRev            SnmpAdminString,
        inventoryFpgaRev                SnmpAdminString,
        inventorySerialNumber           SnmpAdminString,
        inventoryPartNumber             SnmpAdminString,
        inventoryCleiCode               SnmpAdminString,
        inventoryOrigin                 SnmpAdminString,
        inventoryShelfType              SnmpAdminString,
        inventoryUniversalSerialIdent   SnmpAdminString
    }

inventoryShelfNo OBJECT-TYPE
    SYNTAX        Integer32 (0..8)
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "Shelf number: 0 for the ALM itself, 1 .. 8 for Port Extenders"
::= { inventoryEntry 1 }

inventorySlotNo  OBJECT-TYPE
    SYNTAX        Integer32 (0..0)
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "Adress index."
::= { inventoryEntry 2 }

inventoryPortNo  OBJECT-TYPE
    SYNTAX        Integer32 (0..0)
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "Adress index."
::= { inventoryEntry 3 }

inventoryExtNo OBJECT-TYPE
    SYNTAX        Integer32 (0..0)
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "Adress index."
::= { inventoryEntry 4 }

inventoryClassName OBJECT-TYPE
    SYNTAX        Integer32 (2..2)
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "Entity Class Name."
::= { inventoryEntry 5 }

inventoryAidString OBJECT-TYPE
    SYNTAX        IdentityTranslation
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "AID: SHMON-1 or SHEXT-1 ... SHEXT-8"
    ::= { inventoryEntry 6 }

inventoryUnitName OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Official Equipment Name"
    ::= { inventoryEntry 7 }

inventoryFirmwarePackageRev OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Firmware Package Revision Number"
    ::= { inventoryEntry 8 }

inventoryHardwareRev OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Equipment Revision Number"
    ::= { inventoryEntry 9 }

inventoryFpgaRev OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The active FPGA version on the Unit"
    ::= { inventoryEntry 10 }

inventorySerialNumber OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Equipment Serial Number"
    ::= { inventoryEntry 11 }

inventoryPartNumber OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Part Number"
    ::= { inventoryEntry 12 }

inventoryCleiCode OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Common Language Equipment Identifier"
    ::= { inventoryEntry 13 }

inventoryOrigin OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Either Vendor Code for the ALM itself or
         Country of Origin Code for Port Extenders"
    ::= { inventoryEntry 14 }

inventoryShelfType     OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Type of the physical entity"
    ::= { inventoryEntry 15 }

inventoryUniversalSerialIdent OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Unique Serial Identifier"
    ::= { inventoryEntry 16 }


END

