You are here:

MonitorTools.com > Technical documentation > SNMP > MIB > Cisco > CISCO-RF-MIB
ActiveXperts Network Monitor 2019##AdminFavorites

CISCO-RF-MIB by vendor Cisco

CISCO-RF-MIB file content

The SNMP protocol is used to for conveying information and commands between agents and managing entities. SNMP uses the User Datagram Protocol (UDP) as the transport protocol for passing data between managers and agents. The reasons for using UDP for SNMP are, firstly it has low overheads in comparison to TCP, which uses a 3-way hand shake for connection. Secondly, in congested networks, SNMP over TCP is a bad idea because TCP in order to maintain reliability will flood the network with retransmissions.

Management information (MIB) is represented as a collection of managed objects. These objects together form a virtual information base called MIB. An agent may implement many MIBs, but all agents must implement a particular MIB called MIB-II [16]. This standard defines variables for things such as interface statistics (interface speeds, MTU, octets sent, octets received, etc.) as well as various other things pertaining to the system itself (system location, system contact, etc.). The main goal of MIB-II is to provide general TCP/IP management information.

Use ActiveXperts Network Monitor 2019 to import vendor-specific MIB files, inclusing CISCO-RF-MIB.


Vendor: Cisco
Mib: CISCO-RF-MIB  [download]  [view objects]
Tool: ActiveXperts Network Monitor 2019 [download]    (ships with advanced SNMP/MIB tools)
-- *****************************************************************
-- CISCO-RF-MIB.my:
--   Descriptions of managed objects for the Redundancy Framework
--   (RF) subsystem.
--
-- August 2000, Timothy Kurnik and Bo Berry
-- December 2001, Liwei Wang 
--
-- Copyright (c) 2000, 2001 by Cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************

CISCO-RF-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    NOTIFICATION-TYPE, 
    Counter32,
    Integer32, 
    Unsigned32
            FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    NOTIFICATION-GROUP,
    OBJECT-GROUP
            FROM SNMPv2-CONF
    TEXTUAL-CONVENTION,
    TruthValue, 
    DateAndTime,
    TimeStamp,
    TimeInterval	
            FROM SNMPv2-TC
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    ciscoMgmt
            FROM CISCO-SMI
    sysUpTime
            FROM RFC1213-MIB;

ciscoRFMIB MODULE-IDENTITY
    LAST-UPDATED "200201070000Z" 
    ORGANIZATION "Cisco Systems, Inc."
    CONTACT-INFO
        "Cisco Systems Customer Service
         Postal: 170 West Tasman Drive
                 San Jose, CA 95134
                 USA
         Tel: +1 800 553-NETS

         E-mail: cs-rf-mib@cisco.com"
    DESCRIPTION
        "This MIB provides configuration control and status for the
        Redundancy Framework (RF) subsystem.  RF provides a mechanism
        for logical redundancy of software functionality and is
        designed to support 1:1 redundancy on processor cards.  RF is
        not intended to solve all redundancy schemes.  Nor is RF
        designed to support redundant hardware, such as power
        supplies.

        Redundancy is concerned with the duplication of data elements
        and software functions to provide an alternative in case of
        failure. It is a key component to meeting 99.999% availability
        requirements for Class 5 carrier solutions.

        In the scope of this MIB definition, peer software elements
        are redundant and redundant software elements are peers."

    REVISION    "200201070000Z" 
    DESCRIPTION
        "Added the following object in cRFStatus:
            cRFStatusRFModeCapsTable
        Added the following object in cRFCfg:
            cRFCfgRedundancyOperMode
        Updated description of following object in cRFCfg:
            cRFCfgRedundancyMode"
	
    REVISION	"200107200000Z" -- July 20, 2001	
    DESCRIPTION
	"Added new sub-group
	    cRFHistory 	
	Added new table cRFHistorySwitchOverTable
	which maintains the history of switchovers.
	Also added objects:	
	    cRFStatusFailoverTime
	    cRFStatusPeerStandByEntryTime
	    cRFHistoryTableMaxLength
	    cRFHistoryColdStarts
	    cRFHistoryStandByAvailTime
	Added textual convention:
	    RFUnitIdentifier."
		
    REVISION    "200106260000Z" -- June 26, 2001 12:00 AM
    DESCRIPTION
        "Changed terminology:
            'split-mode' is now 'maintenance-mode'
        Added textual convention:
            RFMode
        Deprecated object:
            cRFCfgSplitMode
        Added objects:
            cRFCfgMaintenanceMode
            cRFCfgRedundancyMode
            cRFCfgRedundancyModeDescr
        Added enumeration values:
            noAction(0)         to RFAction
            activeExtraload(15) to RFState
            activeHandback(16)  to RFState
        Added new transition state to ciscoRFProgressionNotif:
            activeExtraload
        Update compliance and conformance statements"
    REVISION    "200104030945Z" -- April 3, 2001 9:45 AM
    DESCRIPTION
        "The initial revision of this MIB."

    ::= { ciscoMgmt 176 }


