-- Module Name: HMS112R10.MIB (SCTE 85-1)
-- SCTE Status: Adopted

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

IMPORTS
    Integer32, Unsigned32, MODULE-IDENTITY, OBJECT-TYPE
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP
        FROM SNMPv2-CONF
    entPhysicalIndex
         FROM ENTITY-MIB     
    HeTenthCentigrade, HeTenthVolt, HeTenthdBm, HeHundredthNanoMeter,
    HeTenthdB, HeOnOffStatus, HeOnOffControl, HeLaserType
        FROM SCTE-HMS-HEADENDIDENT-MIB  -- see SCTE 38-11 (formerly HMS114)
    heOpticalTransmitterGroup
        FROM SCTE-HMS-HE-OPTICS-MIB;  -- see SCTE 83-1 (formerly HMS108)

heOpticalTransmitterMIB MODULE-IDENTITY
    LAST-UPDATED "200302170000Z" -- February 17, 2003
    ORGANIZATION "SCTE HMS Working Group"
    CONTACT-INFO
           "  SCTE HMS Subcommittee, Chairman
               mailto:standards@scte.org
           "
    DESCRIPTION
            "The MIB module is for representing optical transmitters
             present in the headend (or indoor) and are supported by a 
            SNMP agent."

        ::= { heOpticalTransmitterGroup 1 }

heOpTxMIBObjects  OBJECT IDENTIFIER ::= { heOpticalTransmitterMIB 1 }

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

heOpTxUnitEntry OBJECT-TYPE
    SYNTAX      HeOpTxUnitEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Information about each Fiber Optic Transmitter in 
            the subsystem."
    INDEX       { entPhysicalIndex }
    ::= { heOpTxUnitTable 1 }

HeOpTxUnitEntry ::= SEQUENCE
{
    heOpTxUnitOutputStatus      HeOnOffStatus,
    heOpTxUnitOnOffControl      HeOnOffControl
}

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

            If all the outputs of the transmitter are off then
            the variable value shall be off(1), else the value
            shall be on(2)."
    ::= { heOpTxUnitEntry 1 }

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

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

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

            Setting this variable to meaningless(3) will have no effect.

            A GET request on this variable will always return the value
            meaningless(3).

            A management application should query heOpTxUnitOutputStatus
            to get the output status of the transmitter."
    ::= { heOpTxUnitEntry 2 }

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

heOpTxInputEntry OBJECT-TYPE
    SYNTAX      HeOpTxInputEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Information about each Fiber Optic Transmitter in 
            the subsystem."
    INDEX       { entPhysicalIndex, heOpTxInputIndex }
    ::= { heOpTxInputTable 1 }

HeOpTxInputEntry ::= SEQUENCE {
    heOpTxInputIndex            Unsigned32,
    heOpTxInputRFPower          HeTenthdBm,
    heOpTxInputModulatorBias    HeTenthVolt,
    heOpTxInputAGCMode          HeOnOffStatus,
    heOpTxInputModulationMode   INTEGER,
    heOpTxInputRFPadLevel       HeTenthdB
}

heOpTxInputIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Index number corresponding to the RF Input 
            for the transmitter unit."
    ::= { heOpTxInputEntry 1 }

heOpTxInputRFPower OBJECT-TYPE
    SYNTAX      HeTenthdBm
    UNITS       "0.1 dBm"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "RF composite input power in 0.1 dBm."
    ::= { heOpTxInputEntry 2 }

heOpTxInputModulatorBias OBJECT-TYPE
    SYNTAX      HeTenthVolt
    UNITS       "0.1 Volt"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Modulation Bias."
    ::= { heOpTxInputEntry 3 }

heOpTxInputAGCMode OBJECT-TYPE
    SYNTAX      HeOnOffStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "Switches the transmitter Automatic Gain Control mode
            of operation either off(1) or on(2)."
    ::= { heOpTxInputEntry 4 }

heOpTxInputModulationMode OBJECT-TYPE
    SYNTAX      INTEGER {
        cw(1),
        modulated(2)
    }
    MAX-ACCESS        read-write
    STATUS          current
    DESCRIPTION
            "Transmitter modulation mode:
            cw(1) for Continuous Wave, or
            modulated(2) for Modulated."
    ::= { heOpTxInputEntry 5 }

heOpTxInputRFPadLevel OBJECT-TYPE
    SYNTAX      HeTenthdB
    UNITS       "0.1 dB"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "RF Pad Attenuation Level."
    ::= { heOpTxInputEntry 6 }

--          The Optical Transmitter Laser Table
heOpTxLaserTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HeOpTxLaserEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
            "A table containing information about transmitter 
            laser(s)."
    ::= { heOpTxMIBObjects 3 }

heOpTxLaserEntry OBJECT-TYPE
    SYNTAX      HeOpTxLaserEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A list of information about each laser in 
            the particular transmitter."
    INDEX       { entPhysicalIndex, heOpTxLaserIndex }
    ::= { heOpTxLaserTable 1 }

