-- *****************************************************************
-- CISCO-CALL-TRACKER-MODEM-MIB.my: Modem Call Progress and Status
--                                  Tracking MIB
--
--
-- Copyright (c) 1996-2005 by cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************

CISCO-CALL-TRACKER-MODEM-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Counter32,
        Gauge32,
        Integer32,
        Unsigned32
                FROM SNMPv2-SMI
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        DisplayString,
        TEXTUAL-CONVENTION
                FROM SNMPv2-TC
        ciscoMgmt
                FROM CISCO-SMI
        cctActiveCallId,
        cctHistoryIndex
                FROM CISCO-CALL-TRACKER-MIB;
 
 
ciscoCallTrackerModemMIB MODULE-IDENTITY
        LAST-UPDATED    "200512060000Z"
        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-dial@cisco.com"
        DESCRIPTION
                "This MIB module provides modem call related data for
                 tracking the progress and status of a call.

                 This module extends tables defined in the MIB module
                 ciscoCallTrackerMIB in CISCO-CALL-TRACKER-MIB.
                "
        REVISION  "200512060000Z"
        DESCRIPTION
                "Updated the imports such that Unsigned32 is imported 
                 from SNMPv2-SMI instead of CISCO-TC. Re-ordered the 
                 objects cctmActiveLocalDownRateShifts, 
                 cctmActiveRemoteUpRateShifts under CctmActiveEntry, 
                 and cctmHistoryLocalDownRateShifts and 
                 cctmHistoryRemoteUpRateShifts under CctmHistoryEntry 
                 to match the order in which they are defined."
        REVISION  "200112140000Z"
        DESCRIPTION
                "Initial version of this mib."
       ::= { ciscoMgmt 165 }


--
-- Textual Conventions
--

--
--  Modulation textual convention
--
CctmModulation ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION
           "Represents possible modulation standards
            other        - Modulation other than those identified
            bell103a     -
            bell212a     -
            v21          -
            v22          -
            v22bis       -
            v32          -
            v32bis       -
            vfc          -
            v34          -
            v17          -
            v29          -
            v33          -
            k56flex      -
            v23          -
            v32terbo     -
            v34plus      -
            v90          -
            v27ter       -
            v110         -
           "
        SYNTAX      INTEGER {
            other            (1),
            bell103a         (2),
            bell212a         (3),
            v21              (4),
            v22              (5),
            v22bis           (6),
            v32              (7),
            v32bis           (8),
            vfc              (9),
            v34              (10),
            v17              (11),
            v29              (12),
            v33              (13),
            k56flex          (14),
            v23              (15),
            v32terbo         (16),
            v34plus          (17),
            v90              (18),
            v27ter           (19),
            v110             (20)
        }



--
--  Error Correction protocol textual convention
--
CctmECProtocol ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION
           "Represents possible error correction protocols
            normal       - No EC present
            direct       -
            mnp          -
            lapmV42      -
            syncMode     -
            asyncMode    - No EC present, same as normal(1)
            ara1         - ARA 1.0
            ara2         - ARA 2.0
            other        - EC protocol other than those identified
           "
        SYNTAX      INTEGER {
            normal            (1),
            direct            (2),
            mnp               (3),
            lapmV42           (4),
            syncMode          (5),
            asyncMode         (6),
            ara1              (7),
            ara2              (8),
            other             (9)
        }



--
--  Data Compression textual convention
--
CctmDataCompression ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION
           "Represents possible data compression protocols
            none         - No Data Compression present
            v42bisTx     - V.42bis in transmit direction only
            v42bisRx     - V.42bis in receive direction only
            v42bisBoth   - V.42bis in receive and transmit directions
            mnp5         - 
            v44Tx        - V.44 in transmit direction only
            v44Rx        - V.44 in receive direction only
            v44Both      - V.44 in receive and transmit directions
           "
        SYNTAX      INTEGER {
            none              (1),
            v42bisTx          (2),
            v42bisRx          (3),
            v42bisBoth        (4),
            mnp5              (5),
            v44Tx             (6),
            v44Rx             (7),
            v44Both           (8)
        }




-- Call Tracker Modem MIB objects definitions

cctmMIBObjects OBJECT IDENTIFIER ::= { ciscoCallTrackerModemMIB 1 }


-- The Call Tracker Modem MIB consists of the following groups
-- [1] Call Tracker Active Group  (cctmActive)
-- [2] Call Tracker History Group (cctmHistory)

cctmActive         OBJECT IDENTIFIER ::= { cctmMIBObjects 1 }
cctmHistory        OBJECT IDENTIFIER ::= { cctmMIBObjects 2 }



-- *****************************************************************
-- Call Tracker Active Group
-- *****************************************************************
--
--


--
-- Call Active Table
--


cctmActiveTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF CctmActiveEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table contains entries for active calls in the
             system which utilize modem resources.

             It contains general modem session attributes and
             statistics at the modem link and modem protocol layers.

             The table extends the cctActiveTable, using the same
             index, cctActiveCallId.

             There are no entries for calls not requiring modem
             services.
            "
        ::= { cctmActive 1 }


cctmActiveEntry OBJECT-TYPE
        SYNTAX      CctmActiveEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The information regarding a single call.

             Entries are created and deleted in sync with the entries
             in cctActiveTable, if the call utilizes modem service.
            "
        INDEX  { cctActiveCallId }
        ::= { cctmActiveTable 1 }


CctmActiveEntry ::=
        SEQUENCE {
            cctmActiveProjectedMaxRxRate       Unsigned32,
            cctmActiveProjectedMaxTxRate       Unsigned32,
            cctmActiveRxRate                   Unsigned32,
            cctmActiveTxRate                   Unsigned32,
            cctmActiveAttemptedModulation      CctmModulation,
            cctmActiveInitialModulation        CctmModulation,
            cctmActiveModulation               CctmModulation,
            cctmActiveAttemptedECProtocol      CctmECProtocol,
            cctmActiveECProtocol               CctmECProtocol,
            cctmActiveSupportedDC              BITS,
            cctmActiveDataCompression          CctmDataCompression,
            cctmActiveRxHighWatermark          Gauge32,
            cctmActiveRxLowWatermark           Gauge32,
            cctmActiveTxHighWatermark          Gauge32,
            cctmActiveTxLowWatermark           Gauge32,
            cctmActiveLocalUpRateShifts        Counter32,
            cctmActiveLocalDownRateShifts      Counter32,
            cctmActiveRemoteUpRateShifts       Counter32,
            cctmActiveRemoteDownRateShifts     Counter32,
            cctmActiveRateShiftFailures        Counter32,
            cctmActiveLocalRetrains            Counter32,
            cctmActiveRemoteRetrains           Counter32,
            cctmActiveRetrainFailures          Counter32,
            cctmActiveRxLinkOctets             Counter32,
            cctmActiveTxLinkOctets             Counter32,
            cctmActiveRxECFrames               Counter32,
            cctmActiveTxECFrames               Counter32,
            cctmActiveRxECNAKs                 Counter32,
            cctmActiveTxECNAKs                 Counter32,
            cctmActiveRxECFramesBad            Counter32,
            cctmActiveECFramesResent           Counter32,
            cctmActiveECLinkTimeouts           Counter32,
            cctmActiveRxCharLost               Counter32
        }


cctmActiveProjectedMaxRxRate OBJECT-TYPE
        SYNTAX     Unsigned32
        UNITS      "bits per second"
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "Maximum received rate local modem informs remote
             modem it will support based on initial negotiations.

             The remote modem will not attempt to transmit at
             rates greater than what the local modem will accept.

             The initial negotiated receive rate is in
             cctActiveRxRate.
            "
        ::= { cctmActiveEntry 1 }

cctmActiveProjectedMaxTxRate OBJECT-TYPE
        SYNTAX     Unsigned32
        UNITS      "bits per second"
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "Maximum rate the remote modem indicates it can
             accept based on initial negotiations.

             The local modem will not attempt to transmit at
             rates above what the remote modem will accept.

             The initial negotiated transmit rate is in
             cctActiveTxRate.
            "
        ::= { cctmActiveEntry 2 }
        

cctmActiveRxRate OBJECT-TYPE
        SYNTAX     Unsigned32
        UNITS      "bits per second"
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "Current receive data rate for this call.

             The value of this object will be the same as reported
             in cmRXRate from CISCO-MODEM-MGMT-MIB while the call
             is active.
            "
        ::= { cctmActiveEntry 3 }


cctmActiveTxRate OBJECT-TYPE
        SYNTAX     Unsigned32
        UNITS      "bits per second"
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "Current transmit data rate for this call.

             The value of this object will be the same as reported
             in cmTXRate from CISCO-MODEM-MGMT-MIB while the call
             is active.
            "
        ::= { cctmActiveEntry 4 }

cctmActiveAttemptedModulation OBJECT-TYPE
        SYNTAX     CctmModulation
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The initial modulation attempted when the modems began
             negotiation.
            "
        ::= { cctmActiveEntry 5 }

cctmActiveInitialModulation OBJECT-TYPE
        SYNTAX     CctmModulation
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The initial negotiated modulation.
            "
        ::= { cctmActiveEntry 6 }

cctmActiveModulation OBJECT-TYPE
       SYNTAX     CctmModulation
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The current modulation for this call.

             It is possible for retrains to result in the modulation
             being renogiated during a call.

             The value of this object will be the same as reported
             in cmModulationSchemeUsed from CISCO-MODEM-MGMT-MIB
             while the call is active.
            "
        ::= { cctmActiveEntry 7 } 
 
