NSCRTV-EPON-ALARM-MGM-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE,Counter32, Unsigned32, TimeTicks FROM SNMPv2-SMI DateAndTime, MacAddress, TimeStamp, RowStatus, TruthValue, DisplayString, TEXTUAL-CONVENTION FROM SNMPv2-TC EponDeviceIndex, EponCardIndex, EponPortIndex, EponAlarmCode, EponAlarmInstance, EponSeverityType, AutoNegotiationTechAbility, TAddress, EponStats15MinRecordType, EponStats24HourRecordType, EponStatsThresholdType FROM NSCRTV-EPONEOC-EPON-MIB eponAlarmTree, eponTrapObjectGroup, eponAlarmObjGroup, eponManagementObjGroup FROM NSCRTV-EPONEOC-EPON-MIB; -------------------------------------------------------------------------------- -- AlarmManagementObjects[告警管理项](1.3.6.1.4.1.17409.2.2.11) -------------------------------------------------------------------------------- eponNotifications OBJECT IDENTIFIER ::= { eponTrapObjectGroup 1 } eponAlarmNotification NOTIFICATION-TYPE OBJECTS { eponTrapSequenceNumber, eponTrapOccurTime, eponTrapCode, eponTrapInstance, eponTrapSeverity, eponTrapCorrelationId, eponTrapAdditionalText } STATUS current DESCRIPTION "Alarm TRAP definition" ::= { eponNotifications 1 } eponEventNotification NOTIFICATION-TYPE OBJECTS { eponTrapSequenceNumber, eponTrapOccurTime, eponTrapCode, eponTrapInstance, eponTrapAdditionalText } STATUS current DESCRIPTION "Event TRAP definition" ::= { eponNotifications 2 } eponTrapObjects OBJECT IDENTIFIER ::= { eponTrapObjectGroup 2 } eponTrapInstance OBJECT-TYPE SYNTAX EponAlarmInstance MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "Alarm instance, indicates the detailed managed object, which detects faults. " ::= { eponTrapObjects 1 } eponTrapCorrelationId OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "The unique sequence number for the alarm to be cleared, for alarm clearing. Set to 0 for alarm reporting" ::= { eponTrapObjects 2 } eponTrapAdditionalText OBJECT-TYPE SYNTAX OCTET STRING ( SIZE (0..256) ) MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "Additional info to the alarm, for further desciption of the alarm. The format of it shall be related to each kind alarm defined in alarm reference table" ::= { eponTrapObjects 3 } eponTrapCode OBJECT-TYPE SYNTAX EponAlarmCode MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION " 告警代码,见附录C" ::= { eponTrapObjects 4 } eponTrapSeverity OBJECT-TYPE SYNTAX EponSeverityType MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION " 告警严重程度。" ::= { eponTrapObjects 5 } eponTrapOccurTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION " 告警产生时间。" ::= { eponTrapObjects 6 } eponTrapSequenceNumber OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION " A unique sequence number for each trap generated by node. The sequence number shall be reset to 1 when node restarts. The alarm sequence number shall be independent of the event sequence number. Each shall be self-governed. -------------------------------------------------------------------------------- The sequence ID of alarm shall be assigned from the order of transmitting trap to the NMS, instead of the order of alarm occurance. Therefore the NMS will receive the continuous sequence ID. 1. When device is in active/standby mode, sequence ID shall be synchronized between active and standby control module. 2. When control module switchover takes place, the current sequence ID shall keep the synchronized value. 3. When device restarts, sequence ID shall start from 1. 4. It shall be increased per alarm trap including both alarm raising and clear. 5. Non-zero value shall be used. When reaches the maximum number, it shall roll back to 1. -------------------------------------------------------------------------------- The sequence ID of event shall be assigned from the order of transmitting trap to the NMS. Therefore the NMS will receive the continuous sequence ID. 1. When device is in active/standby mode, sequence ID shall be synchronized between active and standby control module. 2. When control module switchover takes place, the current sequence ID shall keep the synchronized value. 3. When device restarts, sequence ID shall start from 1. 4. It shall be increased per event trap. 5. Non-zero value shall be used. When reaches the maximum number, it shall roll back to 1. " ::= { eponTrapObjects 7 } activeAlarmTable OBJECT-TYPE SYNTAX SEQUENCE OF ActiveAlarmEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Active alarm table The device shall maintain this table, to maintain all outstanding (not cleared) alarms generated by the device, including: 1. Not hit device local alarm filter. That means had been reported to trap receiver (NMS or EMS) 2. Hit local alarm filter. That means not trap is reported to trap receiver for the alarm. The device shall maintain two numbers: 1. Alarm sequence number: As described in eponTrapSequenceNumber, it is initially set to 1 when device restarts, increases per trap reported to trap receiver, and rollover to 1 once it reaches the maximum value. From NMS's view, traps received from a nodes will be consecutive, by identifying the alarm sequence number carried in alarm trap. If breaks, means some trap may be lost, since packet loss between NMS and NE. 2. Alarm raising number: This is maintained by NE internally and does not intend for being acknowledged by external manage system. It is designed to uniquely indentify each alarm raised by NE, excluding duplicates. Once one alarm raised, despite whether it is hit by alarm filter, NE shall assign a raising number to it. So, it major functionality is to uniquely identify alarms hit NE local alarm filter, since this kindly alarm will not be reported to NMS, and hence no alarm sequence number is assigned to it. It is initially set to 1 when device restarts, increases per alarm generation ( excluding duplicates), and rollover to 1 once it reaches the maximum value. FUNCTION DESCRIPTION OF ACTIVE ALARM TABLE: ALARM RAISING ---------------------- 1. When NE detects one fault and associates to one kind of alarm, it shall check whether there is same alarm in active alarm table, which is indexed by alarm code and alarm instance. If hits, it means duplicates, update the corresponding entry of the table. Otherwise, 2. The alarm is not a duplicate. Assign an alarm raising number. Check whether the alarm hits local alarm filters. If hits, set alarm sequence number to 0. Create an entry into active alarm table. Otherwise, 3. Assign an alarm sequence number to the alarm. Create an entry into active alarm table. Report the alarm trap to all trap receivers. ALARM CLEARING ---------------------- 1. When NE detects one fault is cleared and associates to one kind of alarm, it shall check whether there is corresponding alarm in active alarm table, which is indexed by alarm code and alarm instance. If no hit, escape this clear event. Upon a hit, if the alarm sequence number is 0, move the active alarm entry to history alarm table and update the corresponding fields. At this case, historyAlarmCorrelationId and historyAlarmSeqNum will be set to 0. Otherwise, 2. Assign an alarm sequence number to the clear trap. Report the alarm clear trap to all trap receivers. Move the active alarm entry to history alarm table and update the corresponding fields. At this case, activeAlarmSeqNum shall be copied to historyAlarmCorrelationId, and historyAlarmSeqNum shall be set to the new alarm sequence number for the clear trap. ALARM SYNCHRONIZATION BETWEEN NE AND NMS --------------------------------------------- 1. Once NMS finds the alarm sequence number in reported alarm traps is not continuous, it will walk active or history alarm table of the NE for the lost seuqence number. " ::= { eponAlarmObjGroup 1 } activeAlarmEntry OBJECT-TYPE SYNTAX ActiveAlarmEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "" INDEX { activeAlarmSeqNum, activeAlarmRaisingNumber } ::= { activeAlarmTable 1 } ActiveAlarmEntry ::= SEQUENCE { activeAlarmSeqNum Unsigned32, activeAlarmCode EponAlarmCode, activeAlarmInstance EponAlarmInstance, activeAlarmSeverity EponSeverityType, activeAlarmRaisingNumber Unsigned32, activeAlarmFirstOccurTime DateAndTime, activeAlarmLastOccurTime DateAndTime, activeAlarmRepeats Counter32, activeAlarmConfirm TruthValue, activeAlarmAdditionalText OCTET STRING } activeAlarmSeqNum OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "Alarm sequence number The definition refered to the description of activeAlarmTable" ::= { activeAlarmEntry 1 } activeAlarmCode OBJECT-TYPE SYNTAX EponAlarmCode MAX-ACCESS read-only STATUS current DESCRIPTION " 告警代码,见附录C " ::= { activeAlarmEntry 2 } activeAlarmInstance OBJECT-TYPE SYNTAX EponAlarmInstance MAX-ACCESS read-only STATUS current DESCRIPTION "Alarm instance, indicates the detailed managed object" ::= { activeAlarmEntry 3 } activeAlarmSeverity OBJECT-TYPE SYNTAX EponSeverityType MAX-ACCESS read-only STATUS current DESCRIPTION " 告警严重程度。" ::= { activeAlarmEntry 4 } activeAlarmRaisingNumber OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "Alarm raising number. The definition refered to the description of activeAlarmTable" ::= { activeAlarmEntry 5 } activeAlarmFirstOccurTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION " 告警初始发生的时间 The time stamp when alarm occurs, which triggered to create the active alarm entry." ::= { activeAlarmEntry 6 } activeAlarmLastOccurTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION " The time stamp when alarm occurs, where the alarm is duplicated with existed active alarm entry, and it was the latest one. " ::= { activeAlarmEntry 7 } activeAlarmRepeats OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of repeated alarms for this active alarm entry" ::= { activeAlarmEntry 8 } activeAlarmConfirm OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION " 告警确认 Node shall not clear an active alarm, upon the confirmation of the active alarm, but just mark an acknowledged status. An alarm will only be cleared once the clear condition hits." ::= { activeAlarmEntry 9 } activeAlarmAdditionalText OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..256)) MAX-ACCESS read-only STATUS current DESCRIPTION "Additional info to the alarm, for further desciption of the alarm. The format of it shall be related to each kind alarm defined in alarm reference table" ::= { activeAlarmEntry 10 } historyAlarmTable OBJECT-TYPE SYNTAX SEQUENCE OF HistoryAlarmEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "History alarm table. The device shall maintain this table, to maintain all cleared alarms generated by the device, including: 1. Not hit device local alarm filter. That means had been reported to trap receiver (NMS or EMS) 2. Hit local alarm filter. That means not trap is reported to trap receiver for the alarm. The number of history alarm enteries in the table could be device-specific. However, it is recommended no less than 200 entries. The detailed function definition refers to that given in description of activeAlarmTable. " ::= { eponAlarmObjGroup 2 } historyAlarmEntry OBJECT-TYPE SYNTAX HistoryAlarmEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "" INDEX { historyAlarmSeqNum, historyAlarmRaisingNumber } ::= { historyAlarmTable 1 } HistoryAlarmEntry ::= SEQUENCE { historyAlarmSeqNum Unsigned32, historyAlarmCode EponAlarmCode, historyAlarmInstance EponAlarmInstance, historyAlarmSeverity EponSeverityType, historyAlarmRaisingNumber Unsigned32, historyAlarmFirstOccurTime DateAndTime, historyAlarmLastOccurTime DateAndTime, historyAlarmRepeats Counter32, historyAlarmCorrelationId Unsigned32, historyAlarmAdditionalText OCTET STRING, historyAlarmClearTime DateAndTime } historyAlarmSeqNum OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "Alarm sequence number The definition refered to the description of historyAlarmTable" ::= { historyAlarmEntry 1 } historyAlarmCode OBJECT-TYPE SYNTAX EponAlarmCode MAX-ACCESS read-only STATUS current DESCRIPTION " 告警代码,见附录C " ::= { historyAlarmEntry 2 } historyAlarmInstance OBJECT-TYPE SYNTAX EponAlarmInstance MAX-ACCESS read-only STATUS current DESCRIPTION "Alarm instance, indicates the detailed managed object" ::= { historyAlarmEntry 3 } historyAlarmSeverity OBJECT-TYPE SYNTAX EponSeverityType MAX-ACCESS read-only STATUS current DESCRIPTION " 告警严重程度。" ::= { historyAlarmEntry 4 } historyAlarmRaisingNumber OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "Alarm raising number. The definition refered to the description of historyAlarmTable" ::= { historyAlarmEntry 5 } historyAlarmFirstOccurTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION " 告警初始发生的时间 The time stamp when alarm occurs, which triggered to create the history alarm entry." ::= { historyAlarmEntry 6 } historyAlarmLastOccurTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION " The time stamp when alarm occurs, where the alarm is duplicated with existed history alarm entry, and it was the latest one. " ::= { historyAlarmEntry 7 } historyAlarmRepeats OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of repeated alarms for this history alarm entry" ::= { historyAlarmEntry 8 } historyAlarmCorrelationId OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "It is the corresponding sequence ID of the alarm that to be cleared. " ::= { historyAlarmEntry 9 } historyAlarmAdditionalText OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..256)) MAX-ACCESS read-only STATUS current DESCRIPTION "Additional info to the alarm, for further desciption of the alarm. The format of it shall be related to each kind alarm defined in alarm reference table" ::= { historyAlarmEntry 10 } historyAlarmClearTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "Define when the alarm was cleared" ::= { historyAlarmEntry 11 } eventLogTable OBJECT-TYPE SYNTAX SEQUENCE OF EventLogEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Event log table. The device shall maintain this table, to maintain all events had be reported by the device, including: 1. The event table shall be saved in RAM memory and shall be flushed when OLT restarts. 2. The event log table shall support no less than 200 entries. When the event log table is full, the oldest entry in the table shall be removed first. 3. When OLT is configured with control module redundancy, active controller shall automatically synchronize the events in event log table b/w active and standby. " ::= { eponAlarmObjGroup 3 } eventLogEntry OBJECT-TYPE SYNTAX EventLogEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "" INDEX { eventSeqNum } ::= { eventLogTable 1 } EventLogEntry ::= SEQUENCE { eventSeqNum Unsigned32, eventCode EponAlarmCode, eventInstance EponAlarmInstance, eventOccurTime DateAndTime, eventAdditionalText OCTET STRING, } eventSeqNum OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "Event sequence number The definition refered to the description of eponTrapSequenceNumber" ::= { eventLogEntry 1 } eventCode OBJECT-TYPE SYNTAX EponAlarmCode MAX-ACCESS read-only STATUS current DESCRIPTION " 事件代码,见附录C " ::= { eventLogEntry 2 } eventInstance OBJECT-TYPE SYNTAX EponAlarmInstance MAX-ACCESS read-only STATUS current DESCRIPTION "Event instance, indicates the detailed managed object" ::= { eventLogEntry 3 } eventOccurTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION " The time stamp when event occurs" ::= { eventLogEntry 4 } eventAdditionalText OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..256)) MAX-ACCESS read-only STATUS current DESCRIPTION "Additional info to the event, for further desciption of the event. The format of it shall be related to each kind event defined in event reference table" ::= { eventLogEntry 5 } eponManagementAddrTable OBJECT-TYPE SYNTAX SEQUENCE OF EponManagementAddrEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of transport addresses to be used in the generation of SNMP messages." ::= { eponManagementObjGroup 1 } eponManagementAddrEntry OBJECT-TYPE SYNTAX EponManagementAddrEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A transport address to be used in the generation of SNMP operations. Entries in the snmpTargetAddrTable are created and deleted using the snmpTargetAddrRowStatus object." INDEX { eponManagementAddrName } ::= { eponManagementAddrTable 1 } EponManagementAddrEntry ::= SEQUENCE { eponManagementAddrName OCTET STRING, eponManagementAddrTAddress TAddress, eponManagementAddrCommunity OCTET STRING, eponManagementAddrRowStatus RowStatus } eponManagementAddrName OBJECT-TYPE SYNTAX OCTET STRING (SIZE (1..32)) MAX-ACCESS not-accessible STATUS current DESCRIPTION " EMS网管节点的名字" ::= { eponManagementAddrEntry 1 } eponManagementAddrTAddress OBJECT-TYPE SYNTAX TAddress MAX-ACCESS read-create STATUS current DESCRIPTION " 网管节点的传输层地址和TRAP UDP端口号。" ::= { eponManagementAddrEntry 2 } eponManagementAddrCommunity OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..64) ) MAX-ACCESS read-create STATUS current DESCRIPTION " 发送TRAP的Community。" ::= { eponManagementAddrEntry 3 } eponManagementAddrRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION " 增加删除一个EPON管理地址。" ::= { eponManagementAddrEntry 4 } -- -- END of NSCRTV-EPON-ALARM-MGM-MIB -- END