INTERNET-DRAFT              ADSL Line MIB               Gregory Bathrick
                                                AG Communication Systems
                                                        October 30,
                                                                 Faye Ly
                                                Copper Mountain Networks
                                                       November 16, 1998

                     Definitions of Managed Objects
                           for the ADSL Lines

                            October 30,

                           November 16, 1998

                 draft-ietf-adslmib-adsllinemib-02.txt

                 draft-ietf-adslmib-adsllinemib-03.txt

   1.  Status of this Memo

   This document is an Internet-Draft.  Internet-Drafts are working
   documents of the Internet Engineering Task Force (IETF), its areas,
   and its working groups. Note that other groups may also distribute
   working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as ``work in progress.''

   To view the entire list of current Internet-Drafts, please check the
   "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
   Directories on ftp.is.co.za (Africa), ftp.nordu.net (Northern
   Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au (Pacific
   Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu (US West Coast).

   2.  Abstract

   This document defines a standard SNMP MIB for ADSL lines based on the
   ADSL Forum standard data model [9].  The model assumed by this MIB is
   that the SNMP agent's perspective is from the ADSL standard describes
   ATU-C side which acts and ATU-R as a proxy for two sides of the ATU-R.  Each ADSL line.  This MIB instance includes information for
   both ends of a single line, i.e., covers both the
   ATU-C and ATU-R. ATU-R agent's perspectives.  Each instance defined in the
   MIB represents a single ADSL line.

   It should be noted that much of the content for the first version
   (v00) of this document came from work completed by the ADSL Forum's
   Network Management working group and documented in ADSL Forum TR-006 "SNMP-
   based
   "SNMP-based ADSL Line MIB"[9].   See Acknowledgement Section for a
   list of individuals involved with this effort.

   3.  The SNMP Network Management Framework

   The SNMP Management Framework presently consists of five major
   components:

   o    An overall architecture, described in RFC 2271 [13].

   o    Mechanisms for describing and naming objects and events for
        the purpose of management.  The first version of this
        Structure of Management Information (SMI) is called SMIv1 and
        described in RFC 1155 [14], RFC 1212 [15] and RFC 1215 [16].
        The second version, called SMIv2, is described in RFC 1902
        [1], RFC 1903 [2] and RFC 1904 [17].

   o    Message protocols for transferring management information.
        The first version of the SNMP message protocol is called
        SNMPv1 and described in RFC 1157 [7].  A second version of
        the SNMP message protocol, which is not an Internet standards
        track protocol, is called SNMPv2c and described in RFC 1901
        [18] and RFC 1906 [19].  The third version of the message
        protocol is called SNMPv3 and described in RFC 1906 [19], RFC
        2272 [20] and RFC 2274 [21].

   o    Protocol operations for accessing management information.
        The first set of protocol operations and associated PDU
        formats is described in RFC 1157 [7].  A second set of
        protocol operations and associated PDU formats is described
        in RFC 1905 [8].

   o    A set of fundamental applications described in RFC 2273 [22]
        and the view-based access control mechanism described in RFC
        2275 [23].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  Objects in the MIB are
   defined using the mechanisms defined in the SMI.

   This document specifies a MIB module that is compliant to the SMIv2.
   A MIB conforming to the SMIv1 can be produced through the appropriate
   translations.  The resulting translated MIB must be semantically
   equivalent, except where objects or events are omitted because no
   translation is possible (e.g., use of Counter64).  Some machine
   readable information in SMIv2 will be converted into textual
   descriptions in SMIv1 during the translation process.  However, this
   loss of machine readable information is not considered to change the
   semantics of the MIB.

   4.  Object Definitions

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  Objects in the MIB are
   defined using the extented extended subset of Abstract Syntax Notation One
   (ASN.1) defined in the SMI.  In particular, each object type is named
   by an OBJECT IDENTIFIER, an administratively assigned name.  The
   object type together with an object instance serves to uniquely
   identify a specific instantiation of the object.  For human
   convenience, we often use a textual string, termed the descriptor, to
   also refer to the object type.

   5.  Introduction

   This document describes an ADSL Line MIB which is intended to work
   within the SNMP Network Management Framework (section 3).  All MIB
   definitions are backward compatible for SNMPv1 implementation.

   The MIB definitions are attached. The MIB will eventually be located
   in the MIB tree under mib-2 transmission, further discussed in
   section 6 of this document.

   6.  Relationship of the ADSL LINE MIB with standard MIBs

   This section outlines the relationship of ADSL Line MIB with other
   MIBs described in RFCs and in their various degrees of
   "standardization".

   6.1  Use of the IfTable

   The ADSL LINE MIB specifies the detailed attributes of a data
   interface.  As such, it needs to integrate with IF-MIB [5].  The IANA
   has assigned the following ifType(s) relative to ADSL:

       IANAifType ::= TEXTUAL-CONVENTION

           . . .

       SYNTAX INTEGER {

                . . .

           adsl(94),    -- Asymmetric Digital Subscriber Loop

                . . .

           adslInterleave(124),    -- ADSL Interleaved Channel
           adslFast(125),          -- ADSL Fast Channel

                . . .          }

   Interfaces of each of these types are modeled by this document.
   Pending approval of the IANA, under the advisement from IESG, adslMIB
   will be used as the root of this MIB and will be assigned to the
   value { transmission 94 }.

   Most MIB tables in this document represent information of one of
   these interface types and are indexed by ifIndex.  Remaining are
   `profile' tables which may be accessed by the profileIndex.  This is
   explained in more detail in section 7.4 Profiles.

   6.1.1  ADSL Interface Types

   As shown below, three ADSL interface types are defined in this
   document, namely physical, interleaved channel, and fast channel.
   The physical interface represents characteristics of the physical
   media associated with both the ATUC and ATUR.  The interleaved and
   fast channel interface represent the characteristics of the two types
   of ADSL channels.

   For each ADSL Line, a physical interface always exists.   Depending
   on which ADSL operational configuration is present (as listed in
   Figure 5), the channel interfaces (fast or interleaved) may or may
   not exist.

               ______                      ______
              |      |____________________|      |
              | ATUC |                    | ATUR |
              |      |____________________|      |
              |______|                    |______|

                 | <----- physical --------> |

                 | <--- fast channel ------> |
                 | <- interleaved channel -> |

                           Figure 1: ADSL Model

   6.1.2  Use of IF-MIB  (Interface MIB RFC 2233) [5]

   The following attributes are part of the neccesary required
   ifGeneralInformationGroup object group specified in RFC 2233 [5], and
   are not duplicated in the ADSL MIB.  Keep in mind that these objects
   apply to the agent's view of the line.

              ifTable Object    Use for ADSL
   ==================================================================
              ifIndex           Interface index.

              ifDescr           See interfaces MIB [5]

              ifType            physical    - adsl(94)
                                fast        - adslFast(125)
                                interleaved - adslInterleave(124)

              ifSpeed           Transmit rate from the perpective perspective
                                of the agent.

                                physical      - line rate
                                fast          - channel rate
                                interleaved   - channel rate

              ifPhysAddress     This object should have an octet string
                                with zero length.

              ifAdminStatus     See interfaces MIB [5]

              ifOperStatus      See interfaces MIB [5]

                                Supplemented by adslAturCurrStatus and
                                adslAturCurrStatus

              ifLastChange      See interfaces MIB [5]

              ifName            See interfaces MIB [5]

              ifLinkUpDownTrapEnable   See interfaces MIB [5]
                                Default set as follows:

                                physical      - enabled(1)
                                fast          - disabled(2)
                                interleaved   - disabled(2)

              ifHighSpeed       Speed of line in Mega-bits per second
                                (ifSpeed/1,000,000)

              ifConnectorPresent See interfaces MIB [5]

                                Default set as follows:

                                physical      - true(1)
                                fast          - false(2)
                                interleaved   - false(2)

              ifAlias           See interfaces MIB [5]

              ifTableLastChange See interfaces MIB [5]

   ==================================================================

        Figure 2: Use of ifTable Objects: ifGeneralInformationGroup

   Use of the ifStackTable to associate the entries for physical, fast,
   interleaved channels, and higher layers (e.g., ATM) is shown below in
   figure 3.  Use of ifStackTable is necessary, because configuration
   information is stored in profile tables associated with the
   physical-layer ifEntry only.  The channels' ifEntrys need the
   ifStackTable to find their associated physical-layer entry and thus
   their configuration parameters.  (See Profile section, 7.4).

               ______       (ifEntry=j)        ______
              |      |      fast channel      |      |
              |      |________________________|      |
              |      |        and/or          |      |
              |      |                        |      |
              |      |     (ifEntry=k)        |      |
              |      |   interleaved channel  |      |
              |      |________________________|      |
              | ATUC |                        | ATUR |
              |      |                        |      |
              |      |     (ifEntry=i)        |      |
              |      |      physical          |      |
              |      |________________________|      |
              |______|                        |______|

                  Figure 3: Use of ifStackTable (part 1)

   The ifStackTable is then used to show the relationships between the
   various ADSL interfaces, as illustrated below in figure 4.

                     HigherLayer   LowerLayer
                    --------------------------
                         j             i
                         k             i

                  Figure 4: Use of ifStackTable (part 2)

   The ifRcvAddressTable is not applicable for ADSL interfaces.

   6.2  Relationship with RFC 2037 [25]

   Implementation of the Entity MIB [25] is optional.  It in no way
   alters the information required in the adslLineMib, nor does it alter
   the relationship with IF-MIB.

   The Entity MIB introduces a standardized way of presenting the
   components of complex systems, such as a Digital Subscriber Line
   Access Multiplexer (DSLAM), that may contain multiple racks, shelves,
   line cards, and/or ports.   The Entity MIB's main goal is to present
   these system components, their containment relationship, and mapping
   information with other MIBs such as the Interface MIB and the
   adslLineMib.

   If implemented, the Entity MIB should include entities for the ATU-C
   in the entPhysicalTable.  The MIB's entAliasMappingTable would
   contain mapping information identifying the `ifIndex' object
   associated with each ATU-C.  Also associating the relationship
   between the ifTable and Entity MIB, the entPhysicalTable contains an
   `entPhysicalName' object, which approximates the semantics of the
   `ifName' object from the Interface MIB.

   7.  Conventions used in the MIB
   7.1  Naming Conventions

   A. Atuc/Atur are used for the ATU-C and ATU-R.  In other RFCs, these
   are sometimes referred to as the Near End (Ne) and Far End (Fe)
   respectively, but not in this document.

   B. The terms, "transmit" and "receive", are from the perspective of
   the corresponding table's end of the line.  For example,
   adslAtucChanConfMaxTxRate defines the "downstream" rate, while
   adslAturChanConfMaxTxRate defines the "upstream" rate for a
   particular channel.

   C. There are two possible channels: fast, and interleaved.  None, one
   or both may be implemented on a particular ADSL Line.  Figure 5
   illustrates all possible operational configurations.

   D. Lof, Lol, Los, Lpr mean Loss of Framing, Link, Signal, and Power,
   respectively.  Lpr is used by T1E1, so it is used for consistency
   (rather than Lop).

   A Loss of Link condition is declared at the ATU-C if a Loss of Signal
   is not preceded by a `dying-gasp' message from the ATU-R.  Note that
   Loss of Link is only supported by the ATU-C.

   E. ES means errored second. An Errored Second is any second
   containing one or more CRC anomaly, or one or more Los(s) or Severely
   Errored Frame (Sef) defect(s).

   F. A "block" is a physical-layer `data buffer' over which CRCs are
   calculated.  For example, in DMT, the block is defined as the ADSL
   superframe.  The block duration is 250 micro-seconds so the block
   length in bytes, as defined in adslAtu*ChanCrcBlockLength, varies
   with data rate.  See Line Code Specific MIBs [11] [12] for more line
   code specific information.

   G. Atn means Attenuation, Psd is Power Spectral Density and Snr is
   Signal to Noise Ratio.

   H. LCS means line code specific, e.g.,

      o DMT = Discrete MultiTone

      o CAP = Carrierless Amplitude and Phase modulation and

      o QAM = Quadrature Amplitude Modulation

   I. Vendor (in the Inventory objects) refers to the manufacturer of
   the ATU-C or ATU-R assembly, not the modem chip vendor. When in
   doubt, use the manufacturer of the smallest field replaceable unit
   (e.g., stand-alone modem box, plug-in board).

   7.2  Structure

   The MIB has multiple parallel tables.  There are tables for:

      o line -  common attributes

      o atuc and atur status

      o atuc and atur performance

          - Current and up to 96 buckets of 15 min performance history

          - Current and Previous 1-day bucket performance history

      o profiles - configuration parameters and alarm parameters

   There are separate tables for Physical and Channel layers.  Since
   their attributes are similar, only one set of "channel" tables are
   defined to be used for both fast and interleaved channels. The
   corresponding ifType gives the proper interpretation for that
   ifEntry.

   Finally, there are separate LCS tables, also for each end. These are
   currently stubs. These will each be separate MIB Modules.

   There could have been fewer tables by combining the ATU-C and ATU-R
   information into shared tables. However, the tables are more easily
   read when there are two identical sets of data.

   The figure below lists the five possible ADSL operational
   configurations. (indicated by the value of the adslLineType).  In all
   configurations, the physical line interface entry will exist.
   However, the existence of the ADSL channel varies in each case, as
   shown below.

       Table                         Phys     Fast  Interleaved
   ___________________________________________________________
     No Channels (1)               |  Y    |        |        |
     Fast Only (2)                 |  Y    |   Y    |        |
     Interleaved Only (3)          |  Y    |        |   Y    |
     Fast or Interleaved (4)       |  Y    |   Y    |   Y    |
     Fast and Interleaved (5)      |  Y    |   Y    |   Y    |
                 Figure 5: ADSL Operational configurations

   NOTE: In (4), channel exists of either Fast or Interleaved type, but
   not both.   The Manager may select the type of channel to be used.

   Depending on which operation configuration exists, some or all ADSL
   MIB tables could be supported, as shown in below.  See Conformance
   Statements for more information on which objects are mandatory.

       Table                         Phys     Fast  Interleaved
   ___________________________________________________________
     adslLineTable                  |  Y    |        |        |
     adslAtucPhysTable              |  Y    |        |        |
     adslAturPhysTable              |  Y    |        |        |
     adslAtucChanTable              |       |   Y    |   Y    |
     adslAturChanTable              |       |   Y    |   Y    |
     adslAtucPerfDataTable          |  Y    |        |        |
     adslAturPerfDataTable          |  Y    |        |        |
     adslAtucIntervalTable          |  Y    |        |        |
     adslAturIntervalTable          |  Y    |        |        |
     adslAtucChanPerfDataTable      |       |   Y    |   Y    |
     adslAturChanPerfDataTable      |       |   Y    |   Y    |
     adslAtucChanIntervalTable      |       |   Y    |   Y    |
     adslAturChanIntervalTable      |       |   Y    |   Y    |

       Figure 6: Use of ADSL MIB Tables with various ifIndex values

   NOTE: The adslLineConfProfileTable and adslLineAlarmConfProfileTable
   will be present for all scenarios.  See Profile Section of this
   document for implementation details such as profile creation,
   assignment, and indexing.

   7.2.1 Structure of Conformance Groups

   The MIB is organized to cover both ends of the ADSL line, ATU-C and
   ATU-R.  Objects defined can be categorized into two groups:  the
   ATU-C group which provides objects that are supported by ATU-C agents
   and the ATU-R group which provides objects that are supported by
   ATU-R agents.  These two groups are defined by the conformance
   section of the MIB.  All objects defined in the MIB module are
   supported by the ATU-C agent and only portions of the objects are
   supported by the ATU-R agent.  Figure 7 lists all tables/objects that
   are supported by the ATU-R agent.

              Table                         Objects
             _______________________________________________________
              adslLineTable                 adslLineCoding
              adslAtucPhysTable             adslAtucInvVendorID
                                            adslAtucInvVersionNumber
                                            adslAtucCurrStatus (Partial)
                                            adslAtucCurrOutputPwr
                                            adslAtucCurrAttainableRate
              adslAturPhysTable             all are supported
              adslAtucChanTable             all except
                                            adslAtucChanCrcBlockLength
                                            are supported
              adslAtucPerfDataTable         all except
                                            adslAtucPerfLols, adslAtucPerfLprs
                                            adslAtucPerfCurr1DayLols,
                                            adslAtucPerfCurr1DayLprs,
                                            adslAtucPerfPrev1DayLols and
                                            adslAtucPerfPrev1DayLprs
                                            are supported
              adslAturPerfDataTable         all are supported
              adslAtucIntervalTable         adslAtucIntervalLofs
                                            adslAtucIntervalLoss
                                            adslAtucIntervalESs
                                            adslAtucIntervalInits
                                            adslAtucIntervalValidData
              adslAturIntervalTable         all are supported
              adslAtucChanPerfDataTable     all are supported
              adslAturChanPerfDataTable     all are supported
              adslAtucChanIntervalTable     all are supported
              adslAturChanIntervalTable     all are supported
              adslLineConfProfileTable      not supported
              adslLineAlarmConfProfileTable all are supported except
                                            adslAtucThresh15MinLols
                                            and adslAtucThresh15MinLprs
   --------------------------------------------------------------------

                 Figure 7: MIB Tables and Objects Supported by the ATU-R Agent

   All traps supported by the ATU-R agent are also listed:

                 adslAtucPerfLofsThreshTrap
                 adslAtucPerfLossThreshTrap
                 adslAtucPerfESsThreshTrap
                 adslAtucRateChangeTrap
                 adslAtucInitFailureTrap
                 adslAturPerfLofsThreshTrap
                 adslAturPerfLossThreshTrap
                 adslAturPerfESsThreshTrap
                 adslAturRateChangeTrap
   7.3  Counters, Interval Buckets and Thresholds

   For physical-level ES, Los, Lof, Lol, Lpr and line initialization
   attempts, there are event counters, current 15-minute and one (up to
   96) 15-minute history bucket(s) of "interval-counters", as well as
   current and previous 1-day interval-counters.

   There is no requirement for an agent to ensure fixed relationship
   between the start of a fifteen minute and any wall clock; however
   some implementations may align the fifteen minute intervals with
   quarter hours.  Likewise, an implementation may choose to align one
   day intervals with start of a day.

   In all cases, the sum of the corresponding 15-minute interval timers
   for the current day should equal the current 1-day timers. However,
   in most cases, this will not be the sum of all 96 intervals, as they
   represent a rolling set of data.

   At the channel level, there are counters for total received blocks,
   received-and-corrected blocks, received-but-uncorrectable blocks, and
   transmitted blocks. There are the same set of 15-minute and 1-day
   buckets as at the physical layer.

   Separate tables are provided for the 96 interval-counters. They are
   indexed by {ifIndex, AdslAtu*IntervalNumber}.

   Every physical layer object with a 15 minute current bucket also has
   a 15-min threshold trap.

   Counters are not reset when an ATU-C is reinitialized, only when the
   agent is reset or reinitialized (or under specific request outside
   the scope of this MIB).

   7.4  Profiles

   As a managed node can handle a large number of ATU-Cs (e.g., hundreds
   or perhaps thousands of ADSL lines), provisioning every parameter on
   every ATU-C may become burdensome.  In response, two MIB tables have
   been created to define ADSL equipment configuration data profiles, as
   well as a mechanism to associate the equipment to these profiles.
   This concept is similar to the one used in ATM MIB (RFC 1695[24])  to
   define ATM traffic descriptor sets.

   Profile tables may be implemented in one of two ways, but not
   simultaneously:

      o MODE-I: Dynamic Profiles - one profile shared by one or multiple
      ADSL lines.

      o MODE-II: Static Profiles - one profile per ADSL physical line
      always.

   7.4.1  MODE-I : Dynamic Profiles

   Implementations using this mode will enable the manager to
   dynamically create and delete profiles as needed.  The index of the
   profile is an arbitrary integer in the range 1..N, where N is locally-unique administratively assigned name for the
   maximum number of profiles supported by
   profile having the equipment and is
   implementation specific. textual convention `SnmpAdminString'
   (RFC2271[13]).

   One or more ADSL lines may be configured to share parameters of a
   single profile (say adslLineConfProfileIndex (e.g., adslLineConfProfileName = `n') `silver') by setting their
   its adslLineConfProfile objects to the index value of profile's index (n). this profile.
   If a change is made to Profile-n, the profile, all lines that refer to it will
   be re-configured to the changed parameters.

   The next  Before a profile can be
   deleted or taken out of service it must be first unreferenced from
   all associated lines.

   This figure below shows an example of how this mode can be
   implemented.  In the example, ADSL lines `1' and `x' share the
   configuration in
   Profile-n, of the `silver' profile, while line `2' uses Profile-1.  Please note that all three
   entries for each ADSL line, the physical layer, fast channel, and
   interleaved channel are represented by "i", "j", and "k".  However,
   only the physical-layer entry "i" contains an adslLineTable entry, so
   only those entries contain pointers to the adslConfProfileEntry.
   `platinum' profile.  The
   ifStackTable (see rfc2233 [5]) must be used to link the channel
   entries to the corresponding physical layer entry to get the
   channel's configuration parameters. `gold' profile has no lines associated with
   it.

   ADSL    ifIndex      ifTable                       Configuration Line
   Profile Table
   __________________________________________________________________

   1         i1         ADSL Line --           ---> Platinum Profile 1
             j1         Fast Chan    |        |
             k1         Int Chan     |        |
                                     |        ^
                                     v        |     Gold Profile

   2

   2         i2         ADSL Line ------->----
             j2         Fast Chan    |
             k2         Int Chan     |
                                     |
                                     |
                                     |
                                     v

   x         ix         ADSL Line    ------>------->    ------>------> Silver Profile X
             jx         Fast Chan  ---------------->  --------------->
             kx         Int Chan
   __________________________________________________________________

                 Figure 7: 8: Use of Profiles in Dynamic Profiles: MODE-I

   In the figure above, note that three interface entries of an ADSL
   line, physical, fast channel, and interleaved channel, are
   represented by `i', `j', and `k'.  Only the physical-layer entry `i'
   contains an adslLineTable entry, therefore only those entries contain
   pointers to the adslConfProfileTable.  The ifStackTable (see rfc2233
   [5]) can be used to link the channel entries to the corresponding
   physical layer entry to get the channel's configuration parameters.
   See figure 4 for use of the ifStackTable.

   The same is true characteristics and mechanisms are present for the alarm
   profile (not shown), although there type. There is no requirement that its index (call it "m") be the same as
   the configuration profile.

   In this mode, profiles are allocated created, assigned, and deleted dynamically, and six dynamically
   using these four objects: adslLineConfProfile, adslLineConfProfileIndexNext,
   adslLineConfProfileRowStatus, adslLineAlarmProfile,
      adslLineAlarmConfProfileIndexNext,  and
      adslLineAlarmConfProfileRowStatus

   are all used in conjunction with profiles.
   adslLineAlarmConfProfileRowStatus.

   7.4.2  MODE-II : Static Profiles

   Implementations with this mode will automatically create a profile
   one-for-one with each ADSL line physical entry with the profileIndex
   being the same as the ifIndex entry.  The name of the corresponding ADSL line entry
   ("ix").   In this mode, the Agent will not allow
   profile is a system generated read-only object whose value is
   equivalent to the index of the physical line.  The Agent will not
   allow a Manager to create/delete profiles in this mode.  Therefore, the
   adslLineConfProfile, adslLineConfProfileIndexNext, adslLineConfProfileRowStatus,
   adslLineAlarmProfile,
   adslLineAlarmConfProfileIndexNext, and adslLineAlarmConfProfileRowStatus objects
   have minimal value in this mode as each line has a unique, fixed profile that is not shared with
   other lines.  These six variables and are read-only in this mode. read-only.

   The figure below shows an example of this mode. In the example, ADSL
   lines `1', `2', and `x' each have their own profiles.

   ADSL    ifIndex      ifTable                       Configuration Line
   Profile Table
   __________________________________________________________________

   1         i1         ADSL Line      ------------>  Profile 1
             j1         Fast Chan
             k1         Int Chan
   2         i2         ADSL Line      ------------>  Profile 2
             j2         Fast Chan
             k2         Int Chan

   x         ix         ADSL Line      ------------>  Profile X
             jx         Fast Chan
             kx         Int Chan
   __________________________________________________________________

                 Figure 8: User Profiles in 9: Use of Static Profiles: MODE II

   7.5  Traps

   These SNMP traps are required: coldStart / warmStart (per [6]) --
   which are per agent (e.g., per DSLAM in such a device), and linkUp /
   linkDown (per [5]) -- which are per interface (i.e., ADSL line).
   Note: RFC 2233 [5] recommends that linkUp / linkDown only be used at
   a physical layer ifEntry, as discussed above.

   A linkDown trap is generated whenever any of Lof, Los, Lol, or Lpr
   occurs.  At this operational point, a manager can use
   adslAtu*CurrStatus for additional detailed information. The
   corresponding linkUp trap is sent when all link failure conditions
   are cleared.

   The traps defined in this MIB are for initialization failure, rate
   change, and for the threshold crossings associated with the following
   events: Lofs, Lols, Loss, Lprs, and ESs.  Each threshold has its own
   enable/threshold value. When that value is 0, the trap is disabled.

   The objects adslAtu*CurrStatus indicate, through a bitmask, all
   outstanding error conditions or that the line is operational.  Note
   that each object claims to represent the status of the modem at that
   end of the line.  However, since the SNMP agent co-resides with the
   ATU-C, adslAturCurrStatus may be incomplete. For example, when there
   are errors on the line, the ATU-R may not be able to correctly report
   this condition. Therefore, not all conditions are included in
   adslAturCurrStatus.

   A threshold trap occurs whenever the corresponding current 15-minute
   interval error counter becomes equal to the threshold value.  Since
   the current 15-minute counter are reset to 0 every 15 minutes, if the
   condition persists, the trap may recur as often as every 15 minutes.
   For example, to get a trap whenever a "loss of" event occurs (but at
   most once every 15 minutes), set the corresponding "Thresh15Min" to
   1.  The agent will generate a trap when the event originally occurs.

   Note that the NMS will get a linkDown trap, as well, if enabled.  At
   the beginning of the next 15 minute interval, the counter is reset.
   When the first second goes by, the current interval bucket will be 1,
   which equals the threshold, threshold and the trap will be sent again.

   The rate change trap is invoked when the transmit rate on a channel
   either increases by adsl(x)Thresh(y)RateUp or decreases by
   adsl(x)Thresh(y)RateDown. The trap is per direction:(x) == Atuc or
   Atur, and per channel: (y) == Fast or Interleave. In other words, the
   trap is sent whenever the rate changes in either direction on either
   channel and:

                CurrTxRate >= PrevTxRate plus ThreshRateUp

                                    or

               CurrTxRate <= PrevTxRate minus ThreshRateDown

   No trap is sent on initialization.

   It can be disabled by setting the Up (and/or) Down threshold rates to
   0.

   The PrevTxRate object is set to the current value at initialization
   and when a trap is sent.  Thus rate changes are cumulative until the
   total change exceeds reaches the threshold.

   8.  Conformance and Compliance

   See the conformance and compliance statements within the information
   module.

   9.  Definitions

   ADSL-LINE-MIB DEFINITIONS ::= BEGIN

   IMPORTS
      MODULE-IDENTITY, OBJECT-TYPE,
      Counter32, Gauge32, Integer32,
      NOTIFICATION-TYPE, experimental,
      transmission                      FROM SNMPv2-SMI
      TEXTUAL-CONVENTION, RowStatus,
      TruthValue, VariablePointer       FROM SNMPv2-TC
      MODULE-COMPLIANCE, OBJECT-GROUP,
      NOTIFICATION-GROUP                FROM SNMPv2-CONF
      ifIndex                           FROM IF-MIB
      PerfCurrentCount,
      PerfIntervalCount                 FROM PerfHist-TC-MIB
      SnmpAdminString                   FROM SNMP-FRAMEWORK-MIB
      ;

   adslMIB MODULE-IDENTITY

   LAST-UPDATED "9810301200Z" "9811161200Z"

   ORGANIZATION "IETF ADSL MIB Working Group"

   CONTACT-INFO
         "
          Gregory Bathrick
          AG Communication Systems
          2500 W Utopia Rd.
          Phoenix, AZ 85027 USA
          Tel: +1 602-582-7679
          Fax: +1 602-582-7697
          E-mail: bathricg@agcs.com

          Faye Ly
          Copper Mountain Networks
          Norcal Office
          2470 Embarcadero Way
          Palo Alto, CA 94303
          Tel: +1 650-858-8500
          Fax: +1 650-858-8085
          E-Mail: faye@norcal.coppermountain.com

          John Burgess
          Predictive Systems, Inc.
          25A Vreeland Rd.
          Florham Park, NJ 07932 USA
          Tel: +1 973-301-5610
          Fax: +1 973-301-5699
          E-mail: jtburgess@predictive.com

          IETF ADSL MIB Working Group (adsl@xlist.agcs.com)
         "

   DESCRIPTION
       "The MIB module defining objects for the management of a pair of
       ADSL modems at each end of the ADSL line.  Each such Line is
       indexed by ifIndex and appears as an interface on a central
       DSLAM (Digital Subscriber Line Access Mux.) Attributes on the
       ATUR are proxied by the DSLAM.

       ADSL lines may support optional Fast or Interleaved channels.
       If these are supported, additional entries corresponding to the
       supported channels must be created in the ifTable. Thus an ADSL
       line that supports both channels will have three entries in the
       ifTable, one for each physical, fast, and interleaved, whose
       ifType values are equal to adsl(94), fast(125), and
       interleaved(124), respectively. The ifStackTable is used to
       represent the relationship between the entries.

       Naming Conventions:
                 Atuc -- (ATUC) modem at near (Central) end of line
                 Atur -- (ATUR) modem at Remote end of line
                 Curr -- Current
                 Prev -- Previous
                 Atn -- Attenuation
                 ES  -- Errored Second.
                 LCS -- Line Code Specific
                 Lof -- Loss of Frame
                 Lol -- Loss of Link
                 Los -- Loss of Signal
                 Lpr -- Loss of Power
                 xxxs-- interval of Seconds in which xxx occurs
                         (e.g., xxx=Lof, Los, Lpr)
                 Max -- Maximum
                 Mgn -- Margin
                 Min -- Minimum
                 Psd -- Power Spectral Density
                 Snr -- Signal to Noise Ratio
                 Tx  -- Transmit
                 Blks-- Blocks, a data unit, see
                        adslAtuXChanCrcBlockLength
         "
       REVISION      "9808071200Z"
       DESCRIPTION
           "Changes taken at the March 98 ADSL WG meeting:
               - Added  Conformance Statement
               - SNMPv3 comformance conformance
               - RFC-2233 comformance conformance

            Comments from Technical Advisors, Wijnen and Tesink:
               - DisplayString -> UTF-8 String
               - minimized # of mandatory performance counts
               - Corrected Syntax of current status objects.
               - Corrected use of SNMP SMI.

            Lessons learned through implementation of MIB (ADSLF TR006):

               - clarified definition of channel block size, SNR
                 Interleave Delay, Attenuation, and Output power.
               - corrected UNITS and SYNTAX of adsl rate objects,
                 Version#, VendorID.
               - added missing line activation objects.

            General editorial cleanup.

            Added Security Statement (Dave Allan)
           "
       REVISION      "9808071200Z"
       DESCRIPTION
           "General editorial cleanup.
           "
       REVISION      "9810301200Z"
       DESCRIPTION
           "
           Changes taken at the August 98 ADSL WG meeting:
              - Used PerfCurrentCount and PerfIntervalCount
                when appropriate.
              - Updated Security Statement to conform with
                current format.
              - Changed SYNTAX of Serial #, Vendor ID, and
                Version # to `OCTET STRING'.

           Comments taken from Jeff Johnson and other WG
           contributors:
              - Removed references to MIB-2 and RFC-1213.
              - Re-organized the `Use of IF-MIB' section for
                clarification and conformance reasons.
              - Changed definition of profile control objects:
                For the static profiles, they are read-only.
                Updated conformance statements in a likely
                manner.
              - Removed references to ifTestTypes.  IF-MIB does
                support at this time.
              - Minor changes to entity mib section.
              - Changed SYNTAX of SNR, Attenuation, Attainable rate,
                and Output power to `Gauge32`.
              - Changed SYNTAX of adslLineSpecific to VariablePointer.
              - Swapped lossOfLink(4) and lossOfSignalQuality(5) of
                Atuc Current Status to line up better with Atur
                Current Status.
              - Removed ifIndex from traps
              - and many additional and useful editorial comments.
           "

   ::= {

       REVISION      "9811161200Z"
       DESCRIPTION
           "
           Changes:
              - updated text and conformance statements to include
                CPE equipment view.
              - updated text and objects to change profile tables
                index to SnmpAdminString.
              - changed transmission xx to experimental 89.
              - resolved conflicting statements on when traps occur.
              - added Faye Ly as co-editor and Ted SooHoo and
                Umberto Bonollo as contributors.
           "

   ::= { experimental 89 } -- to be assigned to `94' by IANA. IANA given IESG
                           -- approval.

   adslLineMib OBJECT IDENTIFIER ::= { adslMIB 1 }

   adslMibObjects OBJECT IDENTIFIER ::= { adslLineMib 1 }

      AdslLineProfileType

   -- textual convention
      AdslLineProfileName ::= TEXTUAL-CONVENTION
          STATUS       current
          DESCRIPTION
              "This data type is used to identify a row in
              an ADSL Line Profile Table."
          SYNTAX       INTEGER       SnmpAdminString (SIZE (0..32))

         adslLineTable   OBJECT-TYPE
             SYNTAX          SEQUENCE OF AdslLineEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
                 "This table includes common attributes describing
                 both ends of the line.  It is required for all ADSL
                 physical interfaces.  ADSL physical interfaces are
                 those ifEntries where ifType is equal to adsl(94)."
         ::= { adslMibObjects 1 }

         adslLineEntry   OBJECT-TYPE
             SYNTAX          AdslLineEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION     "An entry in adslLineTable."
             INDEX           { ifIndex }
         ::= { adslLineTable 1 }

         AdslLineEntry ::=
             SEQUENCE {
             adslLineCoding           INTEGER,
             adslLineType             INTEGER,
             adslLineSpecific         VariablePointer,
             adslLineConfProfile      AdslLineProfileType,      AdslLineProfileName,
             adslLineAlarmConfProfile AdslLineProfileType AdslLineProfileName
             }

         adslLineCoding OBJECT-TYPE
             SYNTAX      INTEGER {
                 other (1),
                 dmt (2), -- Discrete MultiTone
                 cap (3), -- Carrierless Amplitude & Phase modulation
                 qam (4)  -- Quadrature Amplitude Modulation
             }
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Specifies the ADSL coding type used on this line.
                 Other types may be added in the future."
         ::= { adslLineEntry 1 }

        adslLineType OBJECT-TYPE
             SYNTAX      INTEGER {
                 noChannel (1),        -- no channels exist
                 fastOnly (2),         -- fast channel exists only
                 interleavedOnly (3),  -- interleaved channel exists
                                       -- only
                 fastOrInterleaved (4),-- either fast or interleaved
                                       -- channels can exist, but
                                       -- only one at any time
                 fastAndInterleaved (5)-- both fast or interleaved
                                       -- channels exist
             }
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Defines the type of ADSL physical line
                 entity that exists, by defining whether and how
                 the line is channelized.  If the line is channelized,
                 the value will be other than noChannel(1).  This
                 object defines which channel type(s) are supported.

                 In the case that the line is channelized, the manager
                 can use the ifStackTable to determine the ifIndex for
                 the associated channel(s)."
         ::= { adslLineEntry 2 }
         adslLineSpecific OBJECT-TYPE
             SYNTAX      VariablePointer
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "OID instance in vendor-specific MIB. The Instance may
                 be used to determine shelf/slot/port of the ATUC
                 interface in a DSLAM."
         ::= { adslLineEntry 3 }

        adslLineConfProfile OBJECT-TYPE
             SYNTAX      AdslLineProfileType      AdslLineProfileName
             MAX-ACCESS  read-write
             STATUS      current
             DESCRIPTION
                 "The value of this object identifies the row
                 in the ADSL Line Configuration Profile Table,
                 (adslLineConfProfileTable), which applies for this
                 ADSL line, and channels if applicable.   In the case
                 which the configuration profile has not been set, the
                 value will be set to `0'. an SnmpAdminString of zero length.

                 If the implementator of this MIB has chosen not
                 to implement `dynamic assignment' of profiles, this
                 object's MIN-ACCESS is read-only."
         ::= { adslLineEntry 4 }

        adslLineAlarmConfProfile OBJECT-TYPE
             SYNTAX      AdslLineProfileType      AdslLineProfileName
             MAX-ACCESS  read-write
             STATUS      current
             DESCRIPTION
                "The value of this object identifies the row
                in the ADSL Line Alarm Configuration Profile Table,
                (adslLineAlarmConfProfileTable), which applies to this
                ADSL line, and channels if applicable.  In the case
                which the configuration profile has not been set, the
                value will be set to `0'. an SnmpAdminString of zero length.

                If the implementator of this MIB has chosen not
                to implement `dynamic assignment' of profiles, this
                object's MIN-ACCESS is read-only."
         ::= { adslLineEntry 5 }

         adslAtucPhysTable       OBJECT-TYPE
             SYNTAX          SEQUENCE OF AdslAtucPhysEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
                 "This table provides one row for each ATUC.
                 Each row contains the Physical Layer Parameters
                 table for that ATUC. ADSL physical interfaces are
                 those ifEntries where ifType is equal to adsl(94)."
         ::= { adslMibObjects 2 }

         adslAtucPhysEntry       OBJECT-TYPE
             SYNTAX          AdslAtucPhysEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION     "An entry in the adslAtucPhysTable."
             INDEX           { ifIndex }
         ::= { adslAtucPhysTable 1 }

         AdslAtucPhysEntry ::=
             SEQUENCE {
             adslAtucInvSerialNumber         OCTET STRING,
             adslAtucInvVendorID             OCTET STRING,
             adslAtucInvVersionNumber        OCTET STRING,
             adslAtucCurrSnrMgn              Gauge32,
             adslAtucCurrAtn                 Gauge32,
             adslAtucCurrStatus              BITS,
             adslAtucCurrOutputPwr           Gauge32,
             adslAtucCurrAttainableRate      Gauge32
             }

         -- inventory group
         --
         -- These items should describe the lowest level identifiable
         -- component, be it a stand-alone modem, a card in a rack,
         -- a child-board, etc.
         --
         adslAtucInvSerialNumber OBJECT-TYPE
             SYNTAX      OCTET STRING (SIZE (0..32))
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Vendor specific string that identifies the vendor
                 equipment."
         ::= { adslAtucPhysEntry 1 }

         adslAtucInvVendorID OBJECT-TYPE
             SYNTAX      OCTET STRING (SIZE (0..16))
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "The vendor ID assigned by T1E1.413 according to its
                 Annex D.[10]"
         ::= { adslAtucPhysEntry 2 }

         adslAtucInvVersionNumber OBJECT-TYPE
             SYNTAX      OCTET STRING (SIZE (0..16))
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Vendor specific version number sent by this ATU as
                 part of the initialization messages."
         ::= { adslAtucPhysEntry 3 }

         -- current status group
         --
         adslAtucCurrSnrMgn OBJECT-TYPE
             SYNTAX      Gauge32(0..310)
             UNITS       "tenth dB"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Noise Margin as seen by this ATU with respect to its
                 received signal in tenth dB."
         ::= { adslAtucPhysEntry 4 }

         adslAtucCurrAtn OBJECT-TYPE
             SYNTAX      Gauge32(0..630)
             UNITS       "tenth dB"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Measured difference in the total power transmitted by
                 the peer ATU and the total power received by this ATU.
                 This value is determined in accordance with
                 T1.413[10]."
         ::= { adslAtucPhysEntry 5 }

        adslAtucCurrStatus OBJECT-TYPE
             SYNTAX      BITS {
                               noDefect(0),
                               lossOfFraming(1),
                               lossOfSignal(2),
                               lossOfPower(3),
                               lossOfSignalQuality(4),
                               lossOfLink(5),
                               dataInitFailure(6),
                               configInitFailure(7),
                               protocolInitFailure(8),
                               noPeerAtuPresent(9)
                              }
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Status indicates current state ATUC line.  This is a
                 bit-map of possible conditions.  The various bit
                 positions are:

          0      noDefect             There no defects on the line

          1      lossOfFraming        ATUC failure due to not
                                      receiving valid frame.

          2      lossOfSignal         ATUC failure due to not
                                      receiving signal.

          3      lossOfPower          ATUC failure due to loss of
                                      power.
                                      Note: the Agent may still
                                      function.

          4      lossOfSignalQuality  Loss of Signal Quality is
                                      declared when the Noise Margin
                                      falls below the Minimum Noise
                                      Margin, or the bit-error-rate
                                      exceeds 10^-7.

          5      lossOfLink           ATUC failure due to inability
                                      to link with ATUR.

          6      dataInitFailure      ATUC failure during
                                      initialization due to bit
                                      errors corrupting startup
                                      exchange data.

          7      configInitFailure    ATUC failure during
                                      initialization due to peer
                                      ATU not able to support
                                      requested configuration

          8      protocolInitFailure  ATUC failure during
                                      initialization due to
                                      incompatible protocol used by
                                      the peer ATU.

          9      noPeerAtuPresent     ATUC failure during
                                      initialization due to no
                                      activation sequence detected
                                      from peer ATU.

                 This is intended to supplement ifOperStatus."
         ::= { adslAtucPhysEntry 6 }

         adslAtucCurrOutputPwr OBJECT-TYPE
             SYNTAX      Gauge32(0..310)
             UNITS       "tenth dBm"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Measured total output power transmitted by this ATU.
                 This is the measurement that was reported during
                 the last activation sequence."
         ::= { adslAtucPhysEntry 7 }

         adslAtucCurrAttainableRate OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS       "bps"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Indicates the maximum currently attainable data rate
                 by the ATU.  This value will be equal or greater than
                 the current line rate."
         ::= { adslAtucPhysEntry 8 }

         adslAturPhysTable        OBJECT-TYPE
             SYNTAX          SEQUENCE OF AdslAturPhysEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
                 "This table provides one row for each ATUR
                 Each row contains the Physical Layer Parameters
                 table for that ATUR. ADSL physical interfaces are
                 those ifEntries where ifType is equal to adsl(94)."
         ::= { adslMibObjects 3 }

         adslAturPhysEntry       OBJECT-TYPE
             SYNTAX          AdslAturPhysEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION     "An entry in the adslAturPhysTable."
             INDEX           { ifIndex }
         ::= { adslAturPhysTable 1 }

         AdslAturPhysEntry ::=
             SEQUENCE {
             adslAturInvSerialNumber         OCTET STRING,
             adslAturInvVendorID             OCTET STRING,
             adslAturInvVersionNumber        OCTET STRING,
             adslAturCurrSnrMgn              Gauge32,
             adslAturCurrAtn                 Gauge32,
             adslAturCurrStatus              BITS,
             adslAturCurrOutputPwr           Gauge32,
             adslAturCurrAttainableRate      Gauge32
             }

         -- inventory group
         --
         adslAturInvSerialNumber OBJECT-TYPE
             SYNTAX      OCTET STRING (SIZE (0..32))
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Vendor specific string that identifies the vendor
                 equipment."
         ::= { adslAturPhysEntry 1 }

         adslAturInvVendorID OBJECT-TYPE
             SYNTAX      OCTET STRING (SIZE (0..16))
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "The vendor ID assigned by T1E1.413 according to its
                 Annex D."
         ::= { adslAturPhysEntry 2 }

         adslAturInvVersionNumber OBJECT-TYPE
             SYNTAX      OCTET STRING (SIZE (0..16))
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Vendor specific version number sent by this ATU as
                 part of the initialization messages."
         ::= { adslAturPhysEntry 3 }

         -- current status group
         --
         adslAturCurrSnrMgn OBJECT-TYPE
             SYNTAX      Gauge32(0..310)
             UNITS       "tenth dB"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Noise Margin as seen by this ATU with respect to its
                 received signal.  This value is determined in
                 accordance with T1.413 [10]."
         ::= { adslAturPhysEntry 4 }

         adslAturCurrAtn OBJECT-TYPE
             SYNTAX      Gauge32(0..630)
             UNITS       "tenth dB"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Measured difference in the total power transmitted by
                 the peer ATU and the total power received by this ATU.
                 This value is determined in accordance with
                 T1.413[10]."
         ::= { adslAturPhysEntry 5 }

        adslAturCurrStatus OBJECT-TYPE
             SYNTAX     BITS {
                              noDefect(0),
                              lossOfFraming(1),
                              lossOfSignal(2),
                              lossOfPower(3),
                              lossOfSignalQuality(4)
                             }
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Status indicates current state ATUR line.  This is a
                 bit-map of possible conditions.  Due to the isolation
                 of the ATUR when line problems occur, many state
                 conditions like loss of power, loss of quality signal,
                 and initialization errors,  can not be determined.
                 While trouble shooting ATUR, also use object,
                 adslAtucCurrStatus.  The various bit positions are:

          0      noDefect             There no defects on the line

          1      lossOfFraming        ATUR failure due to not
                                      receiving valid frame

          2      lossOfSignal         ATUR failure due to not
                                      receiving signal

          3      lossOfPower          ATUR failure due to loss of
                                      power

          4      lossOfSignalQuality  Loss of Signal Quality is
                                      declared when the Noise Margin
                                      falls below the Minimum Noise
                                      Margin, or the
                                      bit-error-rate exceeds 10^-7.

                 This is intended to supplement ifOperStatus."
         ::= { adslAturPhysEntry 6 }

         adslAturCurrOutputPwr OBJECT-TYPE
             SYNTAX      Gauge32(0..310)
             UNITS       "tenth dBm"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Measured total output power transmitted by this ATU.
                 This is the measurement that was reported during
                 the last activation sequence."
         ::= { adslAturPhysEntry 7 }

         adslAturCurrAttainableRate OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS       "bps"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Indicates the maximum currently attainable data rate
                 by the ATU.  This value will be equal or greater than
                 the current line rate."
         ::= { adslAturPhysEntry 8 }

         adslAtucChanTable       OBJECT-TYPE
             SYNTAX          SEQUENCE OF AdslAtucChanEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
                 "This table provides one row for each ATUC channel.
                 ADSL channel interfaces are those ifEntries
                 where ifType is equal to adslInterleave(124)
                 or adslFast(125)."
         ::= { adslMibObjects 4 }

         adslAtucChanEntry       OBJECT-TYPE
             SYNTAX          AdslAtucChanEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION     "An entry in the adslAtucChanTable."
             INDEX           { ifIndex }
         ::= { adslAtucChanTable 1 }

         AdslAtucChanEntry ::=
             SEQUENCE {
             adslAtucChanInterleaveDelay     Gauge32,
             adslAtucChanCurrTxRate          Gauge32,
             adslAtucChanPrevTxRate          Gauge32,
             adslAtucChanCrcBlockLength      Gauge32
             }

         -- current group
         --
         adslAtucChanInterleaveDelay OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS       "milli-seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Interleave Delay for this channel.

                 Interleave delay applies only to the
                 interleave channel and defines the mapping
                 (relative spacing) between subsequent input
                 bytes at the interleaver input and their placement
                 in the bit stream at the interleaver output.
                 Larger numbers provide greater separation between
                 consecutive input bytes in the output bit stream
                 allowing for improved impulse noise immunity at
                 the expense of payload latency.

                 In the case where the ifType is Fast(125), use
                 noSuchObject."
         ::= { adslAtucChanEntry 1 }

         adslAtucChanCurrTxRate  OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS       "bps"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Actual transmit rate on this channel."
         ::= { adslAtucChanEntry 2 }

         adslAtucChanPrevTxRate OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS        "bps"
             MAX-ACCESS  accessible-for-notify
             STATUS      current
             DESCRIPTION
                 "The rate at the time of the last
                 adslAtucRateChangeTrap event. It is also set at
                 initialization to prevent a trap being sent.

                 Rate changes less than adslAtucThresh(*)RateDown
                 or less than adslAtucThresh(*)RateUp will not
                 cause a trap or cause this object to change.
                 (*) == Fast or Interleave.
                 See AdslLineAlarmConfProfileEntry."
         ::= { adslAtucChanEntry 3 }

         adslAtucChanCrcBlockLength OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS        "byte"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Indicates the length of the channel data-block
                 on which the CRC operates.  Refer to Line Code
                 Specific MIBs, [11] and [12] for more
                 information."
         ::= { adslAtucChanEntry 4 }

        adslAturChanTable       OBJECT-TYPE
             SYNTAX          SEQUENCE OF AdslAturChanEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
                 "This table provides one row for each ATUR channel.
                 ADSL channel interfaces are those ifEntries
                 where ifType is equal to adslInterleave(124)
                 or adslFast(125)."
         ::= { adslMibObjects 5 }

         adslAturChanEntry       OBJECT-TYPE
             SYNTAX          AdslAturChanEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION     "An entry in the adslAturChanTable."
             INDEX           { ifIndex }
         ::= { adslAturChanTable 1 }

         AdslAturChanEntry ::=
             SEQUENCE {
             adslAturChanInterleaveDelay     Gauge32,
             adslAturChanCurrTxRate          Gauge32,
             adslAturChanPrevTxRate          Gauge32,
             adslAturChanCrcBlockLength      Gauge32
             }

         -- current group
         --
         adslAturChanInterleaveDelay OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS       "milli-seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Interleave Delay for this channel.

                 Interleave delay applies only to the
                 interleave channel and defines the mapping
                 (relative spacing) between subsequent input
                 bytes at the interleaver input and their placement
                 in the bit stream at the interleaver output.
                 Larger numbers provide greater separation between
                 consecutive input bytes in the output bit stream
                 allowing for improved impulse noise immunity at
                 the expense of payload latency.

                 In the case where the ifType is Fast(125), use
                 noSuchObject."
         ::= { adslAturChanEntry 1 }

         adslAturChanCurrTxRate  OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS       "bps"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Actual transmit rate on this channel."
         ::= { adslAturChanEntry 2 }

         adslAturChanPrevTxRate OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS       "bps"
             MAX-ACCESS  accessible-for-notify
             STATUS      current
             DESCRIPTION
                "The rate at the time of the last
                 adslAturRateChangeTrap event. It is also set at
                 initialization to prevent a trap being sent.

                 Rate changes less than adslAturThresh(*)RateDown
                 or less than adslAturThresh(*)RateUp will not
                 cause a trap or cause this object to change.
                 (*) == Fast or Interleave.
                 See AdslLineAlarmConfProfileEntry."
         ::= { adslAturChanEntry 3 }

         adslAturChanCrcBlockLength OBJECT-TYPE
             SYNTAX      Gauge32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Indicates the length of the channel data-block
                 on which the CRC operates.  Refer to Line Code
                 Specific MIBs, [11] and [12] for more
                 information."
         ::= { adslAturChanEntry 4 }

         adslAtucPerfDataTable   OBJECT-TYPE
             SYNTAX          SEQUENCE OF AdslAtucPerfDataEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
                 "This table provides one row for each ATUC.
                 ADSL physical interfaces are
                 those ifEntries where ifType is equal to adsl(94)."
         ::= { adslMibObjects 6 }

         adslAtucPerfDataEntry       OBJECT-TYPE
             SYNTAX          AdslAtucPerfDataEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION     "An entry in adslAtucPerfDataTable."
             INDEX           { ifIndex }
         ::= { adslAtucPerfDataTable 1 }

         AdslAtucPerfDataEntry ::=
             SEQUENCE {
             adslAtucPerfLofs                 Counter32,
             adslAtucPerfLoss                 Counter32,
             adslAtucPerfLols                 Counter32,
             adslAtucPerfLprs                 Counter32,
             adslAtucPerfESs                  Counter32,
             adslAtucPerfInits                Counter32,
             adslAtucPerfValidIntervals       INTEGER,
             adslAtucPerfInvalidIntervals     INTEGER,
             adslAtucPerfCurr15MinTimeElapsed PerfCurrentCount,
             adslAtucPerfCurr15MinLofs        PerfCurrentCount,
             adslAtucPerfCurr15MinLoss        PerfCurrentCount,
             adslAtucPerfCurr15MinLols        PerfCurrentCount,
             adslAtucPerfCurr15MinLprs        PerfCurrentCount,
             adslAtucPerfCurr15MinESs         PerfCurrentCount,
             adslAtucPerfCurr15MinInits       PerfCurrentCount,
             adslAtucPerfCurr1DayTimeElapsed  INTEGER,
             adslAtucPerfCurr1DayLofs         Gauge32,
             adslAtucPerfCurr1DayLoss         Gauge32,
             adslAtucPerfCurr1DayLols         Gauge32,
             adslAtucPerfCurr1DayLprs         Gauge32,
             adslAtucPerfCurr1DayESs          Gauge32,
             adslAtucPerfCurr1DayInits        Gauge32,
             adslAtucPerfPrev1DayMoniSecs     INTEGER,
             adslAtucPerfPrev1DayLofs         Gauge32,
             adslAtucPerfPrev1DayLoss         Gauge32,
             adslAtucPerfPrev1DayLols         Gauge32,
             adslAtucPerfPrev1DayLprs         Gauge32,
             adslAtucPerfPrev1DayESs          Gauge32,
             adslAtucPerfPrev1DayInits        Gauge32
             }

         -- Event Counters
         --
         -- Also see adslAtucIntervalTable for 15 minute interval
         -- elapsed counters.
         --
         adslAtucPerfLofs OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of the number of Loss of Framing failures since
                 agent reset."
         ::= { adslAtucPerfDataEntry 1 }

         adslAtucPerfLoss  OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of the number of Loss of Signal failures since
                 agent reset."
         ::= { adslAtucPerfDataEntry 2 }

         adslAtucPerfLols OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of the number of Loss of Link failures since
                 agent reset."
         ::= { adslAtucPerfDataEntry 3 }

         adslAtucPerfLprs OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of the number of Loss of Power failures since
                 agent reset."
         ::= { adslAtucPerfDataEntry 4 }

         adslAtucPerfESs OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of the number of Errored Seconds since agent
                 reset.  The errored second parameter is a count of
                 one-second intervals containing one or more crc
                 anomalies, or one or more los or sef defects."
         ::= { adslAtucPerfDataEntry 5 }

         adslAtucPerfInits OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of the line initialization attempts since
                 agent reset. Includes both successful and failed
                 attempts."
         ::= { adslAtucPerfDataEntry 6 }

         -- general 15 min interval information
         --
         adslAtucPerfValidIntervals OBJECT-TYPE
             SYNTAX      INTEGER(0..96)
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Number of previous 15-minute intervals in the
                 adslAtucInterval Table for which valid data
                 has been stored. This value will be equal to the
                 maximum # of intervals that are kept (n) unless the
                 device was brought online within the last (nx15)
                 minutes. In the case where the agent is a proxy,
                 it is possible that some intervals are unavailable.

                 In this case, this interval is the maximum interval
                 for which valid data is available."
         ::= { adslAtucPerfDataEntry 7 }

         adslAtucPerfInvalidIntervals OBJECT-TYPE
             SYNTAX      INTEGER(0..96)
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "The number of 15 minute intervals in which no valid
                 data is available."
         ::= { adslAtucPerfDataEntry 8 }

         -- 15 min current performance group
         --
         adslAtucPerfCurr15MinTimeElapsed OBJECT-TYPE
             SYNTAX      PerfCurrentCount
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Total elapsed seconds in this interval.
                 A full interval is 900 seconds."
         ::= { adslAtucPerfDataEntry 9 }

         adslAtucPerfCurr15MinLofs OBJECT-TYPE
             SYNTAX      PerfCurrentCount
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of seconds in the current 15 minute interval
                 when there was Loss of Framing."
         ::= { adslAtucPerfDataEntry 10 }

         adslAtucPerfCurr15MinLoss  OBJECT-TYPE
             SYNTAX      PerfCurrentCount
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of seconds in the current 15 minute interval
                 when there was Loss of Signal."
         ::= { adslAtucPerfDataEntry 11 }

         adslAtucPerfCurr15MinLols  OBJECT-TYPE
             SYNTAX      PerfCurrentCount
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of seconds in the current 15 minute interval
                 when there was Loss of Link."
         ::= { adslAtucPerfDataEntry 12 }

         adslAtucPerfCurr15MinLprs  OBJECT-TYPE
             SYNTAX      PerfCurrentCount
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of seconds in the current 15 minute interval
                 when there was Loss of Power."
         ::= { adslAtucPerfDataEntry 13 }

         adslAtucPerfCurr15MinESs OBJECT-TYPE
             SYNTAX      PerfCurrentCount
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of Errored Seconds in the current 15 minute
                 interval.  The errored second parameter is a count of
                 one-second intervals containing one or more crc
                 anomalies, or one or more los or sef defects."
         ::= { adslAtucPerfDataEntry 14 }

         adslAtucPerfCurr15MinInits  OBJECT-TYPE
             SYNTAX      PerfCurrentCount
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of the line initialization attempts in the
                 current 15 minute interval. Includes both successful
                 and failed attempts."
         ::= { adslAtucPerfDataEntry 15 }

         -- 1-day current and previous performance group
         --
         adslAtucPerfCurr1DayTimeElapsed OBJECT-TYPE
             SYNTAX      INTEGER(0..86399)
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Number of seconds that have elapsed since the
                 beginning of the current 1-day interval."
         ::= { adslAtucPerfDataEntry 16 }

         adslAtucPerfCurr1DayLofs  OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of the number of seconds when there was Loss of
                 Framing during the current day as measured by
                 adslAtucPerfCurr1DayTimeElapsed."
         ::= { adslAtucPerfDataEntry 17 }

         adslAtucPerfCurr1DayLoss  OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of the number of seconds when there was Loss of
                 Signal during the current day as measured by
                 adslAtucPerfCurr1DayTimeElapsed."
         ::= { adslAtucPerfDataEntry 18 }

         adslAtucPerfCurr1DayLols  OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of the number of seconds when there was Loss of
                 Link during the current day as measured by
                 adslAtucPerfCurr1DayTimeElapsed."
         ::= { adslAtucPerfDataEntry 19 }

         adslAtucPerfCurr1DayLprs  OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of the number of seconds when there was Loss of
                 Power during the current day as measured by
                 adslAtucPerfCurr1DayTimeElapsed."
         ::= { adslAtucPerfDataEntry 20 }
         adslAtucPerfCurr1DayESs OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of Errored Seconds during the current day as
                 measured by adslAtucPerfCurr1DayTimeElapsed.
                 The errored second parameter is a count of
                 one-second intervals containing one or more crc
                 anomalies, or one or more los or sef defects."
         ::= { adslAtucPerfDataEntry 21 }

         adslAtucPerfCurr1DayInits  OBJECT-TYPE
             SYNTAX      Gauge32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of the line initialization attempts in the
                 day as measured by adslAtucPerfCurr1DayTimeElapsed.
                 Includes both successful and failed attempts."
         ::= { adslAtucPerfDataEntry 22 }

         adslAtucPerfPrev1DayMoniSecs OBJECT-TYPE
             SYNTAX      INTEGER(0..899)
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "The time in the previous 1-day interval over which
                 the performance monitoring information is actually
                 counted. This value will normally be the same as the
                 total interval duration except in a situation where
                 performance monitoring data can not be collected
                 for any reason.  Typically Elapsed 1-day time will be
                 copied into Monitored Seconds when the 1-day roll-over
                 occurs."
         ::= { adslAtucPerfDataEntry 23 }

         adslAtucPerfPrev1DayLofs  OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of seconds in the interval when there was
                 Loss of Framing within the most recent previous
                 1-day period."
         ::= { adslAtucPerfDataEntry 24 }

         adslAtucPerfPrev1DayLoss  OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of seconds in the interval when there was
                 Loss of Signal within the most recent previous
                 1-day period."
         ::= { adslAtucPerfDataEntry 25 }

         adslAtucPerfPrev1DayLols  OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of seconds in the interval when there was
                 Loss of Link within the most recent previous
                 1-day period."
         ::= { adslAtucPerfDataEntry 26 }

         adslAtucPerfPrev1DayLprs  OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of seconds in the interval when there was
                 Loss of Power within the most recent previous
                 1-day period."
         ::= { adslAtucPerfDataEntry 27 }

         adslAtucPerfPrev1DayESs OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of Errored Seconds within the most recent
                 previous 1-day period. The errored second parameter is
                 a count of one-second intervals containing one or more
                 crc anomalies, or one or more los or sef defects."
         ::= { adslAtucPerfDataEntry 28 }

         adslAtucPerfPrev1DayInits  OBJECT-TYPE
             SYNTAX      Gauge32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of the line initialization attempts in the most
                 recent previous 1-day period. Includes both successful
                 and failed attempts."
         ::= { adslAtucPerfDataEntry 29 }

         adslAturPerfDataTable   OBJECT-TYPE
             SYNTAX          SEQUENCE OF AdslAturPerfDataEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
                 "This table provides one row for each ATUR.
                 ADSL physical interfaces are
                 those ifEntries where ifType is equal to adsl(94)."
         ::= { adslMibObjects 7 }

         adslAturPerfDataEntry       OBJECT-TYPE
             SYNTAX          AdslAturPerfDataEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION     "An entry in adslAturPerfDataTable."
             INDEX           { ifIndex }
         ::= { adslAturPerfDataTable 1 }

         AdslAturPerfDataEntry ::=
             SEQUENCE {
             adslAturPerfLofs                 Counter32,
             adslAturPerfLoss                 Counter32,
             adslAturPerfLprs                 Counter32,
             adslAturPerfESs                  Counter32,
             adslAturPerfValidIntervals       INTEGER,
             adslAturPerfInvalidIntervals     INTEGER,
             adslAturPerfCurr15MinTimeElapsed PerfCurrentCount,
             adslAturPerfCurr15MinLofs        PerfCurrentCount,
             adslAturPerfCurr15MinLoss        PerfCurrentCount,
             adslAturPerfCurr15MinLprs        PerfCurrentCount,
             adslAturPerfCurr15MinESs         PerfCurrentCount,
             adslAturPerfCurr1DayTimeElapsed  INTEGER,
             adslAturPerfCurr1DayLofs         Gauge32,
             adslAturPerfCurr1DayLoss         Gauge32,
             adslAturPerfCurr1DayLprs         Gauge32,
             adslAturPerfCurr1DayESs          Gauge32,
             adslAturPerfPrev1DayMoniSecs     INTEGER,
             adslAturPerfPrev1DayLofs         Gauge32,
             adslAturPerfPrev1DayLoss         Gauge32,
             adslAturPerfPrev1DayLprs         Gauge32,
             adslAturPerfPrev1DayESs          Gauge32
             }

         -- Event (Raw) Counters
         --
         -- Also see adslAturIntervalTable for 15 minute interval
         -- elapsed counters.
         --
         adslAturPerfLofs OBJECT-TYPE
             SYNTAX      Counter32
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of the number of Loss of Framing failures since
                 agent reset."
         ::= { adslAturPerfDataEntry 1 }

         adslAturPerfLoss  OBJECT-TYPE
             SYNTAX      Counter32
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of the number of Loss of Signal failures since
                 agent reset."
         ::= { adslAturPerfDataEntry 2 }

        adslAturPerfLprs  OBJECT-TYPE
             SYNTAX      Counter32
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of the number of Loss of Power failures since
                 agent reset."
         ::= { adslAturPerfDataEntry 3 }

         adslAturPerfESs  OBJECT-TYPE
             SYNTAX      Counter32
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of the number of Errored Seconds since agent
                 reset.  The errored second parameter is a count of
                 one-second intervals containing one or more crc
                 anomalies, or one or more los or sef defects."
         ::= { adslAturPerfDataEntry 4 }

         -- general 15 min interval information
         --
         adslAturPerfValidIntervals OBJECT-TYPE
             SYNTAX      INTEGER(0..96)
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Number of previous 15-minute intervals in the
                 adslAturInterval Table for which valid data
                 has been stored. This value will be equal to the
                 maximum # of intervals that are kept (n) unless the
                 device was brought online within the last (nx15) min.
                 In the case where the agent is a proxy, it is possible
                 that some intervals are unavailable. In this case, this
                 interval is the maximum interval for which valid data
                 is available."
         ::= { adslAturPerfDataEntry 5 }

         adslAturPerfInvalidIntervals OBJECT-TYPE
             SYNTAX      INTEGER(0..96)
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "The number of 15 minute intervals in which no valid
                 data is available."
         ::= { adslAturPerfDataEntry 6 }

         -- 15 min current performance group
         --
         adslAturPerfCurr15MinTimeElapsed OBJECT-TYPE
             SYNTAX      PerfCurrentCount
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Total elapsed seconds in this interval.
                 A full interval is 900 seconds."
         ::= { adslAturPerfDataEntry 7 }

         adslAturPerfCurr15MinLofs OBJECT-TYPE
             SYNTAX      PerfCurrentCount
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of seconds in the current 15 minute interval
                 when there was Loss of Framing."
         ::= { adslAturPerfDataEntry 8 }

         adslAturPerfCurr15MinLoss  OBJECT-TYPE
             SYNTAX      PerfCurrentCount
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of seconds in the current 15 minute interval
                 when there was Loss of Signal."
         ::= { adslAturPerfDataEntry 9 }

         adslAturPerfCurr15MinLprs  OBJECT-TYPE
             SYNTAX      PerfCurrentCount
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of seconds in the current 15 minute interval
                 when there was Loss of Power."
         ::= { adslAturPerfDataEntry 10 }

         adslAturPerfCurr15MinESs OBJECT-TYPE
             SYNTAX      PerfCurrentCount
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                "Count of Errored Seconds in the current 15 minute
                interval.  The errored second parameter is a count of
                one-second intervals containing one or more crc
                anomalies, or one or more los or sef defects."
         ::= { adslAturPerfDataEntry 11 }

         -- 1-day current and previous performance group
         --
         adslAturPerfCurr1DayTimeElapsed OBJECT-TYPE
             SYNTAX      INTEGER(0..86399)
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Number of seconds that have elapsed since the
                 beginning of the current 1-day interval."
         ::= { adslAturPerfDataEntry 12 }
         adslAturPerfCurr1DayLofs  OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of the number of seconds when there was Loss
                 of Framing during the current day as measured by
                 adslAturPerfCurr1DayTimeElapsed."
         ::= { adslAturPerfDataEntry 13 }

         adslAturPerfCurr1DayLoss  OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of the number of seconds when there was Loss
                 of Signal during the current day as measured by
                 adslAturPerfCurr1DayTimeElapsed."
         ::= { adslAturPerfDataEntry 14 }

         adslAturPerfCurr1DayLprs  OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of the number of seconds when there was Loss
                 of Power during the current day as measured by
                 adslAturPerfCurr1DayTimeElapsed."
         ::= { adslAturPerfDataEntry 15 }

    adslAturPerfCurr1DayESs OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of Errored Seconds during the current day as
                 measured by adslAturPerfCurr1DayTimeElapsed.
                 The errored second parameter is a count of
                 one-second intervals containing one or more crc
                 anomalies, or one or more los or sef defects."
         ::= { adslAturPerfDataEntry 16 }

         adslAturPerfPrev1DayMoniSecs OBJECT-TYPE
             SYNTAX      INTEGER(0..899)
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "The time in the previous 1-day interval over which
                 the performance monitoring information is actually
                 counted. This value will normally be the same as the
                 total interval duration except in a situation where
                 performance monitoring data can not be collected
                 for any reason.  Typically Elapsed 1-day time will be
                 copied into Monitored Seconds when the 1-day roll-over
                 occurs."
         ::= { adslAturPerfDataEntry 17 }

         adslAturPerfPrev1DayLofs  OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of seconds in the interval when there was
                 Loss of Framing within the most recent previous
                 1-day period."
         ::= { adslAturPerfDataEntry 18 }

         adslAturPerfPrev1DayLoss  OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of seconds in the interval when there was
                 Loss of Signal within the most recent previous
                 1-day period."
         ::= { adslAturPerfDataEntry 19 }

         adslAturPerfPrev1DayLprs  OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of seconds in the interval when there was
                 Loss of Power within the most recent previous
                 1-day period."
         ::= { adslAturPerfDataEntry 20 }

         adslAturPerfPrev1DayESs OBJECT-TYPE
             SYNTAX      Gauge32
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of Errored Seconds within the most recent
                 previous 1-day period. The errored second parameter is
                 a count of one-second intervals containing one or more
                 crc anomalies, or one or more los or sef defects."
         ::= { adslAturPerfDataEntry 21 }

         adslAtucIntervalTable   OBJECT-TYPE
             SYNTAX          SEQUENCE OF AdslAtucIntervalEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
                 "This table provides one row for each ATUC
                 performance data collection interval.
                 ADSL physical interfaces are
                 those ifEntries where ifType is equal to adsl(94)."
         ::= { adslMibObjects 8 }

         adslAtucIntervalEntry   OBJECT-TYPE
             SYNTAX          AdslAtucIntervalEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION     "An entry in the adslAtucIntervalTable."
             INDEX           { ifIndex, adslAtucIntervalNumber }
         ::= { adslAtucIntervalTable 1 }

         AdslAtucIntervalEntry ::=
             SEQUENCE {
             adslAtucIntervalNumber          INTEGER,
             adslAtucIntervalLofs            PerfIntervalCount,
             adslAtucIntervalLoss            PerfIntervalCount,
             adslAtucIntervalLols            PerfIntervalCount,
             adslAtucIntervalLprs            PerfIntervalCount,
             adslAtucIntervalESs             PerfIntervalCount,
             adslAtucIntervalInits           PerfIntervalCount,
             adslAtucIntervalValidData       TruthValue
             }

         adslAtucIntervalNumber OBJECT-TYPE
             SYNTAX      INTEGER(1..96)
             MAX-ACCESS  not-accessible
             STATUS      current
             DESCRIPTION
                 "Performance Data Interval number 1 is the
                 the most recent previous interval; interval
                 96 is 24 hours ago.  Intervals 2..96 are
                 optional."
         ::= { adslAtucIntervalEntry 1 }

         adslAtucIntervalLofs OBJECT-TYPE
             SYNTAX      PerfIntervalCount
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of seconds in the interval when there was Loss
                 of Framing."
         ::= { adslAtucIntervalEntry 2 }

         adslAtucIntervalLoss  OBJECT-TYPE
             SYNTAX      PerfIntervalCount
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of seconds in the interval when there was Loss
                 of Signal."
         ::= { adslAtucIntervalEntry 3 }

         adslAtucIntervalLols  OBJECT-TYPE
             SYNTAX      PerfIntervalCount
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of seconds in the interval when there was Loss
                 of Link."
         ::= { adslAtucIntervalEntry 4 }

         adslAtucIntervalLprs  OBJECT-TYPE
             SYNTAX      PerfIntervalCount
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of seconds in the interval when there was Loss
                 of Power."
         ::= { adslAtucIntervalEntry 5 }

         adslAtucIntervalESs OBJECT-TYPE
             SYNTAX      PerfIntervalCount
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of Errored Seconds in the interval.
                 The errored second parameter is a count of
                 one-second intervals containing one or more crc
                 anomalies, or one or more los or sef defects."
         ::= { adslAtucIntervalEntry 6 }

         adslAtucIntervalInits  OBJECT-TYPE
             SYNTAX      PerfIntervalCount
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of the line initialization attempts
                 during the interval. Includes both successful
                 and failed attempts."
         ::= { adslAtucIntervalEntry 7 }

         adslAtucIntervalValidData OBJECT-TYPE
             SYNTAX TruthValue
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                 "This object indicates if there is valid data
                 for this interval."
         ::= { adslAtucIntervalEntry 8 }

         adslAturIntervalTable   OBJECT-TYPE
             SYNTAX          SEQUENCE OF AdslAturIntervalEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
                 "This table provides one row for each ATUR
                 performance data collection interval.
                 ADSL physical interfaces are those
                 ifEntries where ifType is equal to adsl(94)."
         ::= { adslMibObjects 9 }

         adslAturIntervalEntry   OBJECT-TYPE
             SYNTAX          AdslAturIntervalEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION     "An entry in the adslAturIntervalTable."
             INDEX           { ifIndex, adslAturIntervalNumber }
         ::= { adslAturIntervalTable 1 }

         AdslAturIntervalEntry ::=
             SEQUENCE {
             adslAturIntervalNumber          INTEGER,
             adslAturIntervalLofs            PerfIntervalCount,
             adslAturIntervalLoss            PerfIntervalCount,
             adslAturIntervalLprs            PerfIntervalCount,
             adslAturIntervalESs             PerfIntervalCount,
             adslAturIntervalValidData       TruthValue
             }

         adslAturIntervalNumber OBJECT-TYPE
             SYNTAX      INTEGER(1..96)
             MAX-ACCESS  not-accessible
             STATUS      current
             DESCRIPTION
                 "Performance Data Interval number 1 is the
                 the most recent previous interval; interval
                 96 is 24 hours ago.  Intervals 2..96 are
                 optional."
         ::= { adslAturIntervalEntry 1 }

         adslAturIntervalLofs OBJECT-TYPE
             SYNTAX      PerfIntervalCount
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of seconds in the interval when there was
                 Loss of Framing."
         ::= { adslAturIntervalEntry 2 }

         adslAturIntervalLoss  OBJECT-TYPE
             SYNTAX      PerfIntervalCount
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of seconds in the interval when there was
                 Loss of Signal."
         ::= { adslAturIntervalEntry 3 }

         adslAturIntervalLprs  OBJECT-TYPE
             SYNTAX      PerfIntervalCount
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of seconds in the interval when there was
                 Loss of Power."
         ::= { adslAturIntervalEntry 4 }

         adslAturIntervalESs OBJECT-TYPE
             SYNTAX      PerfIntervalCount
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of Errored Seconds in the interval.
                 The errored second parameter is a count of
                 one-second intervals containing one or more crc
                 anomalies, or one or more los or sef defects."
         ::= { adslAturIntervalEntry 5 }

         adslAturIntervalValidData OBJECT-TYPE
             SYNTAX TruthValue
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                 "This object indicates if there is valid data
                 for this interval."
                ::= { adslAturIntervalEntry 6 }

         adslAtucChanPerfDataTable       OBJECT-TYPE
             SYNTAX          SEQUENCE OF AdslAtucChanPerfDataEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
                 "This table provides one row for each ATUC channel.
                 ADSL channel interfaces are those ifEntries
                 where ifType is equal to adslInterleave(124)
                 or adslFast(125)."
         ::= { adslMibObjects 10 }

         adslAtucChanPerfDataEntry       OBJECT-TYPE
             SYNTAX          AdslAtucChanPerfDataEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION     "An entry in adslAtucChanPerfDataTable."
             INDEX           { ifIndex }
         ::= { adslAtucChanPerfDataTable 1 }

         AdslAtucChanPerfDataEntry ::=
            SEQUENCE {
            adslAtucChanReceivedBlks                 Counter32,
            adslAtucChanTransmittedBlks              Counter32,
            adslAtucChanCorrectedBlks                Counter32,
            adslAtucChanUncorrectBlks                Counter32,
            adslAtucChanPerfValidIntervals           INTEGER,
            adslAtucChanPerfInvalidIntervals         INTEGER,
            adslAtucChanPerfCurr15MinTimeElapsed     PerfCurrentCount,
            adslAtucChanPerfCurr15MinReceivedBlks    PerfCurrentCount,
            adslAtucChanPerfCurr15MinTransmittedBlks PerfCurrentCount,
            adslAtucChanPerfCurr15MinCorrectedBlks   PerfCurrentCount,
            adslAtucChanPerfCurr15MinUncorrectBlks   PerfCurrentCount,
            adslAtucChanPerfCurr1DayTimeElapsed      INTEGER,
            adslAtucChanPerfCurr1DayReceivedBlks     Gauge32,
            adslAtucChanPerfCurr1DayTransmittedBlks  Gauge32,
            adslAtucChanPerfCurr1DayCorrectedBlks    Gauge32,
            adslAtucChanPerfCurr1DayUncorrectBlks    Gauge32,
            adslAtucChanPerfPrev1DayMoniSecs         INTEGER,
            adslAtucChanPerfPrev1DayReceivedBlks     Gauge32,
            adslAtucChanPerfPrev1DayTransmittedBlks  Gauge32,
            adslAtucChanPerfPrev1DayCorrectedBlks    Gauge32,
            adslAtucChanPerfPrev1DayUncorrectBlks    Gauge32
            }
         -- performance group
         --
         -- Note: block is intended to be the length of the channel
         --       data-block on which the CRC operates. See
         --       adslAtucChanCrcBlockLength for more information.
         --
         adslAtucChanReceivedBlks OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all encoded blocks received on this channel
                 since agent reset."
         ::= { adslAtucChanPerfDataEntry 1 }

         adslAtucChanTransmittedBlks  OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all encoded blocks transmitted on this
                 channel since agent reset."
         ::= { adslAtucChanPerfDataEntry 2 }

         adslAtucChanCorrectedBlks  OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all blocks received with errors that were
                 corrected since agent reset.  These blocks are passed
                 on as good data."
         ::= { adslAtucChanPerfDataEntry 3 }

         adslAtucChanUncorrectBlks  OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all blocks received with uncorrectable
                 errors since agent reset."
         ::= { adslAtucChanPerfDataEntry 4 }

         -- general 15 min interval information
         --
         adslAtucChanPerfValidIntervals OBJECT-TYPE
             SYNTAX      INTEGER(0..96)
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Number of previous 15-minute intervals in the
                 adslAtucChanIntervalTable Table for which valid data
                 has been stored. This value will be equal to the max
                 number of intervals that are kept (n) unless the device
                 was brought online within the last (nx15) minutes. In
                 the case where the agent is a proxy, it is possible
                 that some intervals are unavailable. In this case,
                 this interval is the maximum interval for which valid
                 data is available."
         ::= { adslAtucChanPerfDataEntry 5 }

         adslAtucChanPerfInvalidIntervals OBJECT-TYPE
             SYNTAX      INTEGER(0..96)
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "The number of 15 minute intervals in which no valid
                 data is available."
         ::= { adslAtucChanPerfDataEntry 6 }

         -- 15 min current performance group
         --
         adslAtucChanPerfCurr15MinTimeElapsed OBJECT-TYPE
             SYNTAX      PerfCurrentCount
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Total elapsed seconds in this interval.
                 A full interval is 900 seconds."
         ::= { adslAtucChanPerfDataEntry 7 }

         adslAtucChanPerfCurr15MinReceivedBlks OBJECT-TYPE
             SYNTAX      PerfCurrentCount
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all encoded blocks received on this channel
                 within the current 15 minute interval."
         ::= { adslAtucChanPerfDataEntry 8 }

         adslAtucChanPerfCurr15MinTransmittedBlks OBJECT-TYPE
             SYNTAX      PerfCurrentCount
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all encoded blocks transmitted on this
                 channel within the current 15 minute interval."
         ::= { adslAtucChanPerfDataEntry 9 }

         adslAtucChanPerfCurr15MinCorrectedBlks  OBJECT-TYPE
             SYNTAX      PerfCurrentCount
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all blocks received with errors that were
                 corrected on this channel within the current 15 minute
                 interval."
         ::= { adslAtucChanPerfDataEntry 10 }

         adslAtucChanPerfCurr15MinUncorrectBlks  OBJECT-TYPE
             SYNTAX      PerfCurrentCount
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all blocks received with uncorrectable
                 errors on this channel within the current 15 minute
                 interval."
         ::= { adslAtucChanPerfDataEntry 11 }

         -- 1-day current and previous performance group
         --
         adslAtucChanPerfCurr1DayTimeElapsed OBJECT-TYPE
             SYNTAX      INTEGER(0..86399)
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Number of seconds that have elapsed since the
                 beginning of the current 1-day interval."
         ::= { adslAtucChanPerfDataEntry 12 }

         adslAtucChanPerfCurr1DayReceivedBlks  OBJECT-TYPE
             SYNTAX      Gauge32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all encoded blocks received on this
                 channel during the current day as measured by
                 adslAtucChanPerfCurr1DayTimeElapsed."
         ::= { adslAtucChanPerfDataEntry 13 }

         adslAtucChanPerfCurr1DayTransmittedBlks  OBJECT-TYPE
             SYNTAX      Gauge32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all encoded blocks transmitted on this
                 channel during the current day as measured by
                 adslAtucChanPerfCurr1DayTimeElapsed."
         ::= { adslAtucChanPerfDataEntry 14 }

         adslAtucChanPerfCurr1DayCorrectedBlks  OBJECT-TYPE
             SYNTAX      Gauge32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all blocks received with errors that were
                 corrected on this channel during the current day as
                 measured by adslAtucChanPerfCurr1DayTimeElapsed."
         ::= { adslAtucChanPerfDataEntry 15 }

         adslAtucChanPerfCurr1DayUncorrectBlks  OBJECT-TYPE
             SYNTAX      Gauge32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all blocks received with uncorrectable
                 errors on this channel during the current day as
                 measured by adslAtucChanPerfCurr1DayTimeElapsed."
         ::= { adslAtucChanPerfDataEntry 16 }

         adslAtucChanPerfPrev1DayMoniSecs OBJECT-TYPE
             SYNTAX      INTEGER(0..86399)
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "The time in the previous 1-day interval over which
                 the performance monitoring information is actually
                 counted. This value will normally be the same as the
                 total interval duration except in a situation where
                 performance monitoring information can not be collected
                 for any reason.  Typically Elapsed 1-day time will be
                 copied into Monitored Seconds when the 1-day roll-over
                 occurs."
         ::= { adslAtucChanPerfDataEntry 17 }

         adslAtucChanPerfPrev1DayReceivedBlks  OBJECT-TYPE
             SYNTAX      Gauge32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all encoded blocks received on this
                 channel within the most recent previous 1-day
                 period."
         ::= { adslAtucChanPerfDataEntry 18 }

         adslAtucChanPerfPrev1DayTransmittedBlks  OBJECT-TYPE
             SYNTAX      Gauge32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all encoded blocks transmitted on this
                 channel within the most recent previous 1-day
                 period."
         ::= { adslAtucChanPerfDataEntry 19 }

         adslAtucChanPerfPrev1DayCorrectedBlks  OBJECT-TYPE
             SYNTAX      Gauge32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all blocks received with errors that were
                 corrected on this channel within the most recent
                 previous 1-day period."
         ::= { adslAtucChanPerfDataEntry 20 }

         adslAtucChanPerfPrev1DayUncorrectBlks  OBJECT-TYPE
             SYNTAX      Gauge32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all blocks received with uncorrectable
                 errors on this channel within the most recent previous
                 1-day period."
         ::= { adslAtucChanPerfDataEntry 21 }

         adslAturChanPerfDataTable       OBJECT-TYPE
             SYNTAX          SEQUENCE OF AdslAturChanPerfDataEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
                 "This table provides one row for each ATUR channel.
                 ADSL channel interfaces are those ifEntries
                 where ifType is equal to adslInterleave(124)
                 or adslFast(125)."
         ::= { adslMibObjects 11 }

         adslAturChanPerfDataEntry       OBJECT-TYPE
             SYNTAX          AdslAturChanPerfDataEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION     "An entry in adslAturChanPerfDataTable."
             INDEX           { ifIndex }
         ::= { adslAturChanPerfDataTable 1 }

         AdslAturChanPerfDataEntry ::=
            SEQUENCE {
            adslAturChanReceivedBlks                 Counter32,
            adslAturChanTransmittedBlks              Counter32,
            adslAturChanCorrectedBlks                Counter32,
            adslAturChanUncorrectBlks                Counter32,
            adslAturChanPerfValidIntervals           INTEGER,
            adslAturChanPerfInvalidIntervals         INTEGER,
            adslAturChanPerfCurr15MinTimeElapsed     PerfCurrentCount,
            adslAturChanPerfCurr15MinReceivedBlks    PerfCurrentCount,
            adslAturChanPerfCurr15MinTransmittedBlks PerfCurrentCount,
            adslAturChanPerfCurr15MinCorrectedBlks   PerfCurrentCount,
            adslAturChanPerfCurr15MinUncorrectBlks   PerfCurrentCount,
            adslAturChanPerfCurr1DayTimeElapsed      INTEGER,
            adslAturChanPerfCurr1DayReceivedBlks     Gauge32,
            adslAturChanPerfCurr1DayTransmittedBlks  Gauge32,
            adslAturChanPerfCurr1DayCorrectedBlks    Gauge32,
            adslAturChanPerfCurr1DayUncorrectBlks    Gauge32,
            adslAturChanPerfPrev1DayMoniSecs         INTEGER,
            adslAturChanPerfPrev1DayReceivedBlks     Gauge32,
            adslAturChanPerfPrev1DayTransmittedBlks  Gauge32,
            adslAturChanPerfPrev1DayCorrectedBlks    Gauge32,
            adslAturChanPerfPrev1DayUncorrectBlks    Gauge32
            }
         -- performance group
         --
         -- Note: block is intended to be the length of the channel
         --       data-block on which the CRC operates. See
         --       adslAturChanCrcBlockLength for more information.
         --
         adslAturChanReceivedBlks OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all encoded blocks received on this channel
                 since agent reset."
         ::= { adslAturChanPerfDataEntry 1 }

         adslAturChanTransmittedBlks  OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all encoded blocks transmitted on this
                 channel since agent reset."
         ::= { adslAturChanPerfDataEntry 2 }

         adslAturChanCorrectedBlks  OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all blocks received with errors that were
                 corrected since agent reset.  These blocks are passed
                 on as good data."
         ::= { adslAturChanPerfDataEntry 3 }

         adslAturChanUncorrectBlks  OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all blocks received with uncorrectable
                 errors since agent reset."
         ::= { adslAturChanPerfDataEntry 4 }

         -- general 15 min interval information
         --
         adslAturChanPerfValidIntervals OBJECT-TYPE
             SYNTAX      INTEGER(0..96)
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Number of previous 15-minute intervals in the
                 adslAturChanIntervalTable Table for which valid data
                 has been stored. This value will be equal to the
                 max # of intervals that are kept  (n) unless the device
                 was brought online within the last (nx15) minutes. In
                 the case where the agent is a proxy, it is possible
                 that some intervals are unavailable. In this case,
                 this interval is the maximum interval for which valid
                 data is available."
         ::= { adslAturChanPerfDataEntry 5 }

         adslAturChanPerfInvalidIntervals OBJECT-TYPE
             SYNTAX      INTEGER(0..96)
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "The number of 15 minute intervals in which no valid
                 data is available."
         ::= { adslAturChanPerfDataEntry 6 }

         -- 15 min current performance group
         --
         adslAturChanPerfCurr15MinTimeElapsed OBJECT-TYPE
             SYNTAX      PerfCurrentCount
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Total elapsed seconds in this interval.
                 A full interval is 900 seconds."
         ::= { adslAturChanPerfDataEntry 7 }

         adslAturChanPerfCurr15MinReceivedBlks OBJECT-TYPE
             SYNTAX      PerfCurrentCount
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all encoded blocks received on this
                 channel within the current 15 minute interval."
         ::= { adslAturChanPerfDataEntry 8 }

         adslAturChanPerfCurr15MinTransmittedBlks OBJECT-TYPE
             SYNTAX      PerfCurrentCount
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all encoded blocks transmitted on this
                 channel within the current 15 minute interval."
         ::= { adslAturChanPerfDataEntry 9 }

         adslAturChanPerfCurr15MinCorrectedBlks  OBJECT-TYPE
             SYNTAX      PerfCurrentCount
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all blocks received with errors that were
                 corrected on this channel within the current 15 minute
                 interval."
         ::= { adslAturChanPerfDataEntry 10 }

         adslAturChanPerfCurr15MinUncorrectBlks  OBJECT-TYPE
             SYNTAX      PerfCurrentCount
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all blocks received with uncorrectable
                 errors on this channel within the current 15 minute
                 interval."
         ::= { adslAturChanPerfDataEntry 11 }

         -- 1-day current and previous performance group
         --
         adslAturChanPerfCurr1DayTimeElapsed OBJECT-TYPE
             SYNTAX      INTEGER(0..86399)
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Number of seconds that have elapsed since the
                 beginning of the current 1-day interval."
         ::= { adslAturChanPerfDataEntry 12 }

         adslAturChanPerfCurr1DayReceivedBlks  OBJECT-TYPE
             SYNTAX      Gauge32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all encoded blocks received on this
                 channel during the current day as measured by
                 adslAturChanPerfCurr1DayTimeElapsed."
         ::= { adslAturChanPerfDataEntry 13 }
         adslAturChanPerfCurr1DayTransmittedBlks  OBJECT-TYPE
             SYNTAX      Gauge32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all encoded blocks transmitted on this
                 channel during the current day as measured by
                 adslAturChanPerfCurr1DayTimeElapsed."

         ::= { adslAturChanPerfDataEntry 14 }

         adslAturChanPerfCurr1DayCorrectedBlks  OBJECT-TYPE
             SYNTAX      Gauge32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all blocks received with errors that were
                 corrected on this channel during the current day as
                 measured by adslAturChanPerfCurr1DayTimeElapsed."
         ::= { adslAturChanPerfDataEntry 15 }

         adslAturChanPerfCurr1DayUncorrectBlks  OBJECT-TYPE
             SYNTAX      Gauge32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all blocks received with uncorrectable
                 errors on this channel during the current day as
                 measured by adslAturChanPerfCurr1DayTimeElapsed."
         ::= { adslAturChanPerfDataEntry 16 }

         adslAturChanPerfPrev1DayMoniSecs OBJECT-TYPE
             SYNTAX      INTEGER(0..86399)
             UNITS       "seconds"
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "The time in the previous 1-day interval over which
                 the performance monitoring information is actually
                 counted. This value will normally be the same as the
                 total interval duration except in a situation where
                 performance monitoring information can not be collected
                 for any reason.  Typically Elapsed 1-day time will be
                 copied into Monitored Seconds when the 1-day roll-over
                 occurs."
         ::= { adslAturChanPerfDataEntry 17 }

         adslAturChanPerfPrev1DayReceivedBlks  OBJECT-TYPE
             SYNTAX      Gauge32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all encoded blocks received on this
                 channel within the most recent previous 1-day
                 period."
         ::= { adslAturChanPerfDataEntry 18 }

         adslAturChanPerfPrev1DayTransmittedBlks  OBJECT-TYPE
             SYNTAX      Gauge32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all encoded blocks transmitted on this
                 channel within the most recent previous 1-day
                 period."
         ::= { adslAturChanPerfDataEntry 19 }

         adslAturChanPerfPrev1DayCorrectedBlks  OBJECT-TYPE
             SYNTAX      Gauge32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all blocks received with errors that were
                 corrected on this channel within the most recent
                 previous 1-day period."
         ::= { adslAturChanPerfDataEntry 20 }

         adslAturChanPerfPrev1DayUncorrectBlks  OBJECT-TYPE
             SYNTAX      Gauge32
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all blocks received with uncorrectable
                 errors on this channel within the most recent previous
                 1-day period."
         ::= { adslAturChanPerfDataEntry 21 }

         adslAtucChanIntervalTable   OBJECT-TYPE
             SYNTAX          SEQUENCE OF AdslAtucChanIntervalEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
                 "This table provides one row for each ATUC channel's
                 performance data collection interval.
                 ADSL channel interfaces are those ifEntries
                 where ifType is equal to adslInterleave(124)
                 or adslFast(125)."
         ::= { adslMibObjects 12 }

         adslAtucChanIntervalEntry   OBJECT-TYPE
             SYNTAX          AdslAtucChanIntervalEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION     "An entry in the adslAtucIntervalTable."
             INDEX           { ifIndex, adslAtucChanIntervalNumber }
         ::= { adslAtucChanIntervalTable 1 }

         AdslAtucChanIntervalEntry ::=
             SEQUENCE {
             adslAtucChanIntervalNumber          INTEGER,
             adslAtucChanIntervalReceivedBlks    PerfIntervalCount,
             adslAtucChanIntervalTransmittedBlks PerfIntervalCount,
             adslAtucChanIntervalCorrectedBlks   PerfIntervalCount,
             adslAtucChanIntervalUncorrectBlks   PerfIntervalCount,
             adslAtucChanIntervalValidData       TruthValue
             }
         adslAtucChanIntervalNumber OBJECT-TYPE
             SYNTAX      INTEGER(1..96)
             MAX-ACCESS  not-accessible
             STATUS      current
             DESCRIPTION
                 "Performance Data Interval number 1 is the
                 the most recent previous interval; interval
                 96 is 24 hours ago.  Intervals 2..96 are
                 optional."
         ::= { adslAtucChanIntervalEntry 1 }

         adslAtucChanIntervalReceivedBlks OBJECT-TYPE
             SYNTAX      PerfIntervalCount
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all encoded blocks received on this channel
                 during this interval."
         ::= { adslAtucChanIntervalEntry 2 }

         adslAtucChanIntervalTransmittedBlks  OBJECT-TYPE
             SYNTAX      PerfIntervalCount
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all encoded blocks transmitted on this
                 channel during this interval."
         ::= { adslAtucChanIntervalEntry 3 }
         adslAtucChanIntervalCorrectedBlks  OBJECT-TYPE
             SYNTAX      PerfIntervalCount
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all blocks received with errors that were
                 corrected on this channel during this interval."
         ::= { adslAtucChanIntervalEntry 4 }

         adslAtucChanIntervalUncorrectBlks  OBJECT-TYPE
             SYNTAX      PerfIntervalCount
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all blocks received with uncorrectable
                 errors on this channel during this interval."
         ::= { adslAtucChanIntervalEntry 5 }

         adslAtucChanIntervalValidData OBJECT-TYPE
             SYNTAX TruthValue
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                 "This object indicates if there is valid data
                 for this interval."
                ::= { adslAtucChanIntervalEntry 6 }

         adslAturChanIntervalTable   OBJECT-TYPE
             SYNTAX          SEQUENCE OF AdslAturChanIntervalEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
                 "This table provides one row for each ATUR channel's
                 performance data collection interval.
                 ADSL channel interfaces are those ifEntries
                 where ifType is equal to adslInterleave(124)
                 or adslFast(125)."
         ::= { adslMibObjects 13 }

         adslAturChanIntervalEntry   OBJECT-TYPE
             SYNTAX          AdslAturChanIntervalEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION     "An entry in the adslAturIntervalTable."
             INDEX           { ifIndex, adslAturChanIntervalNumber }
         ::= { adslAturChanIntervalTable 1 }
         AdslAturChanIntervalEntry ::=
             SEQUENCE {
             adslAturChanIntervalNumber               INTEGER,
             adslAturChanIntervalReceivedBlks         PerfIntervalCount,
             adslAturChanIntervalTransmittedBlks      PerfIntervalCount,
             adslAturChanIntervalCorrectedBlks        PerfIntervalCount,
             adslAturChanIntervalUncorrectBlks        PerfIntervalCount,
             adslAturChanIntervalValidData            TruthValue
             }
         adslAturChanIntervalNumber OBJECT-TYPE
             SYNTAX      INTEGER(1..96)
             MAX-ACCESS  not-accessible
             STATUS      current
             DESCRIPTION
                 "Performance Data Interval number 1 is the
                 the most recent previous interval; interval
                 96 is 24 hours ago.  Intervals 2..96 are
                 optional."
         ::= { adslAturChanIntervalEntry 1 }

         adslAturChanIntervalReceivedBlks OBJECT-TYPE
             SYNTAX      PerfIntervalCount
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all encoded blocks received on this channel
                 during this interval."
         ::= { adslAturChanIntervalEntry 2 }

         adslAturChanIntervalTransmittedBlks  OBJECT-TYPE
             SYNTAX      PerfIntervalCount
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all encoded blocks transmitted on this
                 channel during this interval."
         ::= { adslAturChanIntervalEntry 3 }

         adslAturChanIntervalCorrectedBlks  OBJECT-TYPE
             SYNTAX      PerfIntervalCount
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all blocks received with errors that were
                 corrected on this channel during this interval."
         ::= { adslAturChanIntervalEntry 4 }

         adslAturChanIntervalUncorrectBlks  OBJECT-TYPE
             SYNTAX      PerfIntervalCount
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
                 "Count of all blocks received with uncorrectable
                 errors on this channel during this interval."
         ::= { adslAturChanIntervalEntry 5 }

         adslAturChanIntervalValidData OBJECT-TYPE
             SYNTAX TruthValue
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                 "This object indicates if there is valid data
                 for this interval."
                ::= { adslAturChanIntervalEntry 6 }

         -- Profile Group
         --
         adslLineConfProfileIndexNext OBJECT-TYPE
             SYNTAX          INTEGER
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
                 "This object contains an appropriate value to
                 be used for adslLineConfProfileIndex when creating
                 entries in the adslLineConfProfileTable. The value
                 `0' indicates that no unassigned entries are
                 available. To obtain the adslLineConfProfileIndexNext
                 value for a new entry, the manager issues a
                 management protocol retrieval operation to obtain
                 the current value of this object.  After the
                 manager has used this profile index by
                 assigning values to this new profile, the agent
                 should modify the value to the next unassigned
                 index.

                 If the implementator of this MIB has chosen not
                 to implement `dynamic assignment' of profiles, this
                 object's MIN-ACCESS is read-only and its value
                 is always `0'"
         ::= { adslMibObjects 14}

         adslLineConfProfileTable    OBJECT-TYPE
             SYNTAX          SEQUENCE OF AdslLineConfProfileEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
                 "This table contains information on the ADSL line
                 configuration.  One entry in this table reflects a
                 profile defined by a manager which can be used to
                 configure the ADSL line."
         ::= { adslMibObjects 15} 14}

         adslLineConfProfileEntry    OBJECT-TYPE
             SYNTAX          AdslLineConfProfileEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
                 "Each entry consists of a list of parameters that
                 represents the configuration of an ADSL modem.  A
                 When `dynamic' profiles are implemented, a
                 profile is created in one step with all necessary
                 parameter values and adslLineProfileRowStatus set to
                 createAndGo.  This RowStatus object is also used
                 to delete destroy profiles."
             INDEX { adslLineConfProfileIndex}
         ::= { adslLineConfProfileTable 1}

         AdslLineConfProfileEntry ::=
             SEQUENCE {
             adslLineConfProfileIndex
   AdslLineProfileType,
             adslAtucConfRateMode                    INTEGER,
             adslAtucConfRateChanRatio               INTEGER,
             adslAtucConfTargetSnrMgn                INTEGER,
             adslAtucConfMaxSnrMgn                   INTEGER,
             adslAtucConfMinSnrMgn                   INTEGER,
             adslAtucConfDownshiftSnrMgn             INTEGER, profiles.
                 When `static' profiles are implemented, profiles
                 are automically created or destroyed as ADSL
                 physical lines are discovered and removed by
                 the system.  The name of the profile will be
                 equivalent to the decimal value of the line's
                 interface index.
                 "
             INDEX { adslLineConfProfileName}
         ::= { adslLineConfProfileTable 1}

         AdslLineConfProfileEntry ::=
             SEQUENCE {
             adslLineConfProfileName
   AdslLineProfileName,
             adslAtucConfRateMode                    INTEGER,
             adslAtucConfRateChanRatio               INTEGER,
             adslAtucConfTargetSnrMgn                INTEGER,
             adslAtucConfMaxSnrMgn                   INTEGER,
             adslAtucConfMinSnrMgn                   INTEGER,
             adslAtucConfDownshiftSnrMgn             INTEGER,
             adslAtucConfUpshiftSnrMgn               INTEGER,
             adslAtucConfMinUpshiftTime              INTEGER,
             adslAtucConfMinDownshiftTime            INTEGER,
             adslAtucChanConfFastMinTxRate           INTEGER,
             adslAtucChanConfInterleaveMinTxRate     INTEGER,
             adslAtucChanConfFastMaxTxRate           INTEGER,
             adslAtucChanConfInterleaveMaxTxRate     INTEGER,
             adslAtucChanConfMaxInterleaveDelay      INTEGER,
             adslAturConfRateMode                    INTEGER,
             adslAturConfRateChanRatio               INTEGER,
             adslAturConfTargetSnrMgn                INTEGER,
             adslAturConfMaxSnrMgn                   INTEGER,
             adslAturConfMinSnrMgn                   INTEGER,
             adslAturConfDownshiftSnrMgn             INTEGER,
             adslAturConfUpshiftSnrMgn               INTEGER,
             adslAturConfMinUpshiftTime              INTEGER,
             adslAturConfMinDownshiftTime            INTEGER,
             adslAturChanConfFastMinTxRate           INTEGER,
             adslAturChanConfInterleaveMinTxRate     INTEGER,
             adslAturChanConfFastMaxTxRate           INTEGER,
             adslAturChanConfInterleaveMaxTxRate     INTEGER,
             adslAturChanConfMaxInterleaveDelay      INTEGER,
             adslLineConfProfileRowStatus            RowStatus
         }

         adslLineConfProfileIndex

         adslLineConfProfileName    OBJECT-TYPE
                 SYNTAX          AdslLineProfileType          AdslLineProfileName
                 MAX-ACCESS      not-accessible
                 STATUS          current
                 DESCRIPTION
                 "This object is used by the line configuration table
                 in order to identify a row of this table"
         ::= { adslLineConfProfileEntry 1 }

         adslAtucConfRateMode OBJECT-TYPE
             SYNTAX      INTEGER {
                 fixed (1),              -- no rate adaptation
                 adaptAtStartup (2),     -- perform rate adaptation
                                         -- only at initialization
                 adaptAtRuntime (3)      -- perform rate adaptation at
                                         -- any time (i.e., RADSL)
             }
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Defines what form of transmit rate adaptation is
                 configured on this modem.  See ADSL Forum TR-005 [3]
                 for more information."
         ::= { adslLineConfProfileEntry 2 }

         adslAtucConfRateChanRatio OBJECT-TYPE
             SYNTAX      INTEGER(0..100)
             UNITS        "%"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Configured allocation ratio of excess transmit
                 bandwidth between fast and interleaved channels.  Only
                 applies when two channel mode and RADSL are supported.
                 Distribute bandwidth on each channel in excess of the
                 corresponding ChanConfMinTxRate so that:
                 adslAtucConfRateChanRatio =

                         [Fast / (Fast + Interleaved)] * 100

                 In other words this value is the fast channel
                 percentage."
         ::= { adslLineConfProfileEntry 3 }

         adslAtucConfTargetSnrMgn OBJECT-TYPE
             SYNTAX      INTEGER(0..310)
             UNITS       "tenth dB"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Configured Target Signal/Noise Margin.
                 This is the Noise Margin the modem must achieve
                 with a BER of 10-7 or better to successfully complete
                 initialization."
         ::= { adslLineConfProfileEntry 4 }
         adslAtucConfMaxSnrMgn OBJECT-TYPE
             SYNTAX      INTEGER(0..310)
             UNITS       "tenth dB"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Configured Maximum acceptable Signal/Noise Margin.
                 If the Noise Margin is above this the modem should
                 attempt to reduce its power output to optimize its
                 operation."
         ::= { adslLineConfProfileEntry 5 }

         adslAtucConfMinSnrMgn  OBJECT-TYPE
             SYNTAX      INTEGER(0..310)
             UNITS       "tenth dB"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Configured Minimum acceptable Signal/Noise Margin.
                 If the noise margin falls below this level, the modem
                 should attempt to increase its power output.  If that
                 is not possible the modem will attempt to
                 re-initialize or shut down."
         ::= { adslLineConfProfileEntry 6 }

         adslAtucConfDownshiftSnrMgn  OBJECT-TYPE
             SYNTAX      INTEGER(0..310)
             UNITS       "tenth dB"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Configured Signal/Noise Margin for rate downshift.
                 If the noise margin falls below this level, the modem
                 should attempt to decrease its transmit rate.  In
                 the case that RADSL is not present, the value will
                 be `0'."
         ::= { adslLineConfProfileEntry 7 }

         adslAtucConfUpshiftSnrMgn  OBJECT-TYPE
             SYNTAX      INTEGER(0..310)
             UNITS       "tenth dB"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Configured Signal/Noise Margin for rate upshift.
                 If the noise margin rises above this level, the modem
                 should attempt to increase its transmit rate.    In
                 the case that RADSL is not present, the value will
                 be `0'."
         ::= { adslLineConfProfileEntry 8 }

         adslAtucConfMinUpshiftTime OBJECT-TYPE
             SYNTAX      INTEGER(0..16383)
             UNITS       "seconds"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Minimum time that the current margin is above
                 UpshiftSnrMgn before an upshift occurs.
                 In the case that RADSL is not present, the value will
                 be `0'."
         ::= { adslLineConfProfileEntry 9 }

        adslAtucConfMinDownshiftTime OBJECT-TYPE
             SYNTAX      INTEGER(0..16383)
             UNITS       "seconds"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Minimum time that the current margin is below
                 DownshiftSnrMgn before a downshift occurs.
                 In the case that RADSL is not present, the value will
                 be `0'."
         ::= { adslLineConfProfileEntry 10 }

         adslAtucChanConfFastMinTxRate  OBJECT-TYPE
             SYNTAX      INTEGER
             UNITS       "bps"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Configured Minimum Transmit rate for `Fast' channels,
                 in bps.  See adslAtucConfRateChanRatio for information
                 regarding RADSL mode and ATUR transmit rate for
                 ATUC receive rates."
         ::= { adslLineConfProfileEntry 11 }

         adslAtucChanConfInterleaveMinTxRate OBJECT-TYPE
             SYNTAX      INTEGER
             UNITS       "bps"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Configured Minimum Transmit rate for `Interleave'
                 channels, in bps.  See adslAtucConfRateChanRatio for
                 information regarding RADSL mode and see
                 ATUR transmit rate for receive rates."
         ::= { adslLineConfProfileEntry 12 }

         adslAtucChanConfFastMaxTxRate  OBJECT-TYPE
             SYNTAX      INTEGER
             UNITS       "bps"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Configured Maximum Transmit rate for `Fast' channels,
                 in bps.  See adslAtucConfRateChanRatio for information
                 regarding RADSL mode and see ATUR transmit rate for
                 ATUC receive rates."
         ::= { adslLineConfProfileEntry 13 }

         adslAtucChanConfInterleaveMaxTxRate OBJECT-TYPE
             SYNTAX      INTEGER
             UNITS       "bps"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Configured Maximum Transmit rate for `Interleave'
                 channels, in bps.  See adslAtucConfRateChanRatio for
                 information regarding RADSL mode and ATUR transmit
                 rate for ATUC receive rates."
         ::= { adslLineConfProfileEntry 14 }

         adslAtucChanConfMaxInterleaveDelay OBJECT-TYPE
             SYNTAX      INTEGER(0..255)
             UNITS        "milli-seconds"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Configured maximum Interleave Delay for this channel.

                 Interleave delay applies only to the interleave channel
                 and defines the mapping (relative spacing) between
                 subsequent input bytes at the interleaver input and
                 their placement in the bit stream at the interleaver
                 output.  Larger numbers provide greater separation
                 between consecutive input bytes in the output bit
                 stream allowing for improved impulse noise immunity
                 at the expense of payload latency."
         ::= { adslLineConfProfileEntry 15 }

         adslAturConfRateMode OBJECT-TYPE
             SYNTAX      INTEGER {
                 fixed (1),              -- no rate adaptation
                 adaptAtStartup (2),     -- perform rate adaptation
                                         -- only at initialization
                 adaptAtRuntime (3)      -- perform rate adaptation at
                                         -- any time (i.e., RADSL)
             }
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Defines what form of transmit rate adaptation is
                 configured on this modem.  See ADSL Forum TR-005 [3]
                 for more information."
         ::= { adslLineConfProfileEntry 16 }

         adslAturConfRateChanRatio OBJECT-TYPE
             SYNTAX      INTEGER(0..100)
             UNITS        "%"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Configured allocation ratio of excess transmit
                 bandwidth between fast and interleaved channels.  Only
                 applies when two channel mode and RADSL are supported.
                 Distribute bandwidth on each channel in excess of the
                 corresponding ChanConfMinTxRate so that:
                 adslAturConfRateChanRatio =

                         [Fast / (Fast + Interleaved)] * 100

                 In other words this value is the fast channel
                 percentage."
         ::= { adslLineConfProfileEntry 17 }

         adslAturConfTargetSnrMgn OBJECT-TYPE
             SYNTAX      INTEGER(0..310)
             UNITS       "tenth dB"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Configured Target Signal/Noise Margin.
                 This is the Noise Margin the modem must achieve
                 with a BER of 10-7 or better to successfully complete
                 initialization."
         ::= { adslLineConfProfileEntry 18 }

         adslAturConfMaxSnrMgn OBJECT-TYPE
             SYNTAX      INTEGER(0..310)
             UNITS       "tenth dB"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Configured Maximum acceptable Signal/Noise Margin.
                 If the Noise Margin is above this the modem should
                 attempt to reduce its power output to optimize its
                 operation."
         ::= { adslLineConfProfileEntry 19 }

        adslAturConfMinSnrMgn  OBJECT-TYPE
             SYNTAX      INTEGER(0..310)
             UNITS       "tenth dB"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Configured Minimum acceptable Signal/Noise Margin.
                 If the noise margin falls below this level, the modem
                 should attempt to increase its power output.  If that
                 is not possible the modem will attempt to
                 re-initialize or shut down."
         ::= { adslLineConfProfileEntry 20 }

         adslAturConfDownshiftSnrMgn  OBJECT-TYPE
             SYNTAX      INTEGER(0..310)
             UNITS       "tenth dB"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Configured Signal/Noise Margin for rate downshift.
                 If the noise margin falls below this level, the modem
                 should attempt to decrease its transmit rate.  In
                 the case that RADSL is not present,
                 the value will be `0'."
         ::= { adslLineConfProfileEntry 21 }

         adslAturConfUpshiftSnrMgn  OBJECT-TYPE
             SYNTAX      INTEGER(0..310)
             UNITS       "tenth dB"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Configured Signal/Noise Margin for rate upshift.
                 If the noise margin rises above this level, the modem
                 should attempt to increase its transmit rate.
                 In the case that RADSL is not present,
                 the value will be `0'."
         ::= { adslLineConfProfileEntry 22 }

         adslAturConfMinUpshiftTime OBJECT-TYPE
             SYNTAX      INTEGER(0..16383)
             UNITS       "seconds"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Minimum time that the current margin is above
                 UpshiftSnrMgn before an upshift occurs.
                 In the case that RADSL is not present, the value will
                 be `0'."
         ::= { adslLineConfProfileEntry 23 }

        adslAturConfMinDownshiftTime OBJECT-TYPE
             SYNTAX      INTEGER(0..16383)
             UNITS       "seconds"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Minimum time that the current margin is below
                 DownshiftSnrMgn before a downshift occurs.
                 In the case that RADSL is not present, the value will
                 be `0'."
         ::= { adslLineConfProfileEntry 24 }

         adslAturChanConfFastMinTxRate  OBJECT-TYPE
             SYNTAX      INTEGER
             UNITS       "bps"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Configured Minimum Transmit rate for `Fast' channels,
                 in bps.  See adslAturConfRateChanRatio for information
                 regarding RADSL mode and ATUC transmit rate
                 for ATUR receive rates."
         ::= { adslLineConfProfileEntry 25 }

         adslAturChanConfInterleaveMinTxRate OBJECT-TYPE
             SYNTAX      INTEGER
             UNITS       "bps"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Configured Minimum Transmit rate for `Interleave'
                 channels, in bps.  See adslAturConfRateChanRatio for
                 information regarding RADSL mode and ATUC transmit rate
                 for ATUR receive rates."
         ::= { adslLineConfProfileEntry 26 }

         adslAturChanConfFastMaxTxRate  OBJECT-TYPE
             SYNTAX      INTEGER
             UNITS       "bps"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Configured Maximum Transmit rate for `Fast' channels,
                 in bps.  See adslAturConfRateChanRatio for information
                 regarding RADSL mode and ATUC transmit rate
                 for ATUR receive rates."
         ::= { adslLineConfProfileEntry 27 }

         adslAturChanConfInterleaveMaxTxRate OBJECT-TYPE
             SYNTAX      INTEGER
             UNITS       "bps"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Configured Maximum Transmit rate for `Interleave'
                 channels, in bps.  See adslAturConfRateChanRatio for
                 information regarding RADSL mode and see
                 ATUC transmit rate for ATUR receive rates."
         ::= { adslLineConfProfileEntry 28 }

         adslAturChanConfMaxInterleaveDelay OBJECT-TYPE
             SYNTAX      INTEGER(0..255)
             UNITS        "milli-seconds"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Configured maximum Interleave Delay for this channel.

                 Interleave delay applies only to the interleave channel
                 and defines the mapping (relative spacing) between
                 subsequent input bytes at the interleaver input and
                 their placement in the bit stream at the interleaver
                 output.  Larger numbers provide greater separation
                 between consecutive input bytes in the output bit
                 stream allowing for improved impulse noise immunity
                 at the expense of payload latency."
         ::= { adslLineConfProfileEntry 29 }

         adslLineConfProfileRowStatus OBJECT-TYPE
             SYNTAX          RowStatus
             MAX-ACCESS      read-create
             STATUS          current
             DESCRIPTION
                 "This object is used to create a new row or modify or
                 delete an existing row in this table.

                 Before a profile is can be deleted or taken out of
                 service, (by setting this object to `destroy' or
                 `outOfService') it must be first unreferenced
                 from all associated lines.

                 If the implementator of this MIB has chosen not
                 to implement `dynamic assignment' of profiles, this
                 object's MIN-ACCESS is read-only and its value
                 is always to be `active'."
         ::= { adslLineConfProfileEntry 30 }

         adslLineAlarmConfProfileIndexNext OBJECT-TYPE
             SYNTAX          INTEGER
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
                 "This object contains an appropriate value to
                 be used for adslLineAlarmConfProfileIndex when creating
                 entries in the adslLineAlarmConfTable. The value
                 `0' indicates that no unassigned entries are available.
                 To obtain the adslLineAlarmConfProfileIndexNext
                 value for a new entry, the manager issues a
                 management protocol retrieval operation to obtain
                 the current value of this object.  After the
                 manager has used this profile index by
                 assigning values to this new profile, the agent
                 should modify the value to the next unassigned
                 index.

                 If the implementator of this MIB has chosen not
                 to implement `dynamic assignment' of profiles, this
                 object's MIN-ACCESS is read-only and its value
                 is always `0'."
         ::= { adslMibObjects 16}

         adslLineAlarmConfProfileTable    OBJECT-TYPE
             SYNTAX          SEQUENCE OF AdslLineAlarmConfProfileEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
                 "This table contains information on the ADSL line
                 configuration.  One entry in this table reflects a
                 profile defined by a manager which can be used to
                 configure the modem for a physical line"
         ::= { adslMibObjects 17} 15}

         adslLineAlarmConfProfileEntry    OBJECT-TYPE
             SYNTAX          AdslLineAlarmConfProfileEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
                 "Each entry consists of a list of parameters that
                 represents the configuration of an ADSL modem.  A
                 When `dynamic' profiles are implemented, a
                 profile is created in one step with all necessary
                 parameter values and adslLineAlarmConfProfileRowStatus adslLineProfileRowStatus set to
                 createAndGo.  This RowStatus object is also used
                 to delete destroy profiles." profiles.
                 When `static' profiles are implemented, profiles
                 are automically created or destroyed as ADSL
                 physical lines are discovered and removed by
                 the system.  The name of the profile will be
                 equivalent to the decimal value of the line's
                 interface index.
                 "
             INDEX { adslLineAlarmConfProfileIndex} adslLineAlarmConfProfileName}
         ::= { adslLineAlarmConfProfileTable 1}

         AdslLineAlarmConfProfileEntry ::=
             SEQUENCE {
                 adslLineAlarmConfProfileIndex
   AdslLineProfileType,
             adslLineAlarmConfProfileName
   AdslLineProfileName,
             adslAtucThresh15MinLofs                 INTEGER,
             adslAtucThresh15MinLoss                 INTEGER,
             adslAtucThresh15MinLols                 INTEGER,
             adslAtucThresh15MinLprs                 INTEGER,
             adslAtucThresh15MinESs                  INTEGER,
             adslAtucThreshFastRateUp                Integer32,
             adslAtucThreshInterleaveRateUp          Integer32,
             adslAtucThreshFastRateDown              Integer32,
             adslAtucThreshInterleaveRateDown        Integer32,
             adslAtucInitFailureTrapEnable           INTEGER,
             adslAturThresh15MinLofs                 INTEGER,
             adslAturThresh15MinLoss                 INTEGER,
             adslAturThresh15MinLprs                 INTEGER,
             adslAturThresh15MinESs                  INTEGER,
             adslAturThreshFastRateUp                Integer32,
             adslAturThreshInterleaveRateUp          Integer32,
             adslAturThreshFastRateDown              Integer32,
             adslAturThreshInterleaveRateDown        Integer32,
             adslLineAlarmConfProfileRowStatus       RowStatus
             }

         adslLineAlarmConfProfileIndex

         adslLineAlarmConfProfileName    OBJECT-TYPE
             SYNTAX          AdslLineProfileType          AdslLineProfileName
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
                 "This object is used by the line alarm configuration
                 table in order to identify a row of this table"
         ::= { adslLineAlarmConfProfileEntry 1}

         adslAtucThresh15MinLofs OBJECT-TYPE
             SYNTAX      INTEGER(0..900)
             UNITS       "seconds"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "The number of Loss of Frame Seconds
                 encountered by an ADSL interface within any given 15
                 minutes performance data collection period, which
                 causes the SNMP agent to send an
                 adslAtucPerfLofsThreshTrap.

                 Limit of one trap will be sent for any one interval.  A
                 value of `0' will disable the trap."
         ::= { adslLineAlarmConfProfileEntry 2}

         adslAtucThresh15MinLoss  OBJECT-TYPE
             SYNTAX      INTEGER(0..900)
             UNITS       "seconds"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "The number of Loss of Signal Seconds
                 encountered by an ADSL interface within any given 15
                 minutes performance data collection period, which
                 causes the SNMP agent to send an
                 adslAtucPerfLossThreshTrap.

                 Limit of one trap will be sent for any one interval.
                 A value of `0' will disable the trap."
         ::= { adslLineAlarmConfProfileEntry 3}

         adslAtucThresh15MinLols  OBJECT-TYPE
             SYNTAX      INTEGER(0..900)
             UNITS       "seconds"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "The number of Loss of Link Seconds
                 encountered by an ADSL interface within any given 15
                 minutes performance data collection period, which
                 causes the SNMP agent to send an
                 adslAtucPerfLolsThreshTrap.  Limit of one trap will
                 be sent for any one interval.  A value of `0' will
                 disable the trap."
         ::= { adslLineAlarmConfProfileEntry 4}

         adslAtucThresh15MinLprs  OBJECT-TYPE
             SYNTAX      INTEGER(0..900)
             UNITS       "seconds"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "The number of Loss of Power Seconds
                 encountered by an ADSL interface within any given 15
                 minutes performance data collection period, which
                 causes the SNMP agent to send an
                 adslAtucPerfLprsThreshTrap.
                 Limit of one trap will be sent for any one interval.
                 A value of `0' will disable the trap."
         ::= { adslLineAlarmConfProfileEntry 5}

         adslAtucThresh15MinESs  OBJECT-TYPE
             SYNTAX      INTEGER(0..900)
             UNITS       "seconds"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "The number of Errored Seconds
                 encountered by an ADSL interface within any given 15
                 minutes performance data collection period, which
                 causes the SNMP agent to send an
                 adslAtucPerfESsThreshTrap.
                 Limit of one trap will be sent for any one interval.
                 A value of `0' will disable the trap."
         ::= { adslLineAlarmConfProfileEntry 6}

         adslAtucThreshFastRateUp OBJECT-TYPE
             SYNTAX      Integer32
             UNITS       "bps"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Applies to `Fast' channels only.
                 Configured change in rate causing an
                 adslAtucRateChangeTrap.  A trap is produced when:
                 ChanCurrTxRate > >= ChanPrevTxRate plus the value of
                 this object. Set to `0' to disable."
         ::= { adslLineAlarmConfProfileEntry 7}

         adslAtucThreshInterleaveRateUp OBJECT-TYPE
             SYNTAX      Integer32
             UNITS       "bps"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Applies to `Interleave' channels only.
                 Configured change in rate causing an
                 adslAtucRateChangeTrap.  A trap is produced when:
                 ChanCurrTxRate > >= ChanPrevTxRate plus the value of
                 this object. Set to `0' to disable."
         ::= { adslLineAlarmConfProfileEntry 8}

         adslAtucThreshFastRateDown OBJECT-TYPE
             SYNTAX      Integer32
             UNITS       "bps"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Applies to `Fast' channels only.
                 Configured change in rate causing an
                 adslAtucRateChangeTrap.  A trap is produced when:
                 ChanCurrTxRate < <= ChanPrevTxRate minus the value of
                 this object. Set to `0' to disable."
         ::= { adslLineAlarmConfProfileEntry 9 }

         adslAtucThreshInterleaveRateDown OBJECT-TYPE
             SYNTAX      Integer32
             UNITS       "bps"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Applies to `Interleave' channels only.
                 Configured change in rate causing an
                 adslAtucRateChangeTrap.  A trap is produced when:
                 ChanCurrTxRate < <= ChanPrevTxRate minus the value of
                 this object. Set to `0' to disable."
         ::= { adslLineAlarmConfProfileEntry 10 }

         adslAtucInitFailureTrapEnable OBJECT-TYPE
             SYNTAX      INTEGER {
                 enable (1),
                 disable (2)
             }
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Enables and disables the InitFailureTrap.  This
                 object is defaulted disable(2)."
         DEFVAL { disable }
         ::= { adslLineAlarmConfProfileEntry 11 }

         adslAturThresh15MinLofs OBJECT-TYPE
             SYNTAX      INTEGER(0..900)
             UNITS       "seconds"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "The number of Loss of Frame Seconds
                 encountered by an ADSL interface within any given 15
                 minutes performance data collection period, which
                 causes the SNMP agent to send an
                 adslAtucPerfLofsThreshTrap.
                 Limit of one trap will be sent for any one interval.
                 A value of `0' will disable the trap."
         ::= { adslLineAlarmConfProfileEntry 12 }

         adslAturThresh15MinLoss  OBJECT-TYPE
             SYNTAX      INTEGER(0..900)
             UNITS       "seconds"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "The number of Loss of Signal Seconds
                 encountered by an ADSL interface within any given 15
                 minutes performance data collection period, which
                 causes the SNMP agent to send an
                 adslAtucPerfLossThreshTrap.
                 Limit of one trap will be sent for any one interval.
                 A value of `0' will disable the trap."
         ::= { adslLineAlarmConfProfileEntry 13 }

         adslAturThresh15MinLprs  OBJECT-TYPE
             SYNTAX      INTEGER(0..900)
             UNITS       "seconds"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "The number of Loss of Power Seconds
                 encountered by an ADSL interface within any given 15
                 minutes performance data collection period, which
                 causes the SNMP agent to send an
                 adslAtucPerfLprsThreshTrap.
                 Limit of one trap will be sent for any one interval.
                 A value of `0' will disable the trap."
         ::= { adslLineAlarmConfProfileEntry 14 }

         adslAturThresh15MinESs  OBJECT-TYPE
             SYNTAX      INTEGER(0..900)
             UNITS       "seconds"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "The number of Errored Seconds
                 encountered by an ADSL interface within any given 15
                 minutes performance data collection period, which
                 causes the SNMP agent to send an
                 adslAtucPerfESsThreshTrap.

                 Limit of one trap will be sent for any one interval.
                 A value of `0' will disable the trap."
         ::= { adslLineAlarmConfProfileEntry 15 }

         adslAturThreshFastRateUp OBJECT-TYPE
             SYNTAX      Integer32
             UNITS       "bps"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Applies to `Fast' channels only.
                 Configured change in rate causing an
                 adslAtucRateChangeTrap.  A trap is produced when:
                 ChanCurrTxRate > >= ChanPrevTxRate plus the value of
                 this object. Set to `0' to disable."
         ::= { adslLineAlarmConfProfileEntry 16 }

         adslAturThreshInterleaveRateUp OBJECT-TYPE
             SYNTAX      Integer32
             UNITS       "bps"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Applies to `Interleave' channels only.
                 configured change in rate causing an
                 adslAtucRateChangeTrap.  A trap is produced when:
                 ChanCurrTxRate > >= ChanPrevTxRate plus the value of
                 this object. Set to `0' to disable."
         ::= { adslLineAlarmConfProfileEntry 17 }

         adslAturThreshFastRateDown OBJECT-TYPE
             SYNTAX      Integer32
             UNITS       "bps"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Applies to `Fast' channels only.
                 Configured change in rate causing an
                 adslAtucRateChangeTrap.  A trap is produced when:
                 ChanCurrTxRate < <= ChanPrevTxRate minus the value of
                 this object. Set to `0' to disable."
         ::= { adslLineAlarmConfProfileEntry 18 }

         adslAturThreshInterleaveRateDown OBJECT-TYPE
             SYNTAX      Integer32
             UNITS       "bps"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Applies to `Interleave' channels only.
                 Configured change in rate causing an
                 adslAtucRateChangeTrap.  A trap is produced when:
                 ChanCurrTxRate < <= ChanPrevTxRate minus the value of
                 this object. Set to `0' to disable."
         ::= { adslLineAlarmConfProfileEntry 19 }

         adslLineAlarmConfProfileRowStatus OBJECT-TYPE
             SYNTAX          RowStatus
             MAX-ACCESS      read-create
             STATUS          current
             DESCRIPTION
                 "This object is used to create a new row or modify or
                 delete an existing row in this table.

                 Before a profile is can be deleted or taken out of
                 service, (by setting this object to `destroy' or
                 `outOfService') it must be first unreferenced
                 from all associated lines.

                 If the implementator of this MIB has chosen not
                 to implement `dynamic assignment' of profiles, this
                 object's MIN-ACCESS is read-only and its value
                 is always to be `active'."
         ::= { adslLineAlarmConfProfileEntry 20 }

         -- Line Code Specific Tables

         -- These are place holders for the Line Code Specific MIBs
         -- once they become available.

         adslLCSTable  OBJECT IDENTIFIER ::= { adslMibObjects 18 16 }

   -- trap definitions

   adslTraps OBJECT IDENTIFIER ::= { adslLineMib 2 }

   adslAtucTraps OBJECT IDENTIFIER ::= { adslTraps 1 }

         adslAtucPerfLofsThreshTrap      NOTIFICATION-TYPE
             OBJECTS { adslAtucThresh15MinLofs }
             STATUS  current
             DESCRIPTION
                 "Loss of Framing 15-minute interval threshold exceeded" reached."
         ::= { adslAtucTraps 0 1 }

         adslAtucPerfLossThreshTrap      NOTIFICATION-TYPE
             OBJECTS { adslAtucThresh15MinLoss }
             STATUS  current
             DESCRIPTION
                 "Loss of Signal 15-minute interval threshold exceeded" reached."
         ::= { adslAtucTraps 0 2 }

         adslAtucPerfLprsThreshTrap      NOTIFICATION-TYPE
             OBJECTS { adslAtucThresh15MinLprs }
             STATUS  current
             DESCRIPTION
                 "Loss of Power 15-minute interval threshold exceeded" reached."
         ::= { adslAtucTraps 0 3 }

         adslAtucPerfESsThreshTrap       NOTIFICATION-TYPE
             OBJECTS { adslAtucThresh15MinESs }
             STATUS  current
             DESCRIPTION
                 "Errored Second 15-minute interval threshold exceeded" reached."
         ::= { adslAtucTraps 0 4 }

         adslAtucRateChangeTrap  NOTIFICATION-TYPE
             OBJECTS {adslAtucChanCurrTxRate,
                                 adslAtucChanPrevTxRate }
             STATUS  current
             DESCRIPTION
                 "The ATUCs transmit rate has changed (RADSL mode only)"
         ::= { adslAtucTraps 0 5 }

         adslAtucPerfLolsThreshTrap      NOTIFICATION-TYPE
             OBJECTS { adslAtucThresh15MinLols }
             STATUS  current
             DESCRIPTION
                 "Loss of Link 15-minute interval threshold exceeded" reached."
         ::= { adslAtucTraps 0 6 }

         adslAtucInitFailureTrap NOTIFICATION-TYPE
             OBJECTS { adslAtucCurrStatus }
             STATUS  current
             DESCRIPTION
                 "ATUC initialization failed. See adslAtucCurrStatus
                 for potential reasons."
         ::= { adslAtucTraps 0 7 }

   adslAturTraps OBJECT IDENTIFIER ::= { adslTraps 2 }

         adslAturPerfLofsThreshTrap      NOTIFICATION-TYPE
             OBJECTS { adslAturThresh15MinLofs }
             STATUS  current
             DESCRIPTION
                 "Loss of Framing 15-minute interval threshold exceeded" reached."
         ::= { adslAturTraps 0 1 }

         adslAturPerfLossThreshTrap      NOTIFICATION-TYPE
             OBJECTS { adslAturThresh15MinLoss }
             STATUS  current
             DESCRIPTION
                 "Loss of Signal 15-minute interval threshold exceeded" reached."
         ::= { adslAturTraps 0 2 }

         adslAturPerfLprsThreshTrap      NOTIFICATION-TYPE
             OBJECTS { adslAturThresh15MinLprs }
             STATUS  current
             DESCRIPTION
                 "Loss of Power 15-minute interval threshold exceeded" reached."
         ::= { adslAturTraps 0 3 }

         adslAturPerfESsThreshTrap       NOTIFICATION-TYPE
             OBJECTS { adslAturThresh15MinESs }
             STATUS  current
             DESCRIPTION
                 "Errored Second 15-minute interval threshold exceeded" reached."
         ::= { adslAturTraps 0 4 }

         adslAturRateChangeTrap  NOTIFICATION-TYPE
             OBJECTS {adslAturChanCurrTxRate,
                                 adslAturChanPrevTxRate }
             STATUS  current
             DESCRIPTION
                 "The ATURs transmit rate has changed (RADSL mode only)"
         ::= { adslAturTraps 0 5 }

         -- no adslAturPerfLolsThreshTrap possible { 6 }

         -- no adslAturInitFailureTrap possible { 7 }

   -- conformance information

   adslConformance OBJECT IDENTIFIER ::= { adslLineMib 3 }

   adslGroups OBJECT IDENTIFIER ::= { adslConformance 1 }
   adslCompliances OBJECT IDENTIFIER ::= { adslConformance 2 }

         -- compliance statements

             adslLineMibCompliance MODULE-COMPLIANCE
             STATUS  current
             DESCRIPTION
                 "The compliance statement for SNMP entities
                 which have ADSL interfaces."

             MODULE  -- this module
             MANDATORY-GROUPS
                {
                adslLineGroup, adslPhysicalGroup, adslChannelGroup,
                adslAtucPhysPerfIntervalGroup,
                adslAturPhysPerfIntervalGroup, adslLineProfileGroup,
                adslLineAlarmProfileGroup
                }

             GROUP
                adslLineAlarmProfileGroup, adslLineProfileControlGroup
             DESCRIPTION
                 "This group is mandatory only when the dynamic profile
                 mode is implemented."
                }

             GROUP       adslAtucPhysPerfRawCounterGroup
             DESCRIPTION
                 "This group is optional."

             GROUP       adslAturPhysPerfRawCounterGroup
             DESCRIPTION
                 "This group is optional."

             GROUP       adslAtucChanPerformanceGroup
             DESCRIPTION
                 "This group is optional."

             GROUP       adslAturChanPerformanceGroup
             DESCRIPTION
                 "This group is optional."

             OBJECT     adslAtucIntervalNumber
             SYNTAX   INTEGER (1..1)
             DESCRIPTION
                 "It is allowable to implement only one ATU-C 15-minute
                 performance interval."

             OBJECT     adslAturIntervalNumber
             SYNTAX   INTEGER (1..1)
             DESCRIPTION
                 "It is allowable to implement only one ATU-R 15-minute
                 performance interval."

             OBJECT     adslAtucIntervalNumber     adslAtucChanIntervalNumber
             SYNTAX   INTEGER (1..1)
             DESCRIPTION
                 "It is allowable to implement only one ATU-C
                 channel 15-minute performance interval."

             OBJECT     adslAtucIntervalNumber     adslAturChanIntervalNumber
             SYNTAX   INTEGER (1..1)
             DESCRIPTION
                 "It is allowable to implement only one ATU-R
                 channel 15-minute performance interval."

             OBJECT      adslLineConfProfile
             MIN-ACCESS  read-only
             DESCRIPTION
                 "Read-only access is applicable when static
                  profiles are implemented."

             OBJECT      adslLineConfProfileIndexNext
             MIN-ACCESS  read-only
             DESCRIPTION
                 "Read-only access is applicable only when static
                  profiles are implemented."

             OBJECT      adslLineConfProfileRowStatus
             MIN-ACCESS  read-only
             DESCRIPTION
                 "Read-only access is applicable only when static
                  profiles are implemented."

             OBJECT      adslLineAlarmProfile
             MIN-ACCESS  read-only
             DESCRIPTION
                 "Read-only access is applicable only when static
                  profiles are implemented."

             OBJECT      adslLineAlarmConfProfileIndexNext      adslLineAlarmConfProfileRowStatus
             MIN-ACCESS  read-only
             DESCRIPTION
                 "Read-only access is applicable only when static
                  profiles are implemented."

             OBJECT      adslLineAlarmConfProfileRowStatus
             MIN-ACCESS  read-only

         ::= { adslCompliances 1 }

   -- Atur compliance statements

             adslLineMibAturCompliance MODULE-COMPLIANCE
             STATUS  current
             DESCRIPTION
                 "The compliance statement for SNMP entities
                  which manage ADSL ATU-R interfaces."

             MODULE  -- this module
             MANDATORY-GROUPS
                 {
                 adslAturLineGroup, adslAturAturPhysicalGroup,
                 adslAturChannelGroup,
                 adslAturAtucPhysPerfIntervalGroup,
                 adslAturAturPhysPerfIntervalGroup,
                 adslAturLineProfileGroup,
                 adslAturLineAlarmProfileGroup,
                 adslAturLineProfileControlGroup
                 }

             GROUP       adslAturAtucPhysPerfRawCounterGroup
             DESCRIPTION
                 "This group is optional."
             GROUP       adslAturAturPhysPerfRawCounterGroup
             DESCRIPTION
                 "This group is optional."

             GROUP       adslAturAtucChanPerformanceGroup
             DESCRIPTION
                 "This group is optional."

             GROUP       adslAturAturChanPerformanceGroup
             DESCRIPTION
                 "This group is optional."

             OBJECT     adslAtucIntervalNumber
             SYNTAX   INTEGER (1..1)
             DESCRIPTION
                 "It is allowable to implement only one ATU-C 15-minute
                 performance interval."

             OBJECT     adslAturIntervalNumber
             SYNTAX   INTEGER (1..1)
             DESCRIPTION
                 "It is allowable to implement only one ATU-R 15-minute
                 performance interval."

             OBJECT     adslAtucChanIntervalNumber
             SYNTAX   INTEGER (1..1)
             DESCRIPTION
                 "It is allowable to implement only one ATU-C
                 channel 15-minute performance interval."

             OBJECT     adslAturChanIntervalNumber
             SYNTAX   INTEGER (1..1)
             DESCRIPTION
                 "It is allowable to implement only one ATU-R
                 channel 15-minute performance interval."

             OBJECT      adslLineAlarmProfile
             MIN-ACCESS  read-only
             DESCRIPTION
                 "Read-only access is applicable only when static
                 profiles are implemented."

             OBJECT     adslAtucCurrStatus
             SYNTAX   BITS {
                            noDefect(0),
                            lossOfFraming(1),
                            lossOfSignal(2)
                           }
             DESCRIPTION
                 "It is allowable to implement only noDefect(0),
                 lossOfFraming(1) and lossOfSignal(2) by the ATU-R
                 agent."

        ::= { adslCompliances 2 }

         -- units of conformance
         adslLineGroup    OBJECT-GROUP
             OBJECTS {
                adslLineCoding, adslLineType, adslLineSpecific
                }
             STATUS     current
             DESCRIPTION
                 "A collection of objects providing configuration
                 information about an ADSL Line."
         ::= { adslGroups 1 }

         adslPhysicalGroup    OBJECT-GROUP
             OBJECTS {
                adslAtucInvSerialNumber, adslAtucInvVendorID,
                adslAtucInvVersionNumber, adslAtucCurrSnrMgn,
                adslAtucCurrAtn, adslAtucCurrStatus,
                adslAtucCurrOutputPwr, adslAtucCurrAttainableRate,
                adslAturInvSerialNumber, adslAturInvVendorID,
                adslAturInvVersionNumber, adslAturCurrSnrMgn,
                adslAturCurrAtn, adslAturCurrStatus,
                adslAturCurrOutputPwr, adslAturCurrAttainableRate
                }
             STATUS     current
             DESCRIPTION
                 "A collection of objects providing physical
                 configuration information of the ADSL Line."
         ::= { adslGroups 2 }

         adslChannelGroup    OBJECT-GROUP
             OBJECTS {
                adslAtucChanInterleaveDelay, adslAtucChanCurrTxRate,
                adslAtucChanPrevTxRate, adslAtucChanCrcBlockLength,
                adslAturChanInterleaveDelay, adslAturChanCurrTxRate,
                adslAturChanPrevTxRate, adslAturChanCrcBlockLength
                }
             STATUS     current
             DESCRIPTION
                 "A collection of objects providing configuration
                 information about an ADSL channel."
         ::= { adslGroups 3 }
         adslAtucPhysPerfRawCounterGroup OBJECT-GROUP
             OBJECTS {
                adslAtucPerfLofs, adslAtucPerfLoss,
                adslAtucPerfLols, adslAtucPerfLprs,
                adslAtucPerfESs, adslAtucPerfInits
                }
             STATUS     current
             DESCRIPTION
                 "A collection of objects providing raw performance
                 counts on an ADSL Line (ATU-C end)."
         ::= { adslGroups 4 }

         adslAtucPhysPerfIntervalGroup OBJECT-GROUP
             OBJECTS {
                adslAtucPerfValidIntervals,
                adslAtucPerfInvalidIntervals,
                adslAtucPerfCurr15MinTimeElapsed,
                adslAtucPerfCurr15MinLofs, adslAtucPerfCurr15MinLoss,
                adslAtucPerfCurr15MinLols, adslAtucPerfCurr15MinLprs,
                adslAtucPerfCurr15MinESs, adslAtucPerfCurr15MinInits,
                adslAtucPerfCurr1DayLofs, adslAtucPerfCurr1DayLoss,
                adslAtucPerfCurr1DayLols, adslAtucPerfCurr1DayLprs,
                adslAtucPerfCurr1DayESs, adslAtucPerfCurr1DayInits,
                adslAtucPerfPrev1DayMoniSecs,
                adslAtucPerfPrev1DayLofs, adslAtucPerfPrev1DayLoss,
                adslAtucPerfPrev1DayLols, adslAtucPerfPrev1DayLprs,
                adslAtucPerfPrev1DayESs, adslAtucPerfPrev1DayInits,
                adslAtucIntervalLofs, adslAtucIntervalLoss,
                adslAtucIntervalLols, adslAtucIntervalLprs,
                adslAtucIntervalESs, adslAtucIntervalInits,
                adslAtucIntervalValidData
                }
             STATUS     current
             DESCRIPTION
                 "A collection of objects providing current 15-minute,
                 1-day; and previous 1-day performance counts on
                 ADSL Line (ATU-C end) ."
         ::= { adslGroups 5 }

         adslAturPhysPerfRawCounterGroup OBJECT-GROUP
             OBJECTS {
                adslAturPerfLofs, adslAturPerfLoss,
                adslAturPerfLprs, adslAturPerfESs
                }
             STATUS     current
             DESCRIPTION
                 "A collection of objects providing raw performance
                 counts on an ADSL Line (ATU-R end)."
         ::= { adslGroups 6 }

         adslAturPhysPerfIntervalGroup OBJECT-GROUP
             OBJECTS {
                adslAturPerfValidIntervals,
                adslAturPerfInvalidIntervals,
                adslAturPerfCurr15MinTimeElapsed,
                adslAturPerfCurr15MinLofs, adslAturPerfCurr15MinLoss,
                adslAturPerfCurr15MinLprs, adslAturPerfCurr15MinESs,
                adslAturPerfCurr1DayTimeElapsed,
                adslAturPerfCurr1DayLofs, adslAturPerfCurr1DayLoss,
                adslAturPerfCurr1DayLprs, adslAturPerfCurr1DayESs,
                adslAturPerfPrev1DayMoniSecs,
                adslAturPerfPrev1DayLofs, adslAturPerfPrev1DayLoss,
                adslAturPerfPrev1DayLprs, adslAturPerfPrev1DayESs,
                adslAturIntervalLofs,
                adslAturIntervalLoss, adslAturIntervalLprs,
                adslAturIntervalESs, adslAturIntervalValidData
                }
             STATUS     current
             DESCRIPTION
                 "A collection of objects providing current 15-minute,
                 1-day; and previous 1-day performance counts on
                 ADSL Line (ATU-R end)."
         ::= { adslGroups 7 }

         adslAtucChanPerformanceGroup OBJECT-GROUP
             OBJECTS {
                adslAtucChanReceivedBlks,
                adslAtucChanTransmittedBlks,
                adslAtucChanCorrectedBlks,
                adslAtucChanUncorrectBlks,
                adslAtucChanPerfValidIntervals,
                adslAtucChanPerfInvalidIntervals,
                adslAtucChanPerfCurr15MinTimeElapsed,
                adslAtucChanPerfCurr15MinReceivedBlks,
                adslAtucChanPerfCurr15MinTransmittedBlks,
                adslAtucChanPerfCurr15MinCorrectedBlks,
                adslAtucChanPerfCurr15MinUncorrectBlks,
                adslAtucChanPerfCurr1DayTimeElapsed,
                adslAtucChanPerfCurr1DayReceivedBlks,
                adslAtucChanPerfCurr1DayTransmittedBlks,
                adslAtucChanPerfCurr1DayCorrectedBlks,
                adslAtucChanPerfCurr1DayUncorrectBlks,
                adslAtucChanPerfPrev1DayMoniSecs,
                adslAtucChanPerfPrev1DayReceivedBlks,
                adslAtucChanPerfPrev1DayTransmittedBlks,
                adslAtucChanPerfPrev1DayCorrectedBlks,
                adslAtucChanPerfPrev1DayUncorrectBlks,
                adslAtucChanIntervalReceivedBlks,
                adslAtucChanIntervalTransmittedBlks,
                adslAtucChanIntervalCorrectedBlks,
                adslAtucChanIntervalUncorrectBlks,
                adslAtucChanIntervalValidData
                }
             STATUS     current
             DESCRIPTION
                 "A collection of objects providing channel block
                 performance information on an ADSL channel
                 (ATU-C end)."
         ::= { adslGroups 8 }

         adslAturChanPerformanceGroup OBJECT-GROUP
             OBJECTS {
                adslAturChanReceivedBlks,
                adslAturChanTransmittedBlks,
                adslAturChanCorrectedBlks,
                adslAturChanUncorrectBlks,
                adslAturChanPerfValidIntervals,
                adslAturChanPerfInvalidIntervals,
                adslAturChanPerfCurr15MinTimeElapsed,
                adslAturChanPerfCurr15MinReceivedBlks,
                adslAturChanPerfCurr15MinTransmittedBlks,
                adslAturChanPerfCurr15MinCorrectedBlks,
                adslAturChanPerfCurr15MinUncorrectBlks,
                adslAturChanPerfCurr1DayTimeElapsed,
                adslAturChanPerfCurr1DayReceivedBlks,
                adslAturChanPerfCurr1DayTransmittedBlks,
                adslAturChanPerfCurr1DayCorrectedBlks,
                adslAturChanPerfCurr1DayUncorrectBlks,
                adslAturChanPerfPrev1DayMoniSecs,
                adslAturChanPerfPrev1DayReceivedBlks,
                adslAturChanPerfPrev1DayTransmittedBlks,
                adslAturChanPerfPrev1DayCorrectedBlks,
                adslAturChanPerfPrev1DayUncorrectBlks,
                adslAturChanIntervalReceivedBlks,
                adslAturChanIntervalTransmittedBlks,
                adslAturChanIntervalCorrectedBlks,
                adslAturChanIntervalUncorrectBlks,
                adslAturChanIntervalValidData
                }
             STATUS     current
             DESCRIPTION
                 "A collection of objects providing channel block
                 performance information on an ADSL channel
                 (ATU-C end)."
         ::= { adslGroups 9 }

         adslLineProfileGroup OBJECT-GROUP
             OBJECTS {
                adslAtucConfRateMode, adslAtucConfRateChanRatio,
                adslAtucConfTargetSnrMgn, adslAtucConfMaxSnrMgn,
                adslAtucConfMinSnrMgn,
                adslAtucConfDownshiftSnrMgn,
                adslAtucConfUpshiftSnrMgn,
                adslAtucConfMinUpshiftTime,
                adslAtucConfMinDownshiftTime,
                adslAtucChanConfFastMinTxRate,
                adslAtucChanConfInterleaveMinTxRate,
                adslAtucChanConfFastMaxTxRate,
                adslAtucChanConfInterleaveMaxTxRate,
                adslAtucChanConfMaxInterleaveDelay,
                adslAturConfRateMode, adslAturConfRateChanRatio,
                adslAturConfTargetSnrMgn, adslAturConfMaxSnrMgn,
                adslAturConfMinSnrMgn, adslAturConfDownshiftSnrMgn,
                adslAturConfUpshiftSnrMgn,
                adslAturConfMinUpshiftTime,
                adslAturConfMinDownshiftTime,
                adslAturChanConfFastMinTxRate,
                adslAturChanConfInterleaveMinTxRate,
                adslAturChanConfFastMaxTxRate,
                adslAturChanConfInterleaveMaxTxRate,
                adslAturChanConfMaxInterleaveDelay
                }
             STATUS     current
             DESCRIPTION
                 "A collection of objects providing provisioning
                 information about an ADSL Line."
         ::= { adslGroups 10 }

         adslLineAlarmProfileGroup OBJECT-GROUP
             OBJECTS {
                adslAtucThresh15MinLofs, adslAtucThresh15MinLoss,
                adslAtucThresh15MinLols, adslAtucThresh15MinLprs,
                adslAtucThresh15MinESs, adslAtucThreshFastRateUp,
                adslAtucThreshInterleaveRateUp,
                adslAtucThreshFastRateDown,
                adslAtucThreshInterleaveRateDown,
                adslAtucInitFailureTrapEnable,
                adslAturThresh15MinLofs, adslAturThresh15MinLoss,
                adslAturThresh15MinLprs, adslAturThresh15MinESs,
                adslAturThreshFastRateUp,
                adslAturThreshInterleaveRateUp,
                adslAturThreshFastRateDown,
                adslAturThreshInterleaveRateDown
                }
             STATUS     current
             DESCRIPTION
                 "A collection of objects providing alarm provisioning
                 information about an ADSL Line."
         ::= { adslGroups 11 }

         adslLineProfileControlGroup OBJECT-GROUP
             OBJECTS {
                adslLineConfProfile, adslLineAlarmConfProfile,
                adslLineConfProfileRowStatus,
                adslLineAlarmConfProfileRowStatus
                }
             STATUS     current
             DESCRIPTION
                 "A collection of objects providing profile
                 control for the ADSL system."
         ::= { adslGroups 12 }

         adslNotificationsGroup NOTIFICATION-GROUP
             NOTIFICATIONS {
                adslAtucPerfLofsThreshTrap,
                adslAtucPerfLossThreshTrap,
                adslAtucPerfLprsThreshTrap,
                adslAtucPerfESsThreshTrap,
                adslAtucRateChangeTrap,
                adslAtucPerfLolsThreshTrap,
                adslAtucInitFailureTrap,
                adslAturPerfLofsThreshTrap,
                adslAturPerfLossThreshTrap,
                adslAturPerfLprsThreshTrap,
                adslAturPerfESsThreshTrap,
                adslAturRateChangeTrap
                }
             STATUS        current
             DESCRIPTION
                 "Read-only access is applicable only when static
                  profiles are implemented."
                 "The collection of adsl notifications."
         ::= { adslCompliances 1 adslGroups 13 }

   -- units of conformance
         adslLineGroup for ATU-R agent

            adslAturLineGroup    OBJECT-GROUP
                OBJECTS {
                adslLineCoding, adslLineType, adslLineSpecific
                   adslLineCoding
                   }
                STATUS     current
                DESCRIPTION
                    "A collection of objects providing configuration
                    information about an ADSL Line." Line on the ATU-R side."
            ::= { adslGroups 1 14 }

         adslPhysicalGroup

            adslAturPhysicalGroup    OBJECT-GROUP
                OBJECTS {
                adslAtucInvSerialNumber,
                   adslAtucInvVendorID,
                   adslAtucInvVersionNumber, adslAtucCurrSnrMgn,
                adslAtucCurrAtn, adslAtucCurrStatus,
                   adslAtucCurrOutputPwr, adslAtucCurrAttainableRate,
                   adslAturInvSerialNumber, adslAturInvVendorID,
                   adslAturInvVersionNumber, adslAturCurrSnrMgn,
                   adslAturCurrAtn, adslAturCurrStatus,
                   adslAturCurrOutputPwr, adslAturCurrAttainableRate
                   }
                STATUS     current
                DESCRIPTION
                    "A collection of objects providing physical
                    configuration information of the ADSL Line." Line on the
                    ATU-R side."
            ::= { adslGroups 2 15 }

         adslChannelGroup

            adslAturChannelGroup    OBJECT-GROUP
                OBJECTS {
                   adslAtucChanInterleaveDelay, adslAtucChanCurrTxRate,
                   adslAtucChanPrevTxRate, adslAtucChanCrcBlockLength,
                   adslAturChanInterleaveDelay, adslAturChanCurrTxRate,
                   adslAturChanPrevTxRate, adslAturChanCrcBlockLength
                   }
                STATUS     current
                DESCRIPTION
                    "A collection of objects providing configuration
                   information about an ADSL channel." channel on the ATU-R
                   side."
            ::= { adslGroups 3 16 }

         adslAtucPhysPerfRawCounterGroup

            adslAturAtucPhysPerfRawCounterGroup OBJECT-GROUP
                OBJECTS {
                   adslAtucPerfLofs, adslAtucPerfLoss,
                adslAtucPerfLols, adslAtucPerfLprs,
                   adslAtucPerfESs, adslAtucPerfInits
                   }
                STATUS     current
                DESCRIPTION
                    "A collection of objects providing raw performance
                   counts on an ADSL Line (ATU-C end)." end) provided by the
                   ATU-R agent."
            ::= { adslGroups 4 17 }

         adslAtucPhysPerfIntervalGroup

            adslAturAtucPhysPerfIntervalGroup OBJECT-GROUP
                OBJECTS {
                   adslAtucPerfValidIntervals,
                   adslAtucPerfInvalidIntervals,
                   adslAtucPerfCurr15MinTimeElapsed,
                   adslAtucPerfCurr15MinLofs, adslAtucPerfCurr15MinLoss,
                adslAtucPerfCurr15MinLols, adslAtucPerfCurr15MinLprs,
                   adslAtucPerfCurr15MinESs, adslAtucPerfCurr15MinInits,
                   adslAtucPerfCurr1DayLofs, adslAtucPerfCurr1DayLoss,
                adslAtucPerfCurr1DayLols, adslAtucPerfCurr1DayLprs,
                   adslAtucPerfCurr1DayESs, adslAtucPerfCurr1DayInits,
                   adslAtucPerfPrev1DayMoniSecs,
                   adslAtucPerfPrev1DayLofs, adslAtucPerfPrev1DayLoss,
                adslAtucPerfPrev1DayLols, adslAtucPerfPrev1DayLprs,
                   adslAtucPerfPrev1DayESs, adslAtucPerfPrev1DayInits,
                   adslAtucIntervalLofs, adslAtucIntervalLoss,
                adslAtucIntervalLols, adslAtucIntervalLprs,
                   adslAtucIntervalESs, adslAtucIntervalInits,
                   adslAtucIntervalValidData
                   }
                STATUS     current
                DESCRIPTION
                    "A collection of objects providing current
                   15-minute, 1-day; and previous 1-day performance
                   counts on ADSL Line (ATU-C end) ." provided by the
                   ATU-R agent."
            ::= { adslGroups 5 18 }

         adslAturPhysPerfRawCounterGroup

            adslAturAturPhysPerfRawCounterGroup OBJECT-GROUP
                OBJECTS {
                   adslAturPerfLofs, adslAturPerfLoss,
                   adslAturPerfLprs, adslAturPerfESs
                   }
                STATUS     current
                DESCRIPTION
                    "A collection of objects providing raw performance
                   counts on an ADSL Line (ATU-R end)." end) provided by the
                   ATU-R agent."
            ::= { adslGroups 6 19 }

         adslAturPhysPerfIntervalGroup

            adslAturAturPhysPerfIntervalGroup OBJECT-GROUP
                OBJECTS {
                   adslAturPerfValidIntervals,
                   adslAturPerfInvalidIntervals,
                   adslAturPerfCurr15MinTimeElapsed,
                   adslAturPerfCurr15MinLofs, adslAturPerfCurr15MinLoss,
                   adslAturPerfCurr15MinLprs, adslAturPerfCurr15MinESs,
                   adslAturPerfCurr1DayTimeElapsed,
                   adslAturPerfCurr1DayLofs, adslAturPerfCurr1DayLoss,
                   adslAturPerfCurr1DayLprs, adslAturPerfCurr1DayESs,
                   adslAturPerfPrev1DayMoniSecs,
                   adslAturPerfPrev1DayLofs, adslAturPerfPrev1DayLoss,
                   adslAturPerfPrev1DayLprs, adslAturPerfPrev1DayESs,
                   adslAturIntervalLofs,
                   adslAturIntervalLoss, adslAturIntervalLprs,
                   adslAturIntervalESs, adslAturIntervalValidData
                   }
                STATUS     current
                DESCRIPTION
                    "A collection of objects providing current
                   15-minute, 1-day; and previous 1-day performance
                   counts on ADSL Line (ATU-R end)." end) provided by the
                   ATU-R agent."
            ::= { adslGroups 7 20 }

         adslAtucChanPerformanceGroup

            adslAturAtucChanPerformanceGroup OBJECT-GROUP
                OBJECTS {
                   adslAtucChanReceivedBlks,
                   adslAtucChanTransmittedBlks,
                   adslAtucChanCorrectedBlks,
                   adslAtucChanUncorrectBlks,
                   adslAtucChanPerfValidIntervals,
                   adslAtucChanPerfInvalidIntervals,
                adslAtucChanPerfCurr15MinTimeElapsed,
                adslAtucChanPerfCurr15MinReceivedBlks,
                adslAtucChanPerfCurr15MinTransmittedBlks,
                adslAtucChanPerfCurr15MinCorrectedBlks,
                adslAtucChanPerfCurr15MinUncorrectBlks,
                adslAtucChanPerfCurr1DayTimeElapsed,
                adslAtucChanPerfCurr1DayReceivedBlks,
                adslAtucChanPerfCurr1DayTransmittedBlks,
                adslAtucChanPerfCurr1DayCorrectedBlks,
                adslAtucChanPerfCurr1DayUncorrectBlks,
                adslAtucChanPerfPrev1DayMoniSecs,
                adslAtucChanPerfPrev1DayReceivedBlks,
                adslAtucChanPerfPrev1DayTransmittedBlks,
                adslAtucChanPerfPrev1DayCorrectedBlks,
                adslAtucChanPerfPrev1DayUncorrectBlks,
                   adslAtucChanIntervalReceivedBlks,
                   adslAtucChanIntervalTransmittedBlks,
                   adslAtucChanIntervalCorrectedBlks,
                   adslAtucChanIntervalUncorrectBlks,
                   adslAtucChanIntervalValidData
                   }
                STATUS     current
                DESCRIPTION
                    "A collection of objects providing channel block
                    performance information on an ADSL channel
                    (ATU-C end)." end) provided by the ATU-R agent."
            ::= { adslGroups 8 21 }

         adslAturChanPerformanceGroup

            adslAturAturChanPerformanceGroup OBJECT-GROUP
                OBJECTS {
                   adslAturChanReceivedBlks,
                   adslAturChanTransmittedBlks,
                   adslAturChanCorrectedBlks,
                   adslAturChanUncorrectBlks,
                   adslAturChanPerfValidIntervals,
                   adslAturChanPerfInvalidIntervals,
                   adslAturChanPerfCurr15MinTimeElapsed,
                   adslAturChanPerfCurr15MinReceivedBlks,
                   adslAturChanPerfCurr15MinTransmittedBlks,
                   adslAturChanPerfCurr15MinCorrectedBlks,
                   adslAturChanPerfCurr15MinUncorrectBlks,
                   adslAturChanPerfCurr1DayTimeElapsed,
                   adslAturChanPerfCurr1DayReceivedBlks,
                   adslAturChanPerfCurr1DayTransmittedBlks,
                   adslAturChanPerfCurr1DayCorrectedBlks,
                   adslAturChanPerfCurr1DayUncorrectBlks,
                   adslAturChanPerfPrev1DayMoniSecs,
                   adslAturChanPerfPrev1DayReceivedBlks,
                   adslAturChanPerfPrev1DayTransmittedBlks,
                   adslAturChanPerfPrev1DayCorrectedBlks,
                   adslAturChanPerfPrev1DayUncorrectBlks,
                   adslAturChanIntervalReceivedBlks,
                   adslAturChanIntervalTransmittedBlks,
                   adslAturChanIntervalCorrectedBlks,
                   adslAturChanIntervalUncorrectBlks,
                   adslAturChanIntervalValidData
                   }
                STATUS     current
                DESCRIPTION
                    "A collection of objects providing channel block
                    performance information on an ADSL channel
                 (ATU-C end)."
         ::= { adslGroups 9 }

         adslLineProfileGroup OBJECT-GROUP
             OBJECTS {
                adslAtucConfRateMode, adslAtucConfRateChanRatio,
                adslAtucConfTargetSnrMgn, adslAtucConfMaxSnrMgn,
                adslAtucConfMinSnrMgn,
                adslAtucConfDownshiftSnrMgn,
                adslAtucConfUpshiftSnrMgn,
                adslAtucConfMinUpshiftTime,
                adslAtucConfMinDownshiftTime,
                adslAtucChanConfFastMinTxRate,
                adslAtucChanConfInterleaveMinTxRate,
                adslAtucChanConfFastMaxTxRate,
                adslAtucChanConfInterleaveMaxTxRate,
                adslAtucChanConfMaxInterleaveDelay,
                adslAturConfRateMode, adslAturConfRateChanRatio,
                adslAturConfTargetSnrMgn, adslAturConfMaxSnrMgn,
                adslAturConfMinSnrMgn, adslAturConfDownshiftSnrMgn,
                adslAturConfUpshiftSnrMgn,
                adslAturConfMinUpshiftTime,
                adslAturConfMinDownshiftTime,
                adslAturChanConfFastMinTxRate,
                adslAturChanConfInterleaveMinTxRate,
                adslAturChanConfFastMaxTxRate,
                adslAturChanConfInterleaveMaxTxRate,
                adslAturChanConfMaxInterleaveDelay
                }
             STATUS     current
             DESCRIPTION
                 "A collection of objects providing provisioning
                 information about an ADSL Line."
                    (ATU-R end) provided by the ATU-R agent."
            ::= { adslGroups 10 22 }

         adslLineAlarmProfileGroup

            adslAturLineAlarmProfileGroup OBJECT-GROUP
                OBJECTS {
                   adslAtucThresh15MinLofs, adslAtucThresh15MinLoss,
                adslAtucThresh15MinLols, adslAtucThresh15MinLprs,
                   adslAtucThresh15MinESs, adslAtucThreshFastRateUp,
                   adslAtucThreshInterleaveRateUp,
                   adslAtucThreshFastRateDown,
                   adslAtucThreshInterleaveRateDown,
                   adslAtucInitFailureTrapEnable,
                   adslAturThresh15MinLofs, adslAturThresh15MinLoss,
                   adslAturThresh15MinLprs, adslAturThresh15MinESs,
                   adslAturThreshFastRateUp,
                   adslAturThreshInterleaveRateUp,
                   adslAturThreshFastRateDown,
                   adslAturThreshInterleaveRateDown
                   }
                STATUS     current
                DESCRIPTION
                    "A collection of objects providing alarm
   provisioning
                    information about an ADSL Line." Line provided by the
                    ATU-R agent."
            ::= { adslGroups 11 23 }

         adslLineProfileControlGroup

            adslAturLineProfileControlGroup OBJECT-GROUP
                OBJECTS {
                adslLineConfProfile,
                   adslLineAlarmConfProfile,
                adslLineConfProfileIndexNext,
                adslLineConfProfileRowStatus,
                adslLineAlarmConfProfileIndexNext,
                   adslLineAlarmConfProfileRowStatus
                   }
                STATUS     current
                DESCRIPTION
                    "A collection of objects providing profile
                    control for the ADSL system." system by the ATU-R agent."
            ::= { adslGroups 12 24 }

         adslNotificationsGroup

            adslAturNotificationsGroup NOTIFICATION-GROUP
                NOTIFICATIONS {
                   adslAtucPerfLofsThreshTrap,
                   adslAtucPerfLossThreshTrap,
                adslAtucPerfLprsThreshTrap,
                   adslAtucPerfESsThreshTrap,
                   adslAtucRateChangeTrap,
                adslAtucPerfLolsThreshTrap,
                   adslAtucInitFailureTrap,
                   adslAturPerfLofsThreshTrap,
                   adslAturPerfLossThreshTrap,
                adslAturPerfLprsThreshTrap,
                   adslAturPerfESsThreshTrap,
                   adslAturRateChangeTrap
                   }
                STATUS        current
                DESCRIPTION
                    "The collection of adsl notifications." notifications implemented by
                    the ATU-R agent."
            ::= { adslGroups 13 25 }

   END

   10.  Acknowledgments

   Original ADSL Forum TR006[9] editors:

         Gregory Bathrick (AG Communication Systems)
         John Burgess (Predictive Systems)

   Contributions have been received from the IETF-ADSLMIB and ADSLF-NM
   working groups, including, but not limited to:

         David Allen (Nortel)
         Rajesh Abbi (Alcatel)
         Gregory Bathrick (AG Communication Systems)
         Umberto Bonollo (NEC)
         John Burgess (Predictive Systems)
         Gail Cone (Amati)
         Peter Duffy (Atlantech)
         Kevin Godfrey (Motorola)
         Bill Hong (Diamond Lane)
         Bob Jenness (Siemens)
         Lars Johansson (Ericsson)
         Jeff Johnson (RedBack Network)
         Tsu Kai Lu (DSC)
         Faye Ly (Copper Mountain Networks)
         Gigi Karmous-Edwards (Pulsecom)
         Ron Knipper (Diamond Lane)
         Adil Masood (AG Communication Systems)
         Padmore Peterson (BT)
         Anna Salguero (SBC)
         Donald Simon (Motorola)
         Ted Soo-Hoo (Pulsecom)
         John Stehman (Diamond Lane)
         Chuck Storry (Newbridge)
         Chi-Lin Tom (AFC)
         Frank Van der Putten (Alcatel)
         Marc Van Vlimmeren (Alcatel)
         Bert Wijnen (IBM)

   11.  References

   [1]  SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and
        S. Waldbusser, "Structure of Management Information for Version
        2 of the Simple Network Management Protocol (SNMPv2)",
        RFC 1902, January 1996.

   [2]  Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
        "Textual Conventions for SNMPv2", RFC 1903, SNMP Research,
        Inc., Cisco Systems, Inc., Dover Beach Consulting, Inc.,
        International Network Services, January 1996.

   [3]  ADSL Forum TR-005, "Network Management Element Management",
        March 1998.

   [4]  McCloghrie, K., and M. Rose, Editors, "Management
        Information Base for Network Management of TCP/IP-based
        internets: MIB-II", STD 17, RFC 1213, Hughes LAN Systems,
        Performance Systems International, March 1991.

   [5]  McCloghrie, K. and F. Kastenholz, "The Interfaces Group
        MIB using SMIv2", RFC 2233, Cisco Systems, FTP Software,
        November 1997.

   [6]  SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M.,
        and S. Waldbusser, "Management Information Base for
        version 2 of the Simple Network Management Protocol
        (SNMPv2)", RFC 1907, January 1996.

   [6]  RFC 1907, "Management Information Base for Version 2 of the
        Simple Network Management Protocol (SNMPv2)", January 1996.

   [7]  Case, J., Fedor, M., Schoffstall, M., and J. Davin. " A Simple
        Network Management Protocol (SNMP)", STD 15, RFC 1157, SNMP
        Research, Performance Systems International, MIT Lab for
        Computer Science, May 1990.

   [8]  SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and
        S. Waldbusser, "Protocol Operations for Version 2 of the Simple
        Network Management Protocol (SNMPv2)", RFC 1905, January 1996.

   [9]  ADSL Forum TR-006, "SNMP-based ADSL Line MIB", March 1998.

   [10] American National Standards Institute, ANSI T1.413-1995,
        August 1995.

   [11] ADSL Forum WT-022, "DMT Line Code Specific MIB", June 1998.

   [12] ADSL Forum WT-023, "CAP Line Code Specific MIB", June 1998.

   [13] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for
        Describing SNMP Management Frameworks", RFC 2271, Cabletron
        Systems, Inc., BMC Software, Inc., IBM T. J. Watson Research,
        January 1998

   [14] Rose, M., and K. McCloghrie, "Structure and Identification of
        Management Information for TCP/IP-based Internets", RFC 1155,
        Performance Systems International, Hughes LAN Systems, May 1990

   [15] Rose, M., and K. McCloghrie, "Concise MIB Definitions",
        RFC 1212, Performance Systems International, Hughes LAN Systems,
        March 1991

   [16] M. Rose, "A Convention for Defining Traps for use with the
        SNMP", RFC 1215, Performance Systems International, March
        1991

   [17] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S.
        Waldbusser, "Conformance Statements for Version 2 of the Simple
        Network Management Protocol (SNMPv2)", RFC 1904, SNMP Research,
        Inc., Cisco Systems, Inc., Dover Beach Consulting, Inc.,
        International Network Services, January 1996.

   [18] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S.
        Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901,
        SNMP Research, Inc., Cisco Systems, Inc., Dover Beach
        Consulting, Inc., International Network Services, January 1996.

   [19] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S.
        Waldbusser, "Transport Mappings for Version 2 of the Simple
        Network Management Protocol (SNMPv2)", RFC 1906, SNMP Research,
        Inc., Cisco Systems, Inc., Dover Beach Consulting, Inc.,
        International Network Services, January 1996.

   [20] Case, J., Harrington D., Presuhn R., and B. Wijnen, "Message
        Processing and Dispatching for the Simple Network Management
        Protocol (SNMP)", RFC 2272, SNMP Research, Inc., Cabletron
        Systems, Inc., BMC Software, Inc., IBM T. J. Watson Research,
        January 1998.

   [21] Blumenthal, U., and B. Wijnen, "User-based Security Model (USM)
        for version 3 of the Simple Network Management Protocol
        (SNMPv3)", RFC 2274, IBM T. J. Watson Research, January 1998.

   [22] Levi, D., Meyer, P., and B. Stewart, SNMPv3 Applications",
        RFC 2273, SNMP Research, Inc., Secure Computing Corporation,
        Cisco Systems, January 1998.

   [23] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access
        Control Model (VACM) for the Simple Network Management Protocol
        (SNMP)", RFC 2275, IBM T. J. Watson Research, BMC Software,
        Inc., Cisco Systems, Inc., January 1998.

   [24] Ahmed, M., and K. Tesink, Editors, "Definitions of Managed
        Objects for ATM Management Version 8.0 using SMIv2", RFC 1695,
        Bell Communications Research, August 1994.

   [25] McCloghrie, K. and A. Bierman, "Entity MIB", RFC 2037, October
        1996.

   [26] Yergeau, F., "UTF-8, a transformation format of Unicode and ISO
        10646", RFC 2044, October 1996.

   12.  Security Considerations

   1) Blocking unauthorized access to the ADSL MIB via the element
   management system is outside the scope of this document. It should be
   noted that access to the MIB permits the unauthorized entity to
   modify the profiles (sect  7.4) such that both subscriber service and
   network operations can be interfered with. Subscriber service can be
   altered by modifying any of a number of service characteristics such
   as rate partitioning and maximum transmission rates. Network
   operations can be impacted by modification of trap thresholds such as
   SNR margins.

   2) There are a number of managed objects in this MIB that may be
   considered to contain sensitive information.  In particular, the
   certain objects may be considered sensitive in many environments,
   since it would allow an intruder to obtain information about which
   vendor's equipment is in use on the network.  Therefore, it may be
   important in some environments to control read access to these
   objects and possibly to even encrypt the values of these object when
   sending them over the network via SNMP.  Not all versions of SNMP
   provide features for such a secure environment.

   SNMPv1 by itself is such an insecure environment.  Even if the
   network itself is secure (for example by using IPSec), even then,
   there is no control as to who on the secure network is allowed to
   access and GET (read) the objects in this MIB.  It is recommended
   that the implementors consider the security features as provided by
   the SNMPv3 framework.  Specifically, the use of the User-based
   Security Model RFC 2274 [21] and the View-based Access Control Model
   RFC 2275 [23] is recommended.

   It is then a customer/user responsibility to ensure that the SNMP
   entity giving access to an instance of this MIB, is properly
   configured to give access to those objects only to those principals
   (users) that have legitimate rights to access them.

   3) ADSL layer connectivity from the ATU-R will permit the subscriber
   to manipulate both the ADSL link directly and the AOC/EOC channels
   for their own loop.  For example,  unchecked or unfiltered
   fluctuations initiated by the subscriber could generate sufficient
   traps to potentially overwhelm either the management interface to the
   network or the element manager.  Other attacks affecting the ATU-R
   portions of the MIB may also be possible.

   13.  Authors' Addresses

             Gregory Bathrick
             AG Communication Systems
             2500 W Utopia Rd.
             Phoenix, AZ 85027 USA
             Tel: +1 602-582-7679
             Fax: +1 602-582-7697
             E-MAIL: bathricg@agcs.com

             Faye Ly
             Copper Mountain Networks
             Norcal Office
             2470 Embarcadero Way
             Palo Alto, CA 94303
             Tel: +1 650-858-8500
             Fax: +1 650-858-8085
             E-Mail: faye@norcal.coppermountain.com

   Table of Contents

      1.  Status of this Memo  ...................................    1

      2.  Abstract  ..............................................    1

      3.  The SNMP Network Management Framework  .................    2

      4.  Object Definitions .....................................    3

      5.  Introduction ...........................................    3

      6.  Relationship of the ADSL LINE MIB with standard MIBs ...    3

      7.  Conventions used in the MIB ............................    7

      8.  Conformance and Compliance .............................   15   16

      9.  Definitions ............................................   15   16

      10. Acknowledgments ........................................   92   98

      11. References .............................................   93   99

      12. Security Considerations ................................   95  102

      13. Authors' Addresses .....................................   96  102