-- MIB file created 17-May-2011 01:53:11, by
--   SMICng version 2.2.11-beta(PRO)(Solaris), January 20, 2001. Enterprise key cisco.com

CISCO-OUTAGE-MONITOR-MIB DEFINITIONS ::= BEGIN

-- From file: "CISCO-OUTAGE-MONITOR-MIB.my"
-- Compile options "4 7 F H N W 03 06 0B 0G 0N 0T"

IMPORTS
    InetAddressType, InetAddress
            FROM INET-ADDRESS-MIB
    DateAndTime, TruthValue
            FROM SNMPv2-TC-v1
    SnmpAdminString
            FROM SNMP-FRAMEWORK-MIB
    ciscoMgmt
            FROM CISCO-SMI
    Counter, Gauge
            FROM RFC1155-SMI
    OBJECT-TYPE
            FROM RFC-1212
    TRAP-TYPE
            FROM RFC-1215;

ciscoOutageMIB OBJECT IDENTIFIER ::= { ciscoMgmt 280 }
-- MODULE-IDENTITY
--  LastUpdated
--    200508220000Z
--  OrgName
--    Cisco Systems, Inc.
--  ContactInfo
--    Cisco Systems 
--    Customer Service 
--    
--    Postal: 170 W Tasman Drive 
--    San Jose, CA  95134 
--    USA 
--    
--    Tel: +1 800 553-NETS 
--    
--    E-mail: cs-snmp@cisco.com
--  Descr
--    This MIB module describes, stores, and reports outage  
--    related information generated by individual hardware  
--    and software components comprising a router. They includes  
--    physical interfaces, logical interfaces, physical  
--    entities such as chassis, slots, modules, ports,  
--    power supplies, and fan, software processes  
--    running on each card, and logical entity, which can be  
--    defined by outage monitoring program, 
--    which are IOS software for each LC and RP, 
--    router device, and CPU utilization.  
--    
--    The outage related information comprises entity or  
--    interface up and down, process start and abnormal  
--    or normal termination, unusually high CPU utilization 
--    caused, for example, by Denial of Service (DoS) attack, 
--    etc. 
--    
--    The outage related event can be collected by means of  
--    Cisco's fault manager, Cisco's event manager, and  
--    syslog messages, etc. 
--    
--    An outage manager maintains the following outage data 
--    for each component. 
--    
--        1) Accumulated Outage Time (AOT): total outage  
--           time of a component from the beginning of  
--           the measurement.  
--    
--        2) Number of Accumulated Failure (NAF): total  
--           number of failure instance from the  
--           beginning of the measurement. 
--    
--        3) Recording Start Time (RST): the date-time  
--           that the measurement process began against the object.  
--          
--    Using aforementioned outage data, users can calculate  
--    and correlate to derive availability information as  
--    follows:  
--     
--        1) Component Availability: the probability  
--           that a component will operate when needed.  
--    
--           = (1 - (Outage Time / Duration)) 
--    
--        2) DPM (Defects per Million): measure(s) of the  
--           defects of the system that have an immediate  
--           impact on the end-user.  
--    
--           = ([AOTi / (Measurement Interval)] x 10**6) 
--    
--        3) MTTR(Mean Time To Recovery): expected average  
--           time to restore a failed component.  
--    
--           = (AOTi / NAFi) 
--    
--        4) MTBF (Mean Time Between Failure): expected  
--           average time between failures of a component. 
--    
--           = (T2 - RSTi) / NAFi  
--    
--        5) MTTF (Mean Time To Failure): the mean time to  
--           failure once the device starts working. 
--    
--           = (MTBFi - MTTRi = (T2 - RSTi - AOTi) / NAFi) 
--    
--    
--                             measurement 1 
--                         |<=================>| 
--                         |                   | 
--        System Up @======|===================|====> Time 
--                        RSTi                 T2 
--    
--        At the beginning RSTi: 
--    
--    tmp_AOT = AOTi (from the MIB polling); 
--    
--        At the end T2: 
--    
--           Duration = Current Time(T2) - RSTi; 
--           Outage Time = AOTj - tmp_AOT; 
--  RevDate
--    200508220000Z
--  RevDescr
--    Added object cOutageRecordingStartTime to cOutageObjectTable. 
--     Added logicalEntity(5) to OutageMonObjectType. 
--     Added cOutageLntMapping subgroup object.
--  RevDate
--    200209090000Z
--  RevDescr
--    Initial version of this MIB.

