 -- *****************************************************************
 -- CISCO-MODEM-MGMT-MIB.my:  Cisco Modem Management MIB file
 --
 -- January 1996, Viet Nguyen
 --
 -- Copyright (c) 1996-1998, 1999, 2000, 2001, 2005 by cisco Systems, Inc.
 -- All rights reserved.
 --
 -- *****************************************************************

CISCO-MODEM-MGMT-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        NOTIFICATION-TYPE,
        OBJECT-TYPE,
        Integer32,
        Gauge32,
        Counter32,
        TimeTicks,
        Unsigned32
                FROM SNMPv2-SMI
        MODULE-COMPLIANCE,
        OBJECT-GROUP,
        NOTIFICATION-GROUP
                FROM SNMPv2-CONF
        TruthValue,
        DisplayString
               FROM SNMPv2-TC
        InterfaceIndex
               FROM IF-MIB
        ciscoMgmt
               FROM CISCO-SMI;
                    

ciscoModemMgmtMIB MODULE-IDENTITY
        LAST-UPDATED    "200512060000Z" -- Dec 06,2005 
        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-snmp@cisco.com"
        DESCRIPTION
                "This MIB module provides modem call related data for
                 tracking the progress and status of a call."

        REVISION        "200512060000Z"
        DESCRIPTION
                "Imported Unsigned32 from SNMPv2-SMI instead of CISCO-TC"

    REVISION        "200112011200Z" -- Dec 01,2001 12:00:00 GMT
        DESCRIPTION
                "Added one more comment for cmTXAnalogSignalLevel"

        REVISION        "200110011200Z"
        DESCRIPTION
                "General cleanup"

        REVISION        "200004010000Z"
        DESCRIPTION
                "Added cmStateNotification and cmStateNotifyEnable"

        REVISION        "9812160000Z"
        DESCRIPTION
                "Added cmTotalCallDuration"

        REVISION        "9806180000Z"
        DESCRIPTION
                "Added the new enum values for cmDisconnectReason" 

        REVISION        "9712220000Z"
        DESCRIPTION
                "Changed the modulation from v27 to v29."

        REVISION        "9710130000Z"
        DESCRIPTION
                "Added new compliance statement for as5300 and c3600."

        REVISION        "9707180000Z"
        DESCRIPTION
                "Added new MIB variables cmInitialTxLineConnections and 
                 cmInitialRxLineConnections"

        REVISION        "9803090000Z"
        DESCRIPTION
                "Added the new enum values v90 and v27ter for 
                 cmModulationSchemeUsed."

        REVISION        "9712160000Z"
        DESCRIPTION
                "Changed the modulation from v27 to v29."

        REVISION        "9705010000Z"
        DESCRIPTION
                "Added objects:
                        cmSystemModemsInUse
                        cmSystemModemsAvailable
                        cmSystemModemsUnavailable
                        cmSystemModemsOffline
                        cmSystemModemsDead"

        REVISION        "9704290000Z"
        DESCRIPTION
                "Changed the modulation from v29 to v27."

        REVISION        "9706110000Z"
        DESCRIPTION
                "DEFVAL update for cmSystemWatchdogTime,cmSystemStatusPollTime."

        REVISION        "9703210000Z"
        DESCRIPTION
                "New enum values added for cmModulationSchemeUsed."

        REVISION        "9703170000Z"
        DESCRIPTION
                "New enum values added for cmDisconnectReason."

        REVISION        "9601110000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { ciscoMgmt 47 }

ciscoModemMgmtMIBObjects OBJECT IDENTIFIER ::= { ciscoModemMgmtMIB 1 }

cmSystemInfo     OBJECT IDENTIFIER ::= { ciscoModemMgmtMIBObjects 1 }
cmGroupInfo      OBJECT IDENTIFIER ::= { ciscoModemMgmtMIBObjects 2 }
cmLineInfo       OBJECT IDENTIFIER ::= { ciscoModemMgmtMIBObjects 3 }
cmNotificationConfig  OBJECT IDENTIFIER ::=
                                       { ciscoModemMgmtMIBObjects 4 }

--
--  System Wide Modem Info Table
-- 

cmSystemInstalledModem OBJECT-TYPE 
       SYNTAX     Gauge32
       UNITS      "modems"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The actual number of modems that are currently installed 
                within this system."
       ::= { cmSystemInfo 1 }

cmSystemConfiguredGroup OBJECT-TYPE 
       SYNTAX     Gauge32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The actual number of modem groups that are currently 
                configured within this system.  Maximum value for this
                object is cmSystemInstalledModem."
       ::= { cmSystemInfo 2 }

cmSystemWatchdogTime OBJECT-TYPE
       SYNTAX     Integer32
       UNITS      "minutes"
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
               "A passive software watchdog timer value will be used to 
                recover a modem which enters into an unexpected state and 
                hangs. When this watch dog timer times out, the modem 
                associated Call Processing state will be set back to IDLE, 
                all related TDM paths will be restored to default 
                configurations, and all of call processing related actions 
                will stop for the modem."
       DEFVAL { 6 }
       ::= { cmSystemInfo 3 }

cmSystemStatusPollTime OBJECT-TYPE
       SYNTAX     Integer32 (2..120)
       UNITS      "seconds"
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION  
               "The ideal time interval between modem status polling via the
                out of band management port."
       DEFVAL { 12 }
       ::= { cmSystemInfo 4 }

cmSystemMaxRetries OBJECT-TYPE
       SYNTAX     Integer32 (0..10)
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION  
               "A reply event is expected to be received for every message 
                sent to the modem through the out of band management port. 
                If an expected reply event is not received, the message will
                be sent to the modem again. This object specifies the maximum
                number of retries that should be executed."
       DEFVAL { 3 }
       ::= { cmSystemInfo 5 }

cmSystemModemsInUse OBJECT-TYPE
       SYNTAX Gauge32
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "The number of modems in the system that are in the
               following states: connected, offHook, loopback,
               or downloadFirmware."
       ::= { cmSystemInfo 6 }

cmSystemModemsAvailable OBJECT-TYPE
       SYNTAX Gauge32
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "The number of modems in the system that are onHook.
               That is, they are ready to accept a call."
    ::= { cmSystemInfo 7 }

cmSystemModemsUnavailable OBJECT-TYPE
       SYNTAX Gauge32
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "The number of modems in the system that cannot
               accept calls.
               They are in a state other than onHook."
    ::= { cmSystemInfo 8 }

cmSystemModemsOffline OBJECT-TYPE
       SYNTAX Gauge32
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "The number of modems in the system, which have
               been held administratively offline"
    ::= { cmSystemInfo 9 }

cmSystemModemsDead OBJECT-TYPE
       SYNTAX Gauge32
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "The number of modems in the system with the state
               bad or downloadFirmwareFailed."
    ::= { cmSystemInfo 10 }

--
--  Modem Group General Info Table
-- 

cmGroupTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF CmGroupEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "Table of descriptive and status information about the groups
                 of modems."
        ::= { cmGroupInfo 1 }
 
cmGroupEntry OBJECT-TYPE
        SYNTAX     CmGroupEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "An entry in the table, containing information about a single
                 group of modems."
        INDEX { cmGroupIndex }
        ::= { cmGroupTable 1 }
 
CmGroupEntry ::=
        SEQUENCE {
            cmGroupIndex                    Unsigned32,
            cmGroupTotalDevices             Integer32
        }

cmGroupIndex OBJECT-TYPE
        SYNTAX     Unsigned32  
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "This object identifies the group containing the modems for 
                 which this entry contains information."
        ::= { cmGroupEntry 1 }

cmGroupTotalDevices OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The total number of modem devices which are configured in
                 the group."
        ::= { cmGroupEntry 2 }

--
-- Table for Modem Group Members
--

cmGroupMemberTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF CmGroupMemberEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "Table of information about the modem members in modem groups."
        ::= { cmGroupInfo 2 }
 
cmGroupMemberEntry OBJECT-TYPE
        SYNTAX     CmGroupMemberEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "An entry in the table, containing information about modem
                 members in a group.  The modem groups are currently created 
                 when an associated Async interface groups are configured
                 via CLI command 'interface group-async' and not via SNMP."
        INDEX {
                cmGroupIndex,
                cmSlotIndex,
                cmPortIndex
              }
        ::= { cmGroupMemberTable 1 }
 
CmGroupMemberEntry ::=
        SEQUENCE {
            cmSlotIndex                    Unsigned32,
            cmPortIndex                    Unsigned32
        }
 
cmSlotIndex OBJECT-TYPE
        SYNTAX     Unsigned32
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
               "The modem feature card slot number in the group."
        ::= { cmGroupMemberEntry  1 }
 
cmPortIndex OBJECT-TYPE
        SYNTAX     Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
               "The modem port number of a modem feature card in the group."
        ::= { cmGroupMemberEntry 2 }
 
--
--  Modem Line Status Info Table
-- 

cmLineStatusTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF CmLineStatusEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
               "A collection of objects that describe the status of the modem."
       ::= { cmLineInfo 1 }

cmLineStatusEntry OBJECT-TYPE
       SYNTAX     CmLineStatusEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION 
               "An entry in the table, containing status information about a 
                single modem."
       INDEX { cmSlotIndex, cmPortIndex }
       ::= { cmLineStatusTable 1 }

CmLineStatusEntry ::=
       SEQUENCE {
           cmInterface                       InterfaceIndex,
           cmGroup                           Integer32,
           cmManufacturerID                  DisplayString,
           cmProductDetails                  DisplayString,
           cmManageable                      TruthValue,
           cmState                           INTEGER,
           cmCallDirection                   INTEGER,
           cmDisconnectReason                INTEGER, 
           cmCallDuration                    TimeTicks,
           cmCallPhoneNumber                 DisplayString,
           cmCallerID                        DisplayString,
           cmModulationSchemeUsed            INTEGER,
           cmProtocolUsed                    INTEGER,
           cmTXRate                          Gauge32,
           cmRXRate                          Gauge32,
           cmTXAnalogSignalLevel             Integer32,
           cmRXAnalogSignalLevel             Integer32
       }

cmInterface OBJECT-TYPE
       SYNTAX     InterfaceIndex
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION 
               "The interface that this modem is connected."
       ::= { cmLineStatusEntry 1 }

cmGroup OBJECT-TYPE
       SYNTAX     Integer32 
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The modem group number that the modem may be in."
       ::= { cmLineStatusEntry 2 }
 
cmManufacturerID OBJECT-TYPE
       SYNTAX     DisplayString (SIZE (0..79))
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "A textual description to identify the modem, including the 
                manufacturer's name and type of modem."
       ::= { cmLineStatusEntry 3 }

cmProductDetails OBJECT-TYPE
       SYNTAX     DisplayString (SIZE (0..79))
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "A textual description of the modem, including hardware revision
                number, firmware revision number, feature set and optionally, 
                its serial number."
       ::= { cmLineStatusEntry 4 }

cmManageable OBJECT-TYPE
       SYNTAX     TruthValue
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The Manageable modem allows to be accessed through the out of
                band management port in which the modem statistic data can be 
                retrieved, and the Direct Connect session can be used to 
                provide the test and debugging ability. This object specifies 
                whether this modem is a Manageable modem."
       ::= { cmLineStatusEntry 5 }

cmState OBJECT-TYPE
       SYNTAX     INTEGER {
                        unknown(1),
                        onHook(2),
                        offHook(3),
                        connected(4),
                        busiedOut(5),
                        disabled(6),
                        bad(7),
                        loopback(8),
                        downloadFirmware(9),
                        downloadFirmwareFailed(10)
                  }
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "Indicates the current state of modem.  The meaning of each 
                state code is explained below:

                    unknown: the current state of the modem is unknown.

                    onHook: the condition similar to hanging up a telephone
                    receiver.  The call cannot enter a connected state when
                    the modem is onHook.

                    offHook: The condition similar to picking up a telephone 
                    receiver to dial or answer a call.

                    connected: The modem is in a state when it can transmit or
                    receive data over the communications line.
   
                    busiedOut: The modem is busied out (i.e. taken out of
                    service) and cannot make outgoing calls or receive incoming
                    calls.

                    disabled: The modem is in a reset state and non-functional.
                    This state can be set and clear via cmHoldReset.

                    bad: The modem is suspected or proven to be bad.  The
                    operator can take the modem out of service and mark
                    the modem as 'bad' via cmBad.

                    loopback: The modem is in a state where it is currently
                    running back-to-back loopback testing.

                    downloadFirmware: The modem is in a state where it is 
                    currently downloading the firmware.

                    downloadFirmwareFailed: The modem is not operational because
                    the downloading of firmware to it has failed."
       ::= { cmLineStatusEntry 6 }

cmCallDirection OBJECT-TYPE
       SYNTAX     INTEGER {
                        incoming(1),
                        outgoing(2),
                        none(3)
                  }
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The modem can be used either as an incoming call or
                outgoing call. This object specifies the direction of
                the current or previous call."
       ::= { cmLineStatusEntry 7 }
 
