RGBN-CORE-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, enterprises, Unsigned32, IpAddress
        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, RowStatus, DisplayString, TruthValue, MacAddress,
    DateAndTime
        FROM SNMPv2-TC
    RgbnAdminState, RgbnOperState, RgbnCardType, RgbnStandbyState,
    RgbnRedunState, RgbnResetRsn, RgbnFloatType,
    RgbnString
        FROM RGBN-BASE-MIB;

rgbnCoreMIB MODULE-IDENTITY
    LAST-UPDATED    "201001050000Z" -- 05-jan-2010, midnight
    ORGANIZATION    "RGB Networks"
    CONTACT-INFO    "Postal:
                        RGB Networks Inc
                        390 West Java Drive
                        Sunnyvale, CA 94089

                    WEB:
                        http://www.rgbnetworks.com
                        
                    Email:
                        info@rgbnetworks.com
                    "
    DESCRIPTION
        "Core management of System, Chassis, Card, and NTP servers
            
        Copyright (C) RGB Networks."
            
    -- revision descriptions in reverse chronological order
    REVISION        "201001050000Z" -- 05-jan-2010, midnight
    DESCRIPTION
        "Support 4 more addition License Types
                mpeg2SdCnt(6)  - MPEG2 SD Encoding Format
                mpeg2HdCnt(7)  - MPEG2 HD Encoding Format
                h264SdCnt(8)   - H264  SD Encoding Format
                h264HdCnt(9)   - H264  HD Encoding Format
        "
    REVISION        "200909220000Z" -- 22-sep-2009, midnight
    DESCRIPTION
        "Removed object rgbnCoreCardSwInstallState from
        the card table."

    REVISION        "200909140000Z" -- 14-sep-2009, midnight
    DESCRIPTION
        "Add action changeLocalUserPw to rgbnCoreActionType, and
        fixed some typos. Also, changed the max size of 
        rgbnCoreActionParms to 255. Updated the DESCRIPTION
        of object rgbnCoreActionParms. Added the objects
        rgbnCoreActionInvokeId and rgbnCoreActionChangeTime."

    REVISION        "200909040000Z" -- 4-sep-2009, midnight
    DESCRIPTION
        "Set product name to VMG"
        
    REVISION        "200908070000Z" -- 7-aug-2009, midnight
    DESCRIPTION
        "Update to support the following features:
        A) Video actions for program redundancy
            1) Added action progSwitchPrimToBkup
            2) Added action progSwitchBkupToPrim
            3) Added action progSwitchAllBkupToPrim"

    REVISION        "200906150000Z" -- 15-jun-2009, midnight
    DESCRIPTION
        "Initial Version of MIB module"
    ::= { enterprises rgbnetworks(19601) rgbnG2Modules(3) 4 }

-- Top level OID branches
    rgbnCoreNotifications   OBJECT IDENTIFIER ::= { rgbnCoreMIB 0 }
    rgbnCoreObjects         OBJECT IDENTIFIER ::= { rgbnCoreMIB 1 }
    rgbnCoreConformance     OBJECT IDENTIFIER ::= { rgbnCoreMIB 2 }
    rgbnCoreCompliances     OBJECT IDENTIFIER ::= { rgbnCoreConformance 1 }
    rgbnCoreGroups          OBJECT IDENTIFIER ::= { rgbnCoreConformance 2 }

-- textual conventions

RgbnSwInstallState::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
        "The installation state of software on a card. The values are:
            unknown(1) - state can not be determined, such as when
                            no card is present
            checking(2) - determining if software needs to be installed
                            on the card
            transferring(3) - transferring software to install on
                                the card
            installing(4) - installing software on the card
            failed(5) - either the transfer or the install failed
            completed(6) - the installation completed successfully
            
        The installation may first have a checking phase to determine
        if the existing software is the same version as the software to
        be installed. When the version matches, then the process is
        complete. If not, the second state occurs, if needed, of
        transferring the software to the card. After a successful
        transfer, the software is installed. The result of the
        process is either failure or successful completion."
    SYNTAX INTEGER {
                unknown(1),
                checking(2),
                transferring(3),
                installing(4),
                failed(5),
                completed(6)
                }
                
rgbnCoreChassis OBJECT IDENTIFIER ::= { rgbnCoreObjects 1 }
  -- Chassis objects (including cards)

