E7-Fault-MIB DEFINITIONS ::= BEGIN

IMPORTS

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

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

    e7Fault     OBJECT IDENTIFIER ::= { e7 3 }
    e7Alarms      OBJECT IDENTIFIER ::= { e7Fault 1 }
    e7AlarmCount  OBJECT IDENTIFIER ::= { e7Fault 2 }

--Alarm Table

e7AlarmTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF E7AlarmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "This table holds all the active alarms"
    ::= { e7Alarms 1 }
     
e7AlarmEntry OBJECT-TYPE
    SYNTAX      E7AlarmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "List of attributes regarding alarm table"
    INDEX { e7AlarmObjectClass, e7AlarmObjectInstance1, e7AlarmObjectInstance2,
            e7AlarmObjectInstance3, e7AlarmObjectInstance4,
            e7AlarmObjectInstance5, e7AlarmObjectInstance6,
            e7AlarmObjectInstance7, e7AlarmObjectInstance8, e7AlarmType }
    ::= { e7AlarmTable 1 }

E7AlarmEntry ::= SEQUENCE {
    e7AlarmObjectClass        E7ObjectClass,
    e7AlarmObjectInstance1    Integer32,
    e7AlarmObjectInstance2    Integer32,
    e7AlarmObjectInstance3    Integer32,
    e7AlarmObjectInstance4    Integer32,
    e7AlarmObjectInstance5    Integer32,
    e7AlarmObjectInstance6    Integer32,
    e7AlarmObjectInstance7    Integer32,
    e7AlarmObjectInstance8    Integer32,
    e7AlarmType               E7AlarmType,
    e7AlarmSeverity           INTEGER,
    e7AlarmTimeStamp          OCTET STRING,
    e7AlarmServiceAffecting   INTEGER,
    e7AlarmLocationInfo       INTEGER,
    e7AlarmText               OCTET STRING,
    e7AlarmTime               Integer32,
    e7AlarmCliObject          OCTET STRING,
    e7AlarmSecObjectClass     E7ObjectClass,
    e7AlarmSecObjectInstance1 Integer32,
    e7AlarmSecObjectInstance2 Integer32,
    e7AlarmSecObjectInstance3 Integer32,
    e7AlarmSecObjectInstance4 Integer32,
    e7AlarmSecObjectInstance5 Integer32,
    e7AlarmSecObjectInstance6 Integer32,
    e7AlarmSecObjectInstance7 Integer32,
    e7AlarmSecObjectInstance8 Integer32
    }
 
e7AlarmObjectClass OBJECT-TYPE
    SYNTAX      E7ObjectClass
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Object Class for an alarm"
    ::= { e7AlarmEntry 1 }

e7AlarmObjectInstance1 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Object instance for an alarm, level 1"
    ::= { e7AlarmEntry 2 }

e7AlarmObjectInstance2 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Object instance for an alarm, level 2"
    ::= { e7AlarmEntry 3 }

e7AlarmObjectInstance3 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Object instance for an alarm, level 3"
    ::= { e7AlarmEntry 4 }

e7AlarmObjectInstance4 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Object instance for an alarm, level 4"
    ::= { e7AlarmEntry 5 }

e7AlarmObjectInstance5 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Object instance for an alarm, level 5"
    ::= { e7AlarmEntry 6 }

e7AlarmObjectInstance6 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Object instance for an alarm, level 6"
    ::= { e7AlarmEntry 7 }

e7AlarmObjectInstance7 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Object instance for an alarm, level 7"
    ::= { e7AlarmEntry 8 }

e7AlarmObjectInstance8 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Object instance for an alarm, level 8"
    ::= { e7AlarmEntry 9 }

e7AlarmType OBJECT-TYPE
    SYNTAX      E7AlarmType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Unique type for an alarm"
    ::= { e7AlarmEntry 10 }

e7AlarmSeverity OBJECT-TYPE
    SYNTAX      INTEGER {
                    critical(1),
                    major(2),
                    minor(3),
                    warning(4),
                    unknown(5)
                    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Severity of the alarm"
    ::= { e7AlarmEntry 11 }

e7AlarmTimeStamp OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (1..50))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Timestamp indicating the set/clear time of the alarm"
    ::= { e7AlarmEntry 12 }

e7AlarmServiceAffecting OBJECT-TYPE
    SYNTAX      INTEGER {
                    yes(1),
                    no(2)
                    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Indicated the nature of the alarm i.e. service
                 affecting or not"
    ::= { e7AlarmEntry 13 }
 
e7AlarmLocationInfo OBJECT-TYPE
    SYNTAX      INTEGER {
                    nearEnd(1)
                    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { e7AlarmEntry 14 }

e7AlarmText OBJECT-TYPE
   SYNTAX      OCTET STRING
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "Alarm description"
   ::= { e7AlarmEntry 15 } 

e7AlarmTime OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "UTC time"
   ::= { e7AlarmEntry 16 } 

e7AlarmCliObject OBJECT-TYPE
   SYNTAX      OCTET STRING
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The short CLI name for the object class and instance"
   ::= { e7AlarmEntry 17 } 

e7AlarmSecObjectClass OBJECT-TYPE
    SYNTAX      E7ObjectClass
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Secondary Object Class for an alarm"
    ::= { e7AlarmEntry 18 }

e7AlarmSecObjectInstance1 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Secondary object instance for an alarm, level 1"
    ::= { e7AlarmEntry 19 }

e7AlarmSecObjectInstance2 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Secondary object instance for an alarm, level 2"
    ::= { e7AlarmEntry 20 }

e7AlarmSecObjectInstance3 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Secondary object instance for an alarm, level 3"
    ::= { e7AlarmEntry 21 }

e7AlarmSecObjectInstance4 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Secondary object instance for an alarm, level 4"
    ::= { e7AlarmEntry 22 }

e7AlarmSecObjectInstance5 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Secondary object instance for an alarm, level 5"
    ::= { e7AlarmEntry 23 }

e7AlarmSecObjectInstance6 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Secondary object instance for an alarm, level 6"
    ::= { e7AlarmEntry 24 }

e7AlarmSecObjectInstance7 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Secondary object instance for an alarm, level 7"
    ::= { e7AlarmEntry 25 }

e7AlarmSecObjectInstance8 OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Secondary object instance for an alarm, level 8"
    ::= { e7AlarmEntry 26 }

e7AlarmTableEnd OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "This attribute marks the end of the e7AlarmTable"
    ::= { e7Alarms 2 }
 

--Alarm Severity Count Group

e7AlarmCountCritical OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The count of critical alarms"
    ::= { e7AlarmCount 1 }

e7AlarmCountMajor OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The count of major alarms"
    ::= { e7AlarmCount 2 }

e7AlarmCountMinor OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The count of minor alarms"
    ::= { e7AlarmCount 3 }

e7AlarmCountWarning OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The count of warning alarms (reported conditions)"
    ::= { e7AlarmCount 4 }

e7AlarmCountInfo OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The count of info alarms (unreported conditions)"
    ::= { e7AlarmCount 5 }

END
