-- *****************************************************************
-- RDN-SpectrumGroup.mib: RDN Data Over Cable Spectrum Group
-- Management MIB (RiverClear) file 
--
-- May, 2001 David Wang, Rajan Bhalla, create spectrum group mib
--
-- Copyright (c) 2001 by Riverdelta Networks, Inc.
-- All rights reserved.
-- *****************************************************************

RDN-CABLE-SPECTRUM-GROUP-MIB DEFINITIONS ::= BEGIN

IMPORTS   
        rdnCableSpectrumObjects
                FROM RDN-CABLE-SPECTRUM-MIB
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Unsigned32
                FROM SNMPv2-SMI
        DisplayString,
        RowStatus,
        DateAndTime,
        TEXTUAL-CONVENTION
                FROM SNMPv2-TC
        Integer32
                FROM SNMPv2-SMI
        ifIndex
                FROM IF-MIB;
                
rdnCableSpectrumGroup MODULE-IDENTITY
--rdnCableSpectrum MODULE-IDENTITY
        LAST-UPDATED    "200205250000Z" -- 25th June 2002
        ORGANIZATION    "Motorola"
        CONTACT-INFO
                      "Motorola        
                       Customer Service
                       Postal: Motorola
                                Three Highwood Dr east
                                Tewksbury, MA 01876
                                U.S.A.
                       Tel: +1 978 858 2300 
                       E-mail: BSRSNMP@maillist2001.mot.com"

        DESCRIPTION
            "This is the MIB Module for Cable Spectrum Group Management 
             for MCNS compliant Cable Modem Termination Systems (CMTS)."
        ::= { rdnCableSpectrumObjects 2 }

--rdnCableSpectrumGroup OBJECT IDENTIFIER ::= { rdnCableSpectrumGroupMib 1 }

-- Textual Conventions
SchedulingWeekDay ::= TEXTUAL-CONVENTION
    STATUS	    current
    DESCRIPTION	    "The scheduling week day."
    SYNTAX	    INTEGER {
                      sunday (1),
                      monday (2),
                      tuesday (3),
                      wednesday (4),
                      thursday (5),
                      friday (6),
                      saturday (7),
                      everyday (8)
 		    }

SpectrumHopSelections ::= TEXTUAL-CONVENTION
    STATUS	    current
    DESCRIPTION	    "The rules for spectrum hop."
    SYNTAX      INTEGER	{
                      frequency (1),
                      band (2),
                      power-default (3),
                      power-level (4),
                      modulation-profile (5),
                      channel-width (6) 
                    }

SpecDataArray ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
          "An array holds the spectrum data."
    SYNTAX       OCTET STRING (SIZE (2..400))

--
-- Spectrum Group
--
-- Spectrum manager can configure and activate frequency agility by using 
-- the spectrum groups. Up to 256 spectrum groups can be created for
-- each CMTS system. Each spectrum group supports up to 256 shared upstream
-- channels.
-- Spectrum data converts frequency range of 5 to 65 MHz to support
-- Euro-DOCSIS
--

rdnSpectrumGroupTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF RdnSpectrumGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table keeps the records of spectrum groups. These groups
             can be configured and activated by the spectrum manager and used
             by the CMTS upstream port for frequency hopping. "
        ::= { rdnCableSpectrumGroup 1 }

rdnSpectrumGroupEntry OBJECT-TYPE
        SYNTAX      RdnSpectrumGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "List of attributes for an entry in the rdnSpectrumGroupEntry.
             An entry in this table exists for each spectrum group that
             has been configured by the spectrum manager."
        INDEX { 
                rdnSpectrumGroupName
              }
        ::= { rdnSpectrumGroupTable 1 }