rgbnCoreChassisGlobalCfg OBJECT IDENTIFIER ::= { rgbnCoreChassis 1 }
  -- Chassis global config
  
rgbnCoreChassisSysName OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The system name. This object provides the same value as
        object SNMPv2-MIB::sysName. The value is an
        administratively-assigned name for the system.
        By convention, this is a fully-qualified DNS name.
        If the name is unknown, the value is a zero-length string."
    ::= { rgbnCoreChassisGlobalCfg 1 }

rgbnCoreChassisSysLocation OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The system location. This object provides the same value as
        object SNMPv2-MIB::sysLocation. The value is the physical location
        of  the system (for example, 'telephone closet, 3rd floor').
        If the location is unknown, the value is a zero-length string."
    ::= { rgbnCoreChassisGlobalCfg 2 }

rgbnCoreChassisSysContact OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "A contact person for the system. This object provides the same
        value as object SNMPv2-MIB::sysContact. The value is the 
        textual identification of the contact person for the system,
        together with information on how to contact the person. If no
        contact information is known, the value is a zero-length string."
    ::= { rgbnCoreChassisGlobalCfg 3 }

rgbnCoreChassisGlobalInfo OBJECT IDENTIFIER ::= { rgbnCoreChassis 2 }
  -- Chassis global status/stat/state