--
--     Glossary
-- 
--
-- Active Unit - The CPU on which calls are being processed.
--
-- Availability - Availability is measured as a percentage of
-- uptime. Based on continuous system operation which is typically
-- 24 hours per day, 7 days per week, 365 days a year.
-- 
-- Bulk Sync - The process of updating the standby unit to the current
-- context of the active unit. Once the Bulk sync is complete the
-- standby unit is considered 'hot' and able to become the active unit.
-- 
-- Clients - Applications that have registered with the Redundancy
-- Facility (RF) to receive RF events and notifications. These are
-- considered redundancy aware applications.
-- 
-- Cold Redundancy - A redundancy scheme that is not able to instantly
-- retain established calls and immediately able to handle new
-- calls. The standby unit in a cold redundancy system is not fully
-- initialized and is not able to retain established calls.
-- 
-- Configuration Data - Data that the user configures for the
-- application and networking requirements. PVCs would fall into this
-- category.
-- 
-- Cutover - A canonical term referring to either a switch-over or a
-- fail-over.
-- 
-- Data Events - Messages, such as ATM SVC events, sent from active
-- unit clients to the standby clients. Data Events are used to keep a
-- standby-hot unit up-to-date with dynamic data changes on the active
-- unit.
-- 
-- Drop Activity - The process by which the currently active unit
-- relinquishes activity to the standby unit. The active unit can only
-- drop activity to a standby-cold or standby-hot unit. This can be
-- for one of two reasons:
-- 
--   - the currently active unit has determined that it is unhealthy
--     and needs to release activity to the standby, or
-- 
--   - the user issues a command to drop activity. This is typically
--     done for maintenance purposes such as upgrading to a new
--     image in the standby.
-- 
-- Duplex Mode - The mode of operation when both control processors,
-- one active and one standby, are present in the system. As opposed
-- to simplex mode.
-- 
-- Dynamic Data - Dynamic Data is data that changes in real time. It
-- is this data that is syncÕed from the active to the standby unit.
-- The type and frequency of dynamic data syncs is client
-- specific. ATM SVCs fall into this category. Once the SVC is
-- established on the active unit, ATM sends SVC Data Events to the
-- standby unit.
-- 
-- Gain Activity - The process by which the standby unit becomes the
-- active unit.
-- 
-- Hot Redundancy - A redundancy scheme that is able to instantly
-- retain established calls and immediately able to handle new calls.
-- 
-- Load Sharing - A high availability scheme whereby a portion of the
-- system load is statically assigned to each processor/resource.  The
-- assignment of resources may be decided based on ingress interface,
-- line card, etc.  No dynamic decisions are made as to the load
-- distribution in the system; it is pre-determined.
-- 
-- Negotiation Clash - The situation when two loosely coupled units
-- think both have the same negotiation status. In this case, the
-- primary unit should over ride the secondary unit.
-- 
-- Peer Unit - The Secondary Unit is the peer to the Primary Unit,
-- and the Primary Unit is the peer to the Secondary Unit.
-- 
-- Primary Unit - This is the unit that wins in the unlikely event of
-- a negotiation clash between two loosely coupled units. For example,
-- if both units think they are active, the Primary unit is designed
-- to remain active while the Secondary Unit backs down to standby. If
-- both units think they are standby, the Primary unit is designed to
-- gain activity while the Secondary Unit remains the standby.
-- 
-- Progression - The process of making redundancy state of the standby
-- unit equivalent to that of the active unit. This includes
-- transitioning the RF state machine through several states which in
-- turn drives the RF clients on the active unit to synchronize any
-- relevant data with their peer on the standby unit.
-- 
-- Secondary Unit - This is the unit that backs-down in the unlikely
-- event of a negotiation clash between two loosely coupled units. For
-- example, if both units think they are active, the Secondary unit is
-- designed to back down while the Primary unit remains active. If
-- both units think they are standby, the Secondary unit is designed to
-- remain standby while the Primary unit gains activity.
-- 
-- Simplex Mode - The mode of operation when only a single control
-- processor is present in the system. As opposed to duplex mode.
-- 
-- Maintenance Mode - A mode in redundancy where the standby unit is
-- present (duplex) but logically disconnected from the active
-- unit. Clients do not send data syncs to the standby unit. This mode
-- is useful for software upgrades and other maintenance procedures.
-- 
-- Standby Unit - The unit which is backing-up the currently Active
-- unit. The Standby unit has several substates that are specific to
-- becoming standby-hot. Once the standby unit progresses to
-- standby-hot, it is able to instantly become the active unit while
-- retaining calls.
-- 
-- Switch of Activity (SWACT) - Either a forced or automatic switch
-- of active status from the active unit to the standby unit. The
-- former standby unit is now referred to as the active unit.
-- 
-- Take Activity - The process by which the standby unit becomes the
-- active unit. This can be for one of two reasons:
-- 
--   - the standby unit has determined that the currently active unit
--     is unhealthy and takes activity, or
-- 
--   - the user issues a command to switch activity from the currently
--     active unit. This is typically done for maintenance purposes
--     such as upgrading the standby unit.