HeOpTxLaserEntry ::= SEQUENCE {
    heOpTxLaserIndex            Unsigned32,
    heOpTxLaserTemp             HeTenthCentigrade,
    heOpTxLaserBiasCurrent      Integer32,
    heOpTxLaserOutputPower      HeTenthdBm,
    heOpTxLaserTECCurrent       Integer32,
    heOpTxLaserType             HeLaserType,
    heOpTxLaserWavelength       HeHundredthNanoMeter,
    heOpTxLaserOutputStatus     HeOnOffStatus,
    heOpTxLaserOnOffControl     HeOnOffControl
}
                         
heOpTxLaserIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "An arbitrary value which uniquely identifies the laser."
    ::= { heOpTxLaserEntry 1 }

heOpTxLaserTemp OBJECT-TYPE
    SYNTAX      HeTenthCentigrade (-250..1000)
    UNITS       "0.1 degrees Celsius"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Temperature of the Transmitter 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."
    ::= { heOpTxLaserEntry 2 }

heOpTxLaserBiasCurrent OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    UNITS       "milli Amperes"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Transmitter laser bias 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."
    ::= { heOpTxLaserEntry 3 }

heOpTxLaserOutputPower 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."
    ::= { heOpTxLaserEntry 4 }

heOpTxLaserTECCurrent OBJECT-TYPE
    SYNTAX      Integer32   
    UNITS       "milli Amperes"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Laser Thermo Electric Cooler current."
    ::= { heOpTxLaserEntry 5 }

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

heOpTxLaserWavelength OBJECT-TYPE
    SYNTAX      HeHundredthNanoMeter
    UNITS       "0.01 nanometer"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The laser wavelength.
            Typical value might be 155056 (1550.56 nm)."
    ::= { heOpTxLaserEntry 7 }

heOpTxLaserOutputStatus OBJECT-TYPE
    SYNTAX      HeOnOffStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The laser output status. 

            The value is on(2), if the Laser output is operating
            in normal condition

            The value is off(1), if the laser is either forced to turn off
            or shut due to an internal error. 

            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."
    ::= { heOpTxLaserEntry 8 }

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

            Setting this variable to off(1) will cause the 
            laser output to be shut off. 

            Setting this variable to on(2) will cause the 
            laser output to be turned on.      

            Setting this variable to meaningless(3) will have no effect. 

            A Get Request on this variable will always return the value
            meaningless(3).

            A management application should query heOpTxLaserOutputStatus
            to get the output status of the laser."
    ::= { heOpTxLaserEntry 9 }

-- Conformance information
heOpTxMIBConformance 
        OBJECT IDENTIFIER ::= { heOpticalTransmitterMIB 2 }

heOpTxMIBCompliances
        OBJECT IDENTIFIER ::= { heOpTxMIBConformance 1 }

heOpTxMIBGroups  
        OBJECT IDENTIFIER ::= { heOpTxMIBConformance 2 }
    
-- Compliance statements
heOpTxCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The minimum compliance statement for indoor optical transmitters."
    MODULE
        MANDATORY-GROUPS { heOpTxUnitMandatoryGroup,
                           heOpTxLaserMandatoryGroup
                         }
    ::= { heOpTxMIBCompliances 1 }

heOpTxUnitMandatoryGroup OBJECT-GROUP
    OBJECTS {
              heOpTxUnitOutputStatus
            }
    STATUS  current
    DESCRIPTION
            "The main group defines objects which are common to all
            indoor optical transmitter modules."
    ::= { heOpTxMIBGroups 1 }

heOpTxLaserMandatoryGroup OBJECT-GROUP
    OBJECTS {
              heOpTxLaserType,
              heOpTxLaserWavelength,
              heOpTxLaserOutputStatus
            }
    STATUS  current
    DESCRIPTION
            "The laser group defines laser objects which are common to all
            indoor optical transmitter modules."
    ::= { heOpTxMIBGroups 2 }    

heOpTxUnitTableGroup OBJECT-GROUP
    OBJECTS {
              heOpTxUnitOutputStatus,
              heOpTxUnitOnOffControl    
            }
    STATUS  current
    DESCRIPTION
            "The unit group defines objects which are defined
            in the SCTE-HMS-HE-OPTICAL-TRANSMITTER-MIB MIB module."    
    ::= { heOpTxMIBGroups 3 }

heOpTxInputTableGroup OBJECT-GROUP
    OBJECTS {
              heOpTxInputRFPower,        
              heOpTxInputModulatorBias,
              heOpTxInputAGCMode,
              heOpTxInputModulationMode,
              heOpTxInputRFPadLevel    
            }
    STATUS  current
    DESCRIPTION
            "The input group defines RF objects which are defined
            in the SCTE-HMS-HE-OPTICAL-TRANSMITTER-MIB MIB module."
    ::= { heOpTxMIBGroups 4 }    
        
heOpTxLaserTableGroup OBJECT-GROUP
    OBJECTS {
              heOpTxLaserTemp,
              heOpTxLaserBiasCurrent,
              heOpTxLaserOutputPower,
              heOpTxLaserTECCurrent,
              heOpTxLaserType,
              heOpTxLaserWavelength,
              heOpTxLaserOutputStatus,
              heOpTxLaserOnOffControl                              
            }
    STATUS  current
    DESCRIPTION
            "The laser group defines laser objects which are defined
            in the SCTE-HMS-HE-OPTICAL-TRANSMITTER-MIB MIB module."
    ::= { heOpTxMIBGroups 5 }    

END        
