-- *****************************************************************************
-- *
-- * Module Name:   HMS115R4.MIB   SCTE-38-10
-- *
-- * SCTE Status:   Draft Revision 4
-- *
-- * Description:   Implements SCTE-HMS-AMPLIFIER-MIB for Amplifiers.
-- *                This MIB is intended for use on all RF Amplifiers.  This 
-- *                includes the US strand mount or outside plant rfAmplifiers,
-- *                and some pedestal models.  This MIB may not apply to the 
-- *                pedestal racks used in the European Cable networks.  
-- *
-- * EXCEPT AS NOTED, THE VOLATILITY OF CONTROL OBJECTS IN THIS MIB IS
-- * DETERMINED BY THE AMPLIFIER APPLICATION
-- *
-- * Note:
-- * Objects which are not present must not have the properties present either. 
-- * This applies to:
-- *	a) Any table(s) not supported by an rfAmplifier; 
-- * 	b) Any object(s) not supported by an rfAmplifier; 
-- *
-- * Revision History:
-- *
-- * Date          Rev  Change
-- * ================================================== 
-- * 2003-Jan-21   R4   Remove names and general clean up.	 
-- * 2002-Oct-08   R3   Changed AmpIdent to AmplifierIdent.  
-- * 2002-Oct-02   R2   Removed AB switch table as discussed at the meeting.
-- * 2002-Jun-08   R1   Creation from Fiber Node MIB.  
-- *
-- ****************************************************************************

SCTE-HMS-RFAMPLIFIER-MIB DEFINITIONS ::= BEGIN

IMPORTS
     OBJECT-TYPE
          FROM RFC-1212
     DisplayString
          FROM RFC1213-MIB
     rfAmplifierIdent
          FROM SCTE-HMS-ROOTS
     ;   

rfAmpAdminGroup     OBJECT IDENTIFIER ::= { rfAmplifierIdent 1 }

-- **********************
-- * Adminstration Group
-- **********************

rfAmpVendorOID OBJECT-TYPE
     SYNTAX OBJECT IDENTIFIER
     ACCESS read-only
     STATUS optional
     DESCRIPTION 
           "This object provides a means for a vendor to point to a vendor
           specific extension of this MIB."
     ::= { rfAmpAdminGroup 1 }

rfAmpDeviceId OBJECT-TYPE
     SYNTAX DisplayString ( SIZE(0..32) )
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
          "The content of this field is vendor specific. The intent is to
          provide manufacturer and/or product specific ASCII text information
          that will propagate to the manager's console verbatim. "
     ::= { rfAmpAdminGroup 2 }


-- *********************
-- * Forward RF Actives
-- *********************

rfAmpNumberRFActives OBJECT-TYPE
     SYNTAX INTEGER ( 1..16 )
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
          "Number of RF actives for this rfAmplifier.
          There must be a least one RF Active per rfAmplifier.
          
          Note also that it is not necessary to monitor the RF active; this
          table would show 1 for this object, but all of the objects in the
          table may not be supported."
     ::= { rfAmplifierIdent 2 }

rfAmpRFActiveTable OBJECT-TYPE
     SYNTAX SEQUENCE OF RFAmpRFActiveEntry
     ACCESS not-accessible
     STATUS mandatory
     DESCRIPTION
          "Table containing information about each RF Active."
     ::= { rfAmplifierIdent 3 }

rfAmpRFActiveEntry OBJECT-TYPE
     SYNTAX RFAmpRFActiveEntry
     ACCESS not-accessible
     STATUS mandatory
     DESCRIPTION             
          "List of information about each RF Active."
     INDEX { rfAmpRFActiveIndex }
     ::= { rfAmpRFActiveTable 1 }

RFAmpRFActiveEntry ::=
     SEQUENCE
     {
          rfAmpRFActiveIndex
               INTEGER,
          rfAmpRFActiveControlType
               DisplayString,
          rfAmpRFActiveOutputLevel
               INTEGER,
          rfAmpRFActiveCurrent
               INTEGER,
          rfAmpRFActiveControlLevel
               INTEGER
     }