--
-- Textual conventions
--
RFState ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "The current state of the RF subsystem.

        notKnown
            - state is unknown
        disabled
            - RF is not operational on this unit
        initialization
            - establish necessary system services
        negotiation
            - peer unit discovery and negotiation
        standbyCold
            - client notification on standby unit
        *standbyColdConfig
            - standby cfg is updated from active cfg
        *standbyColdFileSys
            - standby file system (FS) is updated from the active FS
        *standbyColdBulk
            - clients sync data from active to standby
        standbyHot
            - incremental client data sync continues. This unit is
              ready to take over activity.
        activeFast
            - call maintenance efforts during a SWACT
        activeDrain
            - client clean-up phase
        activePreconfig
            - unit is active but has not read its configuration
        activePostconfig
            - unit is active and is post-processing its configuration
        active
            - unit is active and processing calls
        activeExtraload
            - unit is active and processing calls for all feature
              boards in the system
        activeHandback
            - unit is active, processing calls and is in the process
              of handing some resources to the other unit in the system

        * Sub-state of 'standbyCold'"
    SYNTAX INTEGER {
        notKnown(1),
        disabled(2),
        initialization(3),
        negotiation(4),
        standbyCold(5),
        standbyColdConfig(6),
        standbyColdFileSys(7),
        standbyColdBulk(8),
        standbyHot(9),
        activeFast(10),
        activeDrain(11),
        activePreconfig(12),
        activePostconfig(13),
        active(14),
        activeExtraload(15),
        activeHandback(16)
    }

RFMode ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "The characterization of the redundancy subsystem.

        nonRedundant
            - the system is not redundant.
        staticLoadShareNonRedundant
            - the system is *not* redundant but is load sharing.
              The load sharing is *not* based on operational load
              (i.e. number of calls, etc).
        dynamicLoadShareNonRedundant
            - the system is *not* redundant but is load sharing.
              Load sharing is based on operational load.
        staticLoadShareRedundant
            - the system is redundant and is load sharing.  The
              load sharing is *not* based on operational load.
        dynamicLoadShareRedundant
            - the system is redundant and is load sharing.  Load
              sharing is based on operational load.
        coldStandbyRedundant
            - the system is redundant but the redundant peer unit is
              not fully initialized and is not able to retain
              established calls.
        warmStandbyRedundant
            - the system is redundant and the redundant peer unit is
              immediately able to handle new calls.  The redundant
              unit is unable to retain established calls.
        hotStandbyRedundant
            - the system is redundant and the redundant peer unit is
              able to 'instantaneously' retain established calls and
              immediately able to handle new calls."
    SYNTAX INTEGER {
        nonRedundant(1),
        staticLoadShareNonRedundant(2),
        dynamicLoadShareNonRedundant(3),
        staticLoadShareRedundant(4),
        dynamicLoadShareRedundant(5),
        coldStandbyRedundant(6),
        warmStandbyRedundant(7),
        hotStandbyRedundant(8)
    }

RFAction ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "Administrative commands to invoke in the RF subsystem.

        noAction
            - no action (do nothing)
        reloadPeer
            - reset the redundant peer unit
        reloadShelf
            - reset the entire shelf
        switchActivity
            - safely SWACT to peer unit and go standby
        forceSwitchActivity
            - switch activity; ignoring pre-conditions, system
              warnings and safety checks.

        When the value is set to 'noAction' no operation is performed.
        When read, the value 'noAction' is always returned."
    SYNTAX INTEGER {
        noAction(0),
        reloadPeer(1),
        reloadShelf(2),
        switchActivity(3),
        forceSwitchActivity(4)
    }