cctmActiveAttemptedECProtocol OBJECT-TYPE
        SYNTAX     CctmECProtocol
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The initial modem error correction protocol attempted
             during call negotiation.

             The actual EC negotiated is in cctmActiveECProtocol.
            "
        ::= { cctmActiveEntry 8 }
 
cctmActiveECProtocol OBJECT-TYPE
        SYNTAX     CctmECProtocol
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The modem error correction protocol negotiated for
             this call.

             The value of this object will be the same as reported
             in cmProtocolUsed from CISCO-MODEM-MGMT-MIB
             while the call is active.
            "
        ::= { cctmActiveEntry 9 }

cctmActiveSupportedDC  OBJECT-TYPE
        SYNTAX      BITS {
                      mnp5(0),
                      v42bisRx(1),
                      v42bisTx(2),
                      v44Rx(3),
                      v44Tx(4)
                    }
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The data compression protocols supported by the
             calling modem.

             This object is a bit map, with each bit representing
             a different call type as identified below.
             A 1-bit indicates the DC protocol is supported.
             A 0-bit indicates the DC protocol is not supported.

                 Bit 0   - MNP5
                 Bit 1   - V.42bis in the receive direction
                 Bit 2   - V.42bis in the transmit direction

             V.42bis may be separately available in Rx or Tx
             directions. If all bits are zero, no data compression
             is supported.

             The particular compression selected by the answering
             modem is reported in cctmActiveDataCompression.
            "
        ::= { cctmActiveEntry 10 }
 

cctmActiveDataCompression OBJECT-TYPE
        SYNTAX     CctmDataCompression
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The modem compression protocol selected for this call.
            "
        ::= { cctmActiveEntry 11 }

cctmActiveRxHighWatermark OBJECT-TYPE
        SYNTAX     Gauge32
        UNITS      "bits per second"
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The maximum receive data rate achieved during this call.
            "
        ::= { cctmActiveEntry 12 }

cctmActiveRxLowWatermark OBJECT-TYPE
        SYNTAX     Gauge32
        UNITS      "bits per second"
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The minimum receive data rate during this call.
            "
        ::= { cctmActiveEntry 13 }

cctmActiveTxHighWatermark OBJECT-TYPE
        SYNTAX     Gauge32
        UNITS      "bits per second"
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The maximum transmit data rate achieved during this call.
            "
        ::= { cctmActiveEntry 14 }

cctmActiveTxLowWatermark OBJECT-TYPE
        SYNTAX     Gauge32
        UNITS      "bits per second"
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The minimum transmit data rate during this call.
            "
        ::= { cctmActiveEntry 15 }

cctmActiveLocalUpRateShifts  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The count of locally initiated rate shifts to increase
             the data rate which were successful.
            "
        ::= { cctmActiveEntry 16 }

cctmActiveLocalDownRateShifts  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The count of locally initiated rate shifts to decrease
             the data rate which were successful.
            "
        ::= { cctmActiveEntry 17 }

cctmActiveRemoteUpRateShifts  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The count of remotely initiated rate shifts to increase
             the data rate which were successful.
            "
        ::= { cctmActiveEntry 18 }

cctmActiveRemoteDownRateShifts  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The count of remotely initiated rate shifts to decrease
             the data rate which were successful.
            "
        ::= { cctmActiveEntry 19 }

cctmActiveRateShiftFailures  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The count of rate shift attempts which failed
             to complete.

             A failure to complete a rate renegotiation results in a
             retrain attempt.
            "
        ::= { cctmActiveEntry 20 }

cctmActiveLocalRetrains  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The count of locally initiated retrains for the call.

             Includes successfully completed retrains and those
             which failed.
            "
        ::= { cctmActiveEntry 21 }

cctmActiveRemoteRetrains  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The count of remotely initiated retrains for the call.

             Includes successfully completed retrains and those
             which failed.
            "
        ::= { cctmActiveEntry 22 }
 
cctmActiveRetrainFailures  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The count of retrains which failed to complete.

             A failure to retrain results in another retrain
             attempt. The call will terminate if too many
             consecutive retrain failures occur. The consecutive
             retrain failure threshold is system specific.
            "
        ::= { cctmActiveEntry 23 }

cctmActiveRxLinkOctets OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The total modem link level octets received during this
            call. If using Error Correction and Data Compression, this
            is the compressed data within the EC protocol frames.
           "
        ::= { cctmActiveEntry 24 }

cctmActiveTxLinkOctets OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The total modem link level octets transmitted during this
            call. If using Error Correction and Data Compression, this
            is the compressed data within the EC protocol frames.
           "
        ::= { cctmActiveEntry 25 }

cctmActiveRxECFrames  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total number of error correction data frames
             received successfully.

             This does not include damaged frames or control
             frames.
            "
        ::= { cctmActiveEntry 26 }

cctmActiveTxECFrames  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total number of error correction data frames
             transmitted successfully.

             This does not include data frame resends or control
             frames.
            "
        ::= { cctmActiveEntry 27 }

