SCTE-HMS-HE-OPTICAL-AMPLIFIER-MIB DEFINITIONS ::= BEGIN 

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP
        FROM SNMPv2-CONF
    entPhysicalIndex
        FROM ENTITY-MIB
    HeOnOffStatus, HeOnOffControl, HeLaserType,
    HeTenthCentigrade, HeTenthdB, HeTenthdBm, HeMilliAmp
        FROM SCTE-HMS-HEADENDIDENT-MIB
    heOpticalAmplifierGroup
        FROM SCTE-HMS-HE-OPTICS-MIB;

heOpticalAmplifierMIB MODULE-IDENTITY
    LAST-UPDATED "200404090000Z" -- April 9, 2004
    ORGANIZATION "SCTE HMS Working Group"
    CONTACT-INFO
            "SCTE HMS Subcommittee, Chairman
             mailto: standards@scte.org" 
    
    DESCRIPTION
            "The MIB module is for representing optical amplifiers
            present in the headend (or indoor) and are supported by a 
            SNMP agent." 
            
    ::= { heOpticalAmplifierGroup 1 }

heOpAmpMIBObjects OBJECT IDENTIFIER ::= { heOpticalAmplifierMIB 1 }

--          The Optical Amplifier Unit Table
heOpAmpUnitTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HeOpAmpUnitEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
            "A table containing information about headend (or indoor)
            fiber optic amplifiers. These amplifiers could be plug-in
            modules for a chassis, stand-alone pizza-box units etc."
    ::= { heOpAmpMIBObjects 1 }

heOpAmpUnitEntry OBJECT-TYPE
    SYNTAX HeOpAmpUnitEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
            "Information about each Fiber Optic amplifier in 
            the subsystem."
    INDEX { entPhysicalIndex }
    ::= { heOpAmpUnitTable 1 }

HeOpAmpUnitEntry ::= SEQUENCE
{
    heOpAmpUnitOutputStatus     HeOnOffStatus,
    heOpAmpUnitOnOffControl     HeOnOffControl
}

heOpAmpUnitOutputStatus	OBJECT-TYPE
    SYNTAX      HeOnOffStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The output status of the amplifier.

            If all the outputs of the amplifier are off then
            the variable value shall be off(1), else the value
            shall be on(2).
            
            This object must provide for the alarm management capabilities
            with a corresponding entry in the discretePropertyTable of
            SCTE-HMS-PROPERTY-MIB (HMS026).

            An alarm shall be recorded as an entry in the currentAlarmTable
            of SCTE-HMS-PROPERTY-MIB (HMS026).  

            A log record shall be added as an entry in the heCommonLogTable.

            An heCommonAlarmEvent notification shall be sent."
    ::= { heOpAmpUnitEntry 1 }

heOpAmpUnitOnOffControl	OBJECT-TYPE
    SYNTAX      HeOnOffControl
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "This variable controls the output status of the amplifer. 

            Setting this variable to off(1) will cause all the 
            amplifier outputs to be shut off. 

            Setting this variable to on(2) will cause all the 
            amplifier outputs to be turned on.

            A value meaningless(3) will be implemented by the
            variables that represent a switch with write-only access.
            A GET request for the value of the write-only variable
            shall return a value meaningless(3). 

            A SET request with a value meaningless(3) for the variable
            with write access shall have no effect and no exception is
            generated.

            A value may be used by the variables with both read-write
            and write-only access.

            The variables with read-only access shall be defined with 
            the textual convention HeOnOffStatus."

    ::= { heOpAmpUnitEntry 2 }

--          The Optical Amplifier Input Table
heOpAmpInputTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HeOpAmpInputEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A table containing information related to input Parameters
            in headend (or indoor) fiber optic amplifiers. These 
            amplifiers could be plug-in modules for a chassis, 
            stand-alone pizza-box units etc."
    ::= { heOpAmpMIBObjects 2 }

