-- *********************************************************************
-- CISCO-APS-EXT-MIB.my: Cisco Automatic Protection Switching (APS)
--                       Extension MIB
--
-- April 2001, Ashok Chippa, Altaf Shaikh
--
-- Copyright (c) 2001 by Cisco Systems, Inc.
-- All rights reserved.
--
-- *********************************************************************
--

   CISCO-APS-EXT-MIB DEFINITIONS ::= BEGIN

   IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, Integer32
          FROM SNMPv2-SMI

        TruthValue, TEXTUAL-CONVENTION
          FROM SNMPv2-TC

	SnmpAdminString
          FROM SNMP-FRAMEWORK-MIB

        ciscoExperiment
          FROM CISCO-SMI

        cApsConfigEntry, cApsStatusEntry, cApsChanStatusEntry,
        CApsK1K2, cApsChanConfigEntry 
          FROM CISCO-APS-MIB

        InetAddressType, InetAddress
          FROM INET-ADDRESS-MIB

        MODULE-COMPLIANCE, OBJECT-GROUP
          FROM SNMPv2-CONF;


   cApsExtMIB MODULE-IDENTITY
       LAST-UPDATED    "200301310000Z"
       ORGANIZATION    "Cisco Systems, Inc."
       CONTACT-INFO    "Cisco Systems, Inc.
                        Customer Service
                        Postal: 170 W. Tasman Drive
                                San Jose, CA  95134-1706
                                USA
                        Tel: +1 800 553-NETS
                        Email: optmgmt-dev@cisco.com"


       DESCRIPTION
       "The Cisco APS Extension MIB extends the Cisco APS MIB 
        in order to a) support path APS architectures and
        b) support interfaces other than SONET (e.g. Cisco
        CDL).

        For configuration and monitoring of APS for CDL interfaces,
        all objects and notifications in the Cisco APS MIB apply,
        with the exception of the following:
        - cApsStatusK1K2Rcv and cApsStatusK1K2Trans in
          cApsStatusEntry,
        - cApsConfigSdBerThreshold and cApsConfigSfBerThreshold
          in cApsConfigEntry,
        - cApsChanStatusSignalDegrades and
          cApsChanStatusSignalFailures in cApsChanStatusEntry,
        - cApsStatusFEPLFs in cApsStatusEntry,
        - cApsEventFEPLF.

        Whenever the description of an object in the Cisco APS MIB
        refers to a SONET LTE interface, this applies to CDL
        terminating interfaces as well. CDL interfaces have
        ifType values other than 'sonet'.

        For SONET path APS support, whenever the description of an
        object in the Cisco APS MIB refers to a SONET LTE
        interface, this applies to SONET PTE interfaces as well.
        SONET PTE interfaces have ifType values 'sonetPath'.
       "

       REVISION      "200301310000Z"
       DESCRIPTION
       "Updated the default value for the object 
        cApsConfigSwitchoverEnableInterval.
       "

       REVISION      "200205310000Z"
       DESCRIPTION
       "Added table cApsChanConfigExtTable which augments 
       cApsChanConfigTable in CISCO-APS-MIB, and table
       cApsChanAssociationTable that provides for all 
       protection/working channels, the associated working/protection
       channel IP address. 
       "

       REVISION      "200205200000Z"
       DESCRIPTION
       "Added objects for control of APS message transport and
        to show additional channel status information.
       "

       REVISION      "200105210000Z"
       DESCRIPTION
       "The initial version of this MIB augments cApsConfigEntry (in
        the CISCO-APS-MIB) with two new APS configuration parameters,
        cApsConfigSpan and cApsConfigYcable, and cApsStatusEntry with
        two new status parameters, cApsStatusCdlApsBytesRcv and
        cApsStatusCdlApsBytesTrans.
       "
       ::= { ciscoExperiment 72 }
   
   cApsExtMIBObjects     	OBJECT IDENTIFIER 
       ::= { cApsExtMIB 1 }

   cApsExtMIBConformance 	OBJECT IDENTIFIER 
       ::= { cApsExtMIB 2 }


   CdlApsBytes ::= TEXTUAL-CONVENTION
       STATUS current
       DESCRIPTION
       "This Textual Convention describes an object that stores
        the APS protocol field used in CDL. The semantics of the
        CDL APS protocol field are similar to those of the
        SONET K1 and K2 byte APS protocol field.
       "
       SYNTAX      OCTET STRING (SIZE (2))


   CApsMessageTransport ::= TEXTUAL-CONVENTION
       STATUS       current
       DESCRIPTION
       "The type of transport used to exchange APS protocol messages.

        none
                  
          There is no APS message exchange between the endpoints 
          of the associated channels.

        autoSelect  
 
          APS automatically selects a transport mechanism
          to send APS messages.  The following transport
          mechanisms are attempted, in the following order
          of priority:
           - apsChannel
           - dcc
           - osc

        dcc         

          APS messages are transmitted over the data communications 
          channels (DCCs) in the overhead of the associated channels.

        apsChannel
                    
          APS messages are transmitted in overhead bytes of the
          associated channels that are defined specifically
          to carry APS messages.

        ip
                  
          APS messages are transmitted over IP. The IP network can
          consist of any combination of data communication channels
          (DCCs), optical supervisory channels (OSCs), and
          out-of-band Data Communication Networks (DCNs).

        osc
                  
          APS messages are transmitted over the Optical Supervisory 
          Channel (OSC).
        "

       SYNTAX       INTEGER {
                        none(1),
                        autoSelect(2),				
                        dcc(3),
                        apsChannel(4),
                        ip(5),
                        osc(6)
		    }

   CApsChannelConfigNumber ::= TEXTUAL-CONVENTION
       STATUS current
       DESCRIPTION
       "This Textual Convention describes an object that is set to 
        a unique channel number within an APS group. 
        The value 0 indicates the null channel. The values 1-14 
        define a working channel.
       "
       REFERENCE
       "Bellcore (Telcordia Technologies) GR-253-CORE, 
        Issue 2,Revision 2 (January 1999), 5.3.2.
       "
       SYNTAX      Integer32 (0..14)


   cApsNotifiesEnable OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
       "When this object is set to 'true', it allows the generation of
        the APS-related notifications defined in the CISCO-APS-MIB.
        When this object is set to 'false', it prevents the generation
        of the APS-related notifications defined in the CISCO-APS-MIB.
        By default, this object is set to 'false'."
       ::= { cApsExtMIBObjects 1 }


   cApsConfigExtTable		OBJECT-TYPE
       SYNTAX      SEQUENCE OF CApsConfigExtEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
       "This table augments the cApsConfigTable."
       ::= { cApsExtMIBObjects 2 }
   
   cApsConfigExtEntry 		OBJECT-TYPE
       SYNTAX       CApsConfigExtEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
       "A conceptual row in the cApsConfigExtTable."
       AUGMENTS { cApsConfigEntry }
       ::= { cApsConfigExtTable 1 }

   CApsConfigExtEntry ::= SEQUENCE {
       cApsConfigSpan                     INTEGER,
       cApsConfigYcable                   INTEGER,
       cApsConfigMinSearchUpInterval      Integer32,
       cApsConfigMaxSearchUpInterval      Integer32,
       cApsConfigSwitchoverEnableInterval Integer32,
       cApsConfigMessageTransport         CApsMessageTransport,
       cApsConfigMessageHolddown          Integer32,
       cApsConfigMessageHolddownCount     Integer32,
       cApsConfigMessageMaxInterval       Integer32,
       cApsConfigFarEndGroupName          SnmpAdminString,
       cApsConfigFarEndIpAddressType      InetAddressType,
       cApsConfigFarEndIpAddress          InetAddress
   }

   cApsConfigSpan OBJECT-TYPE
       SYNTAX      INTEGER { hopByHop(1), endToEnd(2) }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
       "The span (hopByHop or endToEnd) for the APS group.

        hopByHop

        This refers to linear APS, e.g. linear SONET APS, or hopByHop
        CDL APS. In a DWDM system, an APS channel may be associated
        with either an individual wavelength or an optical fiber.
        All APS channels within an APS group must be of the same type.
        Systems that support linear APS on an individual wavelength 
        basis, must assign an ifIndex to each such wavelength.

        endToEnd

        This refers to path APS, e.g. endToEnd CDL APS. In this
        configuration, each APS channel in the APS group is associated
        with an endToEnd user path. This codepoint does not apply to
        interfaces with an ifType value of 'sonet'.

        This object may not be modified if the associated
        cApsConfigRowStatus object is equal to 'active'.
       "
       DEFVAL { hopByHop }
       ::= { cApsConfigExtEntry 1 }

   cApsConfigYcable OBJECT-TYPE
       SYNTAX      INTEGER { noYcable(1),
                             ycable(2),
                             ycableXconnectCommon(3) }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
       "The Y-cable configuration for the APS group associated with
        user channels.

        noYcable

        The APS channels in the APS group are not connected to an
        external Y-cable.

        ycable

        Two user-side interfaces (not necessarily SONET or CDL) are
        connected to an external y-cable and are grouped into an APS
        group for endToEnd APS. The received user signal is split
        in the y-cable coupler and is received on both the interfaces.
        However, only one interface must transmit toward the user at any
        given time. With cApsConfigYcable set to 'ycable', the
        cApsConfigSpan must be set to 'endToEnd'. There must be
        only two APS channels in an APS group with cApsConfigYcable
        set to 'ycable'.

        ycableXconnectCommon

        This refers to a configuration where two user-side interfaces
        are connected to an external y-cable. The two signals received
        on these interface are connected to the same cross connect in
        the switch. The switch fabric selects one of the two received
        signals, duplicates it, and forwards it to two network side
        interfaces grouped for 1+1 linear APS. The received signal from
        the network side is transmitted to only one user-side interface.
        cApsConfigSpan is ignored if cApsConfigYcable is set to
        'ycableXconnectCommon'. There must be only two APS channels in
        an APS group with cApsConfigYcable set to
        'ycableXconnectCommon'.

        This object may not be modified if the associated
        cApsConfigRowStatus object is equal to 'active'.

        If this object is set to 'ycable' or 'ycableXconnectCommon',
        the user must shut one of the two channels before setting
        cApsConfigRowStatus to 'notInService'.
       "
       DEFVAL { noYcable }
       ::= { cApsConfigExtEntry 2 }

   cApsConfigMinSearchUpInterval OBJECT-TYPE
       SYNTAX      Integer32 (1..120)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
       "This object is instantiated only when the standby interface
        is not monitored. If both interfaces go down and the standby
        interface is not monitored, successive switchovers may be used
        in order to search for an interface that is up.

        This object specifies the minimum time interval between
        switchovers when both interfaces go down. A backoff algorithm
        should be used to increase the time interval between
        successive switchovers.
       "
       DEFVAL { 2 }
       ::= { cApsConfigExtEntry 3 }

   cApsConfigMaxSearchUpInterval OBJECT-TYPE
       SYNTAX      Integer32 (1..120)
       UNITS       "seconds"
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
       "This object is instantiated only when the standby interface
        is not monitored. If both interfaces go down and the standby
        interface is not monitored, successive switchovers may be used
        in order to search for an interface that is up.

        This object specifies the maximum time interval between
        switchovers when both interfaces go down.
       "
       DEFVAL { 32 }
       ::= { cApsConfigExtEntry 4 }

   cApsConfigSwitchoverEnableInterval OBJECT-TYPE
       SYNTAX      Integer32 (1..120)
       UNITS       "seconds"
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
       "This object specifies the value of the timer to control
        the minimum interval between switchovers. After a switchover,
        APS is re-enabled only after this amount of time has elapsed,
        in order to prevent quick successive switchovers.
       "
       DEFVAL { 3 }
       ::= { cApsConfigExtEntry 5 }

   cApsConfigMessageTransport OBJECT-TYPE
       SYNTAX      CApsMessageTransport
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
       "This object specifies the type of transport configured for
        exchange of APS protocol messages.  The type of transport
        currently being used is indicated in the
        cApsStatusMessageTransport object.

        When this object is set to 'ip', values must be specified
        for the cApsConfigFarEndIpAddressType, cApsConfigFarEndIpAddress
        and cApsConfigFarEndGroupName objects.
       "
       DEFVAL { autoSelect }
       ::= { cApsConfigExtEntry 6 }

   cApsConfigMessageHolddown OBJECT-TYPE
       SYNTAX      Integer32 (100..10000)
       UNITS       "milliseconds"
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
       "The value specified in this object applies when the value of
        cApsStatusMessageTransport is 'dcc', 'ip', or 'osc'.

        APS messages are exchanged between systems to support
        bidirectional or linear operation. To avoid potential 
        system misbehavior in which APS messages would be 
        triggered in an uncontrolled fashion, a hold down timer 
        is introduced that prevents successive event-triggered
        APS messages from being sent in too short a time
        interval. 

        This object specifies the minimum time between
        event driven requests.
       "
       DEFVAL { 5000 }
       ::= { cApsConfigExtEntry 7 }

   cApsConfigMessageHolddownCount OBJECT-TYPE
       SYNTAX      Integer32 (2..10)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
       "The value specified in this object applies when the value of
        cApsStatusMessageTransport is 'dcc', 'ip', or 'osc'.

        The maximum number of APS messages that can be sent within 
        one cApsConfigMessageHolddown interval.
       "
       DEFVAL { 2 }
       ::= { cApsConfigExtEntry 8 }

   cApsConfigMessageMaxInterval OBJECT-TYPE
       SYNTAX      Integer32 (1000..120000)
       UNITS       "milliseconds"
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
       "The value specified in this object applies when the value of
        cApsStatusMessageTransport is 'dcc', 'ip', or 'osc'.

        An APS message is sent unconditionally, whenever the amount
        of time specified by this object has elapsed since the last
        transmission of an APS message.
       "
       DEFVAL { 15000 }
       ::= { cApsConfigExtEntry 9 }

   cApsConfigFarEndGroupName OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE (0..32))
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
       "The value specified in this object applies when the value of
        cApsStatusMessageTransport is 'dcc', 'ip', or 'osc'.

	APS messages, used to support bidirectional or linear 
        operation, can be sent out-of-band over an IP network.
        In this case, this object is used to specify the a textual 
	name for the APS group at the far-end to which the message 
        is being sent.
       "
       ::= { cApsConfigExtEntry 10 }

   cApsConfigFarEndIpAddressType OBJECT-TYPE
       SYNTAX      InetAddressType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
       "This object can be set only when the value of
        cApsConfigMessageTransport is 'ip'.

        This object specifies the type of IP address defined
        in cApsConfigFarEndIpAddress.
       "
       DEFVAL { ipv4 }
       ::= { cApsConfigExtEntry 11 }

   cApsConfigFarEndIpAddress OBJECT-TYPE
       SYNTAX      InetAddress
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
       "This object can be set only when the value of
        cApsConfigMessageTransport is 'ip'.

        This object specifies the IP address of the far end, which is
        used as the destination address in APS messages transmitted by
        this network element.
       "
       ::= { cApsConfigExtEntry 12 }


   cApsStatusExtTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF CApsStatusExtEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
       "This table augments the cApsStatusTable.
       "
       ::= { cApsExtMIBObjects 3 }

   cApsStatusExtEntry OBJECT-TYPE
       SYNTAX	CApsStatusExtEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION 
       "A conceptual row in the cApsStatusExtTable.
       "
       AUGMENTS { cApsStatusEntry }
       ::= { cApsStatusExtTable 1 }

   CApsStatusExtEntry ::= SEQUENCE {
       cApsStatusCdlApsBytesRcv         CdlApsBytes,
       cApsStatusCdlApsBytesTrans       CdlApsBytes,
       cApsStatusMessageTransport       CApsMessageTransport
       }

   cApsStatusCdlApsBytesRcv OBJECT-TYPE
       SYNTAX      CdlApsBytes
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
       "The current value of the APS bytes received on the
        protection channel. This object applies only to CDL
        interfaces. This is equivalent to  cApsStatusK1K2Rcv
        for SONET.
       "
       ::= { cApsStatusExtEntry 1 }


   cApsStatusCdlApsBytesTrans OBJECT-TYPE
       SYNTAX        CdlApsBytes
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
       "The current value of the APS bytes transmitted on the
        protection channel. This object applies only to CDL
        interfaces. This is equivalent to  cApsStatusK1K2Trans
        for SONET.
       "
       ::= { cApsStatusExtEntry 2 }

   cApsStatusMessageTransport OBJECT-TYPE
       SYNTAX        CApsMessageTransport
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
       "This object specifies the type of transport currently being used
        for exchange of APS protocol messages.

        The value of this object is the same as the value specified in
        the cApsConfigMessageTransport object, except when the value of
        that object is 'autoSelect'.  In that case, the type of 
        transport that has been automatically selected is indicated 
        by this object.
       "
       ::= { cApsStatusExtEntry 3 }


   cApsChanStatusExtTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF CApsChanStatusExtEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
       "This table augments the cApsChanStatusTable.
       "
       ::= { cApsExtMIBObjects 4 }

   cApsChanStatusExtEntry OBJECT-TYPE
       SYNTAX      CApsChanStatusExtEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
       "A conceptual row in the cApsChanStatusExtTable. 
       "
       AUGMENTS { cApsChanStatusEntry }
       ::= { cApsChanStatusExtTable  1 }

   CApsChanStatusExtEntry ::= SEQUENCE {
       cApsChanStatusExtRequest CApsK1K2
   }

   cApsChanStatusExtRequest OBJECT-TYPE
       SYNTAX      CApsK1K2
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
       "The highest priority local request for a channel in an APS 
        group.

        This object uses only the 'Type of Request' part (bits 1-4) 
        of the K1 byte.
       "
       ::= { cApsChanStatusExtEntry 1 }

   cApsChanConfigExtTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF  CApsChanConfigExtEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
       "This table augments the cApsChanConfigTable.
       "
       ::= { cApsExtMIBObjects 5 }

   cApsChanConfigExtEntry OBJECT-TYPE
       SYNTAX      CApsChanConfigExtEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION 
       "A conceptual row in the cApsChanConfigExtTable.
       "
       AUGMENTS { cApsChanConfigEntry }
       ::= {  cApsChanConfigExtTable 1 }

   CApsChanConfigExtEntry  ::= SEQUENCE {
       cApsChanConfigReflectorMode      TruthValue
       } 

   cApsChanConfigReflectorMode OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
       "Indicates whether the channel is in reflector mode or not.
        Reflector mode establishes a communication channel
        between the local PTE and the remote PTE at the other
        end of the SONET path.
        This object has a value of true(1), if reflector mode is
        configured and a value of false(2), if the reflector mode
        is not configured on the channel.
        "
       ::= { cApsChanConfigExtEntry 1 }

   cApsChanAssociationTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF  CApsChanAssociationEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION 
       "This table lists the configured IP address of the 
        protect/working interfaces.
       "
       ::= { cApsExtMIBObjects 6 }

  cApsChanAssociationEntry OBJECT-TYPE
       SYNTAX      CApsChanAssociationEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
       "A conceptual row in cApsChanAssociationTable.
       "
        INDEX { cApsChanAssociationGroupName,
                cApsChanAssociationNumber,
                cApsChanAssociationMapNumber
              }
       ::= { cApsChanAssociationTable  1 }

   CApsChanAssociationEntry ::= SEQUENCE {
       cApsChanAssociationGroupName     SnmpAdminString,	
       cApsChanAssociationNumber        CApsChannelConfigNumber,
       cApsChanAssociationMapNumber     CApsChannelConfigNumber,
       cApsChanAssociationIpAddressType InetAddressType,
       cApsChanAssociationIpAddress     InetAddress
       }
	
   cApsChanAssociationGroupName  OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE (1..32))
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
       "A textual name for the APS group which this channel is
        included in.
       "
	::= { cApsChanAssociationEntry 1 }

   cApsChanAssociationNumber  OBJECT-TYPE
       SYNTAX     CApsChannelConfigNumber
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
       "This field is set to a unique working/protection channel 
        number within an APS group.  The value 0 indicates the
        null channel. The values 1-14 define a working channel.
       "
       ::= { cApsChanAssociationEntry 2 }

   cApsChanAssociationMapNumber OBJECT-TYPE
       SYNTAX     CApsChannelConfigNumber
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
       "This field is set to the associated working/protection 
        channel number corresponding to the field  
        cApsChanAssociationNumber within an APS group.
        The value 0 indicates the null channel. The values 1-14 
        define a working channel.
       "
       ::= { cApsChanAssociationEntry 3 }

   cApsChanAssociationIpAddressType OBJECT-TYPE
       SYNTAX      InetAddressType	
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION 
       "
        This object specifies the type of IP address defined
        in cApsChanAssociationIpAddress.
       "
       ::= { cApsChanAssociationEntry 4 }

   cApsChanAssociationIpAddress OBJECT-TYPE
       SYNTAX      InetAddress
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION 
       "IP Address of the working/protection channel. 
        If cApsChanAssociationNumber represents a working channel 
        number, this object indicates the IP Address of the associated
        protection channel.
        If cApsChanAssociationNumber represents a protection channel
        number, this object indicates the IP Address of the associated
        working channel.
       "
       ::= { cApsChanAssociationEntry 5 }

   
   -- conformance information

   cApsExtGroups       OBJECT IDENTIFIER ::= { cApsExtMIBConformance 1 }
   cApsExtCompliances  OBJECT IDENTIFIER ::= { cApsExtMIBConformance 2 }

   cApsExtCompliance MODULE-COMPLIANCE
       STATUS  deprecated -- superceded by cApsExtCompliance2
       DESCRIPTION
       "The compliance statement for augmented APS groups."

       MODULE
       MANDATORY-GROUPS { cApsNotifiesEnableGroup, cApsConfigPathExt }

       OBJECT cApsConfigSpan
       MIN-ACCESS read-only
       DESCRIPTION
       "Write access and support for the 'end-to-end' codepoint are
        not required.
       "

       GROUP cApsConfigYcableExt
       DESCRIPTION
       "This group is required for entities that implement Y cable
        protection.
       "

       GROUP cApsConfigSearchExt
       DESCRIPTION
       "This group is required for entities that do not always monitor
        the standby interface.
       "

       GROUP cApsStatusCdlExt
       DESCRIPTION
       "This group is required for entities that support APS on
        CDL interfaces.
       "

       ::= { cApsExtCompliances 1 }


   cApsExtCompliance2 MODULE-COMPLIANCE
       STATUS  current
       DESCRIPTION
       "The compliance statement for augmented APS groups."

       MODULE
       MANDATORY-GROUPS { cApsNotifiesEnableGroup, cApsConfigPathExt }

       OBJECT cApsConfigSpan
       MIN-ACCESS read-only
       DESCRIPTION
       "Write access and support for the 'end-to-end' codepoint are
        not required.
       "

       GROUP cApsConfigYcableExt
       DESCRIPTION
       "This group is required for entities that implement Y cable
        protection.
       "

       GROUP cApsConfigSearchExt
       DESCRIPTION
       "This group is required for entities that do not always monitor
        the standby interface.
       "

       GROUP cApsStatusCdlExt
       DESCRIPTION
       "This group is required for entities that support transport of
        APS messages in the APS channel on CDL interfaces.
       "

       GROUP cApsConfigMessageExt
       DESCRIPTION
       "This group is required for entities that support APS message
        transport over data communication channels (DCCs), optical
        supervisory channels (OSCs), or Data Communication Networks
        (DCNs).
       "

       GROUP cApsConfigSwitchoverTimerExt
       DESCRIPTION
       "This group is optional.
       "

       OBJECT cApsConfigMessageTransport
       MIN-ACCESS read-only
       DESCRIPTION
       "Write access is not required.
       "

       GROUP cApsConfigIPExt
       DESCRIPTION
       "This group is required for entities that support APS message
        transport over IP. The IP network can consist of any
        combination of data communication channels (DCCs), optical
        supervisory channels (OSCs), and Data Communication Networks
        (DCNs).
       "

       GROUP cApsStatusMessageExt
       DESCRIPTION
       "This group is required for entities that support APS message
        transport over data communication channels (DCCs), optical
        supervisory channels (OSCs), or Data Communication Networks
        (DCNs).
       "

       GROUP cApsChanStatusRequestExt
       DESCRIPTION
       "This group is optional.
       "
       ::= { cApsExtCompliances 2 }

   cApsExtComplianceRev1 MODULE-COMPLIANCE
       STATUS current
       DESCRIPTION
       "The compliance statement for augmented APS groups.
       "
       MODULE
       MANDATORY-GROUPS { cApsChanConfigExt, cApsChanAssociationGroup}
      
      ::= { cApsExtCompliances 3 }

   -- units of conformance

   cApsNotifiesEnableGroup OBJECT-GROUP
       OBJECTS
       {
         cApsNotifiesEnable
       }
       STATUS  current
       DESCRIPTION
       "A managed object that controls the generation of APS-related 
        notifications defined in the CISCO-APS-MIB.
       "
       ::= { cApsExtGroups 1 }

   cApsConfigPathExt      OBJECT-GROUP
       OBJECTS
       {
         cApsConfigSpan
       }
       STATUS  current
       DESCRIPTION
       "An augmentation to cApsConfigTable objects providing
        configuration information applicable to path APS architectures.
       "
       ::= { cApsExtGroups 2 }

   cApsConfigYcableExt    OBJECT-GROUP
       OBJECTS
       {
         cApsConfigYcable
       }
       STATUS  current
       DESCRIPTION
       "An augmentation to cApsConfigTable objects providing
        configuration information applicable to APS groups when Y cable
        protection is supported.
       "
       ::= { cApsExtGroups 3 }

   cApsConfigSearchExt    OBJECT-GROUP
       OBJECTS
       {
         cApsConfigMinSearchUpInterval,
         cApsConfigMaxSearchUpInterval
       }
       STATUS  current
       DESCRIPTION
       "An augmentation to cApsConfigTable objects providing
        configuration information applicable to APS groups in which the
        standby interface is not monitored.
       "
       ::= { cApsExtGroups 4 }

   cApsStatusCdlExt    OBJECT-GROUP
       OBJECTS
       {
         cApsStatusCdlApsBytesRcv,
         cApsStatusCdlApsBytesTrans
       }
       STATUS  current
       DESCRIPTION
       "An augmentation to cApsStatusTable objects providing status 
        information applicable to APS groups for CDL.
       "
       ::= { cApsExtGroups 5 }

   cApsConfigSwitchoverTimerExt OBJECT-GROUP
       OBJECTS
       {
         cApsConfigSwitchoverEnableInterval
       }
       STATUS  current
       DESCRIPTION
       "An augmentation to cApsConfigTable objects providing
        configuration information to prevent quick successive 
        switchovers.
       "
       ::= { cApsExtGroups 6 }


   cApsConfigMessageExt OBJECT-GROUP
       OBJECTS
       {
         cApsConfigMessageTransport,
         cApsConfigMessageHolddown,
         cApsConfigMessageHolddownCount,
         cApsConfigMessageMaxInterval,
         cApsConfigFarEndGroupName
       }
       STATUS  current
       DESCRIPTION
       "An augmentation to cApsConfigTable objects providing
        configuration information applicable to message
	transport used to exchange APS protocol messages.
       "
       ::= { cApsExtGroups 7 }

   cApsConfigIPExt OBJECT-GROUP
       OBJECTS
       {
         cApsConfigFarEndIpAddressType,
         cApsConfigFarEndIpAddress
       }
       STATUS  current
       DESCRIPTION
       "An augmentation to cApsConfigTable objects providing
        configuration information applicable to APS groups 
        communicating over IP.
       "
       ::= { cApsExtGroups 8 }

   cApsStatusMessageExt OBJECT-GROUP
       OBJECTS
       {
         cApsStatusMessageTransport
       }
       STATUS  current
       DESCRIPTION
       "An augmentation to cApsStatusTable objects providing
        status information applicable to message transport 
        used to exchange APS protocol messages.
       "
       ::= { cApsExtGroups 9 }

   cApsChanStatusRequestExt OBJECT-GROUP
       OBJECTS
       {
         cApsChanStatusExtRequest
       }
       STATUS  current
       DESCRIPTION
       "An augmentation to cApsChanStatusTable objects providing
        additional status information for channels in APS groups.
       "
       ::= { cApsExtGroups 10 }

   cApsChanConfigExt   OBJECT-GROUP
       OBJECTS
       {
         cApsChanConfigReflectorMode
       }
       STATUS current
       DESCRIPTION
       "An augmentation to cApsChanConfigTable objects providing
        configuration information of channels in APS groups.
       "
       ::= { cApsExtGroups 11 }

   cApsChanAssociationGroup OBJECT-GROUP
       OBJECTS
       {
         cApsChanAssociationIpAddressType,
         cApsChanAssociationIpAddress
       }
       STATUS current
       DESCRIPTION
       "cApsChanAssociationTable object provides for all 
       protection/working channels, the associated working/protection
       channel IP address." 

       ::= { cApsExtGroups 12 }

END