cctmActiveRxECNAKs  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total number of EC protocol negative acknowledgements
             (NAK) received.
            "
        ::= { cctmActiveEntry 28 }

cctmActiveTxECNAKs  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total number of EC protocol negative acknowledgements
             (NAK) sent.
            "
        ::= { cctmActiveEntry 29 }

cctmActiveRxECFramesBad OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total error correction frames received during
             the call which were determined to be bad.
            "
        ::= { cctmActiveEntry 30 }

cctmActiveECFramesResent  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The count of total retransmitted error correction
             data frames during the call.
            "
        ::= { cctmActiveEntry 31 }

cctmActiveECLinkTimeouts  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This counter provides the number of EC link protocol
             timer expirations which have occurred during the call.

             This corresponds to the T401 timer for LAPM and MNP.

             These are distinct from normal 'keep alive' and
             'window open' timeouts.
            "
        ::= { cctmActiveEntry 32 }

cctmActiveRxCharLost  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of characters received by the modem
             but were dropped due to host buffer over run.
            "
        ::= { cctmActiveEntry 33 }
 

-- *****************************************************************
-- Call Tracker History Group
-- *****************************************************************

--
-- Call Tracker History Table
-- 

cctmHistoryTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF CctmHistoryEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table provides information on terminated modem
             calls.

             It contains general modem session attributes and
             statistics at the modem link and modem protocol layers.

             The table extends the cctHistoryTable, using the same
             index, cctHistoryIndex.

             There are no entries for calls not requiring modem
             services.
            "
        ::= { cctmHistory 1 }


cctmHistoryEntry OBJECT-TYPE
        SYNTAX      CctmHistoryEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The information regarding a single terminated modem call.

             Entries are created and deleted in sync with the entries
             in cctHistoryTable, if the call utilized modem service.
            "
        INDEX  { cctHistoryIndex }
        ::= { cctmHistoryTable 1 }


CctmHistoryEntry ::=
        SEQUENCE {
            cctmHistoryProjectedMaxRxRate      Unsigned32,
            cctmHistoryProjectedMaxTxRate      Unsigned32,
            cctmHistoryFinalRxRate             Unsigned32,
            cctmHistoryFinalTxRate             Unsigned32,
            cctmHistoryAttemptedModulation     CctmModulation,
            cctmHistoryInitialModulation       CctmModulation,
            cctmHistoryFinalModulation         CctmModulation,
            cctmHistoryAttemptedECProtocol     CctmECProtocol,
            cctmHistoryECProtocol              CctmECProtocol,
            cctmHistorySupportedDC             BITS,
            cctmHistoryDataCompression         CctmDataCompression,
            cctmHistoryRxHighWatermark         Gauge32,
            cctmHistoryRxLowWatermark          Gauge32,
            cctmHistoryTxHighWatermark         Gauge32,
            cctmHistoryTxLowWatermark          Gauge32,
            cctmHistoryLocalUpRateShifts       Counter32,
            cctmHistoryLocalDownRateShifts     Counter32,
            cctmHistoryRemoteUpRateShifts      Counter32,
            cctmHistoryRemoteDownRateShifts    Counter32,
            cctmHistoryRateShiftFailures       Counter32,
            cctmHistoryLocalRetrains           Counter32,
            cctmHistoryRemoteRetrains          Counter32,
            cctmHistoryRetrainFailures         Counter32,
            cctmHistoryRxLinkOctets            Counter32,
            cctmHistoryTxLinkOctets            Counter32,
            cctmHistoryRxECFrames              Counter32,
            cctmHistoryTxECFrames              Counter32,
            cctmHistoryRxECNAKs                Counter32,
            cctmHistoryTxECNAKs                Counter32,
            cctmHistoryRxECFramesBad           Counter32,
            cctmHistoryECFramesResent          Counter32,
            cctmHistoryECLinkTimeouts          Counter32,
            cctmHistoryRxCharLost              Counter32,
            cctmHistoryDisconnectReason        Unsigned32,
            cctmHistoryDisconnectReasonText    DisplayString
        }

cctmHistoryProjectedMaxRxRate OBJECT-TYPE
        SYNTAX     Unsigned32
        UNITS      "bits per second"
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "Maximum received rate local modem informs remote
             modem it will support based on initial negotiations.

             The remote modem will not attempt to transmit at
             rates greater than what the local modem will accept.

             The initial negotiated receive rate is in
             cctHistoryRxRate.
            "
        ::= { cctmHistoryEntry 1 }

cctmHistoryProjectedMaxTxRate OBJECT-TYPE
        SYNTAX     Unsigned32
        UNITS      "bits per second"
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "Maximum rate the remote modem indicates it can
             accept based on initial negotiations.

             The local modem will not attempt to transmit at
             rates above what the remote modem will accept.

             The initial negotiated transmit rate is in
             cctHistoryTxRate.
            "
        ::= { cctmHistoryEntry 2 }