heOpAmpInputEntry OBJECT-TYPE
    SYNTAX      HeOpAmpInputEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Information about each Fiber Optic amplifier input in 
            the subsystem."
    INDEX       { entPhysicalIndex,  heOpAmpInputIndex}
    ::= { heOpAmpInputTable 1 }

HeOpAmpInputEntry ::= SEQUENCE
{
    heOpAmpInputIndex   Unsigned32, 
    heOpAmpInputPower   HeTenthdBm         
}

heOpAmpInputIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "An arbitrary value which uniquely identifies 
            the amplifier input."
    ::= { heOpAmpInputEntry 1 }

heOpAmpInputPower OBJECT-TYPE
    SYNTAX      HeTenthdBm
    UNITS       "0.1 dBm"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Optical input power.
            This object must provide for the alarm management capabilities
            with a corresponding entry in the propertyTable of
            SCTE-HMS-PROPERTY-MIB (HMS026).

            An alarm shall be recorded as an entry in the currentAlarmTable
            of SCTE-HMS-PROPERTY-MIB (HMS026).  

            A log record shall be added as an entry in the heCommonLogTable.

            An heCommonAlarmEvent notification shall be sent."
    ::= { heOpAmpInputEntry 2 }

--          The Optical Amplifier Laser Table
heOpAmpLaserTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HeOpAmpLaserEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A table containing information about amplifier laser(s)."
    ::= { heOpAmpMIBObjects 3 }

heOpAmpLaserEntry OBJECT-TYPE
    SYNTAX      HeOpAmpLaserEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A list of information about each laser in
             the particular amplifier."
    INDEX { entPhysicalIndex, heOpAmpLaserIndex }
    ::= { heOpAmpLaserTable 1 }

HeOpAmpLaserEntry ::= SEQUENCE
{
    heOpAmpLaserIndex          	 Unsigned32,
    heOpAmpLaserTemp             HeTenthCentigrade,
    heOpAmpLaserBiasCurrent      HeMilliAmp,
    heOpAmpLaserOutputPower      HeTenthdBm, 
    heOpAmpLaserTECCurrent       HeMilliAmp,
    heOpAmpLaserType             HeLaserType
}

heOpAmpLaserIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "An arbitrary value which uniquely identifies the laser."
      ::= { heOpAmpLaserEntry 1 }

heOpAmpLaserTemp OBJECT-TYPE
    SYNTAX      HeTenthCentigrade 
    UNITS       "0.1 degrees Celsius"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Temperature of the amplifier laser.
            
            This object must provide for the alarm management capabilities
            with a corresponding entry in the propertyTable of
            SCTE-HMS-PROPERTY-MIB (HMS026).

            An alarm shall be recorded as an entry in the currentAlarmTable
            of SCTE-HMS-PROPERTY-MIB (HMS026).  

            A log record shall be added as an entry in the heCommonLogTable.

            An heCommonAlarmEvent notification shall be sent."
            
    ::= { heOpAmpLaserEntry 2 }

heOpAmpLaserBiasCurrent OBJECT-TYPE
    SYNTAX      HeMilliAmp
    UNITS       "1.0 mA"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Amplifier laser bias current in mA.
            
            This object must provide for the alarm management capabilities
            with a corresponding entry in the propertyTable of
            SCTE-HMS-PROPERTY-MIB (HMS026).

            An alarm shall be recorded as an entry in the currentAlarmTable
            of SCTE-HMS-PROPERTY-MIB (HMS026).  

            A log record shall be added as an entry in the heCommonLogTable.

            An heCommonAlarmEvent notification shall be sent."

    ::= { heOpAmpLaserEntry 3 }

heOpAmpLaserOutputPower OBJECT-TYPE
    SYNTAX      HeTenthdBm
    UNITS       "0.1 dBm"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The laser output power.

            This object must provide for the alarm management capabilities
            with a corresponding entry in the propertyTable of
            SCTE-HMS-PROPERTY-MIB (HMS026).

            An alarm shall be recorded as an entry in the currentAlarmTable
            of SCTE-HMS-PROPERTY-MIB (HMS026).  

            A log record shall be added as an entry in the heCommonLogTable.

            An heCommonAlarmEvent notification shall be sent." 
            
    ::= { heOpAmpLaserEntry 4 }