rfAmpRFActiveIndex OBJECT-TYPE
     SYNTAX INTEGER
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
          "Index into rfAmpRFActiveTable."
     ::= { rfAmpRFActiveEntry 1 }

rfAmpRFActiveControlType OBJECT-TYPE
     SYNTAX DisplayString ( SIZE(0..10) )
     ACCESS read-only
     STATUS optional
     DESCRIPTION
          "Returns the control type of this rfAmplifier. Possibilities include, 
          but are not limited to:
               none - No control type inherent to this unit.
               alc  - automatic level control
               asc  - automatic slope control
               agc  - automatic gain control
               alsc - automatic level slope control"
     ::= { rfAmpRFActiveEntry 2 }

rfAmpRFActiveOutputLevel OBJECT-TYPE
     SYNTAX INTEGER ( 0..65535 )
     ACCESS read-only
     STATUS optional
     DESCRIPTION
          "Returns the forward Path output RF level of a pilot signal on the
          rfAmplifier.
          Units 0.1 dBmV.
          This item requires an entry in the properties MIB."
     ::= { rfAmpRFActiveEntry 3 }

rfAmpRFActiveCurrent OBJECT-TYPE
     SYNTAX INTEGER ( 0..65535 )
     ACCESS read-only
     STATUS optional
     DESCRIPTION
          "Returns the RF active current.  Units milliAmps.
          This item requires an entry in the properties MIB."
     ::= { rfAmpRFActiveEntry 4 }

rfAmpRFActiveControlLevel OBJECT-TYPE
     SYNTAX INTEGER
     ACCESS read-only
     STATUS optional
     DESCRIPTION
          "Returns the control level (as indicated by rfAmpRFActiveControlType)
          for this RF active.
          Units 0.1VDC.
          This item has an entry in the properties MIB."
     ::= { rfAmpRFActiveEntry 5 }

-- ***********
-- * RF ports
-- ***********

rfAmpNumberRFPort OBJECT-TYPE
     SYNTAX INTEGER ( 0..16 )
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
          "Number of entries in the RF port table.
          A zero entry means the table does not exist and the functional
          area is not present in the device."
     ::= { rfAmplifierIdent 4 }

rfAmpRFPortMasterAttenuationControl OBJECT-TYPE
     SYNTAX INTEGER { low(1), high(2), pad(3) }
     ACCESS read-write
     STATUS optional
     DESCRIPTION
          "Reports and Controls the state of a reverse path attenuation switch
          that affects ALL ports.  
             low  - No attenuation on the reverse path.
             high - Typically high amount of attenuation on the reverse path.
                    This value may not be available for all switches.
             pad  - Typically a small amount of attenuation on the reverse
                    path. This value may not be available for all switches.
                      
          Note that the values for the object 
          rfAmpRFPortReverseAttenuationControl do NOT change when this object
          is accessed."
     ::= { rfAmplifierIdent 5 }

rfAmpRFPortTable OBJECT-TYPE
     SYNTAX SEQUENCE OF RFAmpRFPortEntry
     ACCESS not-accessible
     STATUS mandatory
     DESCRIPTION
          "Table containing information about the RF ports."
     ::= { rfAmplifierIdent 6 }

rfAmpRFPortEntry OBJECT-TYPE
     SYNTAX RFAmpRFPortEntry
     ACCESS not-accessible
     STATUS mandatory
     DESCRIPTION
          "List of information about each RF port."
     INDEX { rfAmpRFPortIndex }
     ::= { rfAmpRFPortTable 1 }

RFAmpRFPortEntry ::=
     SEQUENCE
     {
          rfAmpRFPortIndex
               INTEGER,
          rfAmpRFPortControlType
               DisplayString,
          rfAmpRFPortControlLevel
               INTEGER,
          rfAmpRFPortOutputRFLevel
               INTEGER,
          rfAmpRFPortRFActive
               INTEGER,
          rfAmpRFPortName
               DisplayString,
          rfAmpRFPortReverseAttenuationControl
               INTEGER
     }