rgbnCoreChassisType OBJECT-TYPE
    SYNTAX      INTEGER {
                    unknown(1),
                    vmg6(11),
                    vmg8(12),
                    vmg14(14),
                    vmg14xac(15),
                    vmg14xdc(16)
                    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The chassis (or system) type. The values are:
            unknown(1) - type can not be determined 
            vmg6(11) - a 6-slot VMG
            vmg14(14) - a 14-slot VMG
            vmg14xac(15) - a 14-slot VMG14x AC
            vmg14xdc(16) - a 14-slot VMG14x DC"
    ::= { rgbnCoreChassisGlobalInfo 1 }

rgbnCoreChassisSlots OBJECT-TYPE
    SYNTAX      Unsigned32(0..14)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of 'main' slots in the chassis."
    ::= { rgbnCoreChassisGlobalInfo 2 }

rgbnCoreChassisResetRsn OBJECT-TYPE
    SYNTAX      RgbnResetRsn
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The reason the chassis (system) was last reset."
    ::= { rgbnCoreChassisGlobalInfo 3 }

rgbnCoreChassisRedunState OBJECT-TYPE
    SYNTAX      RgbnRedunState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The redundancy state of the system."
    ::= { rgbnCoreChassisGlobalInfo 4 }

rgbnCoreChassisCurrentTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current system date and time."
    ::= { rgbnCoreChassisGlobalInfo 5 }

rgbnCoreChassisUpTime OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Length of time the system has been up in seconds."
    ::= { rgbnCoreChassisGlobalInfo 6 }

rgbnCoreChassisSwVerActive OBJECT-TYPE
    SYNTAX      RgbnString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The version of system software presently running on the system."
    ::= { rgbnCoreChassisGlobalInfo 7 }

rgbnCoreChassisSwVerNextBoot OBJECT-TYPE
    SYNTAX      RgbnString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The version of system software loaded on the system
        and which will be used at the next system boot."
    ::= { rgbnCoreChassisGlobalInfo 8 }

-- +++++++++++++++++++++++++++++++++++++++++++

rgbnCoreCardTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RgbnCoreCardEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of config and status info for cards in the system.
        The number of entries is the number of slots in the chassis."
    ::= { rgbnCoreChassis 3 }

rgbnCoreCardEntry OBJECT-TYPE
    SYNTAX      RgbnCoreCardEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A row in the card table. No row creation or deletion
        is supported via SNMP operations."
    INDEX { rgbnCoreCardSlotNum }
    ::= { rgbnCoreCardTable 1 }

RgbnCoreCardEntry ::= SEQUENCE {
    rgbnCoreCardSlotNum         Unsigned32,
    rgbnCoreCardPower           INTEGER,
    rgbnCoreCardTypePres        RgbnCardType,
    rgbnCoreCardTypeCfg         RgbnCardType,
    rgbnCoreCardStandbyState    RgbnStandbyState,
    rgbnCoreCardAdminState      RgbnAdminState,
    rgbnCoreCardOperState       RgbnOperState,
--    rgbnCoreCardSwInstallState  RgbnSwInstallState,
    rgbnCoreCardResetRsn        RgbnResetRsn,
    rgbnCoreCardActAlarms       BITS,
    rgbnCoreCardPartName        RgbnString,
    rgbnCoreCardPartNum         RgbnString,
    rgbnCoreCardHwRev           RgbnString,
    rgbnCoreCardMnfr            RgbnString,
    rgbnCoreCardMnfDate         RgbnString,
    rgbnCoreCardSerialNum       RgbnString
    }

rgbnCoreCardSlotNum OBJECT-TYPE
    SYNTAX      Unsigned32(1..14)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The number of the slot containing the card. The max value
        is determined by the number of slots in the device."
    ::= { rgbnCoreCardEntry 1 }

rgbnCoreCardPower OBJECT-TYPE
    SYNTAX      INTEGER { unknown(1), up(2), down(3) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates if the card is powered. The values are:
            unknown(1) - the card is not present, or the status
                          can not be determined
            up(2) - card is powered
            down(3) - card is not powered. This means that the
                        'blue light' (the LED) is on. This occurs
                        when the latch is lifted or the admin state
                        is set to disabled."
    ::= { rgbnCoreCardEntry 2 }

rgbnCoreCardTypePres OBJECT-TYPE
    SYNTAX      RgbnCardType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The type of the card currently present in the slot.
        When the slot is empty, the value is 'absent(2)'. When
        the card type has not been determined, the value is 'unknown(1)'.
        The value is never 'notcfg(3)'."
    ::= { rgbnCoreCardEntry 3 }

rgbnCoreCardTypeCfg OBJECT-TYPE
    SYNTAX      RgbnCardType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The type of the card configured to be present in the
        slot. The value is never 'unknown(1)' nor 'absent(2)'."
    ::= { rgbnCoreCardEntry 4 }

rgbnCoreCardStandbyState OBJECT-TYPE
    SYNTAX      RgbnStandbyState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The state of the card determined by its role and
        support of redundancy. For cards that do not support
        redundancy or are load balancing, the value will always
        be 'providingService(4)'. When no card is present and a
        card type has not been configured the value is 'unknown(1)'."
    ::= { rgbnCoreCardEntry 5 }

rgbnCoreCardAdminState OBJECT-TYPE
    SYNTAX      RgbnAdminState
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The administrative state of the card."
    ::= { rgbnCoreCardEntry 6 }

rgbnCoreCardOperState OBJECT-TYPE
    SYNTAX      RgbnOperState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The operational state of the card. When no card is
        present, the value is 'down(2)'."
    ::= { rgbnCoreCardEntry 7 }

--rgbnCoreCardSwInstallState OBJECT-TYPE
--    SYNTAX      RgbnSwInstallState
--    MAX-ACCESS  read-only
--    STATUS      current
--    DESCRIPTION
--        "The software install state of the card. When no card is present
--        the value is 'unknown(1)'."
--    ::= { rgbnCoreCardEntry 8 }

rgbnCoreCardResetRsn OBJECT-TYPE
    SYNTAX      RgbnResetRsn
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The reason the card was last reset. Note the value is 'none(1)'
        when the card has not been reset or no card is in the slot."
    ::= { rgbnCoreCardEntry 9 }

rgbnCoreCardActAlarms OBJECT-TYPE
    SYNTAX      BITS {
                    cardRemoved(0),
                    tempOverheat(1),
                    cardFailure(2),
                    notRedundant(3),
                    typeMismatch(4)
                    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The alarms currently raised on the card. The value is encoded
        as a bit string. Thus, it is all zero bits when no alarms are
        currently raised, and a bit is turned on for each raised
        alarm. The bits are:
            cardRemoved(0) - card that is admin enabled has been removed
            tempOverheat(1) - temperature too high on the card
            cardFailure(2) - the card has failed
            notRedundant(3) - card configured for redundant operation
                                does not have a standby card
            typeMismatch(4) - card present in the slot does not match the
                               card configured for the slot "
    ::= { rgbnCoreCardEntry 10 }

rgbnCoreCardPartName OBJECT-TYPE
    SYNTAX      RgbnString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "When the card is present, the 'part name' of the card.
        Otherwise, the value is a zero length string."
    ::= { rgbnCoreCardEntry 11 }

rgbnCoreCardPartNum OBJECT-TYPE
    SYNTAX      RgbnString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "When the card is present, the card 'part number'. Otherwise, the
        value is a zero length string."
    ::= { rgbnCoreCardEntry 12 }

rgbnCoreCardHwRev OBJECT-TYPE
    SYNTAX      RgbnString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "When the card is present, the hardware revision of the card.
        Otherwise, the value is a zero length string."
    ::= { rgbnCoreCardEntry 13 }

rgbnCoreCardMnfr OBJECT-TYPE
    SYNTAX      RgbnString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "When the card is present, the name of the card manufacturer.
        Otherwise, the value is a zero length string."
    ::= { rgbnCoreCardEntry 14 }

rgbnCoreCardMnfDate OBJECT-TYPE
    SYNTAX      RgbnString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "When the card is present, the 'manufacture date' of the card.
        Otherwise, the value is a zero length string."
    ::= { rgbnCoreCardEntry 15 }

rgbnCoreCardSerialNum OBJECT-TYPE
    SYNTAX      RgbnString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "When the card is present, the 'serial number' of the card.
        Otherwise, the value is a zero length string."
    ::= { rgbnCoreCardEntry 16 }


-- +++++++++++++++++++++++++++++++++++++++++++

rgbnCoreInvTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RgbnCoreInvEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table describing the chassis and all field replaceable
        components (FRUs) excepts for cards in the main slots.
        The number of entries is one plus the number of FRUs."
    ::= { rgbnCoreChassis 4 }

rgbnCoreInvEntry OBJECT-TYPE
    SYNTAX      RgbnCoreInvEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A row in the inventory table. No row creation or deletion
        is supported via SNMP operations."
    INDEX { rgbnCoreInvIndex }
    ::= { rgbnCoreInvTable 1 }

RgbnCoreInvEntry ::= SEQUENCE {
    rgbnCoreInvIndex            Unsigned32,
    rgbnCoreInvName             RgbnString,
    rgbnCoreInvPres             TruthValue,
    rgbnCoreInvPartName         RgbnString,
    rgbnCoreInvPartNum          RgbnString,
    rgbnCoreInvHwRev            RgbnString,
    rgbnCoreInvMnfr             RgbnString,
    rgbnCoreInvMnfDate          RgbnString,
    rgbnCoreInvSerialNum        RgbnString
    }

rgbnCoreInvIndex OBJECT-TYPE
    SYNTAX      Unsigned32(1..255)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The index of the component. The chassis always has the index
        of 1."
    ::= { rgbnCoreInvEntry 1 }

rgbnCoreInvName OBJECT-TYPE
    SYNTAX      RgbnString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The name of the component. Examples are 'chassis', 'fan1', etc."
    ::= { rgbnCoreInvEntry 2 }

rgbnCoreInvPres OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates if the component is present or absent. The values are:
            true(1) - the component is present
            false(2) - the component is absent"
    ::= { rgbnCoreInvEntry 3 }

rgbnCoreInvPartName OBJECT-TYPE
    SYNTAX      RgbnString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "When the component is present, the 'part name' of the component.
        Otherwise, the value is a zero length string."
    ::= { rgbnCoreInvEntry 4 }
    
rgbnCoreInvPartNum OBJECT-TYPE
    SYNTAX      RgbnString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "When the component is present, the 'part number' of the component.
        Otherwise, the value is a zero length string."
    ::= { rgbnCoreInvEntry 5 }
    
rgbnCoreInvHwRev OBJECT-TYPE
    SYNTAX      RgbnString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "When the component is present, 'hardware revision' of the component.
        Otherwise, the value is a zero length string."
    ::= { rgbnCoreInvEntry 6 }
    
rgbnCoreInvMnfr OBJECT-TYPE
    SYNTAX      RgbnString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "When the component is present, the name of the component
        manufacturer. Otherwise, the value is a zero length string."
    ::= { rgbnCoreInvEntry 7 }
    
rgbnCoreInvMnfDate OBJECT-TYPE
    SYNTAX      RgbnString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "When the component is present, the 'manufacture date' of the
        component. Otherwise, the value is a zero length string."
    ::= { rgbnCoreInvEntry 8 }

rgbnCoreInvSerialNum OBJECT-TYPE
    SYNTAX      RgbnString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "When the component is present, the 'serial number' of the
        component. Otherwise, the value is a zero length string."
    ::= { rgbnCoreInvEntry 9 }

-- +++++++++++++++++++++++++++++++++++++++++++

rgbnCoreSystem OBJECT IDENTIFIER ::= { rgbnCoreObjects 2 }
  -- System objects

rgbnCoreSystemGlobalCfg OBJECT IDENTIFIER ::= { rgbnCoreSystem 1 }
  -- System global config

rgbnCoreSysTimezone OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(3..8))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The time zone name."
    ::= { rgbnCoreSystemGlobalCfg 1 }

rgbnCoreSysNpmRedunSwitch OBJECT-TYPE
    SYNTAX      INTEGER {
                    inhibit(1),
                    allow(2)
                    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Controls whether or not an NPM redundancy (protection) switch
        can occur. The values are:
            inhibit(1) - a switch is inhibited from occurring
            allow(2) - a switch is allowed to occur"
    ::= { rgbnCoreSystemGlobalCfg 2 }

rgbnCoreSystemGlobalInfo OBJECT IDENTIFIER ::= { rgbnCoreSystem 2 }
  -- System global status/stat/state

rgbnCoreSysSyncNtpServer OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "When the NTP daemon has associated and sync'ed the system clock
        with an NTP server, the IP address of that server. Otherwise
        the value is the IP address 0.0.0.0."
    ::= { rgbnCoreSystemGlobalInfo 1 }


-- +++++++++++++++++++++++++++++++++++++++++++

rgbnCoreNtpSvrTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RgbnCoreNtpSvrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of NTP servers to use in setting the local clock.
        The number of entries is configuration dependent, and the
        maximum number of entries is implementation dependent."
    ::= { rgbnCoreSystem 3 }

rgbnCoreNtpSvrEntry OBJECT-TYPE
    SYNTAX      RgbnCoreNtpSvrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A row in the NTP server table. Row creation and deletion
        is supported via SNMP operations via object
        rgbCoreNtpRowStatus. Only the 'createAndGo' and 'destroy'
        operations are supported. On creation, the value must be
        specified for object rgbnCoreNtpSvrAddr."
    INDEX { rgbnCoreNtpSvrIndex }
    ::= { rgbnCoreNtpSvrTable 1 }

RgbnCoreNtpSvrEntry ::= SEQUENCE {
    rgbnCoreNtpSvrIndex         Unsigned32,
    rgbnCoreNtpSvrAddr          IpAddress,
    rgbnCoreNtpSvrStatus        INTEGER,
    rgbnCoreNtpSvrRowStatus     RowStatus
    }

rgbnCoreNtpSvrIndex OBJECT-TYPE
    SYNTAX      Unsigned32(1..5)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The index of the NTP server."
    ::= { rgbnCoreNtpSvrEntry 1 }
    
rgbnCoreNtpSvrAddr OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The IPv4 address of the NTP server."
    ::= { rgbnCoreNtpSvrEntry 2 }
    
rgbnCoreNtpSvrStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    sync(1),
                    candidate(2),
                    reject(3)
                    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The status of the association. Only a single NTP server in
        the list may have the status of 'sync(1)'. The values are:
            sync(1) - the server is being used to sync the local clock
            candidate(2) - the server is a candidate for sync
            reject(3) - the server is rejected at this time for sync"
    ::= { rgbnCoreNtpSvrEntry 3 }
    
rgbnCoreNtpSvrRowStatus OBJECT-TYPE
    SYNTAX      RowStatus { active(1), createAndGo(4), destroy(6) }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The status of the row. Only 'one-shot creation' is allowed."
    ::= { rgbnCoreNtpSvrEntry 4 }

-- +++++++++++++++++++++++++++++++++++++++++++

rgbnCoreGrmGroupTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RgbnCoreGrmGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of grooming groups. The number of entries is
        system hardware implementation dependent."
    ::= { rgbnCoreSystem 4 }

rgbnCoreGrmGroupEntry OBJECT-TYPE
    SYNTAX      RgbnCoreGrmGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A row in the grooming group table. No row creation or deletion
        is supported via SNMP operations."
    INDEX { rgbnCoreGrmGroupId }
    ::= { rgbnCoreGrmGroupTable 1 }

RgbnCoreGrmGroupEntry ::= SEQUENCE {
    rgbnCoreGrmGroupId          INTEGER,
    rgbnCoreGrmGroupAdminState  RgbnAdminState,
    rgbnCoreGrmGroupVirtMacAdminState   RgbnAdminState,
    rgbnCoreGrmGroupVirtBaseMacAddr     MacAddress
    }

rgbnCoreGrmGroupId OBJECT-TYPE
    SYNTAX      INTEGER {
                    g1GigeAllPorts(1),
                    g10GigePort1(2),
                    g10GigePort2(3)
                    }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The group ID. The values are:
            g1GigeAllPorts(1) - all of the 1GigE ports
            g10GigePort1(2) - the first 10GigE port
            g10GigePort2(3) - the second 10GigE port"
    ::= { rgbnCoreGrmGroupEntry 1 }

rgbnCoreGrmGroupAdminState OBJECT-TYPE
    SYNTAX      RgbnAdminState
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Controls use of the grooming group. There may be
        implementation restrictions on the number of groups
        that can concurrently be enabled. The values are:
            disable(1) - the group is administratively blocked from use
            enabled(2) - the group is administratively allowed to be used"
    ::= { rgbnCoreGrmGroupEntry 2 }

rgbnCoreGrmGroupVirtMacAdminState OBJECT-TYPE
    SYNTAX      RgbnAdminState
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Controls which MAC addresses are used by ports in the
        grooming group. The values are:
            disable(1) - the MAC address used are those configured
                            on the card containing the ports
            enabled(2) - the MAC address used are specified by the
                            value of object rgbnCoreGrmGroupVirtBaseMacAddr"
    ::= { rgbnCoreGrmGroupEntry 3 }
    
rgbnCoreGrmGroupVirtBaseMacAddr OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The base MAC address for ports in the grooming group.
        The value is only used when the value for object
        rgbnCoreGrmGroupVirtMacAdminState is 'enabled(2)'."
    ::= { rgbnCoreGrmGroupEntry 4 }

-- +++++++++++++++++++++++++++++++++++++++++++

rgbnCoreActionTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RgbnCoreActionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of system actions. The number of entries is
        the number of actions. Here is how the table would be
        used to perform an action with index 'i':
        1) get the value of rgbnCoreActionOpStatus.i. If value
           is 'inprogress(3)', then wait and try again.
        2) generate a random number, R
        3) set
             rgbnCoreActionParms.i to action parms,
             rgbnCoreActionOpStatus.i to 'start(1)'
             rgbnCoreActionInvokeId.i to R
        4) get the value of
             rgbnCoreActionOpStatus.i,
             rgbnCoreActionResults.i,
             rgbnCoreActionStartTime.i
             rgbnCoreActionInvokeId.i
        5) if rgbnCoreActionInvokeID.i is not mod(R+1,2**32) then start over
        6) if rgbnCoreActionOpStatus.i not equal to 'inprogress(3)',
            then done
        7) wait a while, then jump to step 4"
    ::= { rgbnCoreSystem 5 }