RdnSpectrumGroupEntry ::= SEQUENCE {
            rdnSpectrumGroupName                DisplayString,
            rdnSpectrumGroupId                  Unsigned32,
            rdnSpectrumGroupHopPeriod    		Unsigned32,
            rdnSpectrumGroupHopThresholdFlap    Unsigned32,
            rdnSpectrumGroupHopThresholdError   Unsigned32,
            rdnSpectrumGroupHopRollbackEnable   INTEGER,
            rdnSpectrumDataCollectResolution    Unsigned32,
            rdnSpectrumDataCollectInterval      Unsigned32,
            rdnSpectrumGroupGuardBand           Unsigned32,
            rdnSpectrumGroupRowStatus           RowStatus,
            rdnOfflineModemCount                Integer32,
            rdnOnlineModemCount                 Integer32,
            rdnActiveModemCount                 Integer32,
            rdnRegisteredModemCount             Integer32,
            rdnProvisionedModemCount            Integer32,
            rdnUnregisteredModemCount           Integer32
        }

rdnSpectrumGroupName OBJECT-TYPE
        SYNTAX      DisplayString  ( SIZE (1..20) )
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The text name (index) of the spectrum group."
        ::= { rdnSpectrumGroupEntry 1 }

rdnSpectrumGroupId OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number index for the spectrum group."
        ::= { rdnSpectrumGroupEntry 2 }

rdnSpectrumGroupHopPeriod OBJECT-TYPE
        SYNTAX      Unsigned32  (30..3600)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The rate at which the frequency hop takes place. This would be
             useful in preventing excessive hops. Unit is in second."
		DEFVAL	    { 300	}
        ::= { rdnSpectrumGroupEntry 3 }

rdnSpectrumGroupHopThresholdFlap OBJECT-TYPE
        SYNTAX      Unsigned32  (0..100)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The CM flap rate percentage threshold that controls the hopping 
             frequency. The hopping only happens when the percentage of flap 
             CMs is higher than this threshold. Value 0 means the flap 
             threshold hop disabled"
		DEFVAL	    { 0 }
        ::= { rdnSpectrumGroupEntry 4 }

rdnSpectrumGroupHopThresholdError OBJECT-TYPE
        SYNTAX      Unsigned32  (1..1000)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The FEC error rate percentage threshold that controls the hopping 
             frequency. The hopping only happens when the error rate percentage
             is higher than this threshold. The unit is 1/1000."
		DEFVAL	    { 10 }
        ::= { rdnSpectrumGroupEntry 5 }

rdnSpectrumGroupHopRollbackEnable OBJECT-TYPE
        SYNTAX      INTEGER  {
                        enable (1),
                        disable (2)
                    }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This field controls the spectrum rollback option when the original
             channel quality recovers. The rollback is allowed when this field
             is enabled. The rollback is not allowed when this field is set to
             disable."
		DEFVAL	    { 2 }
        ::= { rdnSpectrumGroupEntry 6 }

rdnSpectrumDataCollectResolution OBJECT-TYPE
        SYNTAX      Unsigned32  (200000..400000)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The spectrum data collection resolution, in Hz."
		DEFVAL	    { 200000	}
        ::= { rdnSpectrumGroupEntry 7 }

rdnSpectrumDataCollectInterval OBJECT-TYPE
        SYNTAX      Unsigned32  (0 | 60..65535)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The spectrum data collection interval, in second. Minimum value 60 
             seconds. Value 0 means the collection is disabled."
		DEFVAL	    { 0	}
        ::= { rdnSpectrumGroupEntry 8 }

rdnSpectrumGroupGuardBand OBJECT-TYPE
        SYNTAX      Unsigned32  (0..60000000)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The minimum spectrum separation between upstream channels in 
             the same spectrum group, in Hz."
		DEFVAL	    { 0	}
        ::= { rdnSpectrumGroupEntry 9 }

rdnSpectrumGroupRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Controls and reflects the status of rows in this table. This
             field is used to control the addition and deletion of a 
             spectrum group."
        ::= { rdnSpectrumGroupEntry 10 }
 
rdnOfflineModemCount OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of offline modems for this spectrum group"
        ::= { rdnSpectrumGroupEntry 11 }