heOpAmpLaserTECCurrent OBJECT-TYPE
    SYNTAX      HeMilliAmp   
    UNITS       "1.0 mA"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Laser Thermo Electric Cooler current.
            This object must provide for the alarm management capabilities
            with a corresponding entry in the propertyTable of
            SCTE-HMS-PROPERTY-MIB (HMS026).

            An alarm shall be recorded as an entry in the currentAlarmTable
            of SCTE-HMS-PROPERTY-MIB (HMS026).  

            A log record shall be added as an entry in the heCommonLogTable.

            An heCommonAlarmEvent notification shall be sent."
    ::= { heOpAmpLaserEntry 5 }

heOpAmpLaserType OBJECT-TYPE
    SYNTAX      HeLaserType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Laser type."
    ::= { heOpAmpLaserEntry 6 }

 
--          The Optical Amplifier Output Table
heOpAmpOutputTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HeOpAmpOutputEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A table containing information about amplifier's outputs."
    ::= { heOpAmpMIBObjects 4 }

heOpAmpOutputEntry OBJECT-TYPE
    SYNTAX      HeOpAmpOutputEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A list of information about each output in 
            the particular amplifier."
    INDEX { entPhysicalIndex, heOpAmpOutputIndex }
    ::= { heOpAmpOutputTable 1 }

HeOpAmpOutputEntry ::= SEQUENCE
{
    heOpAmpOutputIndex         	 Unsigned32,
    heOpAmpSetOpticalOutputPower HeTenthdBm,
    heOpAmpGainPerWavelength     HeTenthdB,
    heOpAmpOutputPower           HeTenthdBm,
    heOpAmpOutputGainType        INTEGER
}

heOpAmpOutputIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "An arbitrary value which uniquely identifies the output."
      ::= { heOpAmpOutputEntry 1 }

heOpAmpSetOpticalOutputPower OBJECT-TYPE
    SYNTAX      HeTenthdBm
    UNITS       "0.1 dBm" 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "Set Amplifier Optical Output Power. The setting of this
            value has no effect unless the heOpAmpOutputGainType is
            set to constantPower(1)"
    ::= {heOpAmpOutputEntry 2 }

heOpAmpGainPerWavelength OBJECT-TYPE
    SYNTAX       HeTenthdB 
    UNITS       "0.1 dBm"
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
            "Controls constant gain per wavelength. The setting of this
            value has no effect unless the heOpAmpOutputGainType is
            set to constantGain(2)"
    ::= {heOpAmpOutputEntry 3 }

heOpAmpOutputPower OBJECT-TYPE
    SYNTAX      HeTenthdBm
    UNITS       "0.1 dBm"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The output power. This could be the power from a single output
            or the output power from each of multiple outputs.

            This object must provide for the alarm management capabilities
            with a corresponding entry in the PropertyTable of
            SCTE-HMS-PROPERTY-MIB (HMS026).

            An alarm shall be recorded as an entry in the currentAlarmTable
            of SCTE-HMS-PROPERTY-MIB (HMS026).  

            A log record shall be added as an entry in the heCommonLogTable.

            An heCommonAlarmEvent notification shall be sent."

    ::= { heOpAmpOutputEntry 4 }