cmDisconnectReason OBJECT-TYPE
       SYNTAX     INTEGER {
                        unknown(1),
                        lostCarrier(2),
                        noCarrier(3),
                        noDialTone(4),
                        busy(5),
                        modemWatchdogTimeout(6),
                        dtrDrop(7),
                        userHangup(8),
                        compressionProblem(9),
                        retrainFailure(10),
                        remoteLinkDisconnect(11),
                        abort(12),
                        inactivityTimeout(13),
                        dialStringError(14),
                        linkFailure(15),
                        modulationError(16),
                        dialTimeout(17),
                        remoteHangup(18),
                        mnp10ProtocolError(19),
                        lapmProtocolError(20),
                        faxClass2Error(21),
                        trainupFailure(22),
                        fallbackTerminate(23),
                        excessiveEC(24),
                        hostDrop(25),
                        terminate(26),
                        autoLogonError(27),
                        ccpNotSeen(28),
                        callbackFailed(29),
                        blacklist(30),
                        lapmTimeout(31),
                        reliableLinkTxTimeout(32),
                        dspAccessFailure(33),
                        cdOffTimeout(34),
                        codewordSizeMismatch(35),
                        dspDownloadFailure(36),
                        modemDrNone(37),
                        modemDrSoftwareReset(38),
                        modemDrEcTerminated(39),
                        modemDrBadMnp5Rxdata(40),
                        modemDrBadV42bisRxdata(41),
                        modemDrBadCopState(42),
                        modemDrAth(43),
                        modemDrAborted(44),
                        modemDrConnectTimeout(45),
                        modemDrResetDsp(46),
                        modemDrNoCarrier(47),
                        modemDrNoAbtDetected(48),
                        modemDrTrainupFailure(49),
                        modemDrRetrainLimit(50),
                        modemDrAbtEndFailure(51),
                        modemDrNoLr(52),
                        modemDrLrParam1(53),
                        modemDrLrIncompat(54),
                        modemDrRetransmitLimit(55),
                        modemDrInactivity(56),
                        modemDrProtocolError(57),
                        modemDrFallbackTerminate(58),
                        modemDrNoXid(59),
                        modemDrXidIncompat(60),
                        modemDrDisc(61),
                        modemDrDm(62),
                        modemDrBadNr(63),
                        modemDrSabmeOnline(64),
                        modemDrXidOnline(65),
                        modemDrLrOnline(66),
                        modemDrBadCmnd(67),
                        modemDrFrmrBadCmnd(68),
                        modemDrFrmrData(69),
                        modemDrFrmrLength(70),
                        modemDrFrmrBadNr(71),
                        modemDrLdNoLr(72),
                        modemDrLdLrParam1(73),
                        modemDrLdLrIncompat(74),
                        modemDrLdRetransLimit(75),
                        modemDrLdInactivity(76),
                        modemDrLdProtocol(77),
                        modemDrLdUser(78),
                        modemDrHostNonspecific(79),
                        modemDrHostBusy(80),
                        modemDrHostNoAnswer(81),
                        modemDrHostDtr(82),
                        modemDrHostAth(83),
                        modemDrHostNoDialtone(84),
                        modemDrHostNoCarrier(85),
                        modemDrHostAck(86),
                        modemDrMohClrd(87),
                        modemDrMohTimeout(88),
                        modemDrCotAck(89),
                        modemDrCotNak1(90),
                        modemDrCotNak2(91),
                        modemDrCotOff(92),
                        modemDrCotTimeout(93),
                        modemDrDcIllegalCodewordStepup(94),
                        modemDrDcIllegalTokenEmptyNode(95),
                        modemDrDcIllegalTokenTooLarge(96),
                        modemDrDcReservedCommand(97),
                        modemDrDcIllegalCharacterSizeStepup(98),
                        modemDrDcRxDictionaryFull(99),
                        modemDrDcRxHistoryFull(100),
                        modemDrDcRxStringSizeExceeded(101),
                        modemDrDcNegotiationError(102),
                        modemDrDcCompressionError(103)
                   } 
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "Indicates the reason that the last connection or call attempt
                disconnected.  The meaning of each reason code is explained
                below:

                    unknown: the failure reason is unknown or there has been
                    no previous call.

                    lostCarrier: the call was disconnected because the loss
                    of carrier.

                    noCarrier: the dial out attempt has failed because the
                    modem detects no carrier.

                    noDialTone: the dial out attempt has failed because the
                    modem failed to detect a dial tone.

                    busy: the call attempt failed because the modem detected
                    a busy signal.

                    modemWatchdogTimeout: the modem internal watchdog timer
                    has expired.

                    dtrDrop: DTR has been turned off while the modem is to
                    disconnect on DTR drop.

                    userHangup: normal disconnect where the user hangs up call.

                    compressionProblem: the call is disconnected due to a
                    problem detected during compression in the modem.

                    retrainFailure: the modem did not successfully train and
                    reach data mode on the previous connections.

                    remoteLinkDisconnect: the remote link disconnected the
                    connection.

                    abort: the call was aborted.

                    inactivityTimeout: the modem automatically hangs up because
                    data is not sent or received within the inactivity time out.

                    dialStringError: the dialed phone number is invalid.

                    linkFailure: the modem detects a link failure.

                    modulationError: the modem detects a modulation error.

                    dialTimeout: the modem times out while attempting to dial.

                    remoteHangup: the remote side hangs up the connection.

                    mnp10ProtocolError: MNP10 Protocol Error.

                    lapmProtocolError: LAPM Protocol Error.

                    faxClass2Error: Fax Class 2 Error.

                    trainupFailure: failure to trainup with a remote peer.

                    fallbackTerminate: User has EC fallback set to disconnect.

                    excessiveEC: Link loss due to excessive EC retransmissions.
                    EC packet transmit limit exceeded.

                    hostDrop: Host initiated link drop.

                    terminate: Lost Carrier Microcom HDMS product relating to
                    password security issues.

                    autoLogonError: An autologon sequence did not complete
                    successfully.

                    ccpNotSeen: The Credit Card Prompt was not detected.

                    callbackFailed: Applies to leased line connection.  If after
                    a switched line dialback due to a leased line connection
                    failure, the switched line connection also fails and a
                    connection can still not be made on the leased line, a
                    disconnect occurs with this reason set.

                    blacklist: In coutries that support blacklisting, an attempt
                    was made to go off hook with a null dial string (ATD).

                    lapmTimeout: Timed out waiting for a reply from remote.

                    reliableLinkTxTimeout: Have not received the
                    link acknowledgement in the first 30 seconds of the
                    connection.

                    dspAccessFailure: Timed out trying to access the
                    DSP chip.

                    cdOffTimeout: Timed out waiting for carrier to return
                    after a retrain or rate renegotiation.

                    codewordSizeMismatch: The codeword size are mismatched.

                    dspDownloadFailure: Error during the DSP code download.
                    The time taken to recover and repeat the download
                    would take too long to complete the handshake."

       ::= { cmLineStatusEntry 8 }

cmCallDuration OBJECT-TYPE
       SYNTAX     TimeTicks
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "This object specifies the call duration of the current
                or previous call."
       ::= { cmLineStatusEntry 9 }
 
cmCallPhoneNumber OBJECT-TYPE
       SYNTAX     DisplayString (SIZE (0..64))
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The dialed outgoing telephone number of the current or
                previous call."
       ::= { cmLineStatusEntry 10 }

cmCallerID OBJECT-TYPE
       SYNTAX     DisplayString (SIZE (0..64))
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The incoming caller identification of the current or
                previous call if this entry is not in the connected state."
       ::= { cmLineStatusEntry 11 }