rfAmpRFPortIndex OBJECT-TYPE
     SYNTAX INTEGER
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
          "Index into the rfAmpRFPortTable.
          This index is application specific.  It can be either the nth port,
          or a port number.
          For example; a node may have 4 ports, numbered 1, 3, 4, 6.  Thus,
          the indexes could be .1, .3, .4, .6, OR .1, .2, .3., .4.
          In the latter case, the port name is critical."
     ::= { rfAmpRFPortEntry 1 }

rfAmpRFPortControlType OBJECT-TYPE
     SYNTAX DisplayString ( SIZE(0..10) )
     ACCESS read-only
     STATUS optional
     DESCRIPTION
          "Returns the control type of this rfAmplifier. Possibilities include,
          but are not limited to:
               none - No control type inherent to this unit.
               alc  - automatic level control
               asc  - automatic slope control
               agc  - automatic gain control
               alsc - automatic level slope control"
     ::= { rfAmpRFPortEntry 2 }                
      

rfAmpRFPortControlLevel OBJECT-TYPE
     SYNTAX INTEGER
     ACCESS read-only
     STATUS optional
     DESCRIPTION
          "Returns the control level (as indicated by rfAmpRFPortControlType) 
          for this RF port.
          Units 0.1VDC.  This item has an entry in the properties MIB."
     ::= { rfAmpRFPortEntry 3 }

rfAmpRFPortOutputRFLevel OBJECT-TYPE
     SYNTAX INTEGER ( 0..65535 )
     ACCESS read-only
     STATUS optional
     DESCRIPTION
          "Returns the RF Path output RF level of a pilot signal on the
          rfAmplifier port.
          Units 0.1 dBmV.
          This item requires an entry in the properties MIB.

          This object shall report alarms using the value of rfAmpRFPortName
          in the alarmText object in the hmsAlarmEvent Trap."
     ::= { rfAmpRFPortEntry 4 }

rfAmpRFPortRFActive OBJECT-TYPE
     SYNTAX INTEGER
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
          "Returns the RF Active index associated with this RF Port"
     ::= { rfAmpRFPortEntry 5 }

rfAmpRFPortName OBJECT-TYPE
     SYNTAX DisplayString
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
          "Physical name of Port.  Some examples are Port 1 and Port 2.
          This name is put into the alarmText object used by hmsAlarmTrap
          when alarms are generated by objects in this table."
     ::= { rfAmpRFPortEntry 6 }

rfAmpRFPortReverseAttenuationControl OBJECT-TYPE
     SYNTAX INTEGER { low(1), high(2), pad(3) }
     ACCESS read-write
     STATUS optional
     DESCRIPTION
          "Reports and Controls the state of the reverse path 
           attenuation switch for this port only.
               low  - No attenuation on the reverse path.
               high - Typically high amount of attenuation on the reverse
                      path.  This value may not be available for all switches.
               pad  - Typically a small amount of attenuation on the reverse
                      path. This value may not be available for all switches."
     ::= { rfAmpRFPortEntry 7 }


-- ***********
-- * AC Power
-- ***********

rfAmpLinePowerVoltage1 OBJECT-TYPE
     SYNTAX INTEGER ( 0..65535 )
     ACCESS read-only
     STATUS optional
     DESCRIPTION
           "Returns the line power voltage from primary feed.  Units 1VAC.
           This item requires an entry in the properties MIB."
     ::= { rfAmplifierIdent 8 }

rfAmpLinePowerVoltage2 OBJECT-TYPE
     SYNTAX INTEGER ( 0..65535 )
     ACCESS read-only
     STATUS optional
     DESCRIPTION
           "Returns the line power voltage from a secondary feed.  Units 1VAC.
           This item requires an entry in the properties MIB."
     ::= { rfAmplifierIdent 9 }