ciscoOutageMIBObjects OBJECT IDENTIFIER ::= { ciscoOutageMIB 1 }
cOutageBasicInfo OBJECT IDENTIFIER ::= { ciscoOutageMIBObjects 1 }
cOutageHistory  OBJECT IDENTIFIER ::= { ciscoOutageMIBObjects 2 }
cOutageDescription OBJECT IDENTIFIER ::= { ciscoOutageMIBObjects 3 }
cOutageMonObject OBJECT IDENTIFIER ::= { ciscoOutageMIBObjects 4 }
cOutageCpmMapping OBJECT IDENTIFIER ::= { ciscoOutageMIBObjects 5 }
cOutageRmtMapping OBJECT IDENTIFIER ::= { ciscoOutageMIBObjects 6 }
cOutageLntMapping OBJECT IDENTIFIER ::= { ciscoOutageMIBObjects 7 }
ciscoOutageMIBNotificationPrefix OBJECT IDENTIFIER ::= { ciscoOutageMIB 2 }
ciscoOutageMIBNotifications OBJECT IDENTIFIER ::= { ciscoOutageMIBNotificationPrefix 0 }
ciscoOutageMIBConformance OBJECT IDENTIFIER ::= { ciscoOutageMIB 3 }
ciscoOutageMIBCompliances OBJECT IDENTIFIER ::= { ciscoOutageMIBConformance 1 }
ciscoOutageMIBGroups OBJECT IDENTIFIER ::= { ciscoOutageMIBConformance 2 }

OutageMonObjectType ::= INTEGER {
        interface(1),
        physicalEntity(2),
        swProcess(3),
        remoteObject(4),
        logicalEntity(5)
        }
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    Represents different monitored object types: 
--    
--    interface - this object supports monitoring of both physical  
--    and logical interfaces, which is defined in IF-MIB. 
--    
--    physicalEntity - this object supports monitoring of physical  
--    entities contained by the system, including chassis, slots,  
--    modules, ports, power supplies, and fan, which is defined  
--    in ENTITY-MIB. 
--    
--    swProcess - this object supports monitoring of software  
--    processes, which is defined in CISCO-PROCESS-MIB. 
--    
--    remoteObject - this object supports monitoring of remote  
--    objects including remote customer devices or interfaces. 
--    The object is defined by users via CLI configuration. 
--    
--    logicalEntity - this object supports monitoring of any logical  
--    entities contained by the system, including router device,  
--    IOS software on each LC or RP, and CPU utilization object, 
--    which can be defined by outage monitoring program.

cOutageApplVersion OBJECT-TYPE
    SYNTAX SnmpAdminString
--    Rsyntax OCTET STRING(SIZE(0..255))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "outage monitoring application version 
        string. 
        
        The format will be: 
        
        'Version.Release.Patch-Level: Textual-Description' 
        
        For example:  '1.0.0: Initial Outage Monitor 
        Application'"
    ::= { cOutageBasicInfo 1 }

cOutageNotificationsSent OBJECT-TYPE
    SYNTAX Counter
--  Units
--    notifications
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of outage notifications that have been  
        sent. This number may include notifications 
        that were prevented from being transmitted due to 
        reasons such as resource limitations and/or 
        non-connectivity.  If one is receiving notifications, 
        one can periodically poll this object to determine if 
        any notifications were missed.  If missed, a poll of  
        the cOutageHistoryTable might be necessary."
    ::= { cOutageBasicInfo 2 }

