E7-Notifications-MIB DEFINITIONS ::= BEGIN

IMPORTS

    NOTIFICATION-TYPE, IpAddress
        FROM SNMPv2-SMI
    E7AlarmType, E7ObjectClass, E7EventType, E7SecurityType, E7TcaType
        FROM E7-TC
    e7, e7Modules
        FROM CALIX-PRODUCT-MIB;

    e7NotificationModule MODULE-IDENTITY
        LAST-UPDATED "200912100000Z"
        ORGANIZATION "Calix"
        CONTACT-INFO
            "Calix"
    DESCRIPTION
        "Describes all the notifications related to Calix E7, E5-400, and
         E5-312 products."
    ::= { e7Modules 3 }

    e7Notification OBJECT IDENTIFIER ::= { e7 4 }
    e7NotificationObjects OBJECT IDENTIFIER ::= { e7Notification 1 }
    e7Notifications       OBJECT IDENTIFIER ::= { e7Notification 2 }
     
--Objects in the Notification.

e7TrapSequenceNo OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    ::= { e7NotificationObjects 1 }

e7TrapAlarmType OBJECT-TYPE
    SYNTAX      E7AlarmType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Alarm type of the Alarm"
    ::= { e7NotificationObjects 2 }

e7TrapAlarmStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    on(1),
                    off(2)
                    }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    ::= { e7NotificationObjects 3 }

e7TrapObjectClass OBJECT-TYPE
    SYNTAX      E7ObjectClass
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    ::= { e7NotificationObjects 4 }

e7TrapObjectInstance1 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Object instance for a notification, level 1"
    ::= { e7NotificationObjects 5 }

e7TrapObjectInstance2 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Object instance for a notification, level 2"
    ::= { e7NotificationObjects 6 }

e7TrapObjectInstance3 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Object instance for a notification, level 3"
    ::= { e7NotificationObjects 7 }

e7TrapObjectInstance4 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Object instance for a notification, level 4"
    ::= { e7NotificationObjects 8 }

e7TrapObjectInstance5 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Object instance for a notification, level 5"
    ::= { e7NotificationObjects 9 }

e7TrapObjectInstance6 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Object instance for a notification, level 6"
    ::= { e7NotificationObjects 10 }

e7TrapObjectInstance7 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Object instance for a notification, level 7"
    ::= { e7NotificationObjects 11 }

e7TrapObjectInstance8 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Object instance for a notification, level 8"
    ::= { e7NotificationObjects 12 }

e7TrapAlarmSeverityLevel OBJECT-TYPE
    SYNTAX      INTEGER {
                    critical(1),
                    major(2),
                    minor(3),
                    warning(4),
                    unknown(5),
					clear(6) -- used when e7TrapAlarmStatus is off(2)
                    }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    ::= { e7NotificationObjects 13 }

e7TrapTimeStamp OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (1..50))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "local time string"
    ::= { e7NotificationObjects 14 }

e7TrapServiceAffecting OBJECT-TYPE
    SYNTAX      INTEGER {
                    yes(1),
                    no(2)
                    }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "This value indicated wether this alarm is service affecting
                 or not"
    ::= { e7NotificationObjects 15 }

e7TrapAlarmLocationInfo OBJECT-TYPE
    SYNTAX      INTEGER {
                    nearEnd(1)
                    }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Location info"
    ::= { e7NotificationObjects 16 }

e7TrapText OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "This object contains the brief description about the
                 notification"
    ::= { e7NotificationObjects 17 }

e7TrapEventType OBJECT-TYPE
    SYNTAX      E7EventType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Event type of the Event"
    ::= { e7NotificationObjects 18 }

e7TrapDbChangeType OBJECT-TYPE
    SYNTAX      INTEGER {
                    add(2),
                    modify(3),
                    delete(4)
                    }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Db change type"
    ::= { e7NotificationObjects 19 }

e7TrapSessionNumber OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "User session number"
    ::= { e7NotificationObjects 20 }

e7TrapUserName OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "User name"
    ::= { e7NotificationObjects 21 }

