RGBN-EAL-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, enterprises, Unsigned32, IpAddress,
    Gauge32
        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, RowStatus, DisplayString, TruthValue, DateAndTime
        FROM SNMPv2-TC;

rgbnEalMIB MODULE-IDENTITY
    LAST-UPDATED    "200905180000Z" -- 18-may-2009, 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
        "Event, Alarm, and Syslog management
            
        Copyright (C) RGB Networks."
            
    -- revision descriptions in reverse chronological order
    REVISION        "200905180000Z" -- 18-may-2009, midnight
    DESCRIPTION
        "Initial Version of MIB module."
    ::= { enterprises rgbnetworks(19601) rgbnG2Modules(3) 3 }

-- Top level OID branches
rgbnEalNotifications OBJECT IDENTIFIER ::= { rgbnEalMIB 0 }
rgbnEalObjects OBJECT IDENTIFIER ::= { rgbnEalMIB 1 }
rgbnEalConformance OBJECT IDENTIFIER ::= { rgbnEalMIB 2 }
    rgbnEalCompliances OBJECT IDENTIFIER ::= { rgbnEalConformance 1 }
    rgbnEalGroups OBJECT IDENTIFIER ::= { rgbnEalConformance 2 }

-- textual conventions

RgbnEalSeverity ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
        "Severity of an event or an alarm. The values are chosen
        so that they map to syslog severity values.
        However, only the following subset are used:
            crit(2) - syslog LOG_CRIT
            major(3) - syslog LOG_ERR
            minor(4) - syslog LOG_WARNING
            info(6) - syslog LOG_INFO"
    SYNTAX INTEGER {
                crit(2), 
                major(3),
                minor(4),
                info(6)
                }

RgbnEalAlarmActn ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
        "Alarm action associated with an event. The values are:
            none(1) - no alarm associated with the event
            raise(2) - raise an alarm
            ack(3) - ack an alarm
            clear(4) - clear an alarm"
    SYNTAX INTEGER {
                none(1), 
                raise(2),
                ack(3),
                clear(4)
                }

rgbnEalEvent OBJECT IDENTIFIER ::= { rgbnEalObjects 1 }
  -- Events

rgbnEalEventGlobalCfg OBJECT IDENTIFIER ::= { rgbnEalEvent 1 }
  -- Event global config

rgbnEalEventMaxLogSize OBJECT-TYPE
    SYNTAX      Unsigned32(50..10000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The maximum number of entries in the event log. If the
        value is changed to be less than the current number of
        entries in the log, the oldest entries are purged from
        the log."
    -- DEFVAL   { 500 }
    ::= { rgbnEalEventGlobalCfg 1 }

rgbnEalEventGlobalInfo OBJECT IDENTIFIER ::= { rgbnEalEvent 2 }
  -- Event global status/stat/state

rgbnEalEventCurLogSize OBJECT-TYPE
    SYNTAX      Gauge32(0..10000)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current number of entries in the event log."
    ::= { rgbnEalEventGlobalInfo 1 }

rgbnEalEventTotalCnt OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of events reported since system boot."
    ::= { rgbnEalEventGlobalInfo 2 }

rgbnEalEventLastRecvTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The date and time when the last event was reported. If
        none has been reported, then the value is 'all zeros'."
    ::= { rgbnEalEventGlobalInfo 3 }

rgbnEalEventCLogTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RgbnEalEventCLogEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of events reported on the system in concise
        format. Entries are created and deleted by system operation.
        The number of entries in the table can range from 0 to the
        value of object rgbnEalEventMaxLogSize. When the log is full,
        a new event report will cause the oldest entry to be purged."
    ::= { rgbnEalEvent 3 }

rgbnEalEventCLogEntry OBJECT-TYPE
    SYNTAX      RgbnEalEventCLogEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A row in the concise format event log table. No
        row creation or deletion is supported via
        SNMP operations."
    INDEX { rgbnEalEventCLogOccId }
    ::= { rgbnEalEventCLogTable 1 }

RgbnEalEventCLogEntry ::= SEQUENCE {
    rgbnEalEventCLogOccId Unsigned32,
    rgbnEalEventCLogAreaId Unsigned32,
    rgbnEalEventCLogAreaName DisplayString,
    rgbnEalEventCLogTypeId Unsigned32,
    rgbnEalEventCLogTypeName DisplayString,
    rgbnEalEventCLogAlarmActn RgbnEalAlarmActn,
    rgbnEalEventCLogAlarmOccId Unsigned32,
    rgbnEalEventCLogRptTime DateAndTime,
    rgbnEalEventCLogSeverity RgbnEalSeverity,
    rgbnEalEventCLogMsgTrunc TruthValue,
    rgbnEalEventCLogMsgLen Unsigned32,
    rgbnEalEventCLogMsg DisplayString
    }

rgbnEalEventCLogOccId OBJECT-TYPE
    SYNTAX      Unsigned32(1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The occurrence ID of the event. The values start at one on
        system boot and are never reused. Since there are 3153600 seconds
        per year, if an event was reported continuously every second,
        it would take over 135 years before the value wrapped."
    ::= { rgbnEalEventCLogEntry 1 }

rgbnEalEventCLogAreaId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The area ID of the event. Together the area ID and type ID
        uniquely identify an event type." 
    ::= { rgbnEalEventCLogEntry 2 }

rgbnEalEventCLogAreaName OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(1..16))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The name of the area ID of the event." 
    ::= { rgbnEalEventCLogEntry 3 }

rgbnEalEventCLogTypeId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The type ID of the event. Together the area ID and type ID
        uniquely identify an event type." 
    ::= { rgbnEalEventCLogEntry 4 }

rgbnEalEventCLogTypeName OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(1..24))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The name of the type ID of the event." 
    ::= { rgbnEalEventCLogEntry 5 }