rdnOnlineModemCount OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of online modems for this spectrum group"
        ::= { rdnSpectrumGroupEntry 12 }

rdnActiveModemCount OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of active modems for this spectrum group"
        ::= { rdnSpectrumGroupEntry 13 }

rdnRegisteredModemCount OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of registered modems for this spectrum group"
        ::= { rdnSpectrumGroupEntry 14 }

rdnProvisionedModemCount OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of provisioned modems for this spectrum group"
        ::= { rdnSpectrumGroupEntry 15 }

rdnUnregisteredModemCount OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of Unregistered modems for this spectrum group"
        ::= { rdnSpectrumGroupEntry 16 }


                                    
                                     
-- Band schedule table defines the spectrum band schedules for the specific
-- spectrum group
rdnSpectrumBandSchedTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF RdnSpectrumBandSchedEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table keeps the records of spectrum band scheduled for
             a specific spectrum group. "
        ::= { rdnCableSpectrumGroup 2 }

rdnSpectrumBandSchedEntry OBJECT-TYPE
        SYNTAX      RdnSpectrumBandSchedEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "List of attributes for an entry in the rdnSpectrumBandScheEntry."
        INDEX { 
                rdnSpectrumGroupId,
                rdnSpectrumBandSchedId,
                rdnSpectrumBandSchedAction
              }
        ::= { rdnSpectrumBandSchedTable 1 }

RdnSpectrumBandSchedEntry ::= SEQUENCE {
            rdnSpectrumBandSchedId              Unsigned32,
            rdnSpectrumBandSchedAction          Unsigned32,
            rdnSpectrumBandFreqLow              Unsigned32,
            rdnSpectrumBandFreqHigh             Unsigned32,
            rdnSpectrumBandSchedWeekDay         SchedulingWeekDay,
            rdnSpectrumBandSchedHour            Unsigned32,
            rdnSpectrumBandSchedMinute          Unsigned32,
            rdnSpectrumBandSchedSecond          Unsigned32,
            rdnSpectrumBandSchedRowStatus       RowStatus
        }

rdnSpectrumBandSchedId OBJECT-TYPE
        SYNTAX      Unsigned32  
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The identifier for the band schedule, it is the second index 
             for the spectrum band schedule table."
        ::= { rdnSpectrumBandSchedEntry 1 }

rdnSpectrumBandSchedAction OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The action on the specified frequency band. The third index of
             this band schedule table. Band add (1), band delete (2)."
        ::= { rdnSpectrumBandSchedEntry 2 }

rdnSpectrumBandFreqLow OBJECT-TYPE
        SYNTAX      Unsigned32  (5000000..65000000)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The spectrum band low frequency in Hz. The lower bound is 5 MHz
             for North American standard, is 5 MHz for European standard. "
		DEFVAL	    { 5000000 }
        ::= { rdnSpectrumBandSchedEntry 3 }

rdnSpectrumBandFreqHigh OBJECT-TYPE
        SYNTAX      Unsigned32  (5000000..65000000)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The spectrum band high frequency in Hz. This value must be at least 
             200000 Hz higher than the band low frequency. The upper bound is 42 MHz
             for North American standard, is 65 MHz for European standard. "
		DEFVAL	    { 42000000 }
        ::= { rdnSpectrumBandSchedEntry 4 }

rdnSpectrumBandSchedWeekDay OBJECT-TYPE
        SYNTAX      SchedulingWeekDay
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The week day of the band schedule."
		DEFVAL	    { everyday }
        ::= { rdnSpectrumBandSchedEntry 5 }

rdnSpectrumBandSchedHour OBJECT-TYPE
        SYNTAX      Unsigned32  (0..23)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The hour of the band schedule (in 24-hour format)."
		DEFVAL	    { 0	}
        ::= { rdnSpectrumBandSchedEntry 6 }