e7TrapIpAddr OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "User name"
    ::= { e7NotificationObjects 22 }

e7TrapSecurityType OBJECT-TYPE
    SYNTAX      E7SecurityType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Security event type"
    ::= { e7NotificationObjects 23 }

e7TrapMgmtIfType OBJECT-TYPE
    SYNTAX      INTEGER {
                    debug(1),
                    system(2),
                    cli(3),
                    snmp(4),
                    netconf(5)
                    }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Management interface type"
    ::= { e7NotificationObjects 24 }

e7TrapTcaType OBJECT-TYPE
    SYNTAX      E7TcaType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "TCA element type"
    ::= { e7NotificationObjects 25 }

e7TrapTcaBinType OBJECT-TYPE
    SYNTAX      INTEGER {
                    min15(1),
                    day1(2),
                    total(3)
                    }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "TCA bin type -- only min15 and day1 used at this time"
    ::= { e7NotificationObjects 26 }

e7TrapTime OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "UTC time integer"
    ::= { e7NotificationObjects 27 }

e7TrapTcaValueType OBJECT-TYPE
    SYNTAX      INTEGER {
                    count(1),
                    floor(2),
                    ceiling(3)
                    }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "TCA value type -- exceeded count, below min (floor), or
                 above max (ceiling)"
    ::= { e7NotificationObjects 28 }

e7TrapCliObject OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "The short CLI name for the object class and instance"
    ::= { e7NotificationObjects 29 }

e7TrapRepeatCount OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "The number of identical events of this type (1 for
                 non-repeating events, > 1 for repeating events)."
    ::= { e7NotificationObjects 30 }

e7TrapSecObjectClass OBJECT-TYPE
    SYNTAX      E7ObjectClass
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Secondary object class"
    ::= { e7NotificationObjects 31 }

e7TrapSecObjectInstance1 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Secondary object instance for a notification, level 1"
    ::= { e7NotificationObjects 32 }

e7TrapSecObjectInstance2 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Secondary object instance for a notification, level 2"
    ::= { e7NotificationObjects 33 }

e7TrapSecObjectInstance3 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Secondary object instance for a notification, level 3"
    ::= { e7NotificationObjects 34 }

e7TrapSecObjectInstance4 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Secondary object instance for a notification, level 4"
    ::= { e7NotificationObjects 35 }

e7TrapSecObjectInstance5 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Secondary object instance for a notification, level 5"
    ::= { e7NotificationObjects 36 }

e7TrapSecObjectInstance6 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Secondary object instance for a notification, level 6"
    ::= { e7NotificationObjects 37 }

e7TrapSecObjectInstance7 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Secondary object instance for a notification, level 7"
    ::= { e7NotificationObjects 38 }

e7TrapSecObjectInstance8 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Secondary object instance for a notification, level 8"
    ::= { e7NotificationObjects 39 }

e7TrapObjectLabel1 OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "1st label for primary Object Instance, in 'pos,label' format"
    ::= { e7NotificationObjects 40 }

e7TrapObjectLabel2 OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "2nd label for primary Object Instance, in 'pos,label' format"
    ::= { e7NotificationObjects 41 }

e7TrapSecObjectLabel1 OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "1st label for secondary Object Instance, in 'pos,label' format"
    ::= { e7NotificationObjects 42 }

e7TrapSecObjectLabel2 OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "2nd label for secondary Object Instance, in 'pos,label' format"
    ::= { e7NotificationObjects 43 }


--Traps