heOpAmpOutputGainType OBJECT-TYPE
    SYNTAX      INTEGER {
        constantPower(1),
        constantGain(2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "Controls the output gain type, which is either constant
            power or constant gain. When constantGain is selected,
            the value of heOpAmpGainPerWavelength is used to control
            the output of the amplifier and heOpAmpSetOpticalOutputPower
            will have no effect.  When constantPower is selected,
            heOpAmpSetOpticalOutputPower is used to control the output
            of the amplifier and heOpAmpGainPerWavelength will have no 
            effect "
    ::= { heOpAmpOutputEntry 5 }
 
-- conformance information
heOpAmpMIBConformance 
           OBJECT IDENTIFIER ::= { heOpticalAmplifierMIB 2 }

heOpAmpMIBCompliances
           OBJECT IDENTIFIER ::= { heOpAmpMIBConformance 1 }

heOpAmpMIBGroups  
           OBJECT IDENTIFIER ::= { heOpAmpMIBConformance 2 }

-- compliance statements
heOpAmpCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The minimum compliance statement for indoor optical amplifiers."
    MODULE  -- this module
        MANDATORY-GROUPS { heOpAmpUnitMandatoryGroup,
                           heOpAmpInputMandatoryGroup,
                           heOpAmpOutputMandatoryGroup
                         } 
        GROUP heOpAmpUnitTableGroup
        DESCRIPTION
                "this is an unconditionally optional group"
        GROUP heOpAmpInputTableGroup
	    DESCRIPTION
                "this is an unconditionally optional group" 
        GROUP heOpAmpLaserTableGroup
	    DESCRIPTION
                "this is an unconditionally optional group"
        GROUP heOpAmpOutputTableGroup
	    DESCRIPTION
                "this is an unconditionally optional group"           
    ::= { heOpAmpMIBCompliances 1 }

heOpAmpUnitMandatoryGroup OBJECT-GROUP
    OBJECTS {
              heOpAmpUnitOutputStatus
            }
    STATUS  current
    DESCRIPTION
            "The main group defines objects which are common to all
            indoor optical amplifier modules."
    ::= { heOpAmpMIBGroups 1 }

heOpAmpInputMandatoryGroup OBJECT-GROUP
    OBJECTS {
              heOpAmpInputPower 
            }
    STATUS  current
    DESCRIPTION
         "The input group defines objects which are common to all
          indoor optical amplifier modules."
    ::= { heOpAmpMIBGroups 2 }

heOpAmpOutputMandatoryGroup OBJECT-GROUP
    OBJECTS {
               heOpAmpOutputPower
            }
    STATUS  current
    DESCRIPTION
            "The output group defines objects which are common to all
            indoor optical amplifier modules."
    ::= { heOpAmpMIBGroups 3 }    

heOpAmpUnitTableGroup  OBJECT-GROUP
    OBJECTS {
              heOpAmpUnitOutputStatus,
              heOpAmpUnitOnOffControl
            }
    STATUS  current
    DESCRIPTION
            "The unit group defines objects which are defined
            in the SCTE-HMS-HE-OPTICAL-amplifier-MIB MIB module."	
    ::= { heOpAmpMIBGroups 4 }

heOpAmpInputTableGroup OBJECT-GROUP
    OBJECTS {
              heOpAmpInputPower
            }
    STATUS  current
    DESCRIPTION
            "The input group defines optical objects which are defined
            in the SCTE-HMS-HE-OPTICAL-amplifier-MIB MIB module."
    ::= { heOpAmpMIBGroups 5 }

heOpAmpLaserTableGroup  OBJECT-GROUP
    OBJECTS {
              heOpAmpLaserTemp,
              heOpAmpLaserBiasCurrent,
              heOpAmpLaserOutputPower,
              heOpAmpLaserTECCurrent,
              heOpAmpLaserType
            } 
    STATUS  current
    DESCRIPTION
            "The laser group defines laser objects which are defined
            in the SCTE-HMS-HE-OPTICAL-amplifier-MIB MIB module."
    ::= { heOpAmpMIBGroups 6 }

heOpAmpOutputTableGroup  OBJECT-GROUP
    OBJECTS {
              heOpAmpSetOpticalOutputPower,
              heOpAmpGainPerWavelength,
              heOpAmpOutputPower,
              heOpAmpOutputGainType
             } 
    STATUS  current
    DESCRIPTION
          "The output group defines amplifier output objects which are defined
          in the SCTE-HMS-HE-OPTICAL-amplifier-MIB MIB module."
    ::= { heOpAmpMIBGroups 7 }
END