rdnSpectrumBandSchedMinute OBJECT-TYPE
        SYNTAX      Unsigned32  (0..59)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The minute of the band schedule."
		DEFVAL	    { 0	}
        ::= { rdnSpectrumBandSchedEntry 7 }

rdnSpectrumBandSchedSecond OBJECT-TYPE
        SYNTAX      Unsigned32  (0..59)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The second of the band schedule."
		DEFVAL	    { 0	}
        ::= { rdnSpectrumBandSchedEntry 8 }

rdnSpectrumBandSchedRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The row status that controls the addition and deletion of 
             the band schedule entry."
        ::= { rdnSpectrumBandSchedEntry 9 }


-- Spectrum hop rule table defines the hopping rules
rdnSpectrumHopTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF RdnSpectrumHopEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table keeps the records of spectrum hopping rules for
             a specific spectrum group. "
        ::= { rdnCableSpectrumGroup 3 }

rdnSpectrumHopEntry OBJECT-TYPE
        SYNTAX      RdnSpectrumHopEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "List of attributes for an entry in the rdnSpectrumHopTable."
        INDEX { 
                rdnSpectrumGroupId,
                rdnSpectrumHopId
              }
        ::= { rdnSpectrumHopTable 1 }

RdnSpectrumHopEntry ::= SEQUENCE {
            rdnSpectrumHopId                 Unsigned32,
            rdnSpectrumHopSelection          SpectrumHopSelections,
            rdnSpectrumHopPriority           INTEGER,
            rdnSpectrumHopFrequency          Unsigned32,
            rdnSpectrumHopBandLow            Unsigned32,
            rdnSpectrumHopBandHigh           Unsigned32,
            rdnSpectrumHopPowerLevel         INTEGER,
            rdnSpectrumHopModulationProfile  INTEGER,
            rdnSpectrumHopChannelWidth       INTEGER,
            rdnSpectrumHopRowStatus          RowStatus
        }

rdnSpectrumHopId OBJECT-TYPE
        SYNTAX      Unsigned32  
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The index for the spectrum hop rule table."
        ::= { rdnSpectrumHopEntry 1 }

rdnSpectrumHopSelection OBJECT-TYPE
        SYNTAX      SpectrumHopSelections
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
           "Identifies the selection of the action for this spectrum hop 
            rule."
		DEFVAL	    { frequency	}
        ::= { rdnSpectrumHopEntry 2 }
                      
rdnSpectrumHopPriority OBJECT-TYPE
        SYNTAX      INTEGER (1..255)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
           "Identifies the priority for this spectrum hop policy. The 
            default value is 128. The range is 1 to 255."
		DEFVAL	    { 128 }
        ::= { rdnSpectrumHopEntry 3 }

rdnSpectrumHopFrequency   OBJECT-TYPE
        SYNTAX      Unsigned32  ( 5000000..65000000 )
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
           "Identifies the center frequency for the spectrum hop 
            schedule entry. The hop can be specified with a discrete 
            center frequency or with a band but not both in the same
            group."
	  DEFVAL      { 10000000 }
        ::= { rdnSpectrumHopEntry 4 }

rdnSpectrumHopBandLow   OBJECT-TYPE
        SYNTAX      Unsigned32  ( 5000000..65000000 )
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
           "The start frequency for the individual spectrum hop.  "
  		DEFVAL      { 8400000 }
        ::= { rdnSpectrumHopEntry 5 }

rdnSpectrumHopBandHigh   OBJECT-TYPE
        SYNTAX      Unsigned32  ( 5000000..65000000 )
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
           "The stop frequency for the individual spectrum hop. This value must
            be at least 200000 Hz higher than the start frequency. "
		DEFVAL      { 42000000 }
        ::= { rdnSpectrumHopEntry 6 }
        