cctmHistoryFinalRxRate OBJECT-TYPE
        SYNTAX     Unsigned32
        UNITS      "bits per second"
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "Final receive data rate for this call.

             The initial negotiated receive rate is in
             cctHistoryRxRate.
            "
        ::= { cctmHistoryEntry 3 }

cctmHistoryFinalTxRate OBJECT-TYPE
        SYNTAX     Unsigned32
        UNITS      "bits per second"
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "Final transmit data rate for this call.

             The initial negotiated transmit rate is in
             cctHistoryTxRate.
            "
        ::= { cctmHistoryEntry 4 }

cctmHistoryAttemptedModulation OBJECT-TYPE
        SYNTAX     CctmModulation
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The initial modulation attempted when the modems began
             negotiation.
            "
        ::= { cctmHistoryEntry 5 }

cctmHistoryInitialModulation OBJECT-TYPE
        SYNTAX     CctmModulation
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The initial negotiated modulation.
            "
        ::= { cctmHistoryEntry 6 }

cctmHistoryFinalModulation OBJECT-TYPE
        SYNTAX     CctmModulation
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The final modulation for this call.

             It is possible for retrains to result in the modulation
             being renogiated during a call.
            "
        ::= { cctmHistoryEntry 7 }
 
cctmHistoryAttemptedECProtocol OBJECT-TYPE
        SYNTAX     CctmECProtocol
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The initial modem error correction protocol attempted
             during call negotiation.

             The actual EC negotiated is in cctmHistoryECProtocol.
            "
        ::= { cctmHistoryEntry 8 }
 
cctmHistoryECProtocol OBJECT-TYPE
        SYNTAX     CctmECProtocol
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The modem error correction protocol negotiated for
             this call.
            "
        ::= { cctmHistoryEntry 9 }

cctmHistorySupportedDC  OBJECT-TYPE
        SYNTAX      BITS {
                      mnp5(0),
                      v42bisRx(1),
                      v42bisTx(2),
                      v44Rx(3),
                      v44Tx(4)
                    }
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The data compression protocols supported by the
             calling modem.

             This object is a bit map, with each bit representing
             a different call type as identified below.
             A 1-bit indicates the DC protocol is supported.
             A 0-bit indicates the DC protocol is not supported.

                 Bit 0   - MNP5
                 Bit 1   - V.42bis in the receive direction
                 Bit 2   - V.42bis in the transmit direction

             V.42bis may be separately available in Rx or Tx 
             directions. If all bits are zero, no data compression
             is supported.

             The particular compression selected by the answering
             modem is reported in cctmHistoryDataCompression.
            "
        ::= { cctmHistoryEntry 10 }
 
cctmHistoryDataCompression OBJECT-TYPE
        SYNTAX     CctmDataCompression
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The modem compression protocol selected for this call.
            "
        ::= { cctmHistoryEntry 11 }

cctmHistoryRxHighWatermark OBJECT-TYPE
        SYNTAX     Gauge32
        UNITS      "bits per second"
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The maximum receive data rate achieved during this call.
            "
        ::= { cctmHistoryEntry 12 }

cctmHistoryRxLowWatermark OBJECT-TYPE
        SYNTAX     Gauge32
        UNITS      "bits per second"
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The minimum receive data rate during this call.
            "
        ::= { cctmHistoryEntry 13 }

cctmHistoryTxHighWatermark OBJECT-TYPE
        SYNTAX     Gauge32
        UNITS      "bits per second"
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The maximum transmit data rate achieved during this call.
            "
        ::= { cctmHistoryEntry 14 }

cctmHistoryTxLowWatermark OBJECT-TYPE
        SYNTAX     Gauge32
        UNITS      "bits per second"
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The minimum transmit data rate during this call.
            "
        ::= { cctmHistoryEntry 15 }

cctmHistoryLocalUpRateShifts  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The count of locally initiated rate shifts to increase
             the data rate which were successful.
            "
        ::= { cctmHistoryEntry 16 }

cctmHistoryLocalDownRateShifts  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The count of locally initiated rate shifts to decrease
             the data rate which were successful.
            "
        ::= { cctmHistoryEntry 17 }

cctmHistoryRemoteUpRateShifts  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The count of remotely initiated rate shifts to increase
             the data rate which were successful.
            "
        ::= { cctmHistoryEntry 18 }

cctmHistoryRemoteDownRateShifts  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The count of remotely initiated rate shifts to decrease
             the data rate which were successful.
            "
        ::= { cctmHistoryEntry 19 }

cctmHistoryRateShiftFailures  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The count of rate shift attempts which failed
             to complete.

             A failure to complete a rate renegotiation results in a
             retrain attempt.
            "
        ::= { cctmHistoryEntry 20 }