cOutageNotificationsEnabled OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This object indicates whether outage notifications  
        will or will not be sent when an outage related event  
        is generated by the device.  Disabling notifications 
        does not prevent outage event from being added 
        to the cOutageHistoryTable."
    DEFVAL { false }
    ::= { cOutageBasicInfo 3 }

cOutageNotificationFilterEnabled OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This object indicates whether certain outage related  
        event notifications will or will not be sent when the  
        cOutageNotificationsEnabled is TRUE. 
        
        In the event structure, it is possible to have  
        certain hierarchies such that an event causes several  
        related events. The original event is called a root  
        event and other related events are called sub-events.        
        
        If it is enabled, only a root event notification will 
        be sent out and all other related sub-events will be  
        filtered out. The cOutageHistoryTable maintains only  
        the root event. However, it does not prevent the object  
        entries from being updated in the cOutageObjectTable. 
        
        The filtering policy, which correlates a root event and  
        the following sub-events, may vary and can be controlled  
        by the configuration."
    DEFVAL { false }
    ::= { cOutageBasicInfo 4 }

cOutageFilteredEvents OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of events which were filtered out.  
        This object can be utilized to determine how  
        many following events got filtered out related  
        to the notified event."
    ::= { cOutageBasicInfo 5 }

cOutageHistTableSize OBJECT-TYPE
    SYNTAX Gauge
--  Units
--    entries
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The upper limit on the number of entries that the 
        cOutageHistoryTable may contain."
    DEFVAL { 100 }
    ::= { cOutageHistory 1 }

cOutageHistMsgsFlushed OBJECT-TYPE
    SYNTAX Counter
--  Units
--    messages
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of entries that have been removed from 
        the cOutageHistoryTable in order to make room for new 
        entries.  The value of this object starts at '0' and  
        monotonically increases for each flushed message.  
        If the value of this object is '4294967295', the value  
        will become '0'. This object can be utilized to  
        determine whether your polling frequency on the  
        history table is fast enough and/or the size of your  
        history table is large enough such that you are not  
        missing events."
    ::= { cOutageHistory 2 }

cOutageHistoryTable OBJECT-TYPE
    SYNTAX SEQUENCE OF COutageHistoryEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A table of outage related events generated by this router. 
        Conceptual row entries are dynamically added into this  
        table when outage related events occur. 
        
        Entries are stored in FIFO order.  When the maximum number  
        of entries has been reached in the table, the oldest entry  
        in the table is removed immediately.   
        
        When a table is reduced to a smaller size N, the oldest 
        entries are immediately removed from the table leaving  
        a maximum of N entries."
    ::= { cOutageHistory 3 }

cOutageHistoryEntry OBJECT-TYPE
    SYNTAX COutageHistoryEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This entry contains information about an outage related  
        event which has been generated by this router."
    INDEX { cOutageEventIndex }
    ::= { cOutageHistoryTable 1 }

COutageHistoryEntry ::= SEQUENCE {
    cOutageEventIndex Gauge,
    cOutageEventObjectType OutageMonObjectType,
    cOutageEventMonObjectIndex Gauge,
    cOutageEventTypeIndex Gauge,
    cOutageEventTime DateAndTime,
    cOutageEventInterval Gauge
    }

cOutageEventIndex OBJECT-TYPE
    SYNTAX Gauge
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An arbitrary non-zero integer value that uniquely  
        identifies a COutageHistoryEntry in the table.  
        The value of this table starts at '1' and monotonically  
        increases for each object failure and recovery event  
        received by the agent. If the value of this object is  
        '4294967295', the agent will reset it to '1' upon  
        receiving the next event."
    ::= { cOutageHistoryEntry 1 }

cOutageEventObjectType OBJECT-TYPE
    SYNTAX OutageMonObjectType
--    Rsyntax INTEGER {
--        interface(1),
--        physicalEntity(2),
--        swProcess(3),
--        remoteObject(4),
--        logicalEntity(5)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the monitored object's type.  
        It comprises interface(1), physicalEntity(2),  
        swProcess(3), remoteObject(4), and logicalEntity(5).   
        
        The detailed description has been presented above  
        in the OutageMonObjectType definition."
    ::= { cOutageHistoryEntry 2 }

cOutageEventMonObjectIndex OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object identifies a specific index of the  
        monitored object based upon the cOutageEventObjectType.  
        If it is interface(1), it correlates the object  
        with ifIndex in ifTable in the IF-MIB.          
        If it is physicalEntity(2), it correlates the object  
        with entPhysicalIndex in entPhysicalTable in the  
        ENTITY-MIB.  
        If it is swProcess(3), the value corresponds to an entry 
        in the cOutageCpmMapTable, which correlates the object  
        with cpmCPUTotalIndex and cpmProcessPID in 
        cpmProcessTable in the CISCO-PROCESS-MIB.  
        If it is remoteObject(4), the value corresponds to an  
        entry in the cOutageRemoteObjMapTable, which correlates the  
        object with its ID and description.   
        If it is logicalEntity(5), the value corresponds to an  
        entry in the cOutageLogicalObjMapTable, which correlates the  
        object with the description.   
         
        It also correlates the event entry with a specific  
        entry in cOutageObjectTable."
    ::= { cOutageHistoryEntry 3 }

cOutageEventTypeIndex OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The type of outage related event. The value  
        corresponds to an entry in the cOutageEventTypeMapTable."
    ::= { cOutageHistoryEntry 4 }

cOutageEventTime OBJECT-TYPE
    SYNTAX DateAndTime
--    Rsyntax OCTET STRING(SIZE(8|11))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the date and time of the   
        event was generated.  
        
        The value of sysUpTime, which is reinitialized during  
        the router boot-up, is not sufficient, since it  
        shall be able to measure the outage time of the  
        router failure over the measurement period."
    ::= { cOutageHistoryEntry 5 }

cOutageEventInterval OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Object that identifies the time duration between  
        transitions in available state of a component.  
        According to the cOutageEventTypeIndex, If the event type 
        is up, the interval time from the last down time is  
        TTR (Time To Recovery).  
        Otherwise, the interval time from the last up is TTF  
        (Time To Failure)."
    ::= { cOutageHistoryEntry 6 }

cOutageEventTypeMapTable OBJECT-TYPE
    SYNTAX SEQUENCE OF COutageEventTypeMapEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A table containing information about  
        cOutageEventTypeMapIndex value mapping.  
        Each conceptual row specifies a unique mapping  
        between a cOutageEventTypeMapIndex value, and an  
        outage related event type."
    ::= { cOutageDescription 1 }

cOutageEventTypeMapEntry OBJECT-TYPE
    SYNTAX COutageEventTypeMapEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A mapping between an event type and an event description."
    INDEX { cOutageEventTypeMapIndex }
    ::= { cOutageEventTypeMapTable 1 }

COutageEventTypeMapEntry ::= SEQUENCE {
    cOutageEventTypeMapIndex Gauge,
    cOutageEventTypeName SnmpAdminString,
    cOutageEventTypeDescrText SnmpAdminString
    }

cOutageEventTypeMapIndex OBJECT-TYPE
    SYNTAX Gauge
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object uniquely identifies an event description."
    ::= { cOutageEventTypeMapEntry 1 }

cOutageEventTypeName OBJECT-TYPE
    SYNTAX SnmpAdminString(SIZE(0..128))
--    Rsyntax OCTET STRING(SIZE(0..128))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The name of the outage related event."
    ::= { cOutageEventTypeMapEntry 2 }

cOutageEventTypeDescrText OBJECT-TYPE
    SYNTAX SnmpAdminString
--    Rsyntax OCTET STRING(SIZE(0..255))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies a human-readable  
        message describing information about the  
        outage related event."
    ::= { cOutageEventTypeMapEntry 3 }

cOutageObjectTable OBJECT-TYPE
    SYNTAX SEQUENCE OF COutageObjectEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A table of monitored object entries generated  
        by this router, which include interface, physical  
        entry, and software process. 
        
        The conceptual row entries are initially established 
        during the monitoring start-up procedure based upon  
        configuration set-up. The entries are also dynamically  
        added into this table when a new object is detected.  
        
        The entry information will be updated, when the outage  
        related event occurs. 
        
        The entry will be removed only by configuration reset."
    ::= { cOutageMonObject 1 }

cOutageObjectEntry OBJECT-TYPE
    SYNTAX COutageObjectEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry containing outage related information  
        applicable to a particular measurement object."
    INDEX { cOutageObjectType, cOutageMonitoredObjectIndex }
    ::= { cOutageObjectTable 1 }

COutageObjectEntry ::= SEQUENCE {
    cOutageObjectType OutageMonObjectType,
    cOutageMonitoredObjectIndex Gauge,
    cOutageCurrentStatus INTEGER,
    cOutageAOTSinceMeasureStarted Gauge,
    cOutageNAFSinceMeasureStarted Gauge,
    cOutageRecordingStartTime DateAndTime
    }

cOutageObjectType OBJECT-TYPE
    SYNTAX OutageMonObjectType
--    Rsyntax INTEGER {
--        interface(1),
--        physicalEntity(2),
--        swProcess(3),
--        remoteObject(4),
--        logicalEntity(5)
--        }
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the monitored object's type.  
        It comprises interface(1), physicalEntity(2),  
        swProcess(3), remoteObject(4), and logicalEntity(5).  
        
        The detailed description has been presented above  
        in the OutageMonObjectType definition."
    ::= { cOutageObjectEntry 1 }

cOutageMonitoredObjectIndex OBJECT-TYPE
    SYNTAX Gauge
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object identifies a specific index of the  
        monitored object based upon the cOutageObjectType.  
        If it is interface(1), it correlates the object  
        with ifIndex in ifTable in the IF-MIB.          
        If it is PhysicalEntity(2), it correlates the object  
        with entPhysicalIndex in entPhysicalTable in the  
        ENTITY-MIB.  
        If it is SWProcess(3), the value corresponds to an entry 
        in the cOutageCpmMapTable, which correlates the object  
        with cpmCPUTotalIndex and cpmProcessPID in 
        cpmProcessTable in the CISCO-PROCESS-MIB. 
        If it is remoteObject(4), the value corresponds to an 
        entry in the cOutageRemoteObjMapTable, which correlates the 
        object with its ID and description. 
        If it is logicalEntity(5), the value corresponds to an  
        entry in the cOutageLogicalObjMapTable, which correlates the  
        object with the description."
    ::= { cOutageObjectEntry 2 }

cOutageCurrentStatus OBJECT-TYPE
    SYNTAX INTEGER {
        up(1),
        down(2)
        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The current operational state of the monitored object.  
        The Up(1) state indicates that the monitored object is  
        actively or passively running in the normal condition.  
        The Down(2) state indicates that the monitored object  
        is experiencing some degree of outage."
    ::= { cOutageObjectEntry 3 }

cOutageAOTSinceMeasureStarted OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total outage time in second of a component from the  
        beginning of the measurement. The table stores the outage   
        time up to the last recovery event. However, a request   
        comes in during the down status of a component, the report   
        adds the outage time between the last failure to the 
        current."
    ::= { cOutageObjectEntry 4 }

cOutageNAFSinceMeasureStarted OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of failure instances from the beginning  
        of the measurement. Every failure event of a component  
        adds 1 to this object."
    ::= { cOutageObjectEntry 5 }

cOutageRecordingStartTime OBJECT-TYPE
    SYNTAX DateAndTime
--    Rsyntax OCTET STRING(SIZE(8|11))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the date and time of the 
        object to start outage recording. 
        
        The instance value of this cOutageRecordingStartTime  
        value is initialized to the time when the monitored  
        object is added into this cOutageObjectTable."
    ::= { cOutageObjectEntry 6 }

cOutageCpmMapTable OBJECT-TYPE
    SYNTAX SEQUENCE OF COutageCpmMapEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A table containing information about 
        cOutageMonitoredObjectIndex value mapping, 
        when the cOutageObjectType is swProcess. 
        Each conceptual row specifies a unique mapping 
        between a cOutageMonitoredObjectIndex value, and  
        cpmCPUTotalIndex and cpmProcessPID in 
        cpmProcessTable in the CISCO-PROCESS-MIB."
    ::= { cOutageCpmMapping 1 }

cOutageCpmMapEntry OBJECT-TYPE
    SYNTAX COutageCpmMapEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A mapping between an object index and a pair of cpm indexes."
    INDEX { cOutageCpmMapIndex }
    ::= { cOutageCpmMapTable 1 }

COutageCpmMapEntry ::= SEQUENCE {
    cOutageCpmMapIndex Gauge,
    cOutageCpmCPUTotalIndex Gauge,
    cOutageCpmProcessPID Gauge
    }

cOutageCpmMapIndex OBJECT-TYPE
    SYNTAX Gauge
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object uniquely identifies cpmCPUTotalIndex and  
        cpmProcessPID in CISCO-PROCESS-MIB. The cpmCPUTotalIndex  
        is used for the cpmCPUTotalTable reference. A pair of  
        { cpmCPUTotalIndex, cpmProcessPID } is used for the  
        cpmProcessTable reference."
    ::= { cOutageCpmMapEntry 1 }

cOutageCpmCPUTotalIndex OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "An index that uniquely represents a CPU in cpmCPUTotalTable 
        in CISCO-PROCESS-MIB."
    ::= { cOutageCpmMapEntry 2 }

cOutageCpmProcessPID OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object contains the process ID. It identifies an  
        entry combined with cpmCPUTotalIndex in cpmProcessTable  
        in CISCO-PROCESS-MIB."
    ::= { cOutageCpmMapEntry 3 }

cOutageRemoteObjMapTable OBJECT-TYPE
    SYNTAX SEQUENCE OF COutageRemoteObjMapEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A table containing information about 
        cOutageMonitoredObjectIndex value mapping, 
        when the cOutageObjectType is remoteObject. 
        Each conceptual row specifies a unique mapping 
        between a cOutageMonitoredObjectIndex value, and 
        a remote object related information such as the 
        object ID and the object description.  
        Using IP ICMP protocol to monitor the remote object,  
        the object ID can be Network Layer Address, which  
        has been configured by users via configuration file  
        or CLI."
    ::= { cOutageRmtMapping 1 }

cOutageRemoteObjMapEntry OBJECT-TYPE
    SYNTAX COutageRemoteObjMapEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A mapping between a remote object and a remote object  
        description."
    INDEX { cOutageRemoteObjMapIndex }
    ::= { cOutageRemoteObjMapTable 1 }

COutageRemoteObjMapEntry ::= SEQUENCE {
    cOutageRemoteObjMapIndex Gauge,
    cOutageRemoteObjIDType InetAddressType,
    cOutageRemoteObjID InetAddress,
    cOutageRemoteObjDescrText SnmpAdminString
    }

cOutageRemoteObjMapIndex OBJECT-TYPE
    SYNTAX Gauge
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object uniquely identifies a remote object 
        description."
    ::= { cOutageRemoteObjMapEntry 1 }

cOutageRemoteObjIDType OBJECT-TYPE
    SYNTAX InetAddressType
--    Rsyntax INTEGER {
--        ?? enum value of zero may cause problems
--        unknown(0),
--        ipv4(1),
--        ipv6(2),
--        ipv4z(3),
--        ipv6z(4),
--        dns(16)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Represents the type of address stored in 
        cOutageRemoteObjID."
    ::= { cOutageRemoteObjMapEntry 2 }

cOutageRemoteObjID OBJECT-TYPE
    SYNTAX InetAddress
--    Rsyntax OCTET STRING(SIZE(0..255))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object represents the Network Layer Address 
        of the remote object, which is configured by 
        users via configuration file or CLI.  
        It could be an IP address or DNS  
        depends on users input."
    ::= { cOutageRemoteObjMapEntry 3 }

cOutageRemoteObjDescrText OBJECT-TYPE
    SYNTAX SnmpAdminString
--    Rsyntax OCTET STRING(SIZE(0..255))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies a human-readable 
        message describing information about the 
        monitored remote components such as router name  
        or interface name, etc."
    ::= { cOutageRemoteObjMapEntry 4 }

cOutageLogicalObjMapTable OBJECT-TYPE
    SYNTAX SEQUENCE OF COutageLogicalObjMapEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A table containing information about 
        cOutageMonitoredObjectIndex value mapping, 
        when the cOutageObjectType is logicalEntity. 
        Each conceptual row specifies a unique mapping 
        between a cOutageMonitoredObjectIndex value, and 
        a logical entity object related information such  
        as the object description."
    ::= { cOutageLntMapping 1 }

cOutageLogicalObjMapEntry OBJECT-TYPE
    SYNTAX COutageLogicalObjMapEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A mapping between a logical entity object and   
        a logical entity object description."
    INDEX { cOutageLogicalObjMapIndex }
    ::= { cOutageLogicalObjMapTable 1 }

COutageLogicalObjMapEntry ::= SEQUENCE {
    cOutageLogicalObjMapIndex Gauge,
    cOutageLogicalObjDescrText SnmpAdminString
    }

cOutageLogicalObjMapIndex OBJECT-TYPE
    SYNTAX Gauge
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object uniquely identifies a logical entity  
        object description."
    ::= { cOutageLogicalObjMapEntry 1 }

cOutageLogicalObjDescrText OBJECT-TYPE
    SYNTAX SnmpAdminString
--    Rsyntax OCTET STRING(SIZE(0..255))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies a human-readable 
        message describing a detailed information  
        about the monitored logical entity."
    ::= { cOutageLogicalObjMapEntry 2 }

ciscoOutageEvent TRAP-TYPE
-- Reverse mappable trap
    ENTERPRISE ciscoOutageMIBNotificationPrefix
    VARIABLES {
        cOutageEventObjectType, cOutageEventMonObjectIndex, 
        cOutageEventTypeIndex, cOutageEventTime, 
        cOutageEventInterval }
--  Status
--    mandatory
    DESCRIPTION
        "The agent generates this notification when  
        an outage related event on a monitored object is  
        detected. The sending of this notification can be  
        enabled/disabled via the  
        cOutageNotificationsEnabled object."
    ::= 1

ciscoOutageBasicGroup OBJECT IDENTIFIER ::= { ciscoOutageMIBGroups 1 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of managed objects providing basic  
--    outage notification and configuration information  
--    including notification status and event filtering  
--    status.
--  objects
--    cOutageApplVersion, cOutageNotificationsSent, 
--    cOutageNotificationsEnabled, cOutageNotificationFilterEnabled, 
--    cOutageFilteredEvents

ciscoEventHistoryGroup OBJECT IDENTIFIER ::= { ciscoOutageMIBGroups 2 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of managed objects providing detected  
--    outage related event history information.
--  objects
--    cOutageHistTableSize, cOutageHistMsgsFlushed, 
--    cOutageEventObjectType, cOutageEventMonObjectIndex, 
--    cOutageEventTypeIndex, cOutageEventTime, cOutageEventInterval

ciscoEventDescrGroup OBJECT IDENTIFIER ::= { ciscoOutageMIBGroups 3 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of managed objects defining the  
--    description of outage related events.
--  objects
--    cOutageEventTypeName, cOutageEventTypeDescrText

ciscoObjectOutageGroup OBJECT IDENTIFIER ::= { ciscoOutageMIBGroups 4 }
-- OBJECT-GROUP
--  Status
--    deprecated
--  Descr
--    A collection of managed objects providing  
--    accumulated outage data.  
--    This group is deprecated in favour of  
--    ciscoObjectOutageGroupRev.
--  objects
--    cOutageCurrentStatus, cOutageAOTSinceMeasureStarted, 
--    cOutageNAFSinceMeasureStarted

ciscoCpmMappingGroup OBJECT IDENTIFIER ::= { ciscoOutageMIBGroups 5 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of managed objects defining the 
--    mapping of two cpm indexes.
--  objects
--    cOutageCpmCPUTotalIndex, cOutageCpmProcessPID

ciscoRmtMappingGroup OBJECT IDENTIFIER ::= { ciscoOutageMIBGroups 6 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of managed objects defining the  
--    description of remote objects.
--  objects
--    cOutageRemoteObjIDType, cOutageRemoteObjID, 
--    cOutageRemoteObjDescrText

ciscoObjectOutageGroupRev OBJECT IDENTIFIER ::= { ciscoOutageMIBGroups 8 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of managed objects providing  
--    accumulated outage data information.
--  objects
--    cOutageCurrentStatus, cOutageRecordingStartTime, 
--    cOutageAOTSinceMeasureStarted, cOutageNAFSinceMeasureStarted

ciscoLntMappingGroup OBJECT IDENTIFIER ::= { ciscoOutageMIBGroups 9 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A managed object defining the  
--    description of logical entity objects.
--  objects
--    cOutageLogicalObjDescrText

ciscoOutageNotificationsGroup OBJECT IDENTIFIER ::= { ciscoOutageMIBGroups 7 }
-- NOTIFICATION-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of notifications.
--  notifications
--    ciscoOutageEvent

ciscoOutageMIBCompliance OBJECT IDENTIFIER ::= { ciscoOutageMIBCompliances 1 }
-- MODULE-COMPLIANCE
--  Status
--    deprecated
--  Descr
--    The compliance statement for Cisco agents which  
--           implement the Cisco Outage MIB. This is 
--           deprecated and new compliance 
--           ciscoOutageMIBComplianceRev1 is added.
--  Module
--    >>current<<
--   MandGroup
--    ciscoOutageBasicGroup
--   MandGroup
--    ciscoEventHistoryGroup
--   MandGroup
--    ciscoEventDescrGroup
--   MandGroup
--    ciscoObjectOutageGroup
--   MandGroup
--    ciscoCpmMappingGroup
--   MandGroup
--    ciscoRmtMappingGroup
--   MandGroup
--    ciscoOutageNotificationsGroup

ciscoOutageMIBComplianceRev1 OBJECT IDENTIFIER ::= { ciscoOutageMIBCompliances 2 }
-- MODULE-COMPLIANCE
--  Status
--    mandatory
--  Descr
--    The compliance statement for Cisco agents which  
--           implement the Cisco Outage MIB.
--  Module
--    >>current<<
--   MandGroup
--    ciscoOutageBasicGroup
--   MandGroup
--    ciscoEventHistoryGroup
--   MandGroup
--    ciscoEventDescrGroup
--   MandGroup
--    ciscoObjectOutageGroupRev
--   MandGroup
--    ciscoCpmMappingGroup
--   MandGroup
--    ciscoRmtMappingGroup
--   MandGroup
--    ciscoLntMappingGroup
--   MandGroup
--    ciscoOutageNotificationsGroup


END