rdnSpectrumHopChannelWidth   OBJECT-TYPE
        SYNTAX      INTEGER  {
                        channel-width1 ( 200000),
                        channel-width2 ( 400000),
                        channel-width3 ( 800000),
                        channel-width4 (1600000),
                        channel-width5 (3200000) 
                    }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
           "Identifies the channel width change for this individual spectrum 
            hop. The valid band width is 200000 Hz, 400000 Hz, 800000 Hz,
            1600000 Hz, 3200000 Hz "
		DEFVAL      { 3200000 }
        ::= { rdnSpectrumHopEntry 7 }

rdnSpectrumHopPowerLevel OBJECT-TYPE
        SYNTAX      INTEGER  ( -160..260 )
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
           "Identifies a power level change for this individual spectrum 
            hop. Different channel width has different power level range,
            < -160, 140 > for 200 KHz, < -130, 170 > for 400 KHz, < -100, 
            200 > for 800 KHz, < -70, 230 > for 1600 KHz, < -40, 260 > for 
            3200 KHz. For power default, the range is < -150, 150 > for 
            all the channel widths. The unit is in tenths of a dBmV."
		DEFVAL      { 0 }
        ::= { rdnSpectrumHopEntry 8 }

rdnSpectrumHopModulationProfile   OBJECT-TYPE
        SYNTAX      INTEGER  ( 1..16 )
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
           "Identifies the modulation profile change for this individual 
            spectrum hop."
		DEFVAL      { 1 }
        ::= { rdnSpectrumHopEntry 9 }

rdnSpectrumHopRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The row status that controls the add and deletion of the 
             spectrum hop rule entry."
        ::= { rdnSpectrumHopEntry 10 }

-- member channel table defines the association of the upstream channels and 
-- the spectrum groups, it also controls the spectrum hopping (enable or 
-- disable) for this upstream channel.
rdnSpectrumMemberChannelTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF RdnSpectrumMemberChannelEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table keeps the records of the associations between 
             upstream channels and spectrum groups"
        ::= { rdnCableSpectrumGroup 4 }

rdnSpectrumMemberChannelEntry OBJECT-TYPE
        SYNTAX      RdnSpectrumMemberChannelEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "List of attributes for an entry in the 
             RdnSpectrumMemberChannelEntry. It is indexed by ifIndex."
        INDEX { 
                ifIndex
              }
        ::= { rdnSpectrumMemberChannelTable 1 }

RdnSpectrumMemberChannelEntry ::= SEQUENCE {
            rdnUsChannelId                      INTEGER,
            rdnMemChSpectrumGroupId             Unsigned32,
            rdnMemChSpectrumGroupName           DisplayString
        }

rdnUsChannelId OBJECT-TYPE
        SYNTAX      INTEGER  
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The upstream channel ID."
        ::= { rdnSpectrumMemberChannelEntry 1 }

rdnMemChSpectrumGroupId OBJECT-TYPE
        SYNTAX      Unsigned32  (0..255)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The ID for the spectrum group that is associated with this 
             upstream channel. Value 0 means no association."
        ::= { rdnSpectrumMemberChannelEntry 2 }

rdnMemChSpectrumGroupName OBJECT-TYPE
        SYNTAX      DisplayString  
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The text name of the associated spectrum group."
        ::= { rdnSpectrumMemberChannelEntry 3 }


-- Spectrum data table stores the spectrum data collection information
-- rdnSpectrumDataObjects OBJECT IDENTIFIER ::= { rdnCableSpectrumGroup 5 }

rdnSpectrumDataTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF RdnSpectrumDataEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table stores the noise and error rate for the different 
             frequency bands."
        ::= { rdnCableSpectrumGroup 5 }
--        ::= { rdnSpectrumDataObjects 1 }

rdnSpectrumDataEntry OBJECT-TYPE
        SYNTAX      RdnSpectrumDataEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "List of attributes for an entry in the rdnSpectrumDataEntry."

        INDEX { ifIndex
--                rdnSpectrumDataIndex   
              }
        ::= { rdnSpectrumDataTable 1 }