cctmHistoryLocalRetrains  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The count of locally initiated retrains for the call.

             Includes successfully completed retrains and those
             which failed.
            "
        ::= { cctmHistoryEntry 21 }

cctmHistoryRemoteRetrains  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The count of remotely initiated retrains for the call.

             Includes successfully completed retrains and those
             which failed.
            "
        ::= { cctmHistoryEntry 22 }

cctmHistoryRetrainFailures  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The count of retrains which failed to complete.

             A failure to retrain results in another retrain
             attempt. The call will terminate if too many
             consecutive retrain failures occur. The consecutive
             retrain failure threshold is system specific.
            "
        ::= { cctmHistoryEntry 23 }

cctmHistoryRxLinkOctets OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The total modem link level octets received during this
            call. If using Error Correction and Data Compression, this
            is the compressed data within the EC protocol frames.
           "
        ::= { cctmHistoryEntry 24 }

cctmHistoryTxLinkOctets OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The total modem link level octets transmitted during this
            call. If using Error Correction and Data Compression, this
            is the compressed data within the EC protocol frames.
           "
        ::= { cctmHistoryEntry 25 }

cctmHistoryRxECFrames  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total number of error correction data frames received
             successfully.

             This does not include damaged frames or control frames.
            "
        ::= { cctmHistoryEntry 26 }

cctmHistoryTxECFrames  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total number of error correction data frames
             transmitted successfully.

             This does not include data frame resends or control
             frames.
            "
        ::= { cctmHistoryEntry 27 }

cctmHistoryRxECNAKs  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total number of EC protocol negative acknowledgements
             (NAK) received.
            "
        ::= { cctmHistoryEntry 28 }

cctmHistoryTxECNAKs  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total number of EC protocol negative acknowledgements
             (NAK) sent.
            "
        ::= { cctmHistoryEntry 29 }

cctmHistoryRxECFramesBad OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total error correction frames received during
             the call which were determined to be bad.
            "
        ::= { cctmHistoryEntry 30 }

cctmHistoryECFramesResent  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The count of total retransmitted error correction
             data frames during the call.
            "
        ::= { cctmHistoryEntry 31 }

cctmHistoryECLinkTimeouts  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This counter provides the number of EC link protocol
             timer expirations which have occurred during the call.

             This corresponds to the T401 timer for LAPM and MNP.

             These are distinct from normal 'keep alive' and
             'window open' timeouts.
            "
        ::= { cctmHistoryEntry 32 }

cctmHistoryRxCharLost  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total number of characters received by the modem
             but were dropped due to host buffer over run.
            "
        ::= { cctmHistoryEntry 33 }

cctmHistoryDisconnectReason OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Code indicating the reason this call was
             terminated.
            "
        ::= { cctmHistoryEntry 34 }

cctmHistoryDisconnectReasonText OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..255))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Text description of the disconnect reason indicated by
             cctHistoryDisconnectReason.

             Value is zero-length string if no text is available.
            "
        ::= { cctmHistoryEntry 35 }


--
-- Call Tracker Extended Modem History Table
-- 

cctmXHistoryTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF CctmXHistoryEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table provides additional, detailed information on
             terminated modem calls.

             It contains low level modem session attributes and
             statistics at the modem link and modem protocol layers.

             The table extends the cctHistoryTable, using the same
             index, cctHistoryIndex.
            "
        ::= { cctmHistory 2 }


cctmXHistoryEntry OBJECT-TYPE
        SYNTAX      CctmXHistoryEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The detailed information for a single terminated modem
             call.

             Entries are created and deleted in sync with the entries
             in cctHistoryTable, if the call utilized modem service.
            "
        AUGMENTS  { cctmHistoryEntry }
        ::= { cctmXHistoryTable 1 }


CctmXHistoryEntry ::=
        SEQUENCE {
            cctmXHistoryRxECInfoFrameSize      Unsigned32,
            cctmXHistoryTxECInfoFrameSize      Unsigned32,
            cctmXHistoryRxECWindowSize         Unsigned32,
            cctmXHistoryTxECWindowSize         Unsigned32,
            cctmXHistoryRxLevel                Integer32,
            cctmXHistoryTxLevel                Integer32,
            cctmXHistoryConstellation          INTEGER,
            cctmXHistoryV90Status              INTEGER,
            cctmXHistoryV90Failure             INTEGER,
            cctmXHistoryV90ClientId            Unsigned32,
            cctmXHistoryECWindowClosures       Counter32
        }


cctmXHistoryRxECInfoFrameSize  OBJECT-TYPE
        SYNTAX      Unsigned32
        UNITS       "octets"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Negotiated maximum EC frame data payload size in
             the receive direction.

             LAPM distinguishes between Rx and Tx. MNP will have the
             the same information frame size for Rx and Tx,
             cctmHistoryTxECInfoFrameSize.
            "
        ::= { cctmXHistoryEntry 1 }

