INTERNET-DRAFT              ADSL Line MIB               Gregory Bathrick
                                                AG Communication Systems
                                                          August 7,
                                                        October 30, 1998

                     Definitions of Managed Objects
                           for the ADSL Lines

                            August 7,

                            October 30, 1998

                 draft-ietf-adslmib-adsllinemib-01.txt

                 draft-ietf-adslmib-adsllinemib-02.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 ATU-C side which acts
   as a proxy for the ATU-R.  Each MIB instance includes information for
   both ends of a single line, i.e., both the ATU-C and ATU-R.

   It should be noted that much of the content for the first version 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 ADSL Line MIB"[9].   See Acknowledgement Section for a list
   individuals of those
   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 [9]. [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 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 mib-2 transmission, as further discussed in the MIB-2
   Integration (RFCs 1213 [4] and 2233 [5])
   section 6 of this document.
   Until approved by the IETF, vendors may also choose to support it
   under their own enterprise IDs.

             adslLineMIB MODULE-IDENTITY ::= { VendorEnterpriseID nnn}

   6.  Relationship of the ADSL LINE MIB with standard MIBs

   This section outlines the relationship of this ADSL Line MIB with other
   MIBs described in RFCs and in their various degrees of
   "standardization".  MIB-2
   (RFC 1213 [4] and 2233 [5]) and the Entity MIB (RFC 2037 [25]) are
   discussed below.

   6.1  General MIB-2 Integration (RFCs 1213 [4] and 2233 [5])  Use of the IfTable

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

       IANAifType ::= TEXTUAL-CONVENTION         . . .

       SYNTAX INTEGER {              . . .

           adsl(94),    -- Asymmetric Digital Subscriber Loop

           radsl(95),      -- Rate-Adapt. Digital Subscriber Loop

           sdsl(96),       -- Symmetric Digital Subscriber Loop

           vdsl(97),       -- Very H-Speed Digital Subscrib. Loop
   . . .

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

   Of these, only adsl, adslFast, and adslInterleave

   Interfaces of each of these types are used with modeled by this
   MIB.  Use of radsl, sdsl, and vdsl is for further study (or they may
   have their own MIBs).

   Therefore, pending document.
   Pending approval of the IETF, RFC 2233 [5] mandates that IANA, under the advisement from IESG, adslMIB
   will be used as the root of this MIB and will be  accessed through mib-2.transmission.ifType as
   shown:

      adslPhysIf ::= assigned to the
   value { transmission 94 }      -- Physical tables

      adslInterIf ::= { transmission 124 }    -- Interleaved Channel
      tables

      adslFastIf ::= { transmission 125}      -- Fast Channel tables

   with each }.

   Most MIB branch containing the appropriate tables for that in this document represent information of one of
   these interface type, as discussed below. Most such tables extends the
   ifEntry table, types and are indexed by ifIndex.  In addition, there  Remaining are
   two "profile"
   `profile' tables which may be accessed by ifIndex, or
   profileIndex depending on the profile mode implemented. 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 be exist.

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

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

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

                 | <- interleaved channel -> |

                           Figure 1: ADSL Model
   6.1.2  Use of Interface IF-MIB  (Interface MIB RFC 2233 2233) [5]

   The following attributes are part of the mandatory neccesary
   ifGeneralInformationGroup object group specified in RFC 2233 [5], and
   are not duplicated in the ADSL MIB. Remember  Keep in mind that these objects
   apply to the line, not either end in particular.

      ifDescr - "manufacturer's name, model number, version number"
      associated with all agent's view of the line.

              ifTable Object    Use for ADSL interface entry types
   ==================================================================
              ifIndex           Interface index.

              ifDescr           See interfaces MIB [5]

              ifType            physical    - 94, 124, or 125, for physical, interleaved, and adsl(94)
                                fast
      interface entries respectively

      ifSpeed        - transmit adslFast(125)
                                interleaved - adslInterleave(124)

              ifSpeed           Transmit rate from the perspective perpective
                                of the ATU-C
      interface, aka the "downstream" agent.

                                physical      - line rate

      ifPhysAddress
                                fast          - not applicable for ADSL interface entries, must be
      0-length string
      ifAdminStatus, ifOperStatus channel rate
                                interleaved   - normal use, supplemented 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
      adslAtucCurrStatus adslAturCurrStatus and
                                adslAturCurrStatus for physical interfaces
      entry types only

              ifLastChange - The value of the last state change for all ADSL
      interface entry types      See interfaces MIB [5]

              ifName            See interfaces MIB [5]

              ifLinkUpDownTrapEnable - default to Enable (1) for   See interfaces MIB [5]

                                Default set as follows:

                                physical layer
      entry types, and to Disable (2) for interleaved, and      - enabled(1)
                                fast
      interface channel entry types.

      ifConnectorPresent          - 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 to True (1) for as follows:

                                physical layer entries,
      and to False (2) interleaved, and      - true(1)
                                fast interface entry types

      ifHighSpeed          - As ADSL operates at a maximum rate of about 8Mbps
      circa 1997, ifHighSpeed is irrelevant, and is set to zero.

      ifName false(2)
                                interleaved   - Textual name for the interface allowing the network
      manager ability to associate an ifEntry with a specific
      node/shelf/slot/port false(2)

              ifAlias           See interfaces MIB [5]

              ifTableLastChange See interfaces MIB [5]

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

        Figure 2: Use of the ADSL equipment.

      ifNumber - The total number ifTable Objects: ifGeneralInformationGroup

   Use of ADSL network interfaces present on
      the system.

      ifAlias - A configurable textual name for the interface allowing
      the network manager ability ifStackTable to associate an ifEntry with a
      specific node/shelf/slot/port of the ADSL equipment.  This
      information entries for physical, fast,
   interleaved channels, and higher layers (e.g., ATM) is held shown below in non-volatile storage.

      ifTableLastChange - The value of sysUpTime at the time of the last
      creation or deletion
   figure 3.  Use of an entry ifStackTable is necessary, because configuration
   information is stored in profile tables associated with the ifTable.
   physical-layer ifEntry only.  The following attributes are from the ifFixedLengthGroup [5] which is
   optional, but is channels' ifEntrys need the closest set to ADSL.  They may optionally be
   implemented when appropriate.

      ifInOctets, ifOutOctets - counted from the perspective of the
      ATU-C interface for all ADSL interface entry types

      ifInUnknownProtos, ifInErrors, ifOutErrors  - counted from the
      perspective of the ATU-C interface for all ADSL interface entry
      types

   The table below shows this information in a more concise format.
   "Normal" means the object is used as specified by RFC 2233.  The
   designations "i", "j", and "k" indicate three arbitrary ifIndex
   values, corresponding to the physical, interleaved, and fast entries
   for a single ADSL Line.  These designations are used throughout this
   document.

   MIB Object         Physical Line(i)    Interleaved         Fast
                                          Channel (j)         Channel(k)
   ----------------------------------------------------------------------
   ifDescr            NORMAL              NORMAL              NORMAL

   ifType(IANA)       94                  124                 125

   ifSpeed            ATU-C               ATU-C               ATU-C
                      Line Tx             Channel Tx          Channel Tx
                      Rate                Rate                Rate

   ifPhysAddress      NULL                NULL                NULL

   ifAdminStatus      NORMAL              NORMAL              NORMAL

   ifOperStatus       NORMAL              NORMAL              NORMAL

   ifLastChange       NORMAL              NORMAL              NORMAL

   ifLinkUpDown-      NORMAL              NORMAL              NORMAL
   TrapEnable         (default:           (default:           (default:
                        Enable)             Disable)            Disable)

   ifConnectorPresent True                False               False

   ifHighSpeed        zero                zero                zero

   ifName             NORMAL              NORMAL              NORMAL

   ifNumber           NORMAL              NORMAL              NORMAL

   ifAlias            NORMAL              NORMAL              NORMAL

   ifTableLastChange  NORMAL              NORMAL              NORMAL
   ----------------------------------------------------------------------

                     Figure 2: Use of ifTable Objects

   Use the ifTest table for Diagnostic tests, which extends ifEntry.
   The adslLineMib defines ADSL-specific values for ifTestTypes and
   ifTestCodes.

   Use 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
   ifStackTable to find their associated physical-layer entry and thus
   their configuration parameters.  (See Profile section, 7.4).

               ______       (ifEntry=k)       (ifEntry=j)        ______
              |      |      fast channel      |      |
              |      |________________________|      |
              |      |        and/or          |      |
              |      |                        |      |
              |      |     (ifEntry=j)     (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 figure 4.

                     HigherLayer   LowerLayer
                    --------------------------
                         k             i
                         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 MIB-2, ifIndex, and ifStackTable. 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
   and ATU-R
   in the entPhysicalTable.  The MIB's entAliasMappingTable would
   contain mapping information identifying the 'ifIndex' `ifIndex' object
   associated with each ATU-C and ATU-R. ATU-C.  Also associating the relationship
   between the ifTable and Entity MIB, the entPhysicalTable contains an 'entPhysicalName'
   `entPhysicalName' object, which approximates the semantics of the 'ifName'
   `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' `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 `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 or 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: For 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.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. Blocks are counted here because octets are
   counted by ifInOctets, ifOutOctets. There are the same set of 15-
   minute 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 the
   maximum number of profiles supported by the equipment and is
   implementation specific.

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

   The next figure shows an example of how this mode can be implemented.
   In the example, ADSL lines '1' `1' and 'x' `x' share the configuration in
   Profile-n, while line '2' `2' uses Profile-1.  Please note that all three
   entries for each ADSL line, the physical layer, the fast channel, and the
   interleaved channel, channel are represented by "i", "j", and "k" as before. "k".  However,
   only the physical-layer entry "i" contains an adslLineTable entry, so
   only those entries contain pointers to the adslConfProfileEntry.  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.

   ADSL    ifIndex      ifTable                       Configuration Line
   Profile Table
   __________________________________________________________________

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

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

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

                    Figure 7: Use of Profiles in MODE-I

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

   In this mode, profiles are allocated and deleted dynamically, and six
   objects:

      adslLineConfProfile, adslLineConfProfileIndexNext,
      adslLineConfProfileRowStatus, adlsLineAlarmProfile, adslLineAlarmProfile,
      adslLineAlarmConfProfileIndexNext, and
      adslLineAlarmConfProfileRowStatus

   are all used in conjunction with profiles.

   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 of the corresponding ADSL line entry
   ("ix").   In this mode, the Agent will not allow a Manager to
   create/delete profiles in this mode.  Therefore, the
   adslLineConfProfile, adslLineConfProfileIndexNext,
   adslLineConfProfileRowStatus, adlsLineAlarmProfile, adslLineAlarmProfile,
   adslLineAlarmConfProfileIndexNext, and
   adslLineAlarmConfProfileRowStatus objects are not used have minimal value in this
   mode as each line has a unique, fixed profile that is not shared with
   other lines.  These six variables are read-only in this mode.

   The figure below shows an example of this mode. In the example, ADSL
   lines '1', '2', `1', `2', and 'x' `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 MODE II

   7.5  Traps

   These MIB-2 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 thresholds 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, 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)RateDown 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 the threshold.

   8.  Conformance and Compliance

   See ASN.1 within. the conformance and compliance statements within the information
   module.

   9.  Definitions

   ADSL-LINE-MIB DEFINITIONS ::= BEGIN

   IMPORTS
      MODULE-IDENTITY, OBJECT-TYPE,
      Counter32, Gauge32, NOTIFICATION-TYPE, Integer32,
      OBJECT-IDENTITY,
      NOTIFICATION-TYPE, transmission   FROM SNMPv2-SMI
      TEXTUAL-CONVENTION, RowStatus, TruthValue
      TruthValue, VariablePointer       FROM SNMPv2-TC
      MODULE-COMPLIANCE, OBJECT-GROUP OBJECT-GROUP,
      NOTIFICATION-GROUP                FROM SNMPv2-CONF
      ifIndex                           FROM IF-MIB      -- rfc2233
      Utf8String
      PerfCurrentCount,
      PerfIntervalCount                 FROM SYSAPPL-MIB -- rfc2287 PerfHist-TC-MIB
      ;

   AdslLineProfileType ::= INTEGER

   adslMIB MODULE-IDENTITY

   LAST-UPDATED "9808070000Z" "9810301200Z"

   ORGANIZATION "IETF ADSL-MIB WG" 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

          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
        link
        represent the entries together.

        Naming Conventions: 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      "9808070000Z"      "9808071200Z"
       DESCRIPTION
           "Changes taken at the March 98 ADSL WG meeting:
               - Added  Conformance Statement
               - SNMPv3 comformance
               - RFC-2233 comformance

            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.
           "

   ::= { transmission 94 xx } -- to be assigned to `94' by IANA.

   adslLineMib OBJECT IDENTIFIER ::= { adslMIB 1 }

   adslMibObjects OBJECT IDENTIFIER ::= { adslLineMib 1 }

      AdslLineProfileType ::= TEXTUAL-CONVENTION
          STATUS       current
          DESCRIPTION
                  "This data type is used to identify a row in
                  an ADSL Line Profile Table."
          SYNTAX       INTEGER

         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         OBJECT IDENTIFIER,         VariablePointer,
                 adslLineConfProfile      AdslLineProfileType,
                 adslLineAlarmConfProfile AdslLineProfileType
             }

         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      OBJECT IDENTIFIER      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
             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'. `0'.

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

        adslLineAlarmConfProfile OBJECT-TYPE
             SYNTAX      AdslLineProfileType
             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'. `0'.

                 If the implementator of this MIB has chosen not
                 to implement 'dynamic `dynamic assignment' of profiles, this
                 object
                 object's MIN-ACCESS is not useful and should return noSuchObject
                 upon SNMP request." 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         Utf8String,         OCTET STRING,
                 adslAtucInvVendorID             Utf8String,             OCTET STRING,
                 adslAtucInvVersionNumber        Utf8String,        OCTET STRING,
                 adslAtucCurrSnrMgn              Integer32,              Gauge32,
                 adslAtucCurrAtn                 Integer32,                 Gauge32,
                 adslAtucCurrStatus              BITS,
                 adslAtucCurrOutputPwr           Integer32,           Gauge32,
                 adslAtucCurrAttainableRate      Integer32      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      Utf8String      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      Utf8String      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      Utf8String      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      Integer32(0..310)      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      Integer32(0..630)      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),
                               lossOfLink(4),
                               lossOfSignalQuality(5),
                               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      lossOfLink           ATUC failure due to inability
                                      to link with ATUR.

          5      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      Integer32(0..310)      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      Integer32      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         Utf8String,         OCTET STRING,
                 adslAturInvVendorID             Utf8String,             OCTET STRING,
                 adslAturInvVersionNumber        Utf8String,        OCTET STRING,
                 adslAturCurrSnrMgn              Integer32,              Gauge32,
                 adslAturCurrAtn                 Integer32,                 Gauge32,
                 adslAturCurrStatus              BITS,
                 adslAturCurrOutputPwr           Integer32,           Gauge32,
                 adslAturCurrAttainableRate      Integer32      Gauge32
             }

         -- inventory group
         --
         adslAturInvSerialNumber OBJECT-TYPE
             SYNTAX      Utf8String      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      Utf8String      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      Utf8String      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      Integer32(0..310)      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      Integer32(0..630)      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      Integer32(0..310)      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      Integer32      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 INTEGER, PerfCurrentCount,
                 adslAtucPerfCurr15MinLofs       Gauge32,       PerfCurrentCount,
                 adslAtucPerfCurr15MinLoss       Gauge32,       PerfCurrentCount,
                 adslAtucPerfCurr15MinLols       Gauge32,       PerfCurrentCount,
                 adslAtucPerfCurr15MinLprs       Gauge32,       PerfCurrentCount,
                 adslAtucPerfCurr15MinESs        Gauge32,        PerfCurrentCount,
                 adslAtucPerfCurr15MinInits      Gauge32,      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      INTEGER(0..899)      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      Gauge32      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      Gauge32      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      Gauge32      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      Gauge32      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      Gauge32      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      Gauge32      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 INTEGER, PerfCurrentCount,
                 adslAturPerfCurr15MinLofs       Gauge32,       PerfCurrentCount,
                 adslAturPerfCurr15MinLoss       Gauge32,       PerfCurrentCount,
                 adslAturPerfCurr15MinLprs       Gauge32,       PerfCurrentCount,
                 adslAturPerfCurr15MinESs        Gauge32,        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      INTEGER(0..899)      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      Gauge32      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      Gauge32      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      Gauge32      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      Gauge32      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            Gauge32,            PerfIntervalCount,
                 adslAtucIntervalLoss            Gauge32,            PerfIntervalCount,
                 adslAtucIntervalLols            Gauge32,            PerfIntervalCount,
                 adslAtucIntervalLprs            Gauge32,            PerfIntervalCount,
                 adslAtucIntervalESs             Gauge32,             PerfIntervalCount,
                 adslAtucIntervalInits           Gauge32,           PerfIntervalCount,
                 adslAtucIntervalValidData       TruthValue
             }

         adslAtucIntervalNumber OBJECT-TYPE
             SYNTAX      INTEGER(1..96)
             MAX-ACCESS  not-accessible
             STATUS      current
             DESCRIPTION
                 "Performance Data Interval number. 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      Gauge32      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      Gauge32      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      Gauge32      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      Gauge32      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      Gauge32      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      Gauge32      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            Gauge32,            PerfIntervalCount,
                 adslAturIntervalLoss            Gauge32,            PerfIntervalCount,
                 adslAturIntervalLprs            Gauge32,            PerfIntervalCount,
                 adslAturIntervalESs             Gauge32,             PerfIntervalCount,
                 adslAturIntervalValidData       TruthValue
             }

         adslAturIntervalNumber OBJECT-TYPE
             SYNTAX      INTEGER(1..96)
             MAX-ACCESS  not-accessible
             STATUS      current
             DESCRIPTION
                 "Performance Data Interval number. 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      Gauge32      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      Gauge32      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      Gauge32      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      Gauge32      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    INTEGER,    PerfCurrentCount,
               adslAtucChanPerfCurr15MinReceivedBlks   Gauge32,   PerfCurrentCount,
               adslAtucChanPerfCurr15MinTransmittedBlks Gauge32,
   PerfCurrentCount,
               adslAtucChanPerfCurr15MinCorrectedBlks  Gauge32,  PerfCurrentCount,
               adslAtucChanPerfCurr15MinUncorrectBlks  Gauge32,  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      INTEGER(0..899)      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      Gauge32      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      Gauge32      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      Gauge32      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      Gauge32      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    INTEGER,    PerfCurrentCount,
               adslAturChanPerfCurr15MinReceivedBlks   Gauge32,   PerfCurrentCount,
               adslAturChanPerfCurr15MinTransmittedBlks Gauge32,
   PerfCurrentCount,
               adslAturChanPerfCurr15MinCorrectedBlks  Gauge32,  PerfCurrentCount,
               adslAturChanPerfCurr15MinUncorrectBlks  Gauge32,  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      INTEGER(0..899)      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      Gauge32      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      Gauge32      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      Gauge32      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      Gauge32      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    Gauge32,    PerfIntervalCount,
                 adslAtucChanIntervalTransmittedBlks Gauge32, PerfIntervalCount,
                 adslAtucChanIntervalCorrectedBlks   Gauge32,   PerfIntervalCount,
                 adslAtucChanIntervalUncorrectBlks   Gauge32,   PerfIntervalCount,
                 adslAtucChanIntervalValidData       TruthValue
             }
         adslAtucChanIntervalNumber OBJECT-TYPE
             SYNTAX      INTEGER(1..96)
             MAX-ACCESS  not-accessible
             STATUS      current
             DESCRIPTION
                 "Performance Data Interval number. number 1 is the
                 the most recent previous interval; interval
                 96 is 24 hours ago.  Interval  Intervals 2..96 are
                 optional."
         ::= { adslAtucChanIntervalEntry 1 }

         adslAtucChanIntervalReceivedBlks OBJECT-TYPE
             SYNTAX      Gauge32      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      Gauge32      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      Gauge32      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      Gauge32      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         Gauge32,
   PerfIntervalCount,
                 adslAturChanIntervalTransmittedBlks      Gauge32,
   PerfIntervalCount,
                 adslAturChanIntervalCorrectedBlks        Gauge32,
   PerfIntervalCount,
                 adslAturChanIntervalUncorrectBlks        Gauge32,
   PerfIntervalCount,
                 adslAturChanIntervalValidData            TruthValue
             }
         adslAturChanIntervalNumber OBJECT-TYPE
             SYNTAX      INTEGER(1..96)
             MAX-ACCESS  not-accessible
             STATUS      current
             DESCRIPTION
                 "Performance Data Interval number. number 1 is the
                 the most recent previous interval; interval
                 96 is 24 hours ago.  Interval  Intervals 2..96 are
                 optional."
         ::= { adslAturChanIntervalEntry 1 }

         adslAturChanIntervalReceivedBlks OBJECT-TYPE
             SYNTAX      Gauge32      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      Gauge32      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      Gauge32      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      Gauge32      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'
                 `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 each
                 retrieval, 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 `dynamic assignment' of profiles, this
                 object
                 object's MIN-ACCESS is not useful read-only and should return noSuchObject
                 upon SNMP request." 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}

         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
                 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,
             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    OBJECT-TYPE
                 SYNTAX          AdslLineProfileType
                 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'." `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'." `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'." `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'." `0'."
         ::= { adslLineConfProfileEntry 10 }

         adslAtucChanConfFastMinTxRate  OBJECT-TYPE
             SYNTAX      INTEGER
             UNITS       "bps"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Configured Minimum Transmit rate for 'Fast' `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' `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' `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' `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'." `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'." `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'." `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'." `0'."
         ::= { adslLineConfProfileEntry 24 }

         adslAturChanConfFastMinTxRate  OBJECT-TYPE
             SYNTAX      INTEGER
             UNITS       "bps"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Configured Minimum Transmit rate for 'Fast' `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' `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' `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' `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 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 `dynamic assignment' of profiles, this
                 object
                 object's MIN-ACCESS is not useful read-only and should return noSuchObject
                 upon SNMP request." 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'
                 `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 each
                 retrieval, 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 `dynamic assignment' of profiles, this
                 object
                 object's MIN-ACCESS is not useful read-only and should return noSuchObject
                 upon SNMP request." 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}

         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
                 profile is created in one step with all necessary
                 parameter values and adslLineAlarmConfProfileRowStatus
                 set to createAndGo.  This RowStatus object is also
                 used to delete destroy profiles."
             INDEX { adslLineAlarmConfProfileIndex}
         ::= { adslLineAlarmConfProfileTable 1}

         AdslLineAlarmConfProfileEntry ::=
             SEQUENCE {
                 adslLineAlarmConfProfileIndex
   AdslLineProfileType,
                 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    OBJECT-TYPE
                 SYNTAX          AdslLineProfileType
                 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' `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' `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' `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' `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' `0' will disable the trap."
         ::= { adslLineAlarmConfProfileEntry 6}

         adslAtucThreshFastRateUp OBJECT-TYPE
             SYNTAX      Integer32
             UNITS       "bps"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Applies to 'Fast' `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' `0' to disable."
         ::= { adslLineAlarmConfProfileEntry 7}

         adslAtucThreshInterleaveRateUp OBJECT-TYPE
             SYNTAX      Integer32
             UNITS       "bps"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Applies to 'Interleave' `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' `0' to disable."
         ::= { adslLineAlarmConfProfileEntry 8}

         adslAtucThreshFastRateDown OBJECT-TYPE
             SYNTAX      Integer32
             UNITS       "bps"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Applies to 'Fast' `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' `0' to disable."
         ::= { adslLineAlarmConfProfileEntry 9 }

         adslAtucThreshInterleaveRateDown OBJECT-TYPE
             SYNTAX      Integer32
             UNITS       "bps"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Applies to 'Interleave' `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' `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' `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' `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' `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' `0' will disable the trap."
         ::= { adslLineAlarmConfProfileEntry 15 }

         adslAturThreshFastRateUp OBJECT-TYPE
             SYNTAX      Integer32
             UNITS       "bps"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Applies to 'Fast' `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' `0' to disable."
         ::= { adslLineAlarmConfProfileEntry 16 }

         adslAturThreshInterleaveRateUp OBJECT-TYPE
             SYNTAX      Integer32
             UNITS       "bps"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Applies to 'Interleave' `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' `0' to disable."
         ::= { adslLineAlarmConfProfileEntry 17 }

         adslAturThreshFastRateDown OBJECT-TYPE
             SYNTAX      Integer32
             UNITS       "bps"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Applies to 'Fast' `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' `0' to disable."
         ::= { adslLineAlarmConfProfileEntry 18 }

         adslAturThreshInterleaveRateDown OBJECT-TYPE
             SYNTAX      Integer32
             UNITS       "bps"
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "Applies to 'Interleave' `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' `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 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 `dynamic assignment' of profiles, this
                 object
                 object's MIN-ACCESS is not useful read-only and should return noSuchObject
                 upon SNMP request." 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 }

   -- conformance information

   adslConformance trap definitions

   adslTraps OBJECT IDENTIFIER ::= { adslLineMib 2 }

   adslGroups

   adslAtucTraps OBJECT IDENTIFIER ::= { adslConformance adslTraps 1 }
   adslCompliances OBJECT IDENTIFIER ::=

         adslAtucPerfLofsThreshTrap      NOTIFICATION-TYPE
             OBJECTS { adslConformance 2 adslAtucThresh15MinLofs }

         -- compliance statements

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

             MODULE  -- this module
             MANDATORY-GROUPS
                 "Loss of Framing 15-minute interval threshold exceeded"
         ::= {
                adslLineGroup, adslPhysicalGroup, adslChannelGroup,
                adslAtucPhysPerfIntervalGroup,
                adslAturPhysPerfIntervalGroup, adslLineProfileGroup,
                adslLineAlarmProfileGroup adslAtucTraps 0 1 }

             GROUP       adslLineProfileControlGroup

         adslAtucPerfLossThreshTrap      NOTIFICATION-TYPE
             OBJECTS { adslAtucThresh15MinLoss }
             STATUS  current
             DESCRIPTION
                 "This group is mandatory only when the dynamic profile
                 mode is implemented."

             GROUP       adslAtucPhysPerfRawCounterGroup
                 "Loss of Signal 15-minute interval threshold exceeded"
         ::= { adslAtucTraps 0 2 }

         adslAtucPerfLprsThreshTrap      NOTIFICATION-TYPE
             OBJECTS { adslAtucThresh15MinLprs }
             STATUS  current
             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
             SYNTAX   INTEGER (1..1)
             DESCRIPTION
                 "It is allowable to implement only one ATU-C
                 channel 15-minute performance interval."

             OBJECT     adslAtucIntervalNumber
             SYNTAX   INTEGER (1..1)
             DESCRIPTION
                 "It is allowable to implement only one ATU-R
                 channel
                 "Loss of Power 15-minute performance interval." interval threshold exceeded"
         ::= { adslCompliances 1 adslAtucTraps 0 3 }

         -- units of conformance
         adslLineGroup    OBJECT-GROUP

         adslAtucPerfESsThreshTrap       NOTIFICATION-TYPE
             OBJECTS {
                adslLineCoding, adslLineType, adslLineSpecific adslAtucThresh15MinESs }
             STATUS  current
             DESCRIPTION
                 "A collection of objects providing configuration
                 information about an ADSL Line."
                 "Errored Second 15-minute interval threshold exceeded"
         ::= { adslGroups 1 adslAtucTraps 0 4 }

         adslPhysicalGroup    OBJECT-GROUP

         adslAtucRateChangeTrap  NOTIFICATION-TYPE
             OBJECTS {
                adslAtucInvSerialNumber, adslAtucInvVendorID,
                adslAtucInvVersionNumber, adslAtucCurrSnrMgn,
                adslAtucCurrAtn, adslAtucCurrStatus,
                adslAtucCurrOutputPwr, adslAtucCurrAttainableRate,
                adslAturInvSerialNumber, adslAturInvVendorID,
                adslAturInvVersionNumber, adslAturCurrSnrMgn,
                adslAturCurrAtn, adslAturCurrStatus,
                adslAturCurrOutputPwr, adslAturCurrAttainableRate {adslAtucChanCurrTxRate,
                                 adslAtucChanPrevTxRate }
             STATUS  current
             DESCRIPTION
                 "A collection of objects providing physical
                 configuration information of the ADSL Line."
                 "The ATUCs transmit rate has changed (RADSL mode only)"
         ::= { adslGroups 2 adslAtucTraps 0 5 }

         adslChannelGroup    OBJECT-GROUP

         adslAtucPerfLolsThreshTrap      NOTIFICATION-TYPE
             OBJECTS {
                adslAtucChanInterleaveDelay, adslAtucChanCurrTxRate,
                adslAtucChanPrevTxRate, adslAtucChanCrcBlockLength,
                adslAturChanInterleaveDelay, adslAturChanCurrTxRate,
                adslAturChanPrevTxRate, adslAturChanCrcBlockLength adslAtucThresh15MinLols }
             STATUS  current
             DESCRIPTION
                 "A collection
                 "Loss of objects providing configuration
                 information about an ADSL channel." Link 15-minute interval threshold exceeded"
         ::= { adslGroups 3 adslAtucTraps 0 6 }

         adslAtucPhysPerfRawCounterGroup OBJECT-GROUP

         adslAtucInitFailureTrap NOTIFICATION-TYPE
             OBJECTS {
                adslAtucPerfLofs, adslAtucPerfLoss,
                adslAtucPerfLols, adslAtucPerfLprs,
                adslAtucPerfESs, adslAtucPerfInits adslAtucCurrStatus }
             STATUS  current
             DESCRIPTION
                 "A collection of objects providing raw performance
                 counts on an ADSL Line (ATU-C end)."
                 "ATUC initialization failed. See adslAtucCurrStatus
                 for potential reasons."
         ::= { adslGroups 4 }

         adslAtucPhysPerfIntervalGroup OBJECT-GROUP adslAtucTraps 0 7 }

   adslAturTraps OBJECT IDENTIFIER ::= { adslTraps 2 }

         adslAturPerfLofsThreshTrap      NOTIFICATION-TYPE
             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 adslAturThresh15MinLofs }
             STATUS  current
             DESCRIPTION
                 "A collection
                 "Loss of objects providing current 15-minute,
                 1-day; and previous 1-day performance counts on
                 ADSL Line (ATU-C end) ." Framing 15-minute interval threshold exceeded"
         ::= { adslGroups 5 adslAturTraps 0 1 }

         adslAturPhysPerfRawCounterGroup OBJECT-GROUP

         adslAturPerfLossThreshTrap      NOTIFICATION-TYPE
             OBJECTS {
                adslAturPerfLofs, adslAturPerfLoss,
                adslAturPerfLprs, adslAturPerfESs adslAturThresh15MinLoss }
             STATUS  current
             DESCRIPTION
                 "A collection
                 "Loss of objects providing raw performance
                 counts on an ADSL Line (ATU-R end)." Signal 15-minute interval threshold exceeded"
         ::= { adslGroups 6 adslAturTraps 0 2 }

         adslAturPhysPerfIntervalGroup OBJECT-GROUP

         adslAturPerfLprsThreshTrap      NOTIFICATION-TYPE
             OBJECTS {
                adslAturPerfValidIntervals,
                adslAturPerfInvalidIntervals,
                adslAturPerfCurr15MinTimeElapsed,
                adslAturPerfCurr15MinLofs, adslAturPerfCurr15MinLoss,
                adslAturPerfCurr15MinLprs, adslAturPerfCurr15MinESs,
                adslAturPerfCurr1DayTimeElapsed,
                adslAturPerfCurr1DayLofs, adslAturPerfCurr1DayLoss,
                adslAturPerfCurr1DayLprs, adslAturPerfCurr1DayESs,
                adslAturPerfPrev1DayMoniSecs,
                adslAturPerfPrev1DayLofs, adslAturPerfPrev1DayLoss,
                adslAturPerfPrev1DayLprs, adslAturPerfPrev1DayESs,
                adslAturIntervalLofs,
                adslAturIntervalLoss, adslAturIntervalLprs,
                adslAturIntervalESs, adslAturIntervalValidData adslAturThresh15MinLprs }
             STATUS  current
             DESCRIPTION
                 "A collection
                 "Loss of objects providing current 15-minute,
                 1-day; and previous 1-day performance counts on
                 ADSL Line (ATU-R end)." Power 15-minute interval threshold exceeded"
         ::= { adslGroups 7 adslAturTraps 0 3 }

         adslAtucChanPerformanceGroup OBJECT-GROUP
         adslAturPerfESsThreshTrap       NOTIFICATION-TYPE
             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 adslAturThresh15MinESs }
             STATUS  current
             DESCRIPTION
                 "A collection of objects providing channel block
                 performance
                 "Errored Second 15-minute interval threshold exceeded"
         ::= { 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 on an ADSL channel
                 (ATU-C end)."

   adslConformance OBJECT IDENTIFIER ::= { adslLineMib 3 }

   adslGroups 8 OBJECT IDENTIFIER ::= { adslConformance 1 }

         adslAturChanPerformanceGroup OBJECT-GROUP
             OBJECTS
   adslCompliances OBJECT IDENTIFIER ::= {
                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 adslConformance 2 }

         -- compliance statements

         adslLineMibCompliance MODULE-COMPLIANCE
             STATUS  current
             DESCRIPTION
                 "A collection of objects providing channel block
                 performance information on an ADSL channel
                 (ATU-C end)."
                 "The compliance statement for SNMP entities
                 which have ADSL interfaces."

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

             GROUP       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
             SYNTAX   INTEGER (1..1)
             DESCRIPTION
                 "It is allowable to implement only one ATU-C
                 channel 15-minute performance interval."

             OBJECT     adslAtucIntervalNumber
             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
             MIN-ACCESS  read-only
             DESCRIPTION
                 "Read-only access is applicable only when static
                  profiles are implemented."

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

         ::= { adslGroups 9 adslCompliances 1 }

         adslLineProfileGroup

         -- units of conformance
         adslLineGroup    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
                adslLineCoding, adslLineType, adslLineSpecific
                }
             STATUS     current
             DESCRIPTION
                 "A collection of objects providing provisioning configuration
                 information about an ADSL Line."
         ::= { adslGroups 10 1 }

         adslLineAlarmProfileGroup

         adslPhysicalGroup    OBJECT-GROUP
             OBJECTS {
                adslAtucThresh15MinLofs, adslAtucThresh15MinLoss,
                adslAtucThresh15MinLols, adslAtucThresh15MinLprs,
                adslAtucThresh15MinESs, adslAtucThreshFastRateUp,
                adslAtucThreshInterleaveRateUp,
                adslAtucThreshFastRateDown,
                adslAtucThreshInterleaveRateDown,
                adslAtucInitFailureTrapEnable,
                adslAturThresh15MinLofs, adslAturThresh15MinLoss,
                adslAturThresh15MinLprs, adslAturThresh15MinESs,
                adslAturThreshFastRateUp,
                adslAturThreshInterleaveRateUp,
                adslAturThreshFastRateDown,
                adslAturThreshInterleaveRateDown
                adslAtucInvSerialNumber, adslAtucInvVendorID,
                adslAtucInvVersionNumber, adslAtucCurrSnrMgn,
                adslAtucCurrAtn, adslAtucCurrStatus,
                adslAtucCurrOutputPwr, adslAtucCurrAttainableRate,
                adslAturInvSerialNumber, adslAturInvVendorID,
                adslAturInvVersionNumber, adslAturCurrSnrMgn,
                adslAturCurrAtn, adslAturCurrStatus,
                adslAturCurrOutputPwr, adslAturCurrAttainableRate
                }
             STATUS     current
             DESCRIPTION
                 "A collection of objects providing alarm provisioning physical
                 configuration information about an ADSL Line."
         ::= { adslGroups 11 }

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

   -- trap definitions

   adslTraps OBJECT IDENTIFIER ::= { adslLineMib 3 }

   adslAtucTraps OBJECT IDENTIFIER ::= { adslTraps 1 }

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

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

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

         adslAtucPerfESsThreshTrap       NOTIFICATION-TYPE

         adslChannelGroup    OBJECT-GROUP
             OBJECTS { ifIndex, adslAtucThresh15MinESs
                adslAtucChanInterleaveDelay, adslAtucChanCurrTxRate,
                adslAtucChanPrevTxRate, adslAtucChanCrcBlockLength,
                adslAturChanInterleaveDelay, adslAturChanCurrTxRate,
                adslAturChanPrevTxRate, adslAturChanCrcBlockLength
                }
             STATUS     current
             DESCRIPTION
                 "Errored Second 15-minute interval threshold exceeded"
                 "A collection of objects providing configuration
                 information about an ADSL channel."
         ::= { adslAtucTraps 0 4 adslGroups 3 }

         adslAtucRateChangeTrap  NOTIFICATION-TYPE

         adslAtucPhysPerfRawCounterGroup OBJECT-GROUP
             OBJECTS {ifIndex, adslAtucChanCurrTxRate,
                                 adslAtucChanPrevTxRate {
                adslAtucPerfLofs, adslAtucPerfLoss,
                adslAtucPerfLols, adslAtucPerfLprs,
                adslAtucPerfESs, adslAtucPerfInits
                }
             STATUS     current
             DESCRIPTION
                 "The ATUCs transmit rate has changed (RADSL mode only)"
                 "A collection of objects providing raw performance
                 counts on an ADSL Line (ATU-C end)."
         ::= { adslAtucTraps 0 5 adslGroups 4 }

         adslAtucPerfLolsThreshTrap      NOTIFICATION-TYPE

         adslAtucPhysPerfIntervalGroup OBJECT-GROUP
             OBJECTS { ifIndex, adslAtucThresh15MinLols
                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
                 "Loss
                 "A collection of Link 15-minute interval threshold exceeded" objects providing current 15-minute,
                 1-day; and previous 1-day performance counts on
                 ADSL Line (ATU-C end) ."
         ::= { adslAtucTraps 0 6 adslGroups 5 }

         adslAtucInitFailureTrap NOTIFICATION-TYPE

         adslAturPhysPerfRawCounterGroup OBJECT-GROUP
             OBJECTS { ifIndex, adslAtucCurrStatus
                adslAturPerfLofs, adslAturPerfLoss,
                adslAturPerfLprs, adslAturPerfESs
                }
             STATUS     current
             DESCRIPTION
                 "ATUC initialization failed. See adslAtucCurrStatus
                 for potential reasons."
         ::= { adslAtucTraps 0 7 }

   adslAturTraps OBJECT IDENTIFIER
                 "A collection of objects providing raw performance
                 counts on an ADSL Line (ATU-R end)."
         ::= { adslTraps 2 adslGroups 6 }

         adslAturPerfLofsThreshTrap      NOTIFICATION-TYPE

         adslAturPhysPerfIntervalGroup OBJECT-GROUP
             OBJECTS { ifIndex, adslAturThresh15MinLofs
                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
                 "Loss
                 "A collection of Framing 15-minute interval threshold exceeded" objects providing current 15-minute,
                 1-day; and previous 1-day performance counts on
                 ADSL Line (ATU-R end)."
         ::= { adslAturTraps 0 1 adslGroups 7 }

         adslAturPerfLossThreshTrap      NOTIFICATION-TYPE

         adslAtucChanPerformanceGroup OBJECT-GROUP
             OBJECTS { ifIndex, adslAturThresh15MinLoss
                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
                 "Loss
                 "A collection of Signal 15-minute interval threshold exceeded" objects providing channel block
                 performance information on an ADSL channel
                 (ATU-C end)."
         ::= { adslAturTraps 0 2 adslGroups 8 }

         adslAturPerfLprsThreshTrap      NOTIFICATION-TYPE

         adslAturChanPerformanceGroup OBJECT-GROUP
             OBJECTS { ifIndex, adslAturThresh15MinLprs
                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
                 "Loss
                 "A collection of Power 15-minute interval threshold exceeded" objects providing channel block
                 performance information on an ADSL channel
                 (ATU-C end)."
         ::= { adslAturTraps 0 3 adslGroups 9 }

         adslAturPerfESsThreshTrap       NOTIFICATION-TYPE

         adslLineProfileGroup OBJECT-GROUP
             OBJECTS { ifIndex, adslAturThresh15MinESs
                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
                 "Errored Second 15-minute interval threshold exceeded"
                 "A collection of objects providing provisioning
                 information about an ADSL Line."
         ::= { adslAturTraps 0 4 adslGroups 10 }

         adslAturRateChangeTrap  NOTIFICATION-TYPE

         adslLineAlarmProfileGroup OBJECT-GROUP
             OBJECTS {ifIndex, adslAturChanCurrTxRate,
                                 adslAturChanPrevTxRate {
                adslAtucThresh15MinLofs, adslAtucThresh15MinLoss,
                adslAtucThresh15MinLols, adslAtucThresh15MinLprs,
                adslAtucThresh15MinESs, adslAtucThreshFastRateUp,
                adslAtucThreshInterleaveRateUp,
                adslAtucThreshFastRateDown,
                adslAtucThreshInterleaveRateDown,
                adslAtucInitFailureTrapEnable,
                adslAturThresh15MinLofs, adslAturThresh15MinLoss,
                adslAturThresh15MinLprs, adslAturThresh15MinESs,
                adslAturThreshFastRateUp,
                adslAturThreshInterleaveRateUp,
                adslAturThreshFastRateDown,
                adslAturThreshInterleaveRateDown
                }
             STATUS     current
             DESCRIPTION
                 "The ATURs transmit rate has changed (RADSL mode only)"
                 "A collection of objects providing alarm provisioning
                 information about an ADSL Line."
         ::= { adslAturTraps 0 5 }

         -- no adslAturPerfLolsThreshTrap possible { 6 adslGroups 11 }

         -- no adslAturInitFailureTrap possible

         adslLineProfileControlGroup OBJECT-GROUP
             OBJECTS { 7
                adslLineConfProfile, adslLineAlarmConfProfile,
                adslLineConfProfileIndexNext,
                adslLineConfProfileRowStatus,
                adslLineAlarmConfProfileIndexNext,
                adslLineAlarmConfProfileRowStatus
                }

         -- these are defined for use as ifTestTypes (see RFC2233[5])
         -- additional vendor-specific tests are easily supported
         -- (just define in vendor MIB)
         --
         adslTestTypes OBJECT-IDENTITY
             STATUS     current
             DESCRIPTION
                 "Integer values as follows:
                     atucSelfTest (1),
                     aturSelfTest (2)
                 "
                 "A collection of objects providing profile
                 control for the ADSL system."
         ::= { adslLineMib 4 adslGroups 12 }

   adslTestCodes OBJECT IDENTIFIER

         adslNotificationsGroup NOTIFICATION-GROUP
             NOTIFICATIONS {
                adslAtucPerfLofsThreshTrap,
                adslAtucPerfLossThreshTrap,
                adslAtucPerfLprsThreshTrap,
                adslAtucPerfESsThreshTrap,
                adslAtucRateChangeTrap,
                adslAtucPerfLolsThreshTrap,
                adslAtucInitFailureTrap,
                adslAturPerfLofsThreshTrap,
                adslAturPerfLossThreshTrap,
                adslAturPerfLprsThreshTrap,
                adslAturPerfESsThreshTrap,
                adslAturRateChangeTrap
                }
             STATUS        current
             DESCRIPTION
                 "The collection of adsl notifications."
         ::= { adslLineMib 5 adslGroups 13 } END

   10.  Acknowledgments

   Original ADSL Forum's Forum TR006[9] editors:

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

   The technical leader of the ADSL Forum network management working
   group was:

          Chi-Lin Tom (AFC)

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

         David Allen (Nortel)
         Rajesh Abbi (Alcatel)
         John Burgess (Predictive Systems)
         Gregory Bathrick (AG Communication Systems)
         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)
         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, MPv3 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) Security issues There are a number of unauthorized access, unauthorized disclosure, 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 tampering posed 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 direct using IPSec), even then,
   there is no control as to who on the secure network level connectivity is allowed to
   access and GET (read) the ADSL
   Access Node can be addressed objects in this MIB.  It is recommended
   that the implementors consider the security features as provided by
   the SNMPv3 framework.  Specifically, the use of SNMPv3. 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

   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 ............................    9    7
      8.  Conformance and Compliance .............................   16   15

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

      10. Acknowledgments ........................................   91   92

      11. References .............................................   92   93

      12. Security Considerations ................................   94   95

      13. Authors' Addresses .....................................   95   96