RFSwactReasonType ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "Reason codes for the switch of activity from an active
        redundant unit to its standby peer unit.

        unsupported
            - the 'reason code' is an unsupported feature
        none
            - no SWACT has occurred
        notKnown
            - reason is unknown
        userInitiated
            - a safe, manual SWACT was initiated by user
        userForced
            - a manual SWACT was forced by user; ignoring
              pre-conditions, warnings and safety checks
        activeUnitFailed
            - active unit failure caused an auto SWACT
        activeUnitRemoved
            - active unit removal caused an auto SWACT"
    SYNTAX INTEGER {
        unsupported(1),
        none(2),
        notKnown(3),
        userInitiated(4),
        userForced(5),
        activeUnitFailed(6),
        activeUnitRemoved(7)
    }

RFUnitIdentifier ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
	"A unique identifier for Active/Standby unit."
    SYNTAX Integer32 (0..2147483647)

--
-- OBJECT IDENTIFIER assignments for various groups
--
ciscoRFMIBObjects              OBJECT IDENTIFIER ::= { ciscoRFMIB 1 }

--
-- sub-groups
--
cRFStatus  OBJECT IDENTIFIER  ::= { ciscoRFMIBObjects 1 }
cRFCfg     OBJECT IDENTIFIER  ::= { ciscoRFMIBObjects 2 }
cRFHistory OBJECT IDENTIFIER  ::= { ciscoRFMIBObjects 3 }

--
-- Status sub-group definitions
--
cRFStatusUnitId OBJECT-TYPE
    SYNTAX     RFUnitIdentifier
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "A unique identifier for this redundant unit. This identifier
        is implementation-specific but the method for selecting the id
        must remain consistent throughout the redundant system.

        Some example identifiers include: slot id, physical or logical
        entity id, or a unique id assigned internally by the RF
        subsystem."
    ::= { cRFStatus 1 }

cRFStatusUnitState OBJECT-TYPE
    SYNTAX     RFState
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The current state of RF on this unit."
    ::= { cRFStatus 2 }

cRFStatusPeerUnitId OBJECT-TYPE
    SYNTAX     RFUnitIdentifier
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "A unique identifier for the redundant peer unit. This
        identifier is implementation-specific but the method for
        selecting the id must remain consistent throughout the
        redundant system.

        Some example identifiers include: slot id, physical or logical
        entity id, or a unique id assigned internally by the RF
        subsystem."
    ::= { cRFStatus 3 }

cRFStatusPeerUnitState OBJECT-TYPE
    SYNTAX     RFState
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The current state of RF on the peer unit."
    ::= { cRFStatus 4 }

cRFStatusPrimaryMode OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Indicates whether this is the primary redundant unit or
        not. If this unit is the primary unit, this object is true. If
        this unit is the secondary unit, this object is false.

        Note that the terms 'primary/secondary' are not synonymous
        with the terms 'active/standby'.  At any given time, the
        primary unit may be the active unit, or the primary unit may
        be the standby unit.  Likewise, the secondary unit, at any
        given time, may be the active unit, or the secondary unit may
        be the standby unit.

        The primary unit is given a higher priority or precedence over
        the secondary unit. In a race condition (usually at
        initialization time) or any situation where the redundant
        units are unable to successfully negotiate activity between
        themselves, the primary unit will always become the active
        unit and the secondary unit will fall back to standby. Only
        one redundant unit can be the primary unit at any given time.

        The algorithm for determining the primary unit is system
        dependent, such as 'the redundant unit with the lower numeric
        unit id is always the primary unit.'"
    ::= { cRFStatus 5 }

cRFStatusDuplexMode OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Indicates whether the redundant peer unit has been detected
        or not. If the redundant peer unit is detected, this object is
        true. If the redundant peer unit is not detected, this object
        is false."
    ::= { cRFStatus 6 }

cRFStatusManualSwactInhibit OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Indicates whether a manual switch of activity is
        permitted. If a manual switch of activity is allowed, this
        object is false. If a manual switch of activity is not
        allowed, this object is true.  Note that the value of this
        object is the inverse of the status of manual SWACTs.

        This object does not indicate whether a switch of activity is
        or has occurred. This object only indicates if the
        user-controllable capability is enabled or not.

        A switch of activity is the event in which the standby
        redundant unit becomes active and the previously active unit
        becomes standby."
    ::= { cRFStatus 7 }

cRFStatusLastSwactReasonCode OBJECT-TYPE
    SYNTAX     RFSwactReasonType
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The reason for the last switch of activity."
    ::= { cRFStatus 8 }

cRFStatusFailoverTime OBJECT-TYPE
    SYNTAX     TimeStamp
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	"The value of sysUpTime when the primary redundant unit took over 
	as active. The value of this object will be 0 till the first 
	switchover."	
    ::= { cRFStatus 9 }		

cRFStatusPeerStandByEntryTime OBJECT-TYPE
    SYNTAX     TimeStamp
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	"The value of sysUpTime when the peer redundant unit entered the
	standbyHot state. The value will be 0 on system initialization." 
    ::= { cRFStatus 10 }		

-- Redundancy mode capability table

cRFStatusRFModeCapsTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF CRFStatusRFModeCapsEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table containing a list of redundancy modes that can be 
        supported on the device."
    ::= { cRFStatus 11 }

cRFStatusRFModeCapsEntry OBJECT-TYPE
    SYNTAX        CRFStatusRFModeCapsEntry 
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "An entry containing the device implementation specific 
        terminology associated with the redundancy mode that can be
        supported on the device."
    INDEX { cRFStatusRFModeCapsMode }
    ::= { cRFStatusRFModeCapsTable 1 }

CRFStatusRFModeCapsEntry ::=
    SEQUENCE {
            cRFStatusRFModeCapsMode
                    RFMode,
            cRFStatusRFModeCapsModeDescr
                    SnmpAdminString
    }

cRFStatusRFModeCapsMode OBJECT-TYPE
    SYNTAX        RFMode
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "The redundancy mode that can be supported on the device."
        ::= { cRFStatusRFModeCapsEntry 1 }

cRFStatusRFModeCapsModeDescr OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The description of the device implementation specific
        terminology associated with its supported redundancy mode."
        ::= { cRFStatusRFModeCapsEntry 2 }

--
-- Configuration sub-group definitions
--
cRFCfgSplitMode OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-write
    STATUS     deprecated -- superceded by cRFCfgMaintenanceMode
    DESCRIPTION
        "Indicates whether redundant units may communicate
         synchronization messages with each other. If communication is
         not permitted, this object is set to true. If communication is
         permitted, this object is set to false.

         In split mode (true), the active unit will not communicate
         with the standby unit. The standby unit progression will not
         occur. When split mode is disabled (false), the standby unit
         is reset to recover.

         Split mode (true) is useful for maintenance operations.
        "
    ::= { cRFCfg 1 }

cRFCfgKeepaliveThresh OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "On platforms that support keep-alives, the keep-alive
        threshold value designates the number of lost keep-alives
        tolerated before a failure condition is declared.  If this
        occurs, a SWACT notification is sent.

        On platforms that do not support keep-alives, this object has
        no purpose or effect."
    ::= { cRFCfg 2 }

cRFCfgKeepaliveThreshMin OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The minimum acceptable value for the cRFCfgKeepaliveThresh
        object."
    ::= { cRFCfg 3 }

cRFCfgKeepaliveThreshMax OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The maximum acceptable value for the cRFCfgKeepaliveThresh
        object."
    ::= { cRFCfg 4 }

cRFCfgKeepaliveTimer OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "milliseconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "On platforms that support keep-alives, the keep-alive timer
        value is used to guard against lost keep-alives.  The RF
        subsystem expects to receive a keep-alive within this period.
        If a keep-alive is not received within this time period, a
        SWACT notification is sent.

        On platforms that do not support keep-alives, this object has
        no purpose or effect."
    ::= { cRFCfg 5 }

cRFCfgKeepaliveTimerMin OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "milliseconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The minimum acceptable value for the cRFCfgKeepaliveTimer
        object."
    ::= { cRFCfg 6 }

cRFCfgKeepaliveTimerMax OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "milliseconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The maximum acceptable value for the cRFCfgKeepaliveTimer
        object."
    ::= { cRFCfg 7 }

cRFCfgNotifTimer OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "milliseconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Note that the term 'notification' here refers to an RF
        notification and not an SNMP notification.

        As the standby unit progresses to the 'standbyHot' state,
        asynchronous messages are sent from the active unit to the
        standby unit which must then be acknowledged by the standby
        unit. If the active unit receives the acknowledgement during
        the time period specified by this object, progression proceeds
        as normal. If the timer expires and an acknowledgement was not
        received by the active unit, a switch of activity occurs."
    ::= { cRFCfg 8 }

