-- =================================================================
-- Description: FRAME-RELAY-DTE-MIB
-- Reference:   This mib was extracted from RFC 2115
-- =================================================================

    FRAME-RELAY-DTE-MIB DEFINITIONS ::= BEGIN
    
    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, Counter32,
        Integer32, NOTIFICATION-TYPE                FROM SNMPv2-SMI
        TEXTUAL-CONVENTION, RowStatus, TimeStamp    FROM SNMPv2-TC
        MODULE-COMPLIANCE, OBJECT-GROUP,
        NOTIFICATION-GROUP                          FROM SNMPv2-CONF
        transmission                                FROM RFC1213-MIB
        InterfaceIndex                              FROM IF-MIB;
    
    --  Frame Relay DTE MIB
    
    frameRelayDTE MODULE-IDENTITY
        LAST-UPDATED "9705010229Z" -- Thu May  1 02:29:46 PDT 1997
        ORGANIZATION "IETF IPLPDN Working Group"
        CONTACT-INFO
            "       Caralyn Brown
            Postal: Cadia Networks, Inc.
                    1 Corporate Drive
                    Andover, Massachusetts  01810
            Tel:    +1 508 689 2400 x133
            E-Mail: cbrown@cadia.com
            
                    Fred Baker
            Postal: Cisco Systems
                    519 Lado Drive
                    Santa Barbara, California 93111
            Tel:    +1 408 526 425
            E-Mail: fred@cisco.com"
        DESCRIPTION
            "The MIB module to describe the use of a Frame Relay
            interface by a DTE."
        REVISION "9705010229Z" -- Thu May  1 02:29:46 PDT 1997
        DESCRIPTION
            "Converted from SMIv1 to SMIv2. (Thus, indices are
            read-only rather than being not-accessible.) Added
            objects and made clarifications based on implementation
            experience."
    
        REVISION "9204010000Z"
        DESCRIPTION
            "Published as RFC 1315, the initial version of this MIB
            module."
        ::= { transmission 32 }
    
    --
    --      the range of a Data Link Connection Identifier
    --
    DLCI ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION
            "The range of DLCI values.  Note that this varies by
            interface configuration; normally, interfaces may use
            0..1023, but may be configured to use ranges as large
            as 0..2^23."
        SYNTAX      Integer32(0..8388607)
    
    
    
    --
    
    --  Data Link Connection Management Interface
    
    --      The variables that configure the DLC Management Interface.
    
    frDlcmiTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF FrDlcmiEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
            "The Parameters for the Data Link Connection Management
            Interface for the frame relay service on this
            interface."
        REFERENCE
            "American National Standard T1.617-1991, Annex D"
        ::= { frameRelayDTE 1 }
    
    frDlcmiEntry OBJECT-TYPE
        SYNTAX   FrDlcmiEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
            "The Parameters for a particular Data Link Connection
            Management Interface."
        INDEX { frDlcmiIfIndex }
        ::= { frDlcmiTable 1 }
    
    FrDlcmiEntry ::=
        SEQUENCE {
            frDlcmiIfIndex                  InterfaceIndex,
            frDlcmiState                    INTEGER,
            frDlcmiAddress                  INTEGER,
            frDlcmiAddressLen               INTEGER,
            frDlcmiPollingInterval          Integer32,
            frDlcmiFullEnquiryInterval      Integer32,
            frDlcmiErrorThreshold           Integer32,
            frDlcmiMonitoredEvents          Integer32,
            frDlcmiMaxSupportedVCs          DLCI,
            frDlcmiMulticast                INTEGER,
            frDlcmiStatus                   INTEGER,
            frDlcmiRowStatus                RowStatus
            }
    
    
    frDlcmiIfIndex OBJECT-TYPE
    
        SYNTAX   InterfaceIndex
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "The ifIndex value of the corresponding ifEntry."
        ::= { frDlcmiEntry 1 }
    
    
    frDlcmiState OBJECT-TYPE
        SYNTAX INTEGER      {
            noLmiConfigured (1),
            lmiRev1         (2),
            ansiT1617D      (3),  -- ANSI T1.617 Annex D
            ansiT1617B      (4),  -- ANSI T1.617 Annex B
            itut933A        (5),  -- CCITT Q933 Annex A
            ansiT1617D1994  (6)   -- ANSI T1.617a-1994 Annex D
            }
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
            "This variable states which Data Link Connection
            Management scheme is active (and by implication, what
            DLCI it uses) on the Frame Relay interface."
        REFERENCE
            "American National Standard T1.617-1991, American
            National Standard T1.617a-1994, ITU-T Recommendation
            Q.933 (03/93)."
    
        ::= { frDlcmiEntry 2 }
    
    frDlcmiAddress OBJECT-TYPE
        SYNTAX      INTEGER {
            q921            (1),  -- 13 bit DLCI
            q922March90    (2),  -- 11 bit DLCI
            q922November90 (3),  -- 10 bit DLCI
            q922            (4)   -- Final Standard
            }
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This variable states which address format is in use on
            the Frame Relay interface."
        ::= { frDlcmiEntry 3 }
    
    
    frDlcmiAddressLen OBJECT-TYPE
        SYNTAX  INTEGER     {
            twoOctets (2),
            threeOctets (3),
            fourOctets (4)
            }
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This variable states the address length in octets.  In
            the case of Q922 format, the length indicates the
            entire length of the address including the control
            portion."
        ::= { frDlcmiEntry 4 }
    
    
    frDlcmiPollingInterval OBJECT-TYPE
        SYNTAX   Integer32 (5..30)
        UNITS    "seconds"
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
            "This is the number of seconds between successive
            status enquiry messages."
        REFERENCE
            "American National Standard T1.617-1991, Section D.7
            Timer T391."
        DEFVAL { 10 }
        ::= { frDlcmiEntry 5 }
    
    frDlcmiFullEnquiryInterval OBJECT-TYPE
        SYNTAX   Integer32 (1..255)
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
            "Number of status enquiry intervals that pass before
            issuance of a full status enquiry message."
        REFERENCE
            "American National Standard T1.617-1991, Section D.7
            Counter N391."
        DEFVAL { 6 }
        ::= { frDlcmiEntry 6 }
    
    
    frDlcmiErrorThreshold OBJECT-TYPE
        SYNTAX   Integer32 (1..10)
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
            "This is the maximum number of unanswered Status
            Enquiries the equipment shall accept before declaring
            the interface down."
        REFERENCE
            "American National Standard T1.617-1991, Section D.5.1
            Counter N392."
        DEFVAL { 3 }
        ::= { frDlcmiEntry 7 }
    
    
    frDlcmiMonitoredEvents OBJECT-TYPE
        SYNTAX   Integer32 (1..10)
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
            "This is the number of status polling intervals over
            which the error threshold is counted.  For example, if
            within 'MonitoredEvents' number of events the station
            receives 'ErrorThreshold' number of errors, the
            interface is marked as down."
        REFERENCE
            "American National Standard T1.617-1991, Section D.5.2
            Counter N393."
        DEFVAL { 4 }
        ::= { frDlcmiEntry 8 }
    
    frDlcmiMaxSupportedVCs OBJECT-TYPE
        SYNTAX   DLCI
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
            "The maximum number of Virtual Circuits allowed for
            this interface.  Usually dictated by the Frame Relay
            network.
    
            In response to a SET, if a value less than zero or
            higher than the agent's maximal capability is
            configured, the agent should respond badValue"
        ::= { frDlcmiEntry 9 }
    
    
    frDlcmiMulticast OBJECT-TYPE
        SYNTAX   INTEGER    {
            nonBroadcast (1),
            broadcast (2)
            }
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
            "This indicates whether the Frame Relay interface is
            using a multicast service."
        ::= { frDlcmiEntry 10 }
    
    
    
    frDlcmiStatus OBJECT-TYPE
        SYNTAX   INTEGER    {
            running      (1),    -- init complete, system running
            fault        (2),    -- error threshold exceeded
            initializing (3)     -- system start up
            }
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "This indicates the status of the Frame Relay interface
            as determined by the performance of the dlcmi.  If no
            dlcmi is running, the Frame Relay interface will stay
            in the running state indefinitely."
        ::= { frDlcmiEntry 11 }
    
    frDlcmiRowStatus OBJECT-TYPE
        SYNTAX   RowStatus
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
            "SNMP Version 2 Row Status Variable.  Writable objects
            in the table may be written in any RowStatus state."
        ::= { frDlcmiEntry 12 }
    
    
    --
    -- A Frame Relay service is a multiplexing service.  Data
    -- Link Connection Identifiers enumerate virtual circuits
    -- (permanent or dynamic) which are layered onto the underlying
    -- circuit, represented by ifEntry.  Therefore, each of the entries
    -- in the Standard MIB's Interface Table with an IfType of
    -- Frame Relay represents a Q.922 interface.  Zero or more
    -- virtual circuits are layered onto this interface and provide
    -- interconnection with various remote destinations.
    -- Each such virtual circuit is represented by an entry in the
    -- circuit table.  The management virtual circuit (i.e. DLCI 0)
    -- is a virtual circuit by this definition and will be represented
    -- with an entry in the circuit table.
    
    --   Circuit Table
    
    -- The table describing the use of the DLCIs attached to
    -- each Frame Relay Interface.
    
    frCircuitTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF FrCircuitEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
            "A table containing information about specific Data
            Link Connections (DLC) or virtual circuits."
        ::= { frameRelayDTE 2 }
    
    frCircuitEntry OBJECT-TYPE
        SYNTAX   FrCircuitEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
            "The information regarding a single Data Link
            Connection.  Discontinuities in the counters contained
            in this table are indicated by the value in
            frCircuitCreationTime."
        INDEX { frCircuitIfIndex, frCircuitDlci }
        ::= { frCircuitTable 1 }
    
    
    FrCircuitEntry ::=
        SEQUENCE {
            frCircuitIfIndex            InterfaceIndex,
            frCircuitDlci               DLCI,
            frCircuitState              INTEGER,
            frCircuitReceivedFECNs      Counter32,
            frCircuitReceivedBECNs      Counter32,
            frCircuitSentFrames         Counter32,
            frCircuitSentOctets         Counter32,
            frCircuitReceivedFrames     Counter32,
            frCircuitReceivedOctets     Counter32,
            frCircuitCreationTime        TimeStamp,
            frCircuitLastTimeChange     TimeStamp,
            frCircuitCommittedBurst     Integer32,
            frCircuitExcessBurst        Integer32,
            frCircuitThroughput         Integer32,
            frCircuitMulticast          INTEGER,
            frCircuitType               INTEGER,
            frCircuitDiscards           Counter32,
            frCircuitReceivedDEs        Counter32,
            frCircuitSentDEs            Counter32,
            frCircuitLogicalIfIndex     InterfaceIndex,
            frCircuitRowStatus          RowStatus
            }
    
    
    frCircuitIfIndex OBJECT-TYPE
        SYNTAX   InterfaceIndex
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "The ifIndex Value of the ifEntry this virtual circuit
            is layered onto."
        ::= { frCircuitEntry 1 }
    
    frCircuitDlci OBJECT-TYPE
        SYNTAX   DLCI
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "The Data Link Connection Identifier for this virtual
            circuit."
        REFERENCE
            "American National Standard T1.618-1991, Section 3.3.6"
        ::= { frCircuitEntry 2 }
    
    
    frCircuitState OBJECT-TYPE
        SYNTAX   INTEGER    {
            invalid (1),
            active (2),
            inactive (3)
            }
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
            "Indicates whether the particular virtual circuit is
            operational.  In the absence of a Data Link Connection
            Management Interface, virtual circuit entries (rows)
            may be created by setting virtual circuit state to
            'active', or deleted by changing Circuit state to
            'invalid'.
    
            Whether or not the row actually disappears is left to
            the implementation, so this object may actually read as
            'invalid' for some arbitrary length of time.  It is
            also legal to set the state of a virtual circuit to
            'inactive' to temporarily disable a given circuit.
    
            The use of 'invalid' is deprecated in this SNMP Version
            2 MIB, in favor of frCircuitRowStatus."
        DEFVAL { active }
        ::= { frCircuitEntry 3 }
    
    frCircuitReceivedFECNs OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "Number of frames received from the network indicating
            forward congestion since the virtual circuit was
            created.  This occurs when the remote DTE sets the FECN
            flag, or when a switch in the network enqueues the
            frame to a trunk whose transmission queue is
            congested."
        REFERENCE
            "American National Standard T1.618-1991, Section 3.3.3"
        ::= { frCircuitEntry 4 }
    
    
    frCircuitReceivedBECNs OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
    
    
        STATUS   current
        DESCRIPTION
            "Number of frames received from the network indicating
            backward congestion since the virtual circuit was
            created.  This occurs when the remote DTE sets the BECN
            flag, or when a switch in the network receives the
            frame from a trunk whose transmission queue is
            congested."
        REFERENCE
            "American National Standard T1.618-1991, Section 3.3.4"
        ::= { frCircuitEntry 5 }
    
    
    frCircuitSentFrames OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "The number of frames sent from this virtual circuit
            since it was created."
        ::= { frCircuitEntry 6 }
    
    
    frCircuitSentOctets OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "The number of octets sent from this virtual circuit
            since it was created.  Octets counted are the full
            frame relay header and the payload, but do not include
            the flag characters or CRC."
        ::= { frCircuitEntry 7 }
    
    
    frCircuitReceivedFrames OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "Number of frames received over this virtual circuit
            since it was created."
        ::= { frCircuitEntry 8 }
    
    
    frCircuitReceivedOctets OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "Number of octets received over this virtual circuit
            since it was created.  Octets counted include the full
            frame relay header, but do not include the flag
            characters or the CRC."
        ::= { frCircuitEntry 9 }
    
    
    frCircuitCreationTime OBJECT-TYPE
        SYNTAX   TimeStamp
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "The value of sysUpTime when the virtual circuit was
            created, whether by the Data Link Connection Management
            Interface or by a SetRequest."
        ::= { frCircuitEntry 10 }
    
    frCircuitLastTimeChange OBJECT-TYPE
        SYNTAX   TimeStamp
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "The value of sysUpTime when last there was a change in
            the virtual circuit state"
        ::= { frCircuitEntry 11 }
    
    
    frCircuitCommittedBurst OBJECT-TYPE
        SYNTAX   Integer32(0..2147483647)
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
            "This variable indicates the maximum amount of data, in
            bits, that the network agrees to transfer under normal
            conditions, during the measurement interval."
        REFERENCE
            "American National Standard T1.617-1991, Section
            6.5.19"
        DEFVAL   { 0 }  -- the default indicates no commitment
        ::= { frCircuitEntry 12 }
    
    
    frCircuitExcessBurst OBJECT-TYPE
        SYNTAX   Integer32(0..2147483647)
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
            "This variable indicates the maximum amount of
            uncommitted data bits that the network will attempt to
            deliver over the measurement interval.
    
            By default, if not configured when creating the entry,
            the Excess Information Burst Size is set to the value
            of ifSpeed."
        REFERENCE
            "American National Standard T1.617-1991, Section
            6.5.19"
        ::= { frCircuitEntry 13 }
    
    
    frCircuitThroughput OBJECT-TYPE
        SYNTAX   Integer32(0..2147483647)
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
            "Throughput is the average number of 'Frame Relay
            Information Field' bits transferred per second across a
            user network interface in one direction, measured over
            the measurement interval.
    
            If the configured committed burst rate and throughput
            are both non-zero, the measurement interval, T, is
               T=frCircuitCommittedBurst/frCircuitThroughput.
    
            If the configured committed burst rate and throughput
            are both zero, the measurement interval, T, is
               T=frCircuitExcessBurst/ifSpeed."
        REFERENCE
            "American National Standard T1.617-1991, Section
            6.5.19"
        DEFVAL {0}  -- the default value of Throughput is
            -- "no commitment".
        ::= { frCircuitEntry 14 }
    
    
    frCircuitMulticast OBJECT-TYPE
        SYNTAX   INTEGER    {
            unicast   (1),
            oneWay    (2),
            twoWay    (3),
            nWay      (4)
            }
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
            "This indicates whether this VC is used as a unicast VC
            (i.e. not multicast) or the type of multicast service
            subscribed to"
        REFERENCE
            "Frame Relay PVC Multicast Service and Protocol
            Description Implementation: FRF.7 Frame Relay Forum
            Technical Committe October 21, 1994"
             DEFVAL {unicast}
             -- the default value of frCircuitMulticast is
             -- "unicast" (not a multicast VC).
             ::= { frCircuitEntry 15 }
    
    
    frCircuitType OBJECT-TYPE
        SYNTAX   INTEGER    {
            static  (1),
            dynamic (2)
            }
    
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "Indication of whether the VC was manually created
            (static), or dynamically created (dynamic) via the data
            link control management interface."
        ::= { frCircuitEntry 16 }
    
    
    frCircuitDiscards OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "The number of inbound frames dropped because of format
            errors, or because the VC is inactive."
        ::= { frCircuitEntry 17 }
    
    
    frCircuitReceivedDEs OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "Number of frames received from the network indicating
            that they were eligible for discard since the virtual
            circuit was created.  This occurs when the remote DTE
            sets the DE flag, or when in remote DTE's switch
            detects that the frame was received as Excess Burst
            data."
        REFERENCE
            "American National Standard T1.618-1991, Section 3.3.4"
        ::= { frCircuitEntry 18 }
    
    
    frCircuitSentDEs OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "Number of frames sent to the network indicating that
            they were eligible for discard since the virtual
            circuit was created.   This occurs when the local DTE
            sets the DE flag, indicating that during Network
            congestion situations those frames should be discarded
            in preference of other frames sent without the DE bit
            set."
        REFERENCE
            "American National  Standard  T1.618-1991, Section
            3.3.4"
       ::= { frCircuitEntry 19 }
    
    frCircuitLogicalIfIndex OBJECT-TYPE
        SYNTAX  InterfaceIndex
        MAX-ACCESS read-create
        STATUS  current
        DESCRIPTION
            "Normally the same value as frDlcmiIfIndex, but
            different when an implementation associates a virtual
            ifEntry with a DLC or set of DLCs in order to associate
            higher layer objects such as the ipAddrEntry with a
            subset of the virtual circuits on a Frame Relay
            interface. The type of such ifEntries is defined by the
            higher layer object; for example, if PPP/Frame Relay is
            implemented, the ifType of this ifEntry would be PPP.
            If it is not so defined, as would be the case with an
            ipAddrEntry, it should be of type Other."
       ::= { frCircuitEntry 20 }
    
    frCircuitRowStatus OBJECT-TYPE
        SYNTAX   RowStatus
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
            "This object is used to create a new row or modify or
            destroy an existing row in the manner described in the
            definition of the RowStatus textual convention.
            Writable objects in the table may be written in any
            RowStatus state."
        ::= { frCircuitEntry 21 }
    
    
    --
    --  Error Table
    
    -- The table describing errors encountered on each Frame
    -- Relay Interface.
    
    frErrTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF FrErrEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
            "A table containing information about Errors on the
            Frame Relay interface.  Discontinuities in the counters
            contained in this table are the same as apply to the
            ifEntry associated with the Interface."
        ::= { frameRelayDTE 3 }
    
    frErrEntry OBJECT-TYPE
        SYNTAX   FrErrEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
            "The error information for a single frame relay
            interface."
        INDEX { frErrIfIndex }
        ::= { frErrTable 1 }
    
    
    FrErrEntry ::=
        SEQUENCE {
            frErrIfIndex            InterfaceIndex,
            frErrType               INTEGER,
            frErrData               OCTET STRING,
            frErrTime               TimeStamp,
            frErrFaults             Counter32,
            frErrFaultTime          TimeStamp
            }
    
    
    frErrIfIndex OBJECT-TYPE
        SYNTAX   InterfaceIndex
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "The ifIndex Value of the corresponding ifEntry."
        ::= { frErrEntry 1 }
    
    
        frErrType OBJECT-TYPE
            SYNTAX   INTEGER    {
            unknownError(1),
            receiveShort(2),
            receiveLong(3),
            illegalAddress(4),
            unknownAddress(5),
            dlcmiProtoErr(6),
            dlcmiUnknownIE(7),
            dlcmiSequenceErr(8),
            dlcmiUnknownRpt(9),
            noErrorSinceReset(10)
            }
    
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "The type of error that was last seen  on  this interface:
            
            receiveShort: frame was not long enough to allow
                    demultiplexing - the address field was incomplete,
                    or for virtual circuits using Multiprotocol over
                    Frame Relay, the protocol identifier was missing
                    or incomplete.
            
            receiveLong:    frame exceeded maximum length configured for this
                            interface.
            
            illegalAddress: address field did not match configured format.
            
            unknownAddress: frame received on a virtual circuit which was not
                            active or administratively disabled.
            
            dlcmiProtoErr: unspecified error occurred when attempting to
                            interpret link maintenance frame.
            
            dlcmiUnknownIE: link maintenance frame contained an Information
                            Element type which is not valid for the
                            configured link maintenance protocol.
            
            dlcmiSequenceErr: link maintenance frame contained a sequence
                            number other than the expected value.
            
            dlcmiUnknownRpt: link maintenance frame contained a Report Type
                            Information Element whose value was not valid
                            for the configured link maintenance protocol.
            
            noErrorSinceReset: no errors have been detected since the last
                            cold start or warm start."
        ::= { frErrEntry 2 }
    
    
    frErrData OBJECT-TYPE
        SYNTAX   OCTET STRING (SIZE(1..1600))
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "An octet string containing as much of the error packet
            as possible.  As a minimum, it must contain the Q.922
            Address or as much as was delivered.  It is desirable
            to include all header and demultiplexing information."
        ::= { frErrEntry 3 }
    
    frErrTime OBJECT-TYPE
        SYNTAX   TimeStamp
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "The value of sysUpTime at which the error was
            detected."
        ::= { frErrEntry 4 }
    
    
    frErrFaults OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "The number of times the interface has gone down since
            it was initialized."
        ::= { frErrEntry 5 }
    
    
    frErrFaultTime OBJECT-TYPE
        SYNTAX   TimeStamp
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "The value of sysUpTime at the time when the interface
            was taken down due to excessive errors.  Excessive
            errors is defined as the time when a DLCMI exceeds the
            frDlcmiErrorThreshold number of errors within
            frDlcmiMonitoredEvents. See FrDlcmiEntry for further
            details."
        ::= { frErrEntry 6 }
    
    
    --
    
    -- Frame Relay Trap Control
    
    frameRelayTrapControl OBJECT IDENTIFIER ::= { frameRelayDTE 4 }
    
    -- the following highly unusual OID is as it is for compatibility
    -- with RFC 1315, the SNMP V1 predecessor of this document.
    frameRelayTraps OBJECT IDENTIFIER ::= { frameRelayDTE 0 }
    frTrapState OBJECT-TYPE
        SYNTAX  INTEGER     { enabled(1), disabled(2) }
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
            "This variable indicates whether the system produces
            the frDLCIStatusChange trap."
        DEFVAL { disabled }
        ::= { frameRelayTrapControl 1 }
    
    frTrapMaxRate OBJECT-TYPE
        SYNTAX  Integer32 (0..3600000)
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
            "This variable indicates the number of milliseconds
            that must elapse between trap emissions.  If events
            occur more rapidly, the impementation may simply fail
            to trap, or may queue traps until an appropriate time."
        DEFVAL { 0 }        -- no minimum elapsed period is specified
        ::= { frameRelayTrapControl 2 }
    
    
    
    --  Data Link Connection Management Interface Related Traps
    
    frDLCIStatusChange NOTIFICATION-TYPE
        OBJECTS  { frCircuitState }
        STATUS      current
    
    
        DESCRIPTION
            "This trap indicates that the indicated Virtual Circuit
            has changed state.  It has either been created or
            invalidated, or has toggled between the active and
            inactive states.  If, however, the reason for the state
            change is due to the DLCMI going down, per-DLCI traps
            should not be generated."
    ::= { frameRelayTraps 1 }
    -- conformance information
    
    frConformance OBJECT IDENTIFIER ::= { frameRelayDTE 6 }
    
    frGroups      OBJECT IDENTIFIER ::= { frConformance 1 }
    frCompliances OBJECT IDENTIFIER ::= { frConformance 2 }
    
    -- compliance statements
    frCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
            "The compliance statement "
        MODULE  -- this module
        MANDATORY-GROUPS { frPortGroup, frCircuitGroup }
    
        GROUP       frErrGroup
        DESCRIPTION
            "This optional group is used for debugging Frame Relay
            Systems."
    
        GROUP       frTrapGroup
        DESCRIPTION
            "This optional group is used for the management of
            asynchronous notifications by Frame Relay Systems."
    
        GROUP       frNotificationGroup
        DESCRIPTION
            "This optional group defines the asynchronous
            notifications generated by Frame Relay Systems."
    
        OBJECT      frDlcmiRowStatus
        MIN-ACCESS  read-only
        DESCRIPTION
            "Row creation is not required for the frDlcmiTable."
    
        OBJECT      frCircuitRowStatus
    
        MIN-ACCESS  read-only
        DESCRIPTION
            "Row creation is not required for the frCircuitTable."
    
        ::= { frCompliances 1 }
    
    frCompliance0 MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
            "The compliance statement for objects and the trap
            defined in RFC 1315."
        MODULE  -- this module
        MANDATORY-GROUPS { frPortGroup0, frCircuitGroup0 }
    
        GROUP       frErrGroup0
        DESCRIPTION
            "This optional group is used for debugging Frame Relay
            Systems."
    
        GROUP       frTrapGroup0
        DESCRIPTION
            "This optional group is used for the management of
            asynchronous notifications by Frame Relay Systems."
    
        GROUP       frNotificationGroup
        DESCRIPTION
            "This optional group defines the asynchronous
            notifications generated by Frame Relay Systems."
    
        ::= { frCompliances 2 }
    
    -- units of conformance
    
    frPortGroup    OBJECT-GROUP
        OBJECTS {
              frDlcmiIfIndex, frDlcmiState, frDlcmiAddress,
              frDlcmiAddressLen, frDlcmiPollingInterval,
              frDlcmiFullEnquiryInterval, frDlcmiErrorThreshold,
              frDlcmiMonitoredEvents, frDlcmiMaxSupportedVCs,
              frDlcmiMulticast, frDlcmiStatus, frDlcmiRowStatus
               }
        STATUS  current
        DESCRIPTION
            "The objects necessary to control the Link Management
            Interface for a Frame Relay Interface as well as
            maintain the error statistics on this interface."
        ::= { frGroups 1 }
    
    frCircuitGroup    OBJECT-GROUP
        OBJECTS {
            frCircuitIfIndex, frCircuitDlci, frCircuitState,
            frCircuitReceivedFECNs, frCircuitReceivedBECNs,
            frCircuitSentFrames, frCircuitSentOctets,
            frCircuitReceivedFrames, frCircuitReceivedOctets,
            frCircuitCreationTime, frCircuitLastTimeChange,
            frCircuitCommittedBurst, frCircuitExcessBurst,
            frCircuitThroughput, frCircuitMulticast,
            frCircuitType, frCircuitDiscards,
            frCircuitReceivedDEs, frCircuitSentDEs,
            frCircuitLogicalIfIndex, frCircuitRowStatus
            }
        STATUS  current
        DESCRIPTION
            "The objects necessary to control the Virtual Circuits
            layered onto a Frame Relay Interface."
        ::= { frGroups 2 }
    
    frTrapGroup    OBJECT-GROUP
        OBJECTS { frTrapState, frTrapMaxRate }
        STATUS  current
        DESCRIPTION
            "The objects necessary to control a Frame Relay
            Interface's notification messages."
        ::= { frGroups 3 }
    
    frErrGroup    OBJECT-GROUP
        OBJECTS {
            frErrIfIndex, frErrType, frErrData, frErrTime,
            frErrFaults, frErrFaultTime
             }
        STATUS  current
        DESCRIPTION
            "Objects designed to assist in debugging Frame Relay
            Interfaces."
        ::= { frGroups 4 }
    
    frNotificationGroup NOTIFICATION-GROUP
        NOTIFICATIONS { frDLCIStatusChange }
        STATUS  current
        DESCRIPTION
            "Traps which may be used to enhance event driven
            management of the interface."
        ::= { frGroups 5 }
    
    frPortGroup0    OBJECT-GROUP
        OBJECTS {
            frDlcmiIfIndex, frDlcmiState, frDlcmiAddress,
            frDlcmiAddressLen, frDlcmiPollingInterval,
            frDlcmiFullEnquiryInterval, frDlcmiErrorThreshold,
            frDlcmiMonitoredEvents, frDlcmiMaxSupportedVCs,
            frDlcmiMulticast
             }
        STATUS  current
        DESCRIPTION
            "The objects necessary to control the Link Management
            Interface for a Frame Relay Interface as well as
            maintain the error statistics on this interface from
            RFC 1315."
        ::= { frGroups 6 }
    
    frCircuitGroup0    OBJECT-GROUP
        OBJECTS {
            frCircuitIfIndex, frCircuitDlci, frCircuitState,
            frCircuitReceivedFECNs, frCircuitReceivedBECNs,
            frCircuitSentFrames, frCircuitSentOctets,
            frCircuitReceivedFrames, frCircuitReceivedOctets,
            frCircuitCreationTime, frCircuitLastTimeChange,
            frCircuitCommittedBurst, frCircuitExcessBurst,
            frCircuitThroughput
            }
        STATUS  current
        DESCRIPTION
            "The objects necessary to control the Virtual Circuits
            layered onto a Frame Relay Interface from RFC 1315."
        ::= { frGroups 7 }
    
    frErrGroup0    OBJECT-GROUP
        OBJECTS {
            frErrIfIndex, frErrType, frErrData, frErrTime
             }
        STATUS  current
        DESCRIPTION
            "Objects designed to assist in debugging Frame Relay
            Interfaces from RFC 1315."
        ::= { frGroups 8 }
    
    
    frTrapGroup0    OBJECT-GROUP
        OBJECTS { frTrapState }
        STATUS  current
        DESCRIPTION
            "The objects necessary to control a Frame Relay
            Interface's notification messages from RFC 1315."
        ::= { frGroups 9 }
    
    END