e7TrapAlarm NOTIFICATION-TYPE
    OBJECTS {
        e7TrapSequenceNo,
        e7TrapAlarmType,
        e7TrapAlarmStatus,
        e7TrapObjectClass,
        e7TrapObjectInstance1,
        e7TrapObjectInstance2,
        e7TrapObjectInstance3,
        e7TrapObjectInstance4,
        e7TrapObjectInstance5,
        e7TrapObjectInstance6,
        e7TrapObjectInstance7,
        e7TrapObjectInstance8,
        e7TrapCliObject,
        e7TrapAlarmSeverityLevel,
        e7TrapTimeStamp,
        e7TrapTime,
        e7TrapServiceAffecting,
        e7TrapAlarmLocationInfo,
        e7TrapText,
        e7TrapSecObjectClass,
        e7TrapSecObjectInstance1,
        e7TrapSecObjectInstance2,
        e7TrapSecObjectInstance3,
        e7TrapSecObjectInstance4,
        e7TrapSecObjectInstance5,
        e7TrapSecObjectInstance6,
        e7TrapSecObjectInstance7,
        e7TrapSecObjectInstance8,
        e7TrapObjectLabel1,
        e7TrapObjectLabel2,
        e7TrapSecObjectLabel1,
        e7TrapSecObjectLabel2
        }
    STATUS      current
    DESCRIPTION "e7TrapAlarm is generated whenever an alarm is raised or
                 cleared."
    ::= { e7Notifications 1 }

e7TrapEvent NOTIFICATION-TYPE
    OBJECTS {
        e7TrapSequenceNo,
        e7TrapEventType,
        e7TrapObjectClass,
        e7TrapObjectInstance1,
        e7TrapObjectInstance2,
        e7TrapObjectInstance3,
        e7TrapObjectInstance4,
        e7TrapObjectInstance5,
        e7TrapObjectInstance6,
        e7TrapObjectInstance7,
        e7TrapObjectInstance8,
        e7TrapCliObject,
        e7TrapTimeStamp,
        e7TrapTime,
        e7TrapText,
        e7TrapRepeatCount,
        e7TrapObjectLabel1,
        e7TrapObjectLabel2
        }
    STATUS      current
    DESCRIPTION "e7TrapEvent is generated whenever general event is generated."
    ::= { e7Notifications 2 }

e7TrapDbChange NOTIFICATION-TYPE
    OBJECTS {
        e7TrapSequenceNo,
        e7TrapDbChangeType,
        e7TrapObjectClass,
        e7TrapObjectInstance1,
        e7TrapObjectInstance2,
        e7TrapObjectInstance3,
        e7TrapObjectInstance4,
        e7TrapObjectInstance5,
        e7TrapObjectInstance6,
        e7TrapObjectInstance7,
        e7TrapObjectInstance8,
        e7TrapCliObject,
        e7TrapMgmtIfType,
        e7TrapSessionNumber,
        e7TrapUserName,
        e7TrapIpAddr,
        e7TrapTimeStamp,
        e7TrapTime,
        e7TrapText,
        e7TrapObjectLabel1,
        e7TrapObjectLabel2
        }
    STATUS      current
    DESCRIPTION "e7TrapDbChange is generated whenever a database change occurs."
    ::= { e7Notifications 3 }

e7TrapSecurity NOTIFICATION-TYPE
    OBJECTS {
        e7TrapSequenceNo,
        e7TrapSecurityType,
        e7TrapMgmtIfType,
        e7TrapSessionNumber,
        e7TrapUserName,
        e7TrapIpAddr,
        e7TrapTimeStamp,
        e7TrapTime,
        e7TrapText
        }
    STATUS      current
    DESCRIPTION "e7TrapSecurity is generated whenever a security event occurs."
    ::= { e7Notifications 4 }

e7TrapTca NOTIFICATION-TYPE
    OBJECTS {
        e7TrapSequenceNo,
        e7TrapTcaType,
		e7TrapTcaBinType,
		e7TrapTcaValueType,
        e7TrapObjectClass,
        e7TrapObjectInstance1,
        e7TrapObjectInstance2,
        e7TrapObjectInstance3,
        e7TrapObjectInstance4,
        e7TrapObjectInstance5,
        e7TrapObjectInstance6,
        e7TrapObjectInstance7,
        e7TrapObjectInstance8,
        e7TrapCliObject,
        e7TrapTimeStamp,
        e7TrapTime,
        e7TrapText,
        e7TrapObjectLabel1,
        e7TrapObjectLabel2
        }
    STATUS      current
    DESCRIPTION "e7TrapTca is generated whenever a threshold crossing occurs."
    ::= { e7Notifications 5 }

END