rgbnCoreActionEntry OBJECT-TYPE
    SYNTAX      RgbnCoreActionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A row in the system action table. No row creation or deletion
        is supported via SNMP operations."
    INDEX { rgbnCoreActionType }
    ::= { rgbnCoreActionTable 1 }

RgbnCoreActionEntry ::= SEQUENCE {
    rgbnCoreActionType      INTEGER,
    rgbnCoreActionParms     DisplayString,
    rgbnCoreActionOpStatus  INTEGER,
    rgbnCoreActionResults   DisplayString,
    rgbnCoreActionStartTime DateAndTime,
    rgbnCoreActionInvokeId  Unsigned32,
    rgbnCoreActionChangeTime DateAndTime
    }

rgbnCoreActionType OBJECT-TYPE
    SYNTAX      INTEGER {
                    getSysSw(1),
                    saveDb(2),
                    restoreDb(3),
                    reboot(4),
                    shutdown(5),
                    redunSwitch(6),
                    resetCard(7),
                    ackAlarm(8),
                    setDateTime(9),
                    progSwitchPrimToBkup(10),
                    progSwitchBkupToPrim(11),
                    progSwitchAllBkupToPrim(12),
                    changeLocalUserPw(13)
                    }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The type of the action. The values are:
            getSysSw(1) - get system software. There is a single
                            parameter, which is the URI
                            of the system software in format:
                            ftp://[<user>[:<password>]@]<host>[:<port>]/<path>/<file>
            saveDb(2) - save the config databases and store at a specified
                            location in a single file. There is a single
                            parameter, which is the URI of where to store 
                            the config databases in format:
                            ftp://[<user>[:<password>]@]<host>[:<port>]/<path>/<file>
            restoreDb(3) - restore the config databases. There is a single
                            parameter, which is the URI of a file containing
                            previously saved config databases in format:
                            ftp://[<user>[:<password>]@]<host>[:<port>]/<path>/<file>
            reboot(4) - reboot the system. There is a single optional
                            parameter, which is the word 'clear' to
                            clear the system databases. Note: during the
                            reboot, connectivity will be lost, and a 'clear'
                            will remove all configuration so no further
                            SNMP operations are possible.
            shutdown(5) - shutdown the system. There are no parameters.
                            Note, on a shutdown, connectivity will be lost.
            redunSwitch(6) - perform a redundancy switch. There are no
                            parameters. Note, during the redundancy shutdown,
                            connectivity will be lost.
            resetCard(7) - reset a card. There is a single parameter,
                            which is the slot number of the card.
            ackAlarm(8) - acknowledge an alarm. There is a single parameter,
                            which is the ID of the alarm.
            setDateTime(9) - set the date and time on the system. There is a
                            single parameter, which is a UTC value in format:
                              MMDDHHmmYYYY[.ss], where 
                                MM - is month (01-12) (always 2 digits)
                                DD - is day of month (01-31) (always 2 digits)
                                HH - is hour (00-23) (always 2 digits)
                                mm - minute (00-59) (always 2 digits)
                                ss - seconds (00-59) (always 2 digits)
                                YYYY - is year
            progSwitchPrimToBkup(10) - switch from primary to backup program.
                            There is a single parameter, which is the
                            index of the grooming session
            progSwitchBkupToPrim(11) - switch from backup to primary program.
                            There is a single parameter, which is the
                            index of the grooming session
            progSwitchAllBkupToPrim(12) - switch each backup program to
                            its corresponding primary program. There are
                            no parameters.
            changeLocalUserPw(13) - change the password of a locally configured
                            user. There are three parameters, which are space
                            separated and are:
                            1) the user's name, 2) the old password (obscured),
                            and 3) the new password (obscured)."
    ::= { rgbnCoreActionEntry 1 }

