-- *****************************************************************
-- CISCO-VISM-CAC-MIB 
--   The MIB contains CAC (connection admission control) 
--   failure statistics applicable to both SVC and PVC connections 
--   information for VISM (Voice Interworking Service Module) 
--
-- February 2004, George Ogagan
--
-- Copyright (c) 2003, 2004 by Cisco Systems, Inc.
-- All rights reserved.
-- ****************************************************************

CISCO-VISM-CAC-MIB DEFINITIONS ::= BEGIN
IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Integer32,
    Counter32
                               FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    OBJECT-GROUP               FROM SNMPv2-CONF

    voice,
    vismChanCnfGrp             FROM BASIS-MIB
    ciscoWan                   FROM CISCOWAN-SMI;

ciscoVismCacMIB MODULE-IDENTITY
    LAST-UPDATED    "200402200000Z"
    ORGANIZATION    "Cisco Systems, Inc."
    CONTACT-INFO
            "       Cisco Systems
                    Customer Service

                Postal: 170 W Tasman Drive
                        San Jose, CA  95134
                        USA

                        Tel: +1 800 553-NETS

                E-mail: cs-wanatm@cisco.com"
    DESCRIPTION
        "The MIB module containing the CAC information 
         for VISM service module."

    REVISION    "200402200000Z"
    DESCRIPTION
        "Update with description changes. 
        "

    REVISION    "200306180000Z"
    DESCRIPTION
        "Initial version of the MIB.

         The content of this MIB was originally available
         in SMIv1 version. The MIB has been converted to
         SMIv2 version and descriptions of some of the objects
         have been modified.
        "
    ::= { ciscoWan 96 }


vismCardCacFailuresGrp     OBJECT IDENTIFIER ::= { voice  20 }

--
-- VISM CAC (Connection Admission Control) group
--

vismChanCacTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF VismChanCacEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table defines the CAC success or failure statistics. 
         CAC functionality is applied on a per PVC(Permanent virtual
         circuit) basis for accepting the new calls in a switching
         model (i.e when CRCX(CreateConnection) message is received
         from the call agent) and when adding a new binding between a 
         CID(Channel Identifier) and a PVC in the AAL2 trunking 
         application ('addcid' command). In both switching and trunking
         models, the CAC functionality is applied for upspeeding the
         connections due to the detection of fax/modem tone on a 
         connection configured with voice compression. The entries in 
         this table are implicitly created and deleted with the 
         creation and deletion of entries in vismChanCnfGrpEntry
         (defined in CISCO-VISM-CONN-MIB MIB).
        "
    ::= { vismChanCnfGrp 3 }
 
vismChanCacEntry    OBJECT-TYPE
    SYNTAX      VismChanCacEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each entry in this table corresponds to a PVC, since
         the CAC functionality is applied on a per PVC basis. The
         bandwidth is allocated on a per PVC basis and the 
         connection admission control is done by comparing the 
         available bandwidth on a PVC with the required bandwidth
         as a result of new connection setup request or upspeed
         request.
	"
    INDEX { vismChanNum }
    ::= { vismChanCacTable 1 }
 
VismChanCacEntry ::=
    SEQUENCE {
                vismChanNum                Integer32,
                vismChanCacMaster          INTEGER,
                vismChanCacPassedCons      Counter32,
                vismChanCacRejectedCons    Counter32,
                vismChanCacRejectionPolicy INTEGER,
                vismChanCarrierLossPolicy  INTEGER,
                vismChanVADTolerance       Integer32, 
                vismChanVADDutyCycle       Integer32,
                networkCacConfigState      INTEGER
          }

vismChanNum   OBJECT-TYPE
    SYNTAX      Integer32(131..510)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This attribute defines the index for the vismChanCac Table. 
         The LCN(Logical channel number) number is the same as 
         the LCN value used as the index for the vismChanCnfGrpTable
         (defined in CISCO-VISM-CONN-MIB MIB) i.e. vismCnfChanNum. 
        "
    ::= { vismChanCacEntry  1 }