cRFCfgNotifTimerMin OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "milliseconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The minimum acceptable value for the cRFCfgNotifTimer
        object."
    ::= { cRFCfg 9 }

cRFCfgNotifTimerMax OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "milliseconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The maximum acceptable value for the cRFCfgNotifTimer
        object."
    ::= { cRFCfg 10 }

cRFCfgAdminAction OBJECT-TYPE
    SYNTAX     RFAction
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "This variable is set to invoke RF subsystem action commands.
        The commands are useful for maintenance and software upgrade
        activities."
    ::= { cRFCfg 11 }

cRFCfgNotifsEnabled OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Allows enabling/disabling of RF subsystem notifications."
    DEFVAL { false }
    ::= { cRFCfg 12 }

cRFCfgMaintenanceMode OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Indicates whether redundant units may communicate
        synchronization messages with each other. If communication is
        not permitted, this object is set to 'true'. If communication
        is permitted, this object is set to 'false'.

        If the value of this object is 'true', the redundant system is
        considered to be in a maintenance mode of operation.  If the
        value of this object is 'false', the redundant system is
        considered to be in a normal (non-maintenance) mode of
        operation.

        In maintenance mode (true), the active unit will not
        communicate with the standby unit. The standby unit
        progression will not occur. When maintenance mode is disabled
        (false), the standby unit is reset to recover.

        Maintenance mode (true) is useful for maintenance-type
        operations."
    ::= { cRFCfg 13 }

cRFCfgRedundancyMode OBJECT-TYPE
    SYNTAX     RFMode
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Indicates the redundancy mode configured on the device."
    ::= { cRFCfg 14 }

cRFCfgRedundancyModeDescr OBJECT-TYPE
    SYNTAX     SnmpAdminString
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Further clarifies or describes the redundancy mode indicated
        by cRFCfgRedundancyMode.  Implementation-specific terminology
        associated with the current redundancy mode may be presented
        here."
    ::= { cRFCfg 15 }

cRFCfgRedundancyOperMode OBJECT-TYPE
    SYNTAX     RFMode
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Indicate the operational redundancy mode of the device."
    ::= { cRFCfg 16 }

--
-- History sub-group definitions
--

cRFHistoryTableMaxLength OBJECT-TYPE
    SYNTAX     Unsigned32 (0..50)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
	"Maximum number of entries permissible in the history 
	table. A value of 0 will result in no history being
	maintained."
    DEFVAL   { 10 }
    ::=	{ cRFHistory 1 }

cRFHistorySwitchOverTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF CRFHistorySwitchOverEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	"A table that tracks the history of all switchovers that 
	have occurred since system initialization. The maximum
	number of entries permissible in this table is defined by
	cRFHistoryTableMaxLength. When the number of entries in
	the table reaches the maximum limit, the next entry
	would replace the oldest existing entry in the table."
    ::= { cRFHistory 2}

cRFHistorySwitchOverEntry OBJECT-TYPE
    SYNTAX     CRFHistorySwitchOverEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	"The entries in this table contain the switchover 
	information. Each entry in the table is indexed by 
	cRFHistorySwitchOverIndex. The index wraps around to 1 
	after reaching the maximum value."
    INDEX { cRFHistorySwitchOverIndex }
    ::= { cRFHistorySwitchOverTable 1}

CRFHistorySwitchOverEntry  ::=
    SEQUENCE {
	cRFHistorySwitchOverIndex	Unsigned32,
	cRFHistoryPrevActiveUnitId	RFUnitIdentifier,
	cRFHistoryCurrActiveUnitId	RFUnitIdentifier,
	cRFHistorySwitchOverReason	RFSwactReasonType,
	cRFHistorySwactTime		DateAndTime
	}

cRFHistorySwitchOverIndex  OBJECT-TYPE
    SYNTAX     Unsigned32 (1..4294967295)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	"A monotonically increasing integer for the purpose of
	indexing history table. After reaching maximum value,
	it wraps around to 1."
    ::= { cRFHistorySwitchOverEntry 1}
	
		
cRFHistoryPrevActiveUnitId  OBJECT-TYPE
    SYNTAX     RFUnitIdentifier
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	"Indicates the primary redundant unit that went down."
    ::= { cRFHistorySwitchOverEntry 2}