rfAmpLinePowerCurrent OBJECT-TYPE
     SYNTAX INTEGER ( 0..65535 )
     ACCESS read-only
     STATUS optional
     DESCRIPTION
           "Returns the total current draw of the rfAmplifier.  Units 0.1 Amp.
           This item requires an entry in the properties MIB."
     ::= { rfAmplifierIdent 10 }

-- *****************
-- * Power Supplies
-- *****************

rfAmpNumberDCPowerSupply OBJECT-TYPE
     SYNTAX INTEGER ( 0..16 )
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
          "Number of entries in the internal DC power supply table
          A zero entry means the table does not exist and the functional
          area is not present in the device."
     ::= { rfAmplifierIdent 11 }

rfAmpDCPowerSupplyMode OBJECT-TYPE
     SYNTAX INTEGER { loadsharing(1), switchedRedundant(2) }
     ACCESS read-only
     STATUS optional
     DESCRIPTION
          "Indicates the mode, either load sharing or redundant (switched),
          in which the power supplies operate.  This object should not 
          be supported if the unit can only support one DC power supply."
     ::= { rfAmplifierIdent 13 }

rfAmpDCPowerTable OBJECT-TYPE
     SYNTAX SEQUENCE OF RFAmpDCPowerEntry
     ACCESS not-accessible
     STATUS mandatory
     DESCRIPTION
          "A table containing information about the Regulated Power."
     ::= { rfAmplifierIdent 14 }

rfAmpDCPowerEntry OBJECT-TYPE
     SYNTAX RFAmpDCPowerEntry
     ACCESS not-accessible
     STATUS mandatory
     DESCRIPTION
          "A list of information about the Regulated Power."
     INDEX { rfAmpDCPowerIndex }
     ::= { rfAmpDCPowerTable 1 }

RFAmpDCPowerEntry ::=
     SEQUENCE
     {
          rfAmpDCPowerIndex
               INTEGER,
          rfAmpDCPowerVoltage
               INTEGER,
          rfAmpDCPowerCurrent
               INTEGER,
          rfAmpDCPowerName
               DisplayString
     }

rfAmpDCPowerIndex OBJECT-TYPE
     SYNTAX INTEGER
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
          "Index into the rfAmpDCPowerTable."
     ::= { rfAmpDCPowerEntry 1 }

rfAmpDCPowerVoltage OBJECT-TYPE
     SYNTAX INTEGER ( -32768..32767 )
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
          "Returns the regulated power voltage.  Units in 0.1 Volts.
          This item requires an entry in the properties MIB.

          This object shall report alarms using the value of rfAmpDCPowerName
          in the alarmText object in the hmsAlarmEvent Trap."
     ::= { rfAmpDCPowerEntry 2 }

rfAmpDCPowerCurrent OBJECT-TYPE
     SYNTAX INTEGER ( 0..65535 )
     ACCESS read-only
     STATUS optional
     DESCRIPTION
          "Returns the regulated power current.  Units in 0.1 Amps.
          This item requires an entry in the properties MIB.

          This object shall report alarms using the value of rfAmpDCPowerName
          in the alarmText object in the hmsAlarmEvent Trap."
     ::= { rfAmpDCPowerEntry 3 }

rfAmpDCPowerName OBJECT-TYPE
     SYNTAX DisplayString
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
          "Identifies the Physical name of the Power Supply.  For example:

               24 VDC Supply A

          Actual value of this field is vendor specific, at a minimum it
          shall identify the nominal voltage expected and distinguish the
          supplies from one another.

          If a single PHYSICAL supply provides multiple voltages, each voltage
          shall have its own entry in this table, with an appropriate name.

          This name is put into the alarmText object in the hmsAlarmEvent Trap
          when alarms are generated by objects in this table."
     ::= { rfAmpDCPowerEntry 4 }

END