rgbnEalEventCLogAlarmActn OBJECT-TYPE
    SYNTAX      RgbnEalAlarmActn
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Alarm action associated with an event. The values are:
            none(1) - no alarm associated with the event
            raise(2) - raise an alarm
            ack(3) - ack an alarm
            clear(4) - clear an alarm"
    ::= { rgbnEalEventCLogEntry 6 }

rgbnEalEventCLogAlarmOccId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Zero, or the occurrence ID of the associated alarm."
    ::= { rgbnEalEventCLogEntry 7 }

rgbnEalEventCLogRptTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The date and time that the event was reported."
    ::= { rgbnEalEventCLogEntry 8 }

rgbnEalEventCLogSeverity OBJECT-TYPE
    SYNTAX      RgbnEalSeverity
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The severity of the event."
    ::= { rgbnEalEventCLogEntry 9 }

rgbnEalEventCLogMsgTrunc OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates if the message was truncated. The values are:
            true(1) - message truncated
            false(2) - message complete"
    ::= { rgbnEalEventCLogEntry 10 }

rgbnEalEventCLogMsgLen OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The length of the event message."
    ::= { rgbnEalEventCLogEntry 11 }

rgbnEalEventCLogMsg OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..80))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The event message in concise format."
    ::= { rgbnEalEventCLogEntry 12 }


rgbnEalAlarm OBJECT IDENTIFIER ::= { rgbnEalObjects 2 }
  -- Alarms
  
rgbnEalAlarmGlobalCfg OBJECT IDENTIFIER ::= { rgbnEalAlarm 1 }
  -- Alarm global config
  -- none for now

rgbnEalAlarmGlobalInfo OBJECT IDENTIFIER ::= { rgbnEalAlarm 2 }
  -- Alarm global status/stat/state

rgbnEalAlarmCurEntCnt OBJECT-TYPE
    SYNTAX      Gauge32(0..1000)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current number of entries in the alarm list."
    ::= { rgbnEalAlarmGlobalInfo 1 }

rgbnEalAlarmCurCritCnt OBJECT-TYPE
    SYNTAX      Gauge32(0..1000)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current number of entries with severity of critical
        in the alarm list."
    ::= { rgbnEalAlarmGlobalInfo 2 }

rgbnEalAlarmCurMajorCnt OBJECT-TYPE
    SYNTAX      Gauge32(0..1000)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current number of entries with severity of major
        in the alarm list."
    ::= { rgbnEalAlarmGlobalInfo 3 }

rgbnEalAlarmCurMinorCnt OBJECT-TYPE
    SYNTAX      Gauge32(0..1000)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current number of entries with severity of minor
        in the alarm list."
    ::= { rgbnEalAlarmGlobalInfo 4 }

rgbnEalAlarmCurInfoCnt OBJECT-TYPE
    SYNTAX      Gauge32(0..1000)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current number of entries with severity of info
        in the alarm list."
    ::= { rgbnEalAlarmGlobalInfo 5 }

rgbnEalAlarmCurTotalCnt OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of alarms raised since system boot."
    ::= { rgbnEalAlarmGlobalInfo 6 }

rgbnEalAlarmLastChangeTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The date and time of the last change in the alarm list, which
        includes an add, deletion, or ack. If no change has occurred since
        system boot, the value is 'all zeros'."
     ::= { rgbnEalAlarmGlobalInfo 7 }

rgbnEalAlarmCurHighestSevOccId OBJECT-TYPE
    SYNTAX      Unsigned32(0..4294967295)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Zero, or the value of the occurrence ID of the most recently
        raised alarm with the highest severity."
    ::= { rgbnEalAlarmGlobalInfo 8 }

rgbnEalAlarmCurHighestSevMsg OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..80))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A zero length string when the value of rgbnEalAlarmCurHighestSevOccId
        is zero, or the alarm message in the concise format."
    ::= { rgbnEalAlarmGlobalInfo 9 }


rgbnEalAlarmCListTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RgbnEalAlarmCListEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of active (that is, raised but not cleared) alarms on
        the system in concise format. Entries are created and deleted
        by system operation. The number of entries in the table can
        range from 0 to the maximum implementation size."
    ::= { rgbnEalAlarm 3 }

rgbnEalAlarmCListEntry OBJECT-TYPE
    SYNTAX      RgbnEalAlarmCListEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A row in the concise format alarm list table. No
        row creation or deletion is supported via
        SNMP operations."
    INDEX { rgbnEalAlarmCListOccId }
    ::= { rgbnEalAlarmCListTable 1 }

RgbnEalAlarmCListEntry ::= SEQUENCE {
    rgbnEalAlarmCListOccId Unsigned32,
    rgbnEalAlarmCListAreaId Unsigned32,
    rgbnEalAlarmCListAreaName DisplayString,
    rgbnEalAlarmCListTypeId Unsigned32,
    rgbnEalAlarmCListTypeName DisplayString,
    rgbnEalAlarmCListRaiseTime DateAndTime,
    rgbnEalAlarmCListAckState INTEGER,
    rgbnEalAlarmCListAckTime DateAndTime,
    rgbnEalAlarmCListSeverity RgbnEalSeverity,
    rgbnEalAlarmCListMsgTrunc TruthValue,
    rgbnEalAlarmCListMsgLen Unsigned32,
    rgbnEalAlarmCListMsg DisplayString
    }

rgbnEalAlarmCListOccId OBJECT-TYPE
    SYNTAX      Unsigned32(1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The occurrence ID of the alarm. The values start at one on
        system boot and are never reused. Since there are 3153600 seconds
        per year, if an alarm was raised continuously every second,
        it would take over 135 years before the value wrapped."
    ::= { rgbnEalAlarmCListEntry 1 }

rgbnEalAlarmCListAreaId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The area ID of the alarm. Together the area ID and type ID
        uniquely identify an alarm type." 
    ::= { rgbnEalAlarmCListEntry 2 }

rgbnEalAlarmCListAreaName OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(1..16))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The name of the area ID of the alarm." 
    ::= { rgbnEalAlarmCListEntry 3 }

rgbnEalAlarmCListTypeId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The type ID of the alarm. Together the area ID and type ID
        uniquely identify an alarm type." 
    ::= { rgbnEalAlarmCListEntry 4 }

rgbnEalAlarmCListTypeName OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(1..24))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The name of the type ID of the alarm." 
    ::= { rgbnEalAlarmCListEntry 5 }

rgbnEalAlarmCListRaiseTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The date and time that the alarm was raised."
    ::= { rgbnEalAlarmCListEntry 6 }

rgbnEalAlarmCListAckState OBJECT-TYPE
    SYNTAX      INTEGER {
                        notAcked(1),
                        acked(2)
                        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates if the alarm has been acknowledged. Once an
        alarm has been acknowledged, it cannot be changed to 'not
        acknowledged'. When it is acknowledged, the value of
        object rgbnEalAlarmCListAckTime is set to the current
        time on the system. The values are:
            notAcked(1) - the alarm has not been acknowledged
            acked(2) - the alarm has been acknowledged"
    ::= { rgbnEalAlarmCListEntry 7 }

rgbnEalAlarmCListAckTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The date and time that the alarm was ack'ed. If the alarm
        has not been acknowledged, then the value is 'all zeros'."
    ::= { rgbnEalAlarmCListEntry 8 }

rgbnEalAlarmCListSeverity OBJECT-TYPE
    SYNTAX      RgbnEalSeverity
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The severity of the alarm."
    ::= { rgbnEalAlarmCListEntry 9 }

rgbnEalAlarmCListMsgTrunc OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates if the message was truncated. The values are:
            true(1) - message truncated
            false(2) - message complete"
    ::= { rgbnEalAlarmCListEntry 10 }

rgbnEalAlarmCListMsgLen OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The length of the alarm message."
    ::= { rgbnEalAlarmCListEntry 11 }

rgbnEalAlarmCListMsg OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..80))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The alarm message in concise format."
    ::= { rgbnEalAlarmCListEntry 12 }


rgbnEalSyslog OBJECT IDENTIFIER ::= { rgbnEalObjects 3 }
  -- Syslog

rgbnEalSyslogSvrTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RgbnEalSyslogSvrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of servers to send syslog messages.
        The number of entries is configuration dependent, and the
        maximum number of entries is implementation dependent."
    ::= { rgbnEalSyslog 1 }

rgbnEalSyslogSvrEntry OBJECT-TYPE
    SYNTAX      RgbnEalSyslogSvrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A row in the syslog server table. Row creation and deletion
        is supported via SNMP operations via object
        rgbnEalSyslogSvrRowStatus. Only the 'createAndGo' and 'destroy'
        operations are supported. On creation, the values must be
        specified for object rgbnEalSyslogSvrIpAddr, and may be
        specified for object rgbnEalSyslogSvrUdpPort."
    INDEX { rgbnEalSyslogSvrIndex }
    ::= { rgbnEalSyslogSvrTable 1 }

RgbnEalSyslogSvrEntry ::= SEQUENCE {
    rgbnEalSyslogSvrIndex       Unsigned32,
    rgbnEalSyslogSvrIpAddr      IpAddress,
    rgbnEalSyslogSvrUdpPort     Unsigned32,
    rgbnEalSyslogSvrRowStatus   RowStatus
    }
 
 rgbnEalSyslogSvrIndex OBJECT-TYPE
     SYNTAX      Unsigned32(1..10)
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
         "The index of the syslog server."
     ::= { rgbnEalSyslogSvrEntry 1 }
 
 rgbnEalSyslogSvrIpAddr OBJECT-TYPE
     SYNTAX      IpAddress
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION
         "The IPv4 address of the syslog server."
     ::= { rgbnEalSyslogSvrEntry 2 }

rgbnEalSyslogSvrUdpPort OBJECT-TYPE
     SYNTAX      Unsigned32(0..65535)
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION
         "The UDP port number of the syslog server."
     DEFVAL     { 514 }
     ::= { rgbnEalSyslogSvrEntry 3 }

rgbnEalSyslogSvrRowStatus OBJECT-TYPE
     SYNTAX      RowStatus
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION
         "The status of the row. Only 'one-shot creation' is allowed.
        The value of any writable object in this table can be modified
        when the value is 'active(1)'."
     ::= { rgbnEalSyslogSvrEntry 4 }

END