cRFHistoryCurrActiveUnitId  OBJECT-TYPE
    SYNTAX     RFUnitIdentifier
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	"Indicates the secondary redundant unit that took 
	over as active."
    ::= { cRFHistorySwitchOverEntry 3}

cRFHistorySwitchOverReason OBJECT-TYPE
    SYNTAX     RFSwactReasonType
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	"Indicates the reason for the switchover."
    ::= { cRFHistorySwitchOverEntry 4}

cRFHistorySwactTime OBJECT-TYPE
    SYNTAX     DateAndTime
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	"Indicates the Date & Time when switchover occured."
    ::= { cRFHistorySwitchOverEntry 5 }

cRFHistoryColdStarts OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	"Indicates the number of system cold starts. This includes
	the number of system cold starts due to switchover failure
	and the number of manual restarts."
    ::= { cRFHistory 3 }

cRFHistoryStandByAvailTime OBJECT-TYPE
    SYNTAX     TimeInterval
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	"Indicates the cumulative time that a standby redundant  
	unit has been available since last system initialization."
     ::= { cRFHistory 4 }	

--
-- MIB Notification definitions
--
ciscoRFMIBNotificationsPrefix  OBJECT IDENTIFIER ::= { ciscoRFMIB 2 }
ciscoRFMIBNotifications        OBJECT IDENTIFIER ::=
    { ciscoRFMIBNotificationsPrefix 0 }

ciscoRFSwactNotif NOTIFICATION-TYPE
    OBJECTS {
        cRFStatusUnitId,
        sysUpTime,
        cRFStatusLastSwactReasonCode
    }
    STATUS current
    DESCRIPTION
        "A SWACT notification is sent by the newly active redundant
        unit whenever a switch of activity occurs. In the case where a
        SWACT event may be indistinguishable from a reset event, a
        network management station should use this notification to
        differentiate the activity.

        sysUpTime is the same sysUpTime defined in the RFC-1213 MIB."
    ::= { ciscoRFMIBNotifications 1 }

ciscoRFProgressionNotif NOTIFICATION-TYPE
    OBJECTS {
        cRFStatusUnitId,
        cRFStatusUnitState,
        cRFStatusPeerUnitId,
        cRFStatusPeerUnitState
    }
    STATUS current
    DESCRIPTION
        "A progression notification is sent by the active redundant
        unit whenever its RF state changes or the RF state of the peer
        unit changes.

        To avoid a flurry of notifications for all state transitions,
        notifications will only be sent for transitions to the
        following RF states:
            standbyCold
            standbyHot
            active
            activeExtraload"
    ::= { ciscoRFMIBNotifications 2 }

--
-- Conformance
--
ciscoRFMIBConformance  OBJECT IDENTIFIER
    ::= { ciscoRFMIB 3 }
ciscoRFMIBCompliances  OBJECT IDENTIFIER
    ::= { ciscoRFMIBConformance 1 }
ciscoRFMIBGroups       OBJECT IDENTIFIER
    ::= { ciscoRFMIBConformance 2 }

--
-- compliance statements
--
ciscoRFMIBCompliance MODULE-COMPLIANCE
    STATUS deprecated -- superceded by ciscoRFMIBComplianceRev1
    DESCRIPTION
        "The compliance statement for entities which implement the
        Cisco RF MIB."
    MODULE -- this module
    MANDATORY-GROUPS {
        ciscoRFStatusGroup,
        ciscoRFConfigGroup,
        ciscoRFNotifGroup
    }
    ::= { ciscoRFMIBCompliances 1 }

ciscoRFMIBComplianceRev1 MODULE-COMPLIANCE
    STATUS deprecated -- superceded by ciscoRFMIBComplianceRev2
    DESCRIPTION
        "The compliance statement for entities which implement the
        Cisco RF MIB"
    MODULE -- this module
    MANDATORY-GROUPS {
        ciscoRFStatusGroup,
        ciscoRFConfigGroupRev1,
        ciscoRFNotifGroup
    }
    ::= { ciscoRFMIBCompliances 2 }

ciscoRFMIBComplianceRev2 MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
        "The compliance statement for entities which implement the
        Cisco RF MIB."
    MODULE -- this module
    MANDATORY-GROUPS {
	ciscoRFStatusGroupRev1,
	ciscoRFConfigGroupRev1,
	ciscoRFNotifGroup,
	ciscoRFHistoryGroup
    }
    ::= { ciscoRFMIBCompliances 3 }