vismChanCacMaster     OBJECT-TYPE
    SYNTAX      INTEGER {
                   master (1),
                   slave  (2)
	        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This attribute defines whether the PVC is the master end
         or slave end. CAC functionality is applied only at the master
	 end of the PVC. It is not necessary if the PVC end is configured
	 as the slave end. This is to prevent the glare condition 
         resulting from the simultaneous allocation of the same 
         bandwidth for different calls from both ends. This parameter 
         is applicable only in the trunking mode.
        "
	DEFVAL { master }
    ::= { vismChanCacEntry  2 }

vismChanCacPassedCons 	OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This attribute defines the count of connections that
         passed successfully the CAC function. CAC functionality is
         applied either due to
         1) The CRCX message sent to VISM from the Call Agent to set
         up a new connection OR at the time of 'addcid' command in
         AAL2 trunking application.
         2) Upspeed request due to fax/modem tone detection on a
         connection configured for compression.
        "
    ::= { vismChanCacEntry  3 }

vismChanCacRejectedCons 	OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This attribute defines the count of connections that 
         got rejected due to CAC function. The CAC rejection was   
         due to the bandwidth not being available on a given PVC. 
        "
    ::= { vismChanCacEntry  4 }

vismChanCacRejectionPolicy 	OBJECT-TYPE
    SYNTAX      INTEGER {
                   delete      (1),
                   maintain    (2),
                   unspecified (3)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This attribute defines the policy that needs to be applied
         once the CAC function rejects the upspeeding of a connection,
         due to a fax/modem switchover request. The applicable 
         options are
         'delete' - to delete the connection that got rejected by CAC 
         for upspeed.
         'maintain' - to maintain the connection with the prior
         compression scheme.
         'unspecified' - The CAC rejection policy as defined in
         the card level object vismCacRejectionPolicy(defined in 
         CISCO-VISM-MODULE-MIB MIB) will be used, else the value
         of this object will be used. 

         Note that the default value of maintaining the prior 
         encoding scheme is applicable in the trunking application
         only since the connection is not deleted after the fax/modem
         switchover.In the case of switching application, the
         connection is deleted after the fax/modem switchover.

         Configuring this object will not have any affect when
         card level CAC object vismCacEnable(defined in
         CISCO-VISM-MODULE-MIB MIB) is disabled.
        "
    ::= { vismChanCacEntry  5 }

vismChanCarrierLossPolicy    OBJECT-TYPE
       SYNTAX      INTEGER {
                      previousCodec (1),
                      upspeedCodec  (2), 
                      unspecified   (3)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "This object defines the policy that needs to be applied  
            when a carrier loss is detected. The possible policies 
            are defined as follows:

            'previousCodec' - switch to the pre-upspeed codec when a 
                              a carrier loss is detected.

            'upspeedCodec' - remain with the upspeed codec when a 
                             carrier loss is detected.

            'unspecified' -  The card level object value 
                             vismCarrierLossPolicy(defined in
                             CISCO-VISM-MODULE-MIB MIB) will be used.

            Configuring this object will not have any affect when
            card level CAC object vismCacEnable (defined in
            CISCO-VISM-MODULE-MIB MIB) is disabled.
           "
       DEFVAL{ unspecified }
      ::= { vismChanCacEntry 6 }

vismChanVADTolerance  OBJECT-TYPE
       SYNTAX      Integer32 (0..10000)
       UNITS       "0.0001 percentage" 
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "The value in this object refers to the customer accepted 
            drop rate for voice connections when the bandwidth usage
            exceeds allowed value.      
             
            A value of zero indicates the card level object
            vismVADTolerance(defined in CISCO-VISM-MODULE-MIB MIB)
            value will be used. 

            Configuring this object will not have any affect when
            card level CAC object vismCacEnable(defined in 
            CISCO-VISM-MODULE-MIB MIB) is disabled. 
           " 
       DEFVAL { 100 }
       ::= { vismChanCacEntry 7 }

vismChanVADDutyCycle  OBJECT-TYPE
       SYNTAX      Integer32 (0..100)
       UNITS       "0.01 percentage"
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "This object refers to the talk-spurts duty cycle.
  
            A value of zero indicates the card level object
            vismVADDutyCycle(defined in CISCO-VISM-MODULE-MIB MIB)
            value will be used.

            Configuring this object will not have any affect when
            card level CAC object vismCacEnable(defined in
            CISCO-VISM-MODULE-MIB MIB) is disabled. 
           " 
       DEFVAL { 61 }
       ::= { vismChanCacEntry 8 }

networkCacConfigState     OBJECT-TYPE
    SYNTAX      INTEGER {
                   ok     (1),
                   notOk  (2)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This attribute defines whether the originating and terminating
         VISMs are configured properly or not, by default the
         configuration is assumed to be 'ok' and this object is set
         to 'ok', if later during upspeed if we discover that both
         the originating and terminating VISMs are configured as 
         either CAC master or slave then it is considered as an 
         invalid configuration and this object will be set to 'notOk' 
         and trapNetworkCacConfigState(defined in 
         CISCO-VISM-TRAPS-MIB MIB) change trap will be sent. 
                
         This parameter is applicable only in trunking applications.
        "
        DEFVAL { ok }
    ::= { vismChanCacEntry  9 }

---
-- vismCardCacFailuresGrp
-- 

vismPortCacPvcAddFailures  OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Total number of attempts to add or modify a PVC to VISM 
         virtual port that were rejected by port level CAC.
        "
    ::= { vismCardCacFailuresGrp 1 }

vismPortCacSvcAddFailures  OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Total number of attempts to add a SVC (Switched Virtual
         Circuit) to VISM virtual port that were rejected by port
         level CAC.
        "
    ::= { vismCardCacFailuresGrp 2 }

vismVcCacPvcFailures  OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Total number of attempts to admit voice connections over
         bearer PVC connections that were rejected by voice CAC.

         It is sum of all voice CAC failures for all VISM bearer 
         PVC connections.
        "
    ::= { vismCardCacFailuresGrp 3 }

vismVcCacPvcUpspeedFailures  OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Total number of attempts to upspeed voice connections
         over bearer PVC connections that were rejected by port
         level CAC.
        "
    ::= { vismCardCacFailuresGrp 4 }

vismPortCacSvcUpspeedFailures  OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Total number of attempts to upspeed voice connections
         over bearer SVC connections that were rejected by
         port level CAC.
        "
    ::= { vismCardCacFailuresGrp 5 }

-- conformance information

ciscoVismCacMIBConformance  OBJECT IDENTIFIER ::= { ciscoVismCacMIB 2 }

ciscoVismCacMIBGroups       OBJECT IDENTIFIER ::=
                              { ciscoVismCacMIBConformance 1 }

ciscoVismCacMIBCompliances  OBJECT IDENTIFIER ::=
                              { ciscoVismCacMIBConformance 2 }

-- compliance statements

ciscoVismCacCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for objects related
        to VISM CAC module."
    MODULE  -- this module
        MANDATORY-GROUPS {
            ciscoVismChanCacGroup,
            ciscoVismCardCacFailuresGrp
        }
    ::= { ciscoVismCacMIBCompliances 1 }

ciscoVismChanCacGroup OBJECT-GROUP
     OBJECTS {
        vismChanNum,
        vismChanCacMaster,
        vismChanCacPassedCons,
        vismChanCacRejectedCons,
        vismChanCacRejectionPolicy,
        vismChanCarrierLossPolicy,
        vismChanVADTolerance,
        vismChanVADDutyCycle,
        networkCacConfigState
     }
     STATUS current
     DESCRIPTION
          "A collection of objects providing CAC
           feature on PVC.
          "
      ::= { ciscoVismCacMIBGroups 1 }

ciscoVismCardCacFailuresGrp OBJECT-GROUP
    OBJECTS {
        vismPortCacPvcAddFailures,
        vismPortCacSvcAddFailures,
        vismVcCacPvcFailures, 
        vismVcCacPvcUpspeedFailures,
        vismPortCacSvcUpspeedFailures
      }
      STATUS current
      DESCRIPTION
          "A collection of objects providing CAC statistics
           for both SVC and PVC connection.
          "
      ::= { ciscoVismCacMIBGroups  2 }

END