rgbnCoreActionParms OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The parameters, if any, for the action. The value(s) must match
        what is expected for the action as described by the enumerations
        for object rgbnCoreActionType. The value can be changed any time
        the value of object rgbnCoreActionOpStatus is not 'inprogress(3)'.
        However, it is used only when object rgbnCoreActionOpStatus is
        set to 'start(1)'. At system start, the value is a zero length
        string."
    ::= { rgbnCoreActionEntry 2 }
    
rgbnCoreActionOpStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    start(1),
                    notstarted(2),
                    inprogress(3),
                    completed(4),
                    error(5)
                    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This is a control and status object. It used to start an
        action and to provide status of an action. The values are:
            start(1) - start action (and increment the value of
                                    object rgbnCoreActionInvokeId)
            notstarted(2) - no action started since system start
            inprogress(3) - the action is in progress
            completed(4) - the action completed successfully
            error(5) - the action had an error
        The value 'start(1)' can only be written, and can never be read.
        The value cannot be written when the value is 'inprogress(3)'.
        All the other values are read-only and cannot be written."
    ::= { rgbnCoreActionEntry 3 }
    
rgbnCoreActionResults OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Any resulting information for the action. The value of
        rgbnCoreActionOpStatus should be retrieved when this
        object is retrieved. Some operations may update the
        value while the operation is in progress. When there
        is no information, the value is a zero length string."
    ::= { rgbnCoreActionEntry 4 }

rgbnCoreActionStartTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The system date and time when the action started."
    ::= { rgbnCoreActionEntry 5 }

rgbnCoreActionInvokeId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "A value that should be used by an action invoker to
        check that result 'belongs' to the invoker. When an
        action is started, the value is incremented. If the
        value reaches the max, then it wraps to zero."
    ::= { rgbnCoreActionEntry 6 }

rgbnCoreActionChangeTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The system date and time when the value of object
        rgbnCoreActionOpStatus or rgbnCoreActionResults
        was last changed."
    ::= { rgbnCoreActionEntry 7 }

-- +++++++++++++++++++++++++++++++++++++++++++

rgbnCoreLicTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RgbnCoreLicEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of license types. The number of entries is
        the number of license types."
    ::= { rgbnCoreSystem 6 }

rgbnCoreLicEntry OBJECT-TYPE
    SYNTAX      RgbnCoreLicEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A row in the system license type table. No row creation or 
        deletion is supported via SNMP operations."
    INDEX { rgbnCoreLicType }
    ::= { rgbnCoreLicTable 1 }

RgbnCoreLicEntry ::= SEQUENCE {
    rgbnCoreLicType         INTEGER,
    rgbnCoreLicState        INTEGER,
    rgbnCoreLicKey          DisplayString,
    rgbnCoreLicMtype        INTEGER,
    rgbnCoreLicAlloc        RgbnFloatType,
    rgbnCoreLicUsed         RgbnFloatType,
    rgbnCoreLicAvail        RgbnFloatType
    }