RdnSpectrumDataEntry ::= SEQUENCE {
            rdnSpectrumDataIndex	         INTEGER,   
            rdnSpecDataUsChannelId           INTEGER,
            rdnSpectrumDataStartFrequency    Unsigned32,   
            rdnSpectrumDataResolution		 INTEGER,           
            rdnSpectrumDataSamples           INTEGER,
            rdnSpectrumDataLastUpdate        DateAndTime,
            rdnSpectrumDataArray             SpecDataArray
--            rdnSpectrumDataRowStatus         RowStatus
        }

rdnSpectrumDataIndex OBJECT-TYPE
        SYNTAX      INTEGER  
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           " The internal index of the spectrum data"
        ::= { rdnSpectrumDataEntry 1 }

rdnSpecDataUsChannelId OBJECT-TYPE
        SYNTAX      INTEGER  
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The upstream channel ID."
        ::= { rdnSpectrumDataEntry 2 }

rdnSpectrumDataStartFrequency OBJECT-TYPE
        SYNTAX      Unsigned32  
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "Start Frequency of the spectrum data collection"
        ::= { rdnSpectrumDataEntry 3 }

rdnSpectrumDataResolution OBJECT-TYPE
        SYNTAX      INTEGER  
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "Resolution of the spectrum data collection in Hz"
        ::= { rdnSpectrumDataEntry 4 }

rdnSpectrumDataSamples OBJECT-TYPE
        SYNTAX      INTEGER  
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "Number of data samples used in this spectrum data collection 
            period"
        ::= { rdnSpectrumDataEntry 5 }

rdnSpectrumDataLastUpdate OBJECT-TYPE
        SYNTAX      DateAndTime  
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "Date and time when this collection data was last updated "
        ::= { rdnSpectrumDataEntry 6 }

rdnSpectrumDataArray OBJECT-TYPE
        SYNTAX      SpecDataArray  ( SIZE (2..400) )
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The data array that holds the spectrum data."
        ::= { rdnSpectrumDataEntry 7 }

--rdnSpectrumDataRowStatus OBJECT-TYPE
--        SYNTAX      RowStatus
--        MAX-ACCESS  read-create
--        STATUS      current 
--        DESCRIPTION
--            "The row status that controls the add and deletion of the  
--             spectrum data collection rules." 
--        ::= { rdnSpectrumDataEntry 7 }

-- Spectrum data extension table stores the collected spectrum data
--rdnSpectrumDataExtTable OBJECT-TYPE
--        SYNTAX      SEQUENCE OF RdnSpectrumDataExtEntry
--        MAX-ACCESS  not-accessible
--        STATUS      current
--        DESCRIPTION
--            "This table stores the spectrum data."
--        ::= { rdnSpectrumDataObjects 2}
--
--rdnSpectrumDataExtEntry OBJECT-TYPE
--        SYNTAX      RdnSpectrumDataExtEntry
--        MAX-ACCESS  not-accessible
--        STATUS      current
--        DESCRIPTION
--            "List of attributes for an entry in the rdnSpectrumDataEntry."
--        INDEX { 
--        		ifIndex,
--                rdnSpectrumDataIndex,
--                rdnSpectrumDataExtIndex   
--              }
--        ::= { rdnSpectrumDataExtTable 1 }
--
--RdnSpectrumDataExtEntry ::= SEQUENCE {
--            rdnSpectrumDataExtIndex	         INTEGER,   
--            rdnSpectrumData				     Unsigned32
--        }
--
--rdnSpectrumDataExtIndex OBJECT-TYPE
--        SYNTAX      INTEGER  
--        MAX-ACCESS  not-accessible
--        STATUS      current
--        DESCRIPTION
--           " Index of the Spectrum data extern table"
--        ::= { rdnSpectrumDataExtEntry 1 }
--
--rdnSpectrumData OBJECT-TYPE
--        SYNTAX      Unsigned32  
--        MAX-ACCESS  read-only
--        STATUS      current
--        DESCRIPTION
--           " The collected spectrum data."
--        ::= { rdnSpectrumDataExtEntry 2 }