cmModulationSchemeUsed OBJECT-TYPE
       SYNTAX     INTEGER {
                        unknown(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),
                        piafs(21)
                  }
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The modem modulation scheme used in the current or previous 
                call.  This object is valid only for modems which have 
                cmManageable to be true."
       ::= { cmLineStatusEntry 12 }

cmProtocolUsed OBJECT-TYPE
       SYNTAX     INTEGER {
                        normal(1),
                        direct(2),
                        reliableMNP(3),
                        reliableLAPM(4),
                        syncMode(5),
                        asyncMode(6),
                        ara10(7),
                        ara20(8),
                        unknown(9)
                  }
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The modem protocol used in the current or previous call.
                This object is valid only for modems which have cmManageable
                to be true."
       ::= { cmLineStatusEntry 13 }

cmTXRate OBJECT-TYPE
       SYNTAX     Gauge32
       UNITS      "bits/second"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The speed of modem transmit rate of the current or previous 
                call in bits per second.  This object is valid only for modems
                which have cmManageable to be true."
       ::= { cmLineStatusEntry 14 }

cmRXRate OBJECT-TYPE
       SYNTAX     Gauge32
       UNITS      "bits/second"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The speed of modem receive rate of the current or previous 
                call in bits per second.  This object is valid only for modems
                which have cmManageable to be true."
       ::= { cmLineStatusEntry 15 }

cmTXAnalogSignalLevel OBJECT-TYPE
       SYNTAX     Integer32 (-43..-9 | 0)
       UNITS      "dBm"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The modem transmit analog signal level in the current or 
                previous call.  The unit used is in dBm.  This object 
                is valid for modems that have cmManageable set to true(1)
                otherwise 0 will be returned."
       ::= { cmLineStatusEntry 16 }

cmRXAnalogSignalLevel OBJECT-TYPE
       SYNTAX     Integer32 (-128..-1 | 0)
       UNITS      "dBm"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The modem transmit analog signal level in the current or 
                previous call.  The unit used is in dBm.  This object 
                is valid for modems that have cmManageable set to true(1)
                otherwise 0 will be returned."
       ::= { cmLineStatusEntry 17 }

--
--  Modem Line Configuration Table
--
 
cmLineConfigTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF CmLineConfigEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
               "A collection of objects that describe some of the configuration
                info of the modem."
       ::= { cmLineInfo 2 }
 
cmLineConfigEntry OBJECT-TYPE
       SYNTAX     CmLineConfigEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
               "An entry in the table, containing configuration information 
                about a single modem."
       AUGMENTS { cmLineStatusEntry }
       ::= { cmLineConfigTable 1 }
 
CmLineConfigEntry ::=
       SEQUENCE {
           cmATModePermit                    TruthValue,
           cmStatusPolling                   TruthValue,
           cmBusyOutRequest                  TruthValue,
           cmShutdown                        TruthValue,
           cmHoldReset                       TruthValue,
           cmBad                             TruthValue
       }

cmATModePermit OBJECT-TYPE
       SYNTAX     TruthValue
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
               "Direct Connect session is used for test and debugging purpose 
                by using the modem AT commands through the out of band 
                management port when cmManageable is true.

                This object specifies whether the Direct Connect session is 
                permitted to be used at this modem.

                If cmManageable is true(1), Direct Connect session via the out 
                of band port is allowed and false(2) indicates that it isn't 
                allowed for the modem."
       DEFVAL { true }
       ::= { cmLineConfigEntry 1 }

cmStatusPolling OBJECT-TYPE
       SYNTAX     TruthValue
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
               "Modem status and events can be polled through the out of band 
                management port when the cmManageable is true.

                This object specifies whether this status polling feature is 
                enabled at this modem.

                If cmManageable is true(1), status polling will occur for the 
                modem and false(2) indicates that no status polling will occur."
       DEFVAL { true }
       ::= { cmLineConfigEntry 2 }

cmBusyOutRequest OBJECT-TYPE
       SYNTAX     TruthValue
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
               "This object is used to put modem out of service, i.e. modem
                cannot make calls or answer calls. If the modem to
                be busyout is handling a call, the busyout action will
                be taken after the current call is disconnected. After
                modem is busyout, the following commands can be applied
                to those modems - reset, bad modem, download modem firmware, 
                etc. This is called nice or graceful busyout.

                The value of true(1) indicates the busyOut request has been
                issued to the modem, but the busyout could be pending. The
                management entity needs to query the cmState to see
                if the modem is successfully busied out. The value of false(2)
                indicates the modem is not given the busyOut command."
       DEFVAL { false }
       ::= { cmLineConfigEntry 3 }
 
cmShutdown OBJECT-TYPE
       SYNTAX     TruthValue
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
               "This object is used to put modem out of service, i.e. modem
                cannot make calls or answer calls. This is a hard busyout 
                command to bring the modem out of service immediately without 
                waiting for the call to be ended normally.  After modem is 
                shutdown, the following commands can be applied to those 
                modems - reset, bad modem, download modem firmware, etc.

                The value of true(1) indicates the hard busyout has been
                issued to the modem.  The value of false(2) indicates the 
                modem has not been hard busyout."
       DEFVAL { false }
       ::= { cmLineConfigEntry 4 }

cmHoldReset OBJECT-TYPE
       SYNTAX     TruthValue
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
               "A command hold-reset will put the state of modem into reset mode
                until an inverse command to bring modem out of RESET mode.
                During the period of reset mode, this modem can not be used
                and is non-functional.

                This object is only valid when cmState is onHook, busiedOut, or
                disabled.  The value of true(1) attempts to put the modem in 
                reset mode, and the value of false(2) takes the modem out of 
                reset.
                
                This object is not applicable for Mica modems."
       DEFVAL { false }
       ::= { cmLineConfigEntry 5 }

cmBad OBJECT-TYPE
       SYNTAX     TruthValue
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
               "This object can hold modem out of service and marks the modem 
                as suspected or proven to be bad. During the router start-up 
                initialization sequence, modem back-to-back tests will test 
                modems and mark those modems failing tests as bad modems.  The
                management entity also can use this command to lock out the 
                suspicious modem or unlock the modem to do further debugging 
                or test. This command will be used accompanied with cmholdReset 
                command to put modem out of service.  This command doesn't do 
                the reset. For a normally good modem, it can start handling 
                calls after it exits from modem reset mode. For a bad modem, it 
                cannot start handling calls after it exits from modem reset 
                mode. The manager needs to take modem out of bad modem mode 
                in order to handle calls.

                This object is only valid when cmState is onHook or
                busiedOut. The value of true(1) indicates the modem is 
                suspected to be bad and its state is set to bad.  The 
                value of false(2) indicates the modem has not been suspected 
                to be bad or has been re-marked as good."
       DEFVAL { false }
       ::= { cmLineConfigEntry 6 }

--
--  Modem Line Statistics Table
--
 
cmLineStatisticsTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF CmLineStatisticsEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
               "A collection of objects that describe the status of the modem."
       ::= { cmLineInfo 3 }
 
cmLineStatisticsEntry OBJECT-TYPE
       SYNTAX     CmLineStatisticsEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
               "An entry in the table, containing status information about a
                single modem."
       AUGMENTS { cmLineStatusEntry }
       ::= { cmLineStatisticsTable 1 }
 
CmLineStatisticsEntry ::=
       SEQUENCE {
           cmRingNoAnswers                   Counter32,
           cmIncomingConnectionFailures      Counter32,
           cmIncomingConnectionCompletions   Counter32,
           cmOutgoingConnectionFailures      Counter32,
           cmOutgoingConnectionCompletions   Counter32,
           cmFailedDialAttempts              Counter32,
           cmNoDialTones                     Counter32,
           cmDialTimeouts                    Counter32,
           cmWatchdogTimeouts                Counter32,
           cm2400OrLessConnections           Counter32, -- deprecated
           cm2400To14400Connections          Counter32, -- deprecated
           cmGreaterThan14400Connections     Counter32, -- deprecated
           cmNoCarriers                      Counter32,
           cmLinkFailures                    Counter32,
           cmProtocolErrors                  Counter32,
           cmPollingTimeouts                 Counter32,
           cmTotalCallDuration               Counter32
       }

cmRingNoAnswers OBJECT-TYPE
       SYNTAX     Counter32
       UNITS      "calls"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "A counter to count the calls that ringing was detected but
                the call was not answered at this modem."
       ::= { cmLineStatisticsEntry 1 }

cmIncomingConnectionFailures OBJECT-TYPE
       SYNTAX     Counter32
       UNITS      "calls"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "A counter that indicates the number of incoming
                connection requests that this modem answered in 
                which it could not train with the other DCE. 
                This object is valid only for modems which have
                cmManageable to be true."
       ::= { cmLineStatisticsEntry 2 }

cmIncomingConnectionCompletions OBJECT-TYPE
       SYNTAX     Counter32
       UNITS      "calls"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "A counter that indicates the number of incoming
                connection requests that this modem answered and 
                successfully trained with the other DCE.  This 
                object is valid only for modems which have 
                cmManageable to be true."
       ::= { cmLineStatisticsEntry 3 }

cmOutgoingConnectionFailures OBJECT-TYPE
       SYNTAX     Counter32
       UNITS      "calls"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "A counter that indicates the number of outgoing 
                calls from this modem which successfully went off 
                hook and dialed, in which it could not train with 
                the other DCE.  This object is valid only for 
                modems which have cmManageable to be true." 
       ::= { cmLineStatisticsEntry 4 }

cmOutgoingConnectionCompletions OBJECT-TYPE
       SYNTAX     Counter32
       UNITS      "calls"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "A counter that indicates the number of outgoing 
                calls from this modem which resulted in successfully 
                training with the other DCE.This object is valid 
                only for modems which have cmManageable to 
                be true."  
       ::= { cmLineStatisticsEntry 5 }

cmFailedDialAttempts OBJECT-TYPE
       SYNTAX     Counter32
       UNITS      "calls"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "A counter that indicates the number of call 
                attempts that failed because the modem didn't go 
                off hook, or there was no dial tone."
       ::= { cmLineStatisticsEntry 6 }

cmNoDialTones OBJECT-TYPE
       SYNTAX     Counter32
       UNITS      "calls"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "A counter that indicates the number of times the 
                dial tone expected but not received.  This object 
                is valid only for modems which have cmManageable 
                to be true."  
       ::= { cmLineStatisticsEntry 7 }

cmDialTimeouts OBJECT-TYPE
       SYNTAX     Counter32
       UNITS      "calls"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "A counter that indicates the number of times the 
                dial time-out occurred.  This object is valid only
                for modems which have cmManageable to be true." 
       ::= { cmLineStatisticsEntry 8 }

cmWatchdogTimeouts OBJECT-TYPE
       SYNTAX     Counter32
       UNITS      "calls"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The number of times the Call Processing watchdog 
                timer has expired."
       ::= { cmLineStatisticsEntry 9 }

cm2400OrLessConnections OBJECT-TYPE
       SYNTAX     Counter32
       UNITS      "calls"
       MAX-ACCESS read-only
       STATUS     deprecated
       DESCRIPTION
               "The number of connections initially established at 
                a modulation speed of 2400 bits per second or less.
                This object is valid only for modems which have 
                cmManageable to be true." 
       ::= { cmLineStatisticsEntry 10 }

cm2400To14400Connections OBJECT-TYPE
       SYNTAX     Counter32
       UNITS      "calls"
       MAX-ACCESS read-only
       STATUS     deprecated
       DESCRIPTION
               "The number of connections initially established at a modulation
                speed of greater than 2400 bits per second and less than 14400 
                bits per second.  This object is valid only for modems which 
                have cmManageable to be true."
       ::= { cmLineStatisticsEntry 11 }

cmGreaterThan14400Connections OBJECT-TYPE
       SYNTAX     Counter32
       UNITS      "calls"
       MAX-ACCESS read-only
       STATUS     deprecated
       DESCRIPTION
               "The number of connections initially established at a modulation
                speed of greater than 14400 bits per second.  This object is
                valid only for modems which have cmManageable to be true."

       ::= { cmLineStatisticsEntry 12 }

cmNoCarriers OBJECT-TYPE
       SYNTAX     Counter32
       UNITS      "calls"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "A counter that indicates the number of times that the 
                disconnect reason is no carrier.  This object is valid only for 
                modems which have cmManageable to be true."
       ::= { cmLineStatisticsEntry 13 }

cmLinkFailures OBJECT-TYPE
       SYNTAX     Counter32
       UNITS      "calls"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "A counter that indicates the number of times that the 
                disconnect reason is link failure.  This object is valid only 
                for modems which have cmManageable to be true." 
       ::= { cmLineStatisticsEntry 14 }

cmProtocolErrors OBJECT-TYPE
       SYNTAX     Counter32
       UNITS      "errors"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "A counter that indicates the number of times that the out of 
                band protocol error occurred.  This object is valid only for 
                modems which have cmManageable to be true." 
       ::= { cmLineStatisticsEntry 15 }

cmPollingTimeouts OBJECT-TYPE
       SYNTAX     Counter32
       UNITS      "errors"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "A counter that indicates the number of times that the out of 
                band protocol time-out error occurred.  This object is valid 
                only for modems which have cmManageable to be true." 
       ::= { cmLineStatisticsEntry 16 }

cmTotalCallDuration OBJECT-TYPE
       SYNTAX     Counter32
       UNITS      "seconds"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "A counter that indicates total call duration on the modem. This 
                includes the duration of all previous calls."
       ::= { cmLineStatisticsEntry 17 }
--
--  Modem Line Speed Statistics Table
--


cmLineSpeedStatisticsTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF CmLineSpeedStatisticsEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
              "A collection of objects that describe the intial modem 
               line speeds and connections"
      ::= { cmLineInfo 4 }

cmLineSpeedStatisticsEntry OBJECT-TYPE
      SYNTAX      CmLineSpeedStatisticsEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
              "An entry in the table, containing initial speed and 
               connection information about a single modem."
      INDEX { cmSlotIndex, cmPortIndex, cmInitialLineSpeed }
      ::= { cmLineSpeedStatisticsTable 1}

CmLineSpeedStatisticsEntry ::=
      SEQUENCE {
              cmInitialLineSpeed             Unsigned32,
              cmInitialLineConnections       Counter32, -- deprecated
              cmInitialTxLineConnections       Counter32,
              cmInitialRxLineConnections       Counter32
      }

cmInitialLineSpeed OBJECT-TYPE
      SYNTAX      Unsigned32
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
              "A discrete initial speed at which the given line 
               may operate"
      ::= { cmLineSpeedStatisticsEntry 1 }

cmInitialLineConnections OBJECT-TYPE
      SYNTAX      Counter32
      UNITS       "calls"
      MAX-ACCESS  read-only
      STATUS      deprecated -- superceded by cmInitialTxLineConnections
      DESCRIPTION
              "The number of connections initially established at a
               given modulation speed. An instance of this object
               will be only present for those speeds where one or more
               connections have occurred"
      ::= { cmLineSpeedStatisticsEntry 2 }

cmInitialTxLineConnections OBJECT-TYPE
      SYNTAX      Counter32
      UNITS       "calls"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
              "The number of Transmit connections initially established at a
               given modulation speed. An instance of this object
               will be only present for those speeds where one or more
               connections have occurred"
      ::= { cmLineSpeedStatisticsEntry 3 }

cmInitialRxLineConnections OBJECT-TYPE
      SYNTAX      Counter32
      UNITS       "calls"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
              "The number of Receive connections initially established at a
               given modulation speed. An instance of this object
               will be only present for those speeds where one or more
               connections have occurred"
      ::= { cmLineSpeedStatisticsEntry 4 }



--
-- Notification Configuration
--
cmStateNotifyEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This variable controls generation of the
             cmStateNotification.

             When this variable is 'true(1)', generation of
             cmStateNotification is enabled.  When this variable
             is 'false(2)', generation of cmStateNotification
             is disabled.

             The default value is 'false(2)'.
            "
        ::= { cmNotificationConfig 1 }



-- ******************************************************************
-- Notifications
-- ******************************************************************
cmMIBNotificationPrefix  OBJECT IDENTIFIER ::= { ciscoModemMgmtMIB 2 }

cmMIBNotifications       OBJECT IDENTIFIER ::=
                                         { cmMIBNotificationPrefix 0 }


cmStateNotification NOTIFICATION-TYPE
    OBJECTS     { cmState }
    STATUS      current
    DESCRIPTION
      "A modem port state change notification is generated whenever
       the port transitions to a state where it is offline due to
       a failure or administrative action.

       The values of cmState which will trigger this notification are:
           busiedOut(5)               - Administratively out of service
           disabled(6)                - Administratively out of service
           bad(7)                     - Internally detected failure or
                                        administrative action
           loopback(8)                - Testing
           downloadFirmware(9)        - Administrative action
           downloadFirmwareFailed(10) - Internally detected failure
        "
    ::= { cmMIBNotifications 1 }

--
-- conformance information
--

ciscoModemMgmtMIBConformance OBJECT IDENTIFIER ::= { ciscoModemMgmtMIB 3 }
ciscoModemMgmtMIBCompliances OBJECT IDENTIFIER ::= 
                                        { ciscoModemMgmtMIBConformance 1 }
ciscoModemMgmtMIBGroups      OBJECT IDENTIFIER ::= 
                                        { ciscoModemMgmtMIBConformance 2 }


-- compliance statements

ciscoModemMgmtMIBCompliance MODULE-COMPLIANCE
        STATUS  obsolete -- superseded by ciscoModemMgmtMIBComplianceRev1 
        DESCRIPTION
                "The compliance statement for entities which implement
                 the cisco Modem Management MIB"
        MODULE  -- this module
                MANDATORY-GROUPS { 
                        cmSystemInfoGroup,
                        cmLineInfoGroup,
                        cmGroupInfoGroup
                }
                GROUP cmManagedLineInfoGroup
                DESCRIPTION
                        "This group is mandatory for all managed modems."
        ::= { ciscoModemMgmtMIBCompliances 1 }

ciscoModemMgmtMIBComplianceRev1 MODULE-COMPLIANCE
        STATUS  obsolete -- superseded by ciscoModemMgmtMIBComplianceRev2 
        DESCRIPTION
                "The compliance statement for entities which implement
                 the cisco Modem Management MIB"
        MODULE  -- this module
                MANDATORY-GROUPS {
                        cmSystemInfoGroup,
                        cmLineInfoGroup,
                        cmGroupInfoGroup
                }
                GROUP cmManagedLineInfoGroup
                DESCRIPTION
                        "This group is mandatory for all managed modems."
                GROUP cmLineSpeedInfoGroup
                DESCRIPTION
                        "This group is mandatory for all managed modems."
        ::= { ciscoModemMgmtMIBCompliances 2 }

ciscoModemMgmtMIBComplianceRev2 MODULE-COMPLIANCE
        STATUS  obsolete -- superceded by ciscoModemMgmtMIBComplianceRev3 
        DESCRIPTION
                "The compliance statement for entities which implement
                 the cisco Modem Management MIB"
        MODULE  -- this module
                MANDATORY-GROUPS {
                        cmSystemInfoGroupRev1,
                        cmLineInfoGroup,
                        cmGroupInfoGroup
                }
                GROUP cmManagedLineInfoGroup
                DESCRIPTION
                        "This group is mandatory for all managed modems."
                GROUP cmLineSpeedInfoGroup
                DESCRIPTION
                        "This group is mandatory for all managed modems."

                                OBJECT cmSystemWatchdogTime
                                MIN-ACCESS read-only
                                DESCRIPTION 
                                        "Write access is not required."
        ::= { ciscoModemMgmtMIBCompliances 3 }

ciscoModemMgmtMIBComplianceRev3 MODULE-COMPLIANCE
       STATUS  obsolete -- superceded by ciscoModemMgmtMIBComplianceRev4 
        DESCRIPTION
                "The compliance statement for entities which implement
                 the cisco Modem Management MIB"
        MODULE  -- this module
                MANDATORY-GROUPS {
                        cmSystemInfoGroupRev1,
                        cmLineInfoGroup,
                        cmGroupInfoGroup
                }
                GROUP cmManagedLineInfoGroup
                DESCRIPTION
                        "This group is mandatory for all managed modems."
                GROUP cmLineSpeedInfoGroupRev1
                DESCRIPTION
                        "This group is mandatory for all managed modems."

                                OBJECT cmSystemWatchdogTime
                                MIN-ACCESS read-only
                                DESCRIPTION 
                                        "Write access is not required."
        ::= { ciscoModemMgmtMIBCompliances 4 }

ciscoModemMgmtMIBComplianceRev4 MODULE-COMPLIANCE
       STATUS  obsolete -- superceded by ciscoModemMgmtMIBComplianceRev5 
        DESCRIPTION
                "The compliance statement for entities which implement
                 the cisco Modem Management MIB"
        MODULE  -- this module
                MANDATORY-GROUPS {
                        cmGroupInfoGroup
                }
                GROUP cmLineSpeedInfoGroupRev1
                DESCRIPTION
                        "This group is mandatory only for managed modems."

                GROUP cmManagedLineInfoGroup
                DESCRIPTION
                        "This group is mandatory only for managed modems.
                         The following modifications may apply."

                        OBJECT cmTXAnalogSignalLevel
                        MIN-ACCESS not-accessible
                        DESCRIPTION
                                "Not supported for MICA or nextport modems."

                        OBJECT cmPollingTimeouts
                        MIN-ACCESS not-accessible
                        DESCRIPTION
                                "Status Polling not required."

                GROUP cmLineInfoGroup
                DESCRIPTION
                        "With the following modifications, this group
                         is mandatory for all modems."

                        OBJECT cmATModePermit
                        MIN-ACCESS not-accessible
                        DESCRIPTION
                                "AT Mode not required."

                        OBJECT cmHoldReset
                        MIN-ACCESS not-accessible
                        DESCRIPTION     
                                "HoldReset not required."

                        OBJECT cmStatusPolling
                        MIN-ACCESS not-accessible
                        DESCRIPTION
                                "Status Polling not required."

                GROUP cmSystemInfoGroupRev1
                DESCRIPTION
                        "With the following modifications, this group 
                         is mandatory for all modems."

                        OBJECT cmSystemWatchdogTime
                        MIN-ACCESS read-only
                        DESCRIPTION 
                                "Write access not supported."

                        OBJECT cmSystemStatusPollTime
                        MIN-ACCESS not-accessible
                        DESCRIPTION
                                "Status Polling not required."

                        OBJECT cmSystemMaxRetries
                        MIN-ACCESS not-accessible
                        DESCRIPTION
                                "Status Polling not required."

        ::= { ciscoModemMgmtMIBCompliances 5 }

ciscoModemMgmtMIBComplianceRev5 MODULE-COMPLIANCE
        STATUS  deprecated
        DESCRIPTION
                "The compliance statement for entities which implement
                 the cisco Modem Management MIB"
        MODULE  -- this module
                MANDATORY-GROUPS {
                        cmGroupInfoGroup
                }
                GROUP cmLineSpeedInfoGroupRev1
                DESCRIPTION
                  "This group is mandatory only for managed modems."

                GROUP cmManagedLineInfoGroupRev1
                DESCRIPTION
                  "This group is mandatory only for managed modems.
                   The following modifications may apply."

                   OBJECT cmTXAnalogSignalLevel
                   MIN-ACCESS not-accessible
                   DESCRIPTION
                           "Not supported for MICA or nextport modems."

                   OBJECT cmPollingTimeouts
                   MIN-ACCESS not-accessible
                   DESCRIPTION
                           "Status Polling not required."

                GROUP cmLineInfoGroup
                DESCRIPTION
                  "With the following modifications, this group
                   is mandatory for all modems."

                   OBJECT cmATModePermit
                   MIN-ACCESS not-accessible
                   DESCRIPTION
                           "AT Mode not required."

                   OBJECT cmHoldReset
                   MIN-ACCESS not-accessible
                   DESCRIPTION     
                           "HoldReset not required."

                   OBJECT cmStatusPolling
                   MIN-ACCESS not-accessible
                   DESCRIPTION
                           "Status Polling not required."

                GROUP cmSystemInfoGroupRev1
                DESCRIPTION
                  "With the following modifications, this group 
                   is mandatory for all modems."

                   OBJECT cmSystemWatchdogTime
                   MIN-ACCESS read-only
                   DESCRIPTION 
                           "Write access not supported."

                   OBJECT cmSystemStatusPollTime
                   MIN-ACCESS not-accessible
                   DESCRIPTION
                           "Status Polling not required."

                   OBJECT cmSystemMaxRetries
                   MIN-ACCESS not-accessible
                   DESCRIPTION
                           "Status Polling not required."

                GROUP cmNotificationConfigGroup
                DESCRIPTION
                   "This group is mandatory only for systems supporting
                    generation of modem notifications."


                GROUP cmNotificationGroup
                DESCRIPTION
                  "This group is mandatory only for systems supporting
                   generation of modem notifications."

        ::= { ciscoModemMgmtMIBCompliances 6 }

ciscoModemMgmtMIBComplianceRev6 MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                 the cisco Modem Management MIB"
        MODULE  -- this module
                MANDATORY-GROUPS {
                        cmGroupInfoGroup
                }
                GROUP cmLineSpeedInfoGroupRev2
                DESCRIPTION
                  "This group is mandatory only for managed modems."

                GROUP cmManagedLineInfoGroupRev2
                DESCRIPTION
                  "This group is mandatory only for managed modems.
                   The following modifications may apply."

                   OBJECT cmTXAnalogSignalLevel
                   MIN-ACCESS not-accessible
                   DESCRIPTION
                           "Not supported for MICA or nextport modems."

                   OBJECT cmPollingTimeouts
                   MIN-ACCESS not-accessible
                   DESCRIPTION
                           "Status Polling not required."

                GROUP cmLineInfoGroup
                DESCRIPTION
                  "With the following modifications, this group
                   is mandatory for all modems."

                   OBJECT cmATModePermit
                   MIN-ACCESS not-accessible
                   DESCRIPTION
                           "AT Mode not required."

                   OBJECT cmHoldReset
                   MIN-ACCESS not-accessible
                   DESCRIPTION     
                           "HoldReset not required."

                   OBJECT cmStatusPolling
                   MIN-ACCESS not-accessible
                   DESCRIPTION
                           "Status Polling not required."

                GROUP cmSystemInfoGroupRev1
                DESCRIPTION
                  "With the following modifications, this group 
                   is mandatory for all modems."

                   OBJECT cmSystemWatchdogTime
                   MIN-ACCESS read-only
                   DESCRIPTION 
                           "Write access not supported."

                   OBJECT cmSystemStatusPollTime
                   MIN-ACCESS not-accessible
                   DESCRIPTION
                           "Status Polling not required."

                   OBJECT cmSystemMaxRetries
                   MIN-ACCESS not-accessible
                   DESCRIPTION
                           "Status Polling not required."

                GROUP cmNotificationConfigGroup
                DESCRIPTION
                   "This group is mandatory only for systems supporting
                    generation of modem notifications."

                GROUP cmNotificationGroup
                DESCRIPTION
                  "This group is mandatory only for systems supporting
                   generation of modem notifications."

        ::= { ciscoModemMgmtMIBCompliances 7 }


-- units of conformance

cmSystemInfoGroup OBJECT-GROUP
        OBJECTS {
            cmSystemInstalledModem,
            cmSystemConfiguredGroup,
            cmSystemWatchdogTime,
            cmSystemStatusPollTime,
            cmSystemMaxRetries
        }
        STATUS  obsolete -- superseded by ciscoSystemInfoGroupRev1
        DESCRIPTION
                "A collection of objects providing system configuration and
                 status information." 
        ::= { ciscoModemMgmtMIBGroups 1 }

cmGroupInfoGroup OBJECT-GROUP
        OBJECTS {
            -- modem group info
            cmGroupTotalDevices,
            -- modem group members info
            cmPortIndex
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing modem configuration and
                 statistics information for modem groups." 
        ::= { ciscoModemMgmtMIBGroups 2 }

cmLineInfoGroup OBJECT-GROUP
        OBJECTS {
            -- status
            cmInterface,
            cmGroup,
            cmManufacturerID,
            cmProductDetails,
            cmManageable,
            cmState,
            cmDisconnectReason,
            cmCallDirection,
            cmCallDuration,
            cmCallPhoneNumber,
            cmCallerID,
            -- configurations
            cmATModePermit,
            cmStatusPolling,
            cmBusyOutRequest,
            cmShutdown,
            cmHoldReset,
            cmBad,
            -- statistics
            cmRingNoAnswers,
            cmFailedDialAttempts,
            cmWatchdogTimeouts
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing modem configuration and
                 statistics information for individual modem." 
        ::= { ciscoModemMgmtMIBGroups 3 }

cmManagedLineInfoGroup OBJECT-GROUP
        OBJECTS {
            cmModulationSchemeUsed,
            cmProtocolUsed,
            cmTXRate,
            cmRXRate,
            cmTXAnalogSignalLevel,
            cmRXAnalogSignalLevel,
            cmIncomingConnectionFailures,
            cmIncomingConnectionCompletions,
            cmOutgoingConnectionFailures,
            cmOutgoingConnectionCompletions,
            cmNoDialTones,
            cmDialTimeouts,
            cm2400OrLessConnections, -- deprecated
            cm2400To14400Connections, -- deprecated
            cmGreaterThan14400Connections, -- deprecated
            cmNoCarriers,
            cmLinkFailures,
            cmProtocolErrors,
            cmPollingTimeouts,
            cmTotalCallDuration
        }
        STATUS deprecated
        DESCRIPTION
                "A collection of objects providing modem configuration and
                 statistics information for individual managed modems."
        ::= { ciscoModemMgmtMIBGroups 4 }

cmLineSpeedInfoGroup OBJECT-GROUP
        OBJECTS {
             cmInitialLineConnections  -- deprecated
        }
        STATUS obsolete -- superceded by cmLineSpeedInfogroupRev1
        DESCRIPTION
                "A collection of objects providing modem configuration and
                 statistics information for individual managed modems."
        ::= { ciscoModemMgmtMIBGroups 5 }

cmSystemInfoGroupRev1 OBJECT-GROUP
        OBJECTS {
            cmSystemInstalledModem,
            cmSystemConfiguredGroup,
            cmSystemWatchdogTime,
            cmSystemStatusPollTime,
            cmSystemMaxRetries,
            cmSystemModemsInUse,
            cmSystemModemsAvailable,
            cmSystemModemsUnavailable,
            cmSystemModemsOffline,
            cmSystemModemsDead
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing system configuration and
                 status information." 
        ::= { ciscoModemMgmtMIBGroups 6 }

cmLineSpeedInfoGroupRev1 OBJECT-GROUP
        OBJECTS {
             cmInitialLineConnections,  -- deprecated
             cmInitialTxLineConnections,
             cmInitialRxLineConnections
        }
        STATUS deprecated 
        DESCRIPTION
                "A collection of objects providing modem configuration and
                 statistics information for individual managed modems."
        ::= { ciscoModemMgmtMIBGroups 7 }

cmManagedLineInfoGroupRev1 OBJECT-GROUP
        OBJECTS {

            cmModulationSchemeUsed,
            cmProtocolUsed,
            cmTXRate,
            cmRXRate,
            cmTXAnalogSignalLevel,
            cmRXAnalogSignalLevel,
            cmIncomingConnectionFailures,
            cmIncomingConnectionCompletions,
            cmOutgoingConnectionFailures,
            cmOutgoingConnectionCompletions,
            cmNoDialTones,
            cmDialTimeouts,
            cm2400OrLessConnections, -- deprecated
            cm2400To14400Connections, -- deprecated
            cmGreaterThan14400Connections, -- deprecated
            cmNoCarriers,
            cmLinkFailures,
            cmProtocolErrors,
            cmPollingTimeouts,
            cmTotalCallDuration
        }
        STATUS deprecated
        DESCRIPTION
                "A collection of objects providing modem configuration and
                 statistics information for individual managed modems."
        ::= { ciscoModemMgmtMIBGroups 8 }

cmNotificationConfigGroup OBJECT-GROUP
        OBJECTS {
            cmStateNotifyEnable
        }
        STATUS      current
        DESCRIPTION
            "Objects for configuring the notification behavior
             of this MIB.
            "
        ::= { ciscoModemMgmtMIBGroups 9 }

cmNotificationGroup NOTIFICATION-GROUP
        NOTIFICATIONS {
            cmStateNotification
        }
        STATUS current
        DESCRIPTION
            "The collection of notifications used for
             monitoring modem status"
        ::= { ciscoModemMgmtMIBGroups 10 }


cmLineSpeedInfoGroupRev2 OBJECT-GROUP
        OBJECTS {
             cmInitialTxLineConnections,
             cmInitialRxLineConnections
        }
        STATUS current
        DESCRIPTION
                "A collection of objects providing modem configuration and
                 statistics information for individual managed modems."
        ::= { ciscoModemMgmtMIBGroups 11 }

cmManagedLineInfoGroupRev2 OBJECT-GROUP
        OBJECTS {
            cmModulationSchemeUsed,
            cmProtocolUsed,
            cmTXRate,
            cmRXRate,
            cmTXAnalogSignalLevel,
            cmRXAnalogSignalLevel,
            cmIncomingConnectionFailures,
            cmIncomingConnectionCompletions,
            cmOutgoingConnectionFailures,
            cmOutgoingConnectionCompletions,
            cmNoDialTones,
            cmDialTimeouts,
            cmNoCarriers,
            cmLinkFailures,
            cmProtocolErrors,
            cmPollingTimeouts,
            cmTotalCallDuration
        }
        STATUS current
        DESCRIPTION
                "A collection of objects providing modem configuration and
                 statistics information for individual managed modems."
        ::= { ciscoModemMgmtMIBGroups 12 }

END
 
 
 