--
-- Units of conformance
--
ciscoRFStatusGroup OBJECT-GROUP
    OBJECTS {
        cRFStatusUnitId,
        cRFStatusUnitState,
        cRFStatusPeerUnitId,
        cRFStatusPeerUnitState,
        cRFStatusPrimaryMode,
        cRFStatusDuplexMode,
        cRFStatusManualSwactInhibit,
        cRFStatusLastSwactReasonCode
    }
    STATUS deprecated -- superceded by ciscoRFStatusGroupRev1
    DESCRIPTION
        "The collection of global RF status objects."
    ::= { ciscoRFMIBGroups 1 }

ciscoRFConfigGroup OBJECT-GROUP
    OBJECTS {
        cRFCfgSplitMode,
        cRFCfgKeepaliveThresh,
        cRFCfgKeepaliveThreshMin,
        cRFCfgKeepaliveThreshMax,
        cRFCfgKeepaliveTimer,
        cRFCfgKeepaliveTimerMin,
        cRFCfgKeepaliveTimerMax,
        cRFCfgNotifTimer,
        cRFCfgNotifTimerMin,
        cRFCfgNotifTimerMax,
        cRFCfgAdminAction,
        cRFCfgNotifsEnabled,
        cRFCfgRedundancyMode,
        cRFCfgRedundancyModeDescr
    }
    STATUS deprecated -- superceded by ciscoRFConfigGroupRev1
    DESCRIPTION
        "The collection of RF configuration objects."
    ::= { ciscoRFMIBGroups 2 }

ciscoRFNotifGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
        ciscoRFSwactNotif,
        ciscoRFProgressionNotif
    }
    STATUS current
    DESCRIPTION
        "The collection of notifications used to indicate RF state
        information."
    ::= { ciscoRFMIBGroups 3 }

ciscoRFConfigGroupRev1 OBJECT-GROUP
    OBJECTS {
        cRFCfgKeepaliveThresh,
        cRFCfgKeepaliveThreshMin,
        cRFCfgKeepaliveThreshMax,
        cRFCfgKeepaliveTimer,
        cRFCfgKeepaliveTimerMin,
        cRFCfgKeepaliveTimerMax,
        cRFCfgNotifTimer,
        cRFCfgNotifTimerMin,
        cRFCfgNotifTimerMax,
        cRFCfgAdminAction,
        cRFCfgNotifsEnabled,
        cRFCfgMaintenanceMode,
        cRFCfgRedundancyMode,
        cRFCfgRedundancyModeDescr
    }
    STATUS current
    DESCRIPTION
        "The collection of RF configuration objects."
    ::= { ciscoRFMIBGroups 4 }

ciscoRFStatusGroupRev1 OBJECT-GROUP
    OBJECTS {
	cRFStatusUnitId,
	cRFStatusUnitState,
	cRFStatusPeerUnitId,
	cRFStatusPeerUnitState,
	cRFStatusPrimaryMode,
	cRFStatusDuplexMode,
	cRFStatusManualSwactInhibit,
	cRFStatusLastSwactReasonCode,
	cRFStatusFailoverTime,
	cRFStatusPeerStandByEntryTime
    }
    STATUS current
    DESCRIPTION
        "The collection of global RF status objects."
    ::= { ciscoRFMIBGroups 5 }

ciscoRFHistoryGroup OBJECT-GROUP
	OBJECTS {
	cRFHistoryPrevActiveUnitId,
	cRFHistoryCurrActiveUnitId,
	cRFHistorySwitchOverReason,
	cRFHistorySwactTime,
	cRFHistoryColdStarts,
	cRFHistoryStandByAvailTime,
	cRFHistoryTableMaxLength
    }	
    STATUS	current
    DESCRIPTION
	"The collection of RF History objects."
	::= { ciscoRFMIBGroups 6 }
		
ciscoRFConfigRFOperModeGroup OBJECT-GROUP
    OBJECTS {
        cRFCfgRedundancyOperMode
    }
    STATUS current 
    DESCRIPTION
        "An optional group with a collection of objects providing 
        the information of the operational redundancy mode on the
        device."
    ::= { ciscoRFMIBGroups 7 }

ciscoRFStatusRFModeCapsGroup OBJECT-GROUP
    OBJECTS {
        cRFStatusRFModeCapsModeDescr
    }
    STATUS current
    DESCRIPTION
        "An optional group with a collection of objects 
        providing the information of redundancy mode capability 
        on the device."
    ::= { ciscoRFMIBGroups 8 }

END