-- ****************************************************************************
-- ****************************************************************************
--
--             Copyright(c) 2005 Mediatrix Telecom, Inc.
--
--  NOTICE:
--   This document contains information that is confidential and proprietary
--   to Mediatrix Telecom, Inc.
--
--   Mediatrix Telecom, Inc. reserves all rights to this document as well as
--   to the Intellectual Property of the document and the technology and
--   know-how that it includes and represents.
--
--   This publication cannot be reproduced, neither in whole nor in part in
--   any form whatsoever without written prior approval by
--   Mediatrix Telecom, Inc.
--
--   Mediatrix Telecom, Inc. reserves the right to revise this publication
--   and make changes at any time and without the obligation to notify any
--   person and/or entity of such revisions and/or changes.
--
-- ****************************************************************************
-- ****************************************************************************

MX-DSL-MIB
DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Unsigned32
    FROM SNMPv2-SMI
        MODULE-COMPLIANCE,
        OBJECT-GROUP
    FROM SNMPv2-CONF
        mediatrixMgmt,
        mediatrixConfig
    FROM MX-SMI;

dslMIB MODULE-IDENTITY
    LAST-UPDATED "200501050000Z"
    ORGANIZATION "Mediatrix Telecom, Inc."
    CONTACT-INFO "Mediatrix Telecom, Inc.
                  4229, Garlock Street
                  Sherbrooke (Quebec)
                  Canada
                  Phone: (819) 829-8749
                  "
    DESCRIPTION "This MIB describes the parameters used by the DSL module."
    -- ************************************************************************
    -- Revision history
    -- ************************************************************************
    REVISION    "200501260000Z"
    DESCRIPTION "Creation."
    REVISION    "200501310000Z"
    DESCRIPTION "Revision by reviewer."
    REVISION    "200502080000Z"
    DESCRIPTION "Corrections."

    ::= { mediatrixConfig 250 }

dslMIBObjects  OBJECT IDENTIFIER ::= { dslMIB 1 }
dslConformance OBJECT IDENTIFIER ::= { dslMIB 2 }

dslStatus  OBJECT IDENTIFIER ::= { mediatrixMgmt 100 }

-- Add the dsl general parameters
    dslModulation OBJECT-TYPE
        SYNTAX      INTEGER {
                               mMode(1),
                               t1413(2),
                               gDmt(3),
                               gLite(4),
                               adsl2(8),
                               adsl2Delt(9),
                               adsl2Plus(16),
                               adsl2PlusDelt(17)
                            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Sets the modulation for the DSL modem.
                     The accepted values for the configuration are:
                         mMode: Autodetects the modulation of the DSLAM.
                         t1413: T1.413 modulation mode. Supports the T1.413 standard.
                         gDmt: G.DMT modulation mode. Supports the G992.1 standard.
                         gLite: G.Lite modulation mode. Supports the G992.2 standard.
                         adsl2: ADSL2 modulation mode. Supports the G992.3 standard.
                         adsl2Delt: ADSL2 DELT modulation mode. Supports the G992.3 DELT standard.
                         adsl2Plus: ADSL2+ modulation mode. Supports the G992.5 standard.
                         adsl2PlusDelt: ADSL2+ DELT modulation mode. Supports the G992.5 DELT standard."
        DEFVAL { mMode }
        ::= { dslMIBObjects 50 }

    dslModemState OBJECT-TYPE
        SYNTAX      INTEGER {
                              unconnected(0),
                              connecting(1),
                              connected(2)
                            }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Displays the current state of the DSL modem.
                     Correct values are:
                     unconnected: The modem is waiting for a connection or a modulation change.
                     connecting: The modem is connected and getting ready to perform with a specific
                                    modulation. Training between the modem and DSLAM is taking place.
                     connected: The modem is connected and ready to transmit and receive."
        ::= { dslStatus 100 }

    dslTrainedPath OBJECT-TYPE
        SYNTAX      INTEGER {
                               fast(0),
                               interleaved(1)
                            }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Displays the trained path type of the DSL modem.
                     The accepted values for the configuration are:
                         fast: Fast path
                         interleaved: Interleaved path"
        ::= { dslStatus 150 }

    dslTrainedModulation OBJECT-TYPE
        SYNTAX      INTEGER {
                               notTrained(0),
                               t1413(2),
                               gDmt(3),
                               gLite(4),
                               adsl2(8),
                               adsl2Delt(9),
                               adsl2Plus(16),
                               adsl2PlusDelt(17)
                            }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Displays the trained modulation of the DSL modem.
                     The values meaning are:
                         notTrained(0): The modem has not trained with the DSLAM.
                         t1413: T1.413 modulation mode. Supports the T1.413 standard.
                         gDmt: G.DMT modulation mode. Supports the G992.1 standard.
                         gLite: G.Lite modulation mode. Supports the G992.2 standard.
                         adsl2: ADSL2 modulation mode. Supports the G992.3 standard.
                         adsl2Delt: ADSL2 DELT modulation mode. Supports the G992.3 DELT standard.
                         adsl2Plus: ADSL2+ modulation mode. Supports the G992.5 standard.
                         adsl2PlusDelt: ADSL2+ DELT modulation mode. Supports the G992.5 DELT standard."
        ::= { dslStatus 200 }

    -- *************************************************************************
    -- dslModemStats
    -- *************************************************************************
    dslModemStats    OBJECT IDENTIFIER ::= { dslStatus 5000 }

        dslModemTxConnectionRate OBJECT-TYPE
                SYNTAX      Unsigned32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION "Rate (KBps) of the upstream connection."
                ::= { dslModemStats 50 }

        dslModemRxConnectionRate OBJECT-TYPE
                SYNTAX      Unsigned32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION "Rate (KBps) of the downstream connection."
                ::= { dslModemStats 100 }

        dslModemTxLineAttenuation OBJECT-TYPE
                SYNTAX      Unsigned32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION "Upstream line attenuation (dB). "
                ::= { dslModemStats 150 }

        dslModemRxLineAttenuation OBJECT-TYPE
                SYNTAX      Unsigned32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION "Downstream line attenuation (dB)."
                ::= { dslModemStats 200 }

        dslModemTxMargin OBJECT-TYPE
                SYNTAX      Unsigned32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION "Upstream line margin (dB). "
                ::= { dslModemStats 250 }

        dslModemRxMargin OBJECT-TYPE
                SYNTAX      Unsigned32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION "Downstream line margin (dB)."
                ::= { dslModemStats 300 }

        dslModemTxPayload OBJECT-TYPE
                SYNTAX      Unsigned32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION "Upstream payload size (bytes)."
                ::= { dslModemStats 350 }

        dslModemRxPayload OBJECT-TYPE
                SYNTAX      Unsigned32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION "Downstream payload size (bytes)."
                ::= { dslModemStats 400 }

        dslModemTxSuperframeCnt OBJECT-TYPE
                SYNTAX      Unsigned32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION "Counter indicating the number of superframes sent since the last reset."
                ::= { dslModemStats 450 }

        dslModemRxSuperframeCnt OBJECT-TYPE
                SYNTAX      Unsigned32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION "Counter indicating the number of superframes received since the last reset."
                ::= { dslModemStats 500 }

        dslModemLossOfSignalCount OBJECT-TYPE
                SYNTAX      Unsigned32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION "Counts how many loss of signal occurred since the last reset"
                ::= { dslModemStats 650 }

        dslModemSeverlyErroredFrameCount OBJECT-TYPE
                SYNTAX      Unsigned32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION "Counts how many severly errored frames were received since the last reset"
                ::= { dslModemStats 700 }

        dslModemTxPeakCellRate OBJECT-TYPE
                SYNTAX      Unsigned32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION "Peak (ATM) cell rate observed by the modem (cells per second)."
                ::= { dslModemStats 750 }

    -- *************************************************************************
    -- dslModemStats / interleavedPath
    -- *************************************************************************
        interleavedPath    OBJECT IDENTIFIER ::= { dslModemStats 5000 }

        interleavedPathRxCrcError OBJECT-TYPE
                SYNTAX      Unsigned32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION "Counter indicating the number of CRC errors received by the interleaved path since
                             the last reset."
                ::= { interleavedPath 100 }

        interleavedPathTxCrcError OBJECT-TYPE
                SYNTAX      Unsigned32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION "Counter indicating the number of CRC errors caused by the modem interleaved path
                             since the last reset."
                ::= { interleavedPath 50 }

    -- *************************************************************************
    -- dslModemStats / fastPath
    -- *************************************************************************
        fastPath    OBJECT IDENTIFIER ::= { dslModemStats 8000 }

        fastPathTxCrcError OBJECT-TYPE
                SYNTAX      Unsigned32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION "Counter indicating the number of CRC errors caused by the modem fast path since
                             the last reset."
                ::= { fastPath 50 }

        fastPathRxCrcError OBJECT-TYPE
                SYNTAX      Unsigned32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION "Counter indicating the number of CRC errors received by the fast path since the last
                             reset."
                ::= { fastPath 100 }

    -- *************************************************************************
    -- Conformance information
    -- *************************************************************************
    dslCompliances OBJECT IDENTIFIER ::= { dslConformance 1 }

        dslComplVer1 MODULE-COMPLIANCE
            STATUS      current
            DESCRIPTION "List of groups required to support a DSL Modem."
            MODULE  -- This Module
            MANDATORY-GROUPS {
                                dslModemVer1,
                                dslStatsVer1
                             }
            ::= { dslCompliances 1 }

    -- *************************************************************************
    --  MIB variable grouping
    -- *************************************************************************
    dslGroups OBJECT IDENTIFIER ::= { dslConformance 5 }

        dslModemVer1 OBJECT-GROUP
            OBJECTS {
                    dslModulation
                    }
            STATUS current
            DESCRIPTION  "A collection of objects that defines the characteristics of a DSL modem."
        ::= { dslGroups 50 }

        dslStatsVer1 OBJECT-GROUP
            OBJECTS {
                        dslModemState,
                        dslTrainedPath,
                        dslTrainedModulation,
                        dslModemTxConnectionRate,
                        dslModemRxConnectionRate,
                        dslModemTxLineAttenuation,
                        dslModemRxLineAttenuation,
                        dslModemTxMargin,
                        dslModemRxMargin,
                        dslModemTxPayload,
                        dslModemRxPayload,
                        dslModemTxSuperframeCnt,
                        dslModemRxSuperframeCnt,
                        dslModemLossOfSignalCount,
                        dslModemSeverlyErroredFrameCount,
                        dslModemTxPeakCellRate,
                        interleavedPathRxCrcError,
                        interleavedPathTxCrcError,
                        fastPathTxCrcError,
                        fastPathRxCrcError
                    }
            STATUS current
            DESCRIPTION  "A collection of objects that defines the statistics of a DSL modem."
        ::= { dslGroups 100 }

END
