-- ****************************************************************************
--  ALVARION-SYSLOG-MIB definitions
--
--  Copyright (c) 2007, Alvarion Ltd.
--  All Rights Reserved.
--
--  Alvarion Syslog MIB file.
--
-- ****************************************************************************


ALVARION-SYSLOG-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
    Unsigned32
        FROM    SNMPv2-SMI
    TEXTUAL-CONVENTION, 
    DisplayString
        FROM    SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
        FROM    SNMPv2-CONF
    alvarionMgmtV2
        FROM    ALVARION-SMI
    AlvarionNotificationEnable
        FROM    ALVARION-TC
;


alvarionSyslogMIB MODULE-IDENTITY
    LAST-UPDATED    "200710310000Z"
    ORGANIZATION    "Alvarion Ltd."
    CONTACT-INFO    "Alvarion Ltd.
                     Postal: 21a HaBarzel St.
                             P.O. Box 13139
                             Tel-Aviv 69710
                             Israel
                     Phone:  +972 3 645 6262"
    DESCRIPTION     "Alvarion Syslog MIB module."

    ::= { alvarionMgmtV2 3 }


-- alvarionSyslogMIBObjects definition
alvarionSyslogMIBObjects OBJECT IDENTIFIER ::= { alvarionSyslogMIB 1 }

-- system log groups
syslogConfig OBJECT IDENTIFIER ::=  { alvarionSyslogMIBObjects 1 }
syslogMessage OBJECT IDENTIFIER ::= { alvarionSyslogMIBObjects 2 }

-- system log severity textual convention
--      This values is the actual value the syslog daemon uses,
--      plus 1. For example: the value for debug severity will
--      be 8 instead of 7.
SyslogSeverity ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "Indicates the severity of a syslog message.
                 NOTE: This values is the actual value the syslog daemon uses,
                       plus 1. For example: the value for debug severity will
                       be 8 instead of 7."
    SYNTAX      INTEGER
                {
                    emergency(1),
                    alert(2),
                    critical(3),
                    error(4),
                    warning(5),
                    notice(6),
                    info(7),
                    debug(8)
                }

-- system log configuration
syslogSeverityNotificationEnabled OBJECT-TYPE
    SYNTAX      AlvarionNotificationEnable
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Specifies if syslogSeverityNotification events are
                 generated."
    DEFVAL      { enable }
    ::= { syslogConfig 1 }

syslogRegExMatchNotificationEnabled OBJECT-TYPE
    SYNTAX      AlvarionNotificationEnable
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Specifies if syslogRegExMatchNotification events are
                 generated."
    DEFVAL      { disable }
    ::= { syslogConfig 2 }

syslogSeverityLevel OBJECT-TYPE
    SYNTAX      SyslogSeverity
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Specifies the severity level of messages that the syslog daemon
                 will log. Only messages with a severity level equal to or
                 greater than syslogSeverityLevel will be logged. For example,
                 A value of error(4) means that messages with warning, notice,
                 info or debug severity will not be logged."
    DEFVAL      { warning }
    ::= { syslogConfig 3 }

syslogTrapSeverityLevel OBJECT-TYPE
    SYNTAX      SyslogSeverity
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Specifies the severity level of messages that will generate a 
                 syslogSeverityNotification notification. For example, a value
                 of error(4) means that messages with warning, notice, info or
                 debug severity will never generate a notification."
    DEFVAL      { warning }
    ::= { syslogConfig 4 }

syslogMessageRegEx OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Specifies the regular expression that will trigger a
                 syslogRegExMatchNotification. When set to an empty string, 
                 there is no attempt to match the syslog message generated 
                 by the device with the content of syslogMessageRegEx."
    ::= { syslogConfig 5 }

-- system log message
syslogMsgNumber OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION "A unique ID representing a message in the system log."
    ::= { syslogMessage 1 }
    
syslogMsgFacility OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION "A string representing the facility that sent the message."
    ::= { syslogMessage 2  }

syslogMsgSeverity OBJECT-TYPE
    SYNTAX      SyslogSeverity
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION "The severity level of the message in the system log."
    ::= { syslogMessage 3  }

syslogMsgText OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION "The message itself as logged in the system log."
    ::= { syslogMessage 4 }

-- system log notifications
alvarionSyslogMIBNotificationPrefix OBJECT IDENTIFIER ::= { alvarionSyslogMIB 2 }
alvarionSyslogMIBNotifications OBJECT IDENTIFIER ::= { alvarionSyslogMIBNotificationPrefix 0 }

syslogSeverityNotification NOTIFICATION-TYPE
    OBJECTS     {
                    syslogMsgNumber,
                    syslogMsgFacility,
                    syslogMsgSeverity,
                    syslogMsgText
                }
    STATUS      current
    DESCRIPTION "Sent when the device generated a syslog message that is 
                 of the right severity level. This severity level is set by
                 syslogTrapSeverityLevel."
    ::= { alvarionSyslogMIBNotifications 1 }

syslogRegExMatchNotification NOTIFICATION-TYPE
    OBJECTS     {
                    syslogMsgNumber,
                    syslogMsgFacility,
                    syslogMsgSeverity,
                    syslogMsgText
                }
    STATUS      current
    DESCRIPTION "Sent when the device generated a syslog message that 
                 matches the regular expression specified in
                 syslogMessageRegEx."
    ::= { alvarionSyslogMIBNotifications 2 }

-- conformance information

alvarionSyslogMIBConformance OBJECT IDENTIFIER ::= { alvarionSyslogMIB 3 }
alvarionSyslogMIBCompliances OBJECT IDENTIFIER ::= { alvarionSyslogMIBConformance 1 }
alvarionSyslogMIBGroups      OBJECT IDENTIFIER ::= { alvarionSyslogMIBConformance 2 }

-- compliance statements
alvarionSyslogMIBCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION "The compliance statement for entities which implement
                 the Alvarion Syslog MIB."
    MODULE      MANDATORY-GROUPS
                    {
                        alvarionSyslogMIBGroup,
                        alvarionSyslogNotificationGroup
                    }
    ::= { alvarionSyslogMIBCompliances 1 }

-- units of conformance
alvarionSyslogMIBGroup OBJECT-GROUP
    OBJECTS     {
                    syslogSeverityNotificationEnabled,
                    syslogRegExMatchNotificationEnabled,
                    syslogSeverityLevel,
                    syslogTrapSeverityLevel,
                    syslogMessageRegEx,
                    syslogMsgNumber,
                    syslogMsgFacility,
                    syslogMsgSeverity,
                    syslogMsgText
                }
    STATUS      current
    DESCRIPTION "A collection of objects providing the Syslog MIB capability."
    ::= { alvarionSyslogMIBGroups 1 }

alvarionSyslogNotificationGroup NOTIFICATION-GROUP
    NOTIFICATIONS   {
                        syslogSeverityNotification,
                        syslogRegExMatchNotification
                    }
    STATUS      current
    DESCRIPTION "A collection of supported notifications."
    ::= { alvarionSyslogMIBGroups 2 }

END