cctmXHistoryTxECInfoFrameSize  OBJECT-TYPE
        SYNTAX      Unsigned32
        UNITS       "octets"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Negotiated maximum EC frame data payload size in
             the transmit direction.

             LAPM distinguishes between Rx and Tx. MNP will have the
             the same information frame size for Tx and Rx,
             cctmHistoryRxECInfoFrameSize.
            "
        ::= { cctmXHistoryEntry 2 }

cctmXHistoryRxECWindowSize  OBJECT-TYPE
        SYNTAX      Unsigned32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The EC protocol window size in units of frames in the
             receive direction.

             This is the maximum number of information frames sent from
             remote modem that may be outstanding without receiving any
             acknowledgement from the local modem.

             If the EC protocol is LAPM, the Rx and Tx windows are
             separately negotiated and may have different values. If
             MNP, both windows are negotiated together and have the
             same value for this object and cctHistoryTxECWindowSize.
            "
        ::= { cctmXHistoryEntry 3 }

cctmXHistoryTxECWindowSize  OBJECT-TYPE
        SYNTAX      Unsigned32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The EC protocol window size in units of frames in the
             transmit direction.

             This is the maximum number of information frames sent from
             local modem that may be outstanding without receiving any
             acknowledgement from the remote modem.

             If the EC protocol is LAPM, the Rx and Tx windows are
             separately negotiated and may have different values. If
             MNP, both windows are negotiated together and have the
             same value for this object and cctHistoryRxECWindowSize.
            "
        ::= { cctmXHistoryEntry 4 }

cctmXHistoryRxLevel  OBJECT-TYPE
        SYNTAX      Integer32 (-128..0)
        UNITS       "dB"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The final signal level in the receive direction for
             applicable modulations.
            "
        ::= { cctmXHistoryEntry 5 }

cctmXHistoryTxLevel  OBJECT-TYPE
        SYNTAX      Integer32 (-128..0)
        UNITS       "dB"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The final signal level in the transmit direction for
             applicable modulations.
            "
        ::= { cctmXHistoryEntry 6 }

cctmXHistoryConstellation  OBJECT-TYPE
        SYNTAX      INTEGER {
                       points4(1),
                       points16(2)
                   }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Connection constellation size.
            "
        ::= { cctmXHistoryEntry 7 }

cctmXHistoryV90Status OBJECT-TYPE
        SYNTAX     INTEGER {
                      notAttempted(1),
                      failure(2),
                      success(3)
                  }
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This object indicates if V.90 modulation was attempted
             during initial modem negotiation.

                notAttempted(1) - Client modem did not attempt V.90

                failure(2)      - Client and server modems attempted
                                  V.90, but were not successful

                success(3)      - Client and server modems successfully
                                  negotiated V.90 during call setup.
            "
        ::= { cctmXHistoryEntry 8 }

cctmXHistoryV90Failure OBJECT-TYPE
        SYNTAX     INTEGER {
                      noFailure(1),
                      clientNonPCM(2),
                      clientFallback(3),
                      serverV90Disabled(4)
                  }
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This object provides an interpretation of why V.90
             modulation was not achieved.

                noFailure(1)         - V.90 was not attempted or it
                    was successful. The value of cctmXHistoryV90Status
                    will be notAttempted(1) or success(3) respectively.
                                    

                clientNonPCM(2)      - Client selected a non-PCM
                    connection due to PSTN properties.

                clientFallback(3)    - Client was unable to sustain
                    PCM due to PSTN properties and fellback to a
                    non-PCM connection.

                serverV90Disabled(4) - Client attempted V.90 but
                    server modem was configured to disable V.90.
            "
        ::= { cctmXHistoryEntry 9 }

cctmXHistoryV90ClientId OBJECT-TYPE
        SYNTAX     Unsigned32 (0..255)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "Client modem identification inferred from the V.90 DIL
             training and sign patterns.
            "
        ::= { cctmXHistoryEntry 10 }

cctmXHistoryECWindowClosures  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of times the EC protocol window closed
             without receiving an ACK or NAK from the remote modem.

             A closure occurs when the maximum number of EC
             information frames have been sent without receiving any
             acknowledgement.

             The window size is provided in cctmHistoryRxECWindowSize.
            "
        ::= { cctmXHistoryEntry 11 }


-- *****************************************************************
-- Notifications
-- *****************************************************************
cctmMIBNotificationPrefix OBJECT IDENTIFIER ::= 
                                { ciscoCallTrackerModemMIB 2 }
cctmMIBNotifications      OBJECT IDENTIFIER ::= 
                                { cctmMIBNotificationPrefix 0 }


-- *****************************************************************
-- Conformance and Compliances
-- *****************************************************************

cctmMIBConformance OBJECT IDENTIFIER ::=
                                { ciscoCallTrackerModemMIB 3 }