rgbnCoreLicType OBJECT-TYPE
    SYNTAX      INTEGER {
                    base(1),
                    grmBw(2),
                    dpiBw(3),
                    dpiCnt(4),
                    pgSubCnt(5),
                    mpeg2SdCnt(6),
                    mpeg2HdCnt(7),
                    h264SdCnt(8),
                    h264HdCnt(9)
                    }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The type of the license. The values are:
            base(1)        - base license (measurement type is binary (either 0 or 1))
            grmBw(2)       - grooming bandwidth in bytes per second
            dpiBw(3)       - DPI bandwidth in bytes per second
            dpiCnt(4)      - DPI sessions
            pgSubCnt(5)    - program substitutions
            mpeg2SdCnt(6)  - MPEG2 SD Encoding Format
            mpeg2HdCnt(7)  - MPEG2 HD Encoding Format
            h264SdCnt(8)   - H264  SD Encoding Format
            h264HdCnt(9)   - H264  HD Encoding Format
        "
    ::= { rgbnCoreLicEntry 1 }

rgbnCoreLicState OBJECT-TYPE
    SYNTAX      INTEGER {
                    nokey(1),
                    valid(2),
                    invalid(3)
                    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The state of the license key. The values are:
            nokey(1) - no key has been specified
            valid(2) - the key is valid
            invalid(3) - the key is invalid. This results from a
                            restored configuration from a different
                            system, or moving a configuration from
                            one system to another and the chassis
                            serial number not matching the one
                            associated with the license"
    ::= { rgbnCoreLicEntry 2 }

rgbnCoreLicKey OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The key for the license. On a set, if the key is not valid,
        the set is failed. When the value of object rgbnCoreLicState
        is 'nokey(1)', the value is a zero length string."
    ::= { rgbnCoreLicEntry 3 }

rgbnCoreLicMtype OBJECT-TYPE
    SYNTAX      INTEGER {
                    binary(1),
                    bps(2),
                    count(3)
                    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The measurement type for the license. The values are:
            binary(1) - the value for 'alloc' will be 1,
                        for 'used' will be 2, and for 'avail' will be 0
            bps(2) - the value is bytes per second
            count(3) - the value is a count"
    ::= { rgbnCoreLicEntry 4 }
    
rgbnCoreLicAlloc OBJECT-TYPE
    SYNTAX      RgbnFloatType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The amount of resources allocated for the license."
    ::= { rgbnCoreLicEntry 5 }
    
rgbnCoreLicUsed OBJECT-TYPE
    SYNTAX      RgbnFloatType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The amount of the allocated resources consumed by
        configuration."
    ::= { rgbnCoreLicEntry 6 }
    
rgbnCoreLicAvail OBJECT-TYPE
    SYNTAX      RgbnFloatType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The amount of the allocated resources remaining
        after those used by configuration."
    ::= { rgbnCoreLicEntry 7 }


END