-- Spectrum quality table stores the spectrum quality information
rdnSpectrumQualityTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF RdnSpectrumQualityEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table stores the spectrum quality information."
        ::= { rdnCableSpectrumGroup 6}

rdnSpectrumQualityEntry OBJECT-TYPE
        SYNTAX      RdnSpectrumQualityEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "List of attributes for an entry in the rdnSpectrumDataEntry."
        INDEX { 
                ifIndex
              }
        ::= { rdnSpectrumQualityTable 1 }

RdnSpectrumQualityEntry ::= SEQUENCE {
            rdnSpecQualityUsChId             INTEGER,
            rdnSpectrumQualityDataLastUpdate DateAndTime,
            rdnSpectrumDataInBandPower       INTEGER,
            rdnSpectrumTotCodeWord		     Unsigned32,  
            rdnSpectrumErrorCodeWord	     Unsigned32
        }

rdnSpecQualityUsChId OBJECT-TYPE
        SYNTAX      INTEGER  
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "Identifies the upstream channel id for which the spectrum signal 
            quality is gathered. "
        ::= { rdnSpectrumQualityEntry 1 }

rdnSpectrumQualityDataLastUpdate OBJECT-TYPE
        SYNTAX      DateAndTime  
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "Date and time when this data was last updated "
        ::= { rdnSpectrumQualityEntry 2 }

rdnSpectrumDataInBandPower OBJECT-TYPE
        SYNTAX      INTEGER  
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "The in-band power for this frequency band. The unit is the 
            tenths of dBmV."
        ::= { rdnSpectrumQualityEntry 3 }

rdnSpectrumTotCodeWord OBJECT-TYPE
        SYNTAX      Unsigned32  
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "The total number of code words transfer through this interface"
        ::= { rdnSpectrumQualityEntry 4 }

rdnSpectrumErrorCodeWord OBJECT-TYPE
        SYNTAX      Unsigned32  
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "The uncorrectable error code words received through this
            interface."
        ::= { rdnSpectrumQualityEntry 5 }

-- Spectrum map table keeps the spectrum map
rdnSpectrumMapTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF RdnSpectrumMapEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table keeps the records of spectrum usage."
        ::= { rdnCableSpectrumGroup 7}

rdnSpectrumMapEntry OBJECT-TYPE
        SYNTAX      RdnSpectrumMapEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "List of attributes for an entry in the rdnSpectrumMapEntry."
        INDEX { 
        		rdnSpectrumGroupId,
                rdnSpectrumMapIndex
              }
        ::= { rdnSpectrumMapTable 1 }

RdnSpectrumMapEntry ::= SEQUENCE {
            rdnSpectrumMapIndex	            	INTEGER,
			rdnSpectrumMapStartFrequency		Unsigned32,
			rdnSpectrumMapStopFrequency			Unsigned32,
            rdnSpectrumMapStatus           		INTEGER
        }

rdnSpectrumMapIndex OBJECT-TYPE
        SYNTAX      INTEGER  
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
           " Identifies an entry in the spectrum map table"
        ::= { rdnSpectrumMapEntry 1 }

rdnSpectrumMapStartFrequency OBJECT-TYPE
        SYNTAX      Unsigned32  
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "The start frequency of the current spectrum band."
        ::= { rdnSpectrumMapEntry 2 }

rdnSpectrumMapStopFrequency OBJECT-TYPE
        SYNTAX      Unsigned32  
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "The stop frequency of the current spectrum band."
        ::= { rdnSpectrumMapEntry 3 }

rdnSpectrumMapStatus OBJECT-TYPE
        SYNTAX      INTEGER  
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "The spectrum band status. null (0), available (1), occupied (2),
            admin-down (3)"
        ::= { rdnSpectrumMapEntry 4 }

END