cctmMIBCompliances OBJECT IDENTIFIER ::=
                                { cctmMIBConformance 1 }
cctmMIBGroups      OBJECT IDENTIFIER ::=
                                { cctmMIBConformance 2 }

-- compliance statements

cctmMIBCompliance MODULE-COMPLIANCE
        STATUS      current
        DESCRIPTION
            "The compliance statement for entities which
             implement the CISCO CALL TRACKER MODEM MIB"
        MODULE      -- this module
        MANDATORY-GROUPS
            { cctmActiveGroup,
              cctmHistoryGroup }
-- optional groups
        GROUP          cctmXHistoryGroup
        DESCRIPTION
            "Optional extended call modem statistics."
        ::= { cctmMIBCompliances 1 }



-- units of conformance


cctmActiveGroup OBJECT-GROUP
        OBJECTS {
            cctmActiveProjectedMaxRxRate,
            cctmActiveProjectedMaxTxRate,
            cctmActiveRxRate,
            cctmActiveTxRate,
            cctmActiveAttemptedModulation,
            cctmActiveInitialModulation,
            cctmActiveModulation,
            cctmActiveAttemptedECProtocol,
            cctmActiveECProtocol,
            cctmActiveSupportedDC,
            cctmActiveDataCompression,
            cctmActiveRxHighWatermark,
            cctmActiveRxLowWatermark,
            cctmActiveTxHighWatermark,
            cctmActiveTxLowWatermark,
            cctmActiveLocalUpRateShifts,
            cctmActiveRemoteUpRateShifts,
            cctmActiveLocalDownRateShifts,
            cctmActiveRemoteDownRateShifts,
            cctmActiveRateShiftFailures,
            cctmActiveLocalRetrains,
            cctmActiveRemoteRetrains,
            cctmActiveRetrainFailures,
            cctmActiveRxLinkOctets,
            cctmActiveTxLinkOctets,
            cctmActiveRxECFrames,
            cctmActiveTxECFrames,
            cctmActiveRxECNAKs,
            cctmActiveTxECNAKs,
            cctmActiveRxECFramesBad,
            cctmActiveECFramesResent,
            cctmActiveECLinkTimeouts,
            cctmActiveRxCharLost
        }
        STATUS      current
        DESCRIPTION
            "A collection of objects providing the
             active call modem information.
            "
        ::= { cctmMIBGroups 2 }

cctmHistoryGroup OBJECT-GROUP
        OBJECTS {
            cctmHistoryProjectedMaxRxRate,
            cctmHistoryProjectedMaxTxRate,
            cctmHistoryFinalRxRate,
            cctmHistoryFinalTxRate,
            cctmHistoryAttemptedModulation,
            cctmHistoryInitialModulation,
            cctmHistoryFinalModulation,
            cctmHistoryAttemptedECProtocol,
            cctmHistoryECProtocol,
            cctmHistorySupportedDC,
            cctmHistoryDataCompression,
            cctmHistoryRxHighWatermark,
            cctmHistoryRxLowWatermark,
            cctmHistoryTxHighWatermark,
            cctmHistoryTxLowWatermark,
            cctmHistoryLocalUpRateShifts,
            cctmHistoryRemoteUpRateShifts,
            cctmHistoryLocalDownRateShifts,
            cctmHistoryRemoteDownRateShifts,
            cctmHistoryRateShiftFailures,
            cctmHistoryLocalRetrains,
            cctmHistoryRemoteRetrains,
            cctmHistoryRetrainFailures,
            cctmHistoryRxLinkOctets,
            cctmHistoryTxLinkOctets,
            cctmHistoryRxECFrames,
            cctmHistoryTxECFrames,
            cctmHistoryRxECNAKs,
            cctmHistoryTxECNAKs,
            cctmHistoryRxECFramesBad,
            cctmHistoryECFramesResent,
            cctmHistoryECLinkTimeouts,
            cctmHistoryRxCharLost,
            cctmHistoryDisconnectReason,
            cctmHistoryDisconnectReasonText
        }
        STATUS      current
        DESCRIPTION
            "A collection of objects providing the
             historical call modem information.
            "
        ::= { cctmMIBGroups 3 }

cctmXHistoryGroup OBJECT-GROUP
        OBJECTS {
            cctmXHistoryRxECInfoFrameSize,
            cctmXHistoryTxECInfoFrameSize,
            cctmXHistoryRxECWindowSize,
            cctmXHistoryTxECWindowSize,
            cctmXHistoryRxLevel,
            cctmXHistoryTxLevel,
            cctmXHistoryConstellation,
            cctmXHistoryV90Status,
            cctmXHistoryV90Failure,
            cctmXHistoryV90ClientId,
            cctmXHistoryECWindowClosures
        }
        STATUS      current
        DESCRIPTION
            "A collection of objects providing the
             historical detailed call modem information.
            "
        ::= { cctmMIBGroups 4 }

END
