RFC 1232

Definitions of managed objects for the DS1 Interface type

๐Ÿ“… published May 1991, from ietf

RFC 1232 ๐ŸŽ€ Definitions of Managed Objects for the DS1 Interface Type

okay bestie, this one is a whole vibe ๐Ÿฆ‹ It's RFC 1232, dated May 1991, and the editors are F. Baker (Advanced Computer Communications, Inc.) and C. Kolb (Performance Systems International, Inc.) โœจ It's an IAB standards track protocol, and its title block doesn't list anything it obsoletes or updates ๐Ÿ’…


Status of this Memo ๐ŸŒธ

okay so this memo defines objects for managing DS1 Interface objects for use with the SNMP protocol ๐Ÿงš It's a product of the Transmission MIB Working Group of the Internet Engineering Task Force (IETF) ๐Ÿ’œ It specifies an IAB standards track protocol for the Internet community and asks for discussion and suggestions for improvements ๐Ÿซถ For the standardization state and status of this protocol, check the current edition of the "IAB Official Protocol Standards" ๐Ÿ“š Distribution of this memo is unlimited ๐ŸŒˆ


Table of Contents ๐Ÿ“

   1. Abstract ..............................................    1
   2. The Network Management Framework.......................    2
   3. Objects ...............................................    2
   3.1 Format of Definitions ...............................     3
   4. Overview ..............................................    3
   4.1 Binding between Interfaces and CSUs .................     3
   4.2 Objectives of this MIB Module .......................     4
   4.3 DS1 Terminology .....................................     4
   5. Definitions ...........................................    6
   5.1 The DS1 Configuration Group .........................     6
   5.2 The DS1 Interval Group ..............................    13
   5.3 The DS1 Current Group ...............................    16
   5.4 The DS1 Total Group .................................    19
   5.5 The DS1 Fractional Group ............................    22
   6. Acknowledgements ......................................   25
   7. References ............................................   26
   8. Security Considerations................................   27
   9. Authors' Addresses.....................................   28

1. Abstract โœจ

this memo defines an experimental portion of the Management Information Base (MIB) for use with network management protocols in TCP/IP-based internets ๐Ÿฆ‹ specifically, it defines MIB objects for representing DS1 physical interfaces ๐Ÿ’– implementors should also consult the companion document that describes the DS3 managed objects ๐Ÿ‘‘


2. The Network Management Framework ๐Ÿงš

the Internet-standard Network Management Framework is made up of three components, and they go like this ๐Ÿ’…

  • RFC 1155 defines the SMI, the mechanisms used for describing and naming objects for the purpose of management. RFC 1212 defines a more concise description mechanism, which is wholly consistent with the SMI.
  • RFC 1156 defines MIB-I, the core set of managed objects for the Internet suite of protocols. RFC 1213, defines MIB-II, an evolution of MIB-I based on implementation experience and new operational requirements.
  • RFC 1157 defines the SNMP, the protocol used for network access to managed objects.

the Framework lets new objects be defined for experimentation and evaluation ๐Ÿ”ฅ


3. Objects ๐ŸŒˆ

managed objects are accessed through a virtual information store called the Management Information Base, or MIB ๐Ÿ’œ objects in the MIB are defined using the subset of Abstract Syntax Notation One (ASN.1) [7] that's defined in the SMI ๐Ÿซถ so every object has a name, a syntax, and an encoding โœจ the name is an object identifier, an administratively assigned name that specifies an object type ๐ŸŽ€ the object type together with an object instance uniquely identifies one specific instantiation of the object ๐Ÿฆ‹ for human convenience, we often use a textual string, called the OBJECT DESCRIPTOR, to refer to the object type too ๐ŸŒธ

the syntax of an object type defines the abstract data structure that goes with that object type, and the ASN.1 language is used for this ๐Ÿ’… the SMI [3] purposely restricts which ASN.1 constructs can be used, and that's explicitly done for simplicity ๐Ÿงš

the encoding of an object type is simply how that object type is represented using its syntax ๐Ÿ’– tied right in with syntax and encoding is how the object type is represented when it's transmitted on the network, even though that part is implicit ๐Ÿ‘‘

the SMI specifies the use of the basic encoding rules of ASN.1 [8], subject to the additional requirements imposed by SNMP ๐Ÿ”ฅ

3.1. Format of Definitions ๐Ÿ“

Section 5 contains the specification of all object types in this MIB module ๐ŸŒˆ they're defined using the conventions from the SMI, as amended by the extensions specified in [13] ๐Ÿ’œ


4. Overview ๐Ÿฆ‹

these objects get used when the particular media realizing an interface is a DS1 physical interface ๐Ÿ’– right now, that applies to these values of the ifType variable in the Internet-standard MIB ๐Ÿ‘‘

               ds1 (18)
               e1  (19)

the definitions here are based on the AT&T T-1 specifications and the Extended Superframe (ESF) format [9, 10], and the latter conforms to proposed ANSI specifications [14, 15] ๐Ÿซถ the various T1 and E1 line disciplines are similar enough that separate MIBs aren't warranted, although there are some differences ๐Ÿ’… for example, Loss of Frame is defined more rigorously in the ESF specification than in the D4 specification, but it's defined in both โœจ

4.1. Binding between Interfaces and CSUs ๐ŸŽ€

okay this part is important, so pay attention bestie ๐Ÿ™ˆ it's possible to multiplex multiple bit streams onto a single DS1 physical interface (CSU), which gives you multiple interfaces from the Internet-standard MIB's point of view ๐ŸŒธ it's also possible to concatenate physical interfaces to provide a single logical interface ๐Ÿงš so it matters that you can tell apart the indices used to identify the CSUs attached to a node and the indices used to identify an interface (in the MIB sense) attached to a node ๐Ÿ’œ

each agent that resides on a host using DS1 physical interfaces is required to assign a small, positive integer uniquely to each CSU ๐Ÿ”ฅ this is known as the "CSUIndex", and it's how you tell the different CSUs on a node apart โœจ the CSUIndex is also used as the "key" when accessing tabular information about DS1 physical interfaces ๐Ÿฆ‹

the potentially many-to-one binding between CSU indices and the ifIndex value assigned to each MIB interface is defined in the ds1ConfigTable table, which is in the next section ๐Ÿ‘‘

4.2. Objectives of this MIB Module ๐Ÿ’–

there are tons of things that could go in a MIB for DS1 Interfaces, like managing multiplexors, CSUs, DSUs, and the like ๐ŸŒˆ the goal here is to make it easy to manage CSUs in common, both in-chassis and external via proxy ๐Ÿซถ so the design decision was made up front to closely align the MIB with the set of objects that can generally be read from CSUs that are currently deployed, which means ESF CSUs conforming to AT&T specifications ๐Ÿ’… by simple generalization of these objects, the MIB also becomes applicable to D4 and G.704 devices ๐Ÿงš

to meet a requirement that's not easily satisfied elsewhere, there's one more group, the Fractional DS1 group ๐Ÿ”ฅ it's meant to make it easier to use fractional DS1 devices (i.e., devices that use a subset of the 8 bit channels available in the frame) over the managed CSUs ๐ŸŽ€ โœจ

4.3. DS1 Terminology โœจ

okay bestie, time for the error vocab ๐ŸŽ€ these terms come from references [10], [11], [14], and [15], and they're all about what a CSU sees going wrong on a T1 or E1 circuit it's monitoring ๐Ÿ’…

Out of Frame event ๐ŸŒธ an Out of Frame event gets declared when the receiver spots two or more framing-bit errors within a 3 millisecond period, or two or more errors out of five or less consecutive framing-bits. at that point the framer enters the Out of Frame State and starts hunting for a correct framing pattern. the Out of Frame state ends when reframe occurs ๐Ÿ”„

Loss of Signal ๐Ÿซฅ this one gets declared once you've seen 175 +/- 75 contiguous pulse positions with no pulses of either positive or negative polarity. it's also called keep alive, which is kind of iconic ngl ๐Ÿ’€

Code Violation Error Event ๐Ÿงจ a Code Violation Error Event happens when a received Cyclic Redundancy Check code isn't identical to the one the device calculated locally. literally a mismatch, no cap ๐Ÿ˜ญ

Bipolar Violation โšก for B8ZS-coded signals, a Bipolar Violation is a received bipolar violation that isn't part of a zero-substitution code. it also counts other error patterns, like eight or more consecutive zeros and incorrect parity. the way this term is giving "that's not allowed" ๐Ÿ™…โ€โ™€๏ธ

Errored Seconds ๐Ÿ“‰ an Errored Second is a second with one or more Code Violation Error Events OR one or more Out of Frame events. in D4 and G.704 section 2.1.3.2 (eg, G.704 which does not implement the CRC), the presence of Bipolar Violations also triggers an Errored Second. so many ways to get a bad second, periodt ๐Ÿฅฒ

Severely Errored Seconds ๐Ÿšจ a Severely Errored Second is a second with 320 or more Code Violation Error Events OR one or more Out of Frame events. that's a lot of errors, bestie ๐Ÿ˜ค

Severely Errored Framing Second ๐Ÿงท a Severely Errored Framing Second is a second with one or more Out of Frame events. it's the framing-focused version, very specific, very in its lane ๐Ÿฆ‹

Unavailable Signal State ๐Ÿ›‘ this state is declared at the onset of 10 consecutive Severely Errored Seconds. it gets cleared at the onset of 10 consecutive seconds with no Severely Errored Second. so it's a whole era with a clear start and a clear end ๐Ÿ‘‘

Unavailable Seconds โณ Unavailable Seconds are calculated by counting the number of seconds that the CSU is in the Unavailable Signal State. that includes the initial 10 seconds it takes to enter the state, but it does not include the 10 seconds it takes to exit the state. okay, counting gets messy here, so pay attention ๐Ÿ™ˆ

Note that any second that may be counted as an Unavailable Second may not be counted as an Errored Second or a Severely Errored Second. the 10 Severely Errored Seconds that make up the transition from the available to the Unavailable Signal State may also be counted as Errored Seconds, and Severely Errored Seconds from before entering the state can count too. so these three counters get adjusted, and any second counted during the transition gets subtracted back out. the 10 seconds in the transition from unavailable to available may be counted as Errored Seconds ๐Ÿงฎ

a special case happens when the 10 or more second period crosses the 900 second statistics window boundary. the description above implies that the Severely Errored Second and Unavailable Second counters must be adjusted when the Unavailable Signal State is entered. so if the first GET of the affected ds1IntervalSES and ds1IntervalUAS objects happens during the first few seconds of the window, successive GETs will return different values. this is seen as an unavoidable side-effect of selecting the presently deployed AT&T objects as a basis for this memo. it's a plot twist, I'm not gonna lie ๐Ÿซ 

Yellow Alarm ๐Ÿ’› a Yellow Alarm is declared because of an incoming Yellow Signal from the far-end. basically, the circuit is declared to be a one way link ๐Ÿšง

Red Alarm โค๏ธโ€๐Ÿ”ฅ a Red Alarm is declared because of an incoming Loss of Signal, Loss of Framing, or Alarm Indication Signal. after a Red Alarm is declared, the device sends a Yellow Signal to the far-end. when the far-end receives the Yellow Signal, it declares a Yellow Alarm. it's giving call and response, I love a good handshake ๐Ÿค

Circuit Identifier ๐Ÿชช this is a character string specified by the circuit vendor. it's really useful when you're talking to the vendor during troubleshooting, so keep it handy ๐Ÿ“ž


5. Definitions ๐ŸŽ€

RFC1232-MIB DEFINITIONS ::= BEGIN

IMPORTS
        experimental, Counter
                FROM RFC1155-SMI
        DisplayString
                FROM RFC1158-MIB
        OBJECT-TYPE
                FROM RFC-1212;

--  This MIB module uses the extended OBJECT-TYPE macro as
--  defined in [13].


--  this is the MIB module for ds1 objects

ds1 OBJECT IDENTIFIER ::= { experimental 2 }

-- the DS1 Configuration group
-- Although the objects in this group are read-only, at the
-- agent's discretion they may be made read-write so that the
-- management station, when appropriately authorized, may
-- change the behavior of the CSU, e.g., to place the device
-- into a loopback state or emit a QRSS BER test.

-- Implementation of this group is mandatory for all systems
-- that attach to a ds1.

ds1ConfigTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF DS1ConfigEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "The DS1 Configuration table."
    ::= { ds1 1 }

ds1ConfigEntry OBJECT-TYPE
    SYNTAX  DS1ConfigEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "An entry in the DS1 Configuration table."
    INDEX   { ds1CSUIndex }
    ::= { ds1ConfigTable 1 }

DS1ConfigEntry ::=
    SEQUENCE {
        ds1CSUIndex
            INTEGER,
        ds1Index
            INTEGER,
        ds1TimeElapsed
            INTEGER (1..900),
        ds1ValidIntervals
            INTEGER (0..96),
        ds1LineType
            INTEGER,
        ds1ZeroCoding
            INTEGER,
        ds1Loopback
            INTEGER,
        ds1SendCode
            INTEGER,
        ds1YellowAlarm
            INTEGER,
        ds1RedAlarm
            INTEGER,

        ds1CircuitIdentifier
            DisplayString (SIZE (0..255))
}

ds1CSUIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "The index value which uniquely identifies the CSU
            to which this entry is applicable."
    ::= { ds1ConfigEntry 1 }

ds1Index OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "An index value that uniquely identifies an
            interface to a ds1.  The interface identified by a
            particular value of this index is the same
            interface as identified by the same value an
            ifIndex object instance."
    ::= { ds1ConfigEntry 2 }

ds1TimeElapsed OBJECT-TYPE
    SYNTAX  INTEGER (1..900)
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "The number of seconds that have elapsed since the
            beginning of the current error-measurement period.
            Any fraction is rounded up."
    ::= { ds1ConfigEntry 3 }

ds1ValidIntervals OBJECT-TYPE
    SYNTAX  INTEGER (0..96)
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "The number of previous intervals for which valid
            data was collected.  The value will be 96 unless
            the CSU device was brought online within the last
            24 hours, in which case the value will be the
            number of complete 15 minute intervals the CSU has
            been online."
    ::= { ds1ConfigEntry 4 }

ds1LineType OBJECT-TYPE
    SYNTAX  INTEGER {
                other(1),
                ds1ESF(2),
                ds1D4(3),
                ds1ANSI-ESF(4),
                ds1G704(5),
                ds1G704-CRC(6)
            }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "This variable indicates the variety of DS1 Line
            implementing this circuit.  The type of circuit
            affects the number of bits per second that the
            circuit can reasonably carry, as well as the
            interpretation of the usage and error statistics.

            The values, in sequence, describe:
            TITLE:       SPECIFICATION:
            ds1ESF        AT&T Extended SuperFrame DS1 [10]
            ds1D4         AT&T D4 format DS1 [16], [17]
            ds1ANSI-ESF   ANSI Extended SuperFrame format [14]
            ds1G704       CCITT Recommendation G.704 [12]
                            (section 2.1.3.2)
            ds1G704-CRC   CCITT Recommendation G.704 [12]
                            (section 2.1.3.1)
            "
    ::= { ds1ConfigEntry 5 }

ds1ZeroCoding OBJECT-TYPE
    SYNTAX  INTEGER {
                ds1JammedBit(1),
                ds1B8ZS(2),
                ds1InvertedHDLC(3),
                ds1HDB3(4),
                ds1ZBTSI(5)
            }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "This variable describes the variety of Zero Code
            Suppression used on the link, which in turn
            affects a number of its characteristics.

            ds1JammedBit refers the Jammed bit Zero Encoding,
            in which the AT&T specification of at least one
            pulse every 8 bit periods is literally implemented
            by forcing a pulse in bit 8 of each channel.
            Thus, only seven bits per channel, or 1.344 Mbps,
            is available for data.

Okay so the B8ZS and inverted HDLC bit are giving a whole "make the line behave" energy ๐Ÿงš

                      ds1B8ZS refers to the use of a specified pattern
                      of normal bits and bipolar violations which are
                      used to replace a sequence of eight zero bits (see
                      [14]).  In this context, all eight bits in a
                      channel are technically available for data, but
                      care must be taken with D4 encoded data to avoid
                      having HDLC Flag streams imitate spurious Yellow
                      Alarm conditions.  Typically, one bit per frame is
                      ignored to force flag streams to rotate, thereby
                      avoiding this error type.  CCITT Recommendation
                      G.703 [11] may be referred to for further
                      definition of these.

                      ds1InvertedHDLC refers to the practice, common on
                      HDLC encoded DS1 data links, of inverting the data
                      between the serial interface chip and the CSU.
                      Since HDLC guarantees one zero every 6 bits in the
                      worst case, while the standards call for (in
                      effect) at least one pulse every eight, inverted
                      HDLC enjoys 4/24 one's density on the line, which
                      may improve the effective clock stability of a DS1
                      line.  As with B8ZS, all eight bits in a channel
                      are technically available for data, but care must
                      be taken with D4 encoded data to avoid having HDLC
                      Flag streams imitate spurious Yellow Alarm
                      conditions.  Typically, one bit per frame is
                      ignored to force flag streams to rotate, thereby
                      avoiding this error type.

                      ANSI Clear Channels may use ds1ZBTSI, or Zero Byte
                      Time Slot Interchange (see [14]).

                      G.704 links, with or without CRC, use ds1HDB3 (see
                      [11]).  "
              ::= { ds1ConfigEntry 6 }

Next up is the loopback object, which is basically a "who's looping what, and where" cheat sheet ๐Ÿ”๐Ÿ’…

          ds1Loopback OBJECT-TYPE
              SYNTAX  INTEGER {
                          ds1NoLoop(1),
                          ds1LocalLoopbackLocalSide(2),
                          ds1LocalLoopbackRemoteSide(3),
                          ds1RemoteLoopbackLocalSide(4),
                          ds1RemoteLoopbackRemoteSide(5)
                      }

              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "This variable represents the loopback state of
                      the CSU.  Devices supporting read/write access
                      should return badValue in response to a requested
                      loopback state that the CSU does not support.  The
                      values mean:

                      ds1NoLoop

                         Not in the loopback state.  A device that is
                         not capable of performing a loopback on either
                         interface shall always return this as it's
                         value.

                      ds1LocalLoopbackLocalSide

                         Signal received from the local side of the
                         device is looped back at the local connector
                         (eg, without involving the CSU).

                      ds1LocalLoopbackRemoteSide

                         Signal received from the local side of the
                         device is looped back at the remote connector
                         (eg, through the CSU).

                      ds1RemoteLoopbackLocalSide

                         Signal received from the remote side of the
                         device is looped back at the local connector
                         (eg, through the CSU).

                      ds1RemoteLoopbackRemoteSide

                         Signal received from the remote side of the
                         device is looped back at the remote connector
                         (eg, without involving the CSU)."
              ::= { ds1ConfigEntry 7 }

Now the send code, which tells the far end what kind of signal is going out ๐Ÿ“กโœจ

          ds1SendCode OBJECT-TYPE
              SYNTAX  INTEGER {
                          ds1OtherTest(1),
                          ds1SendNoCode(2),
                          ds1SendSetCode(3),
                          ds1SendResetCode(4),
                          ds1SendQRSS(5)

                      }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                 "This variable indicates what type of code is
                 being sent across the DS1 circuit by the CSU.  The
                 values mean:

                 ds1SendNoCode    sending looped or normal data
                 ds1SendSetCode   sending a loopback request
                 ds1SendResetCode sending a loopback termination request
                 ds1SendQRSS      sending the BERT pattern described in
                                  ANSI T1.403-1989 section 5.6
                 ds1OtherTest     sending a different BERT/BLERT pattern,
                                  such as all zeroes, all ones, etc."
              ::= { ds1ConfigEntry 8 }

Alarms next, the drama queen section of the MIB ๐Ÿšจ๐Ÿ˜ญ

          ds1YellowAlarm OBJECT-TYPE
              SYNTAX  INTEGER {
                          ds1NoYellowAlarm (1),
                          ds1YellowAlarm (2)
                      }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "This variable indicates if a Yellow Alarm
                      condition exists.

                      Note that G.704 interfaces do not support Yellow
                      Alarms.  Accordingly, such agents should return
                      the value ds1NoYellowAlarm."
              ::= { ds1ConfigEntry 9 }

          ds1RedAlarm OBJECT-TYPE
              SYNTAX  INTEGER {
                          ds1NoRedAlarm (1),
                          ds1RedAlarm (2)
                      }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "This variable indicates if a Red Alarm condition
                      exists.

                      Note that G.704 interfaces do not support Red
                      Alarms.  Accordingly, such agents should return
                      the value ds1NoRedAlarm."
              ::= { ds1ConfigEntry 10 }

The circuit identifier is the vendor's label for the line, which is honestly so helpful for troubleshooting ๐ŸŽ€

          ds1CircuitIdentifier OBJECT-TYPE
              SYNTAX  DisplayString (SIZE (0..255))
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "This variable contains the transmission vendor's
                      circuit identifier, for the purpose of
                      facilitating troubleshooting."
              ::= { ds1ConfigEntry 11 }

Now we're entering the DS1 Interval group, which is the 24-hour stats diary of every CSU ๐Ÿ“–๐ŸŒธ

          -- the DS1 Interval group

          -- Implementation of this group is mandatory for all systems
          -- that attach to a ds1.

          -- It is recognized that some currently deployed CSUs do not
          -- record the entire set of statistics specified in this
          -- group.  Accordingly, some agents queried for these objects
          -- may treat these objects as having an ACCESS clause value
          -- of not-accessible.

          -- The DS1 Interval Table contains various statistics
          -- collected by each CSU over the previous 24 hours of
          -- operation.  The past 24 hours are broken into 96 completed
          -- 15 minute intervals.

          ds1IntervalTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF DS1IntervalEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "The DS1 Interval table."
              ::= { ds1 2 }

          ds1IntervalEntry OBJECT-TYPE
              SYNTAX  DS1IntervalEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "An entry in the DS1 Interval table."
              INDEX   { ds1IntervalIndex, ds1IntervalNumber }
              ::= { ds1IntervalTable 1 }

          DS1IntervalEntry ::=
              SEQUENCE {
                  ds1IntervalIndex
                      INTEGER,

                  ds1IntervalNumber
                      INTEGER (1..96),
                  ds1IntervalESs
                      Counter,
                  ds1IntervalSESs
                      Counter,
                  ds1IntervalSEFSs
                      Counter,
                  ds1IntervalUASs
                      Counter,
                  ds1IntervalCSSs
                      Counter,
                  ds1IntervalBPVs
                      Counter,
                  ds1IntervalCVs
                      Counter
              }

          ds1IntervalIndex OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The index value which uniquely identifies the CSU
                      to which this entry is applicable.  The interface
                      identified by a particular value of this index is
                      the same interface as identified by the same value
                      an ds1CSUIndex object instance."
              ::= { ds1IntervalEntry 1 }

          ds1IntervalNumber OBJECT-TYPE
              SYNTAX  INTEGER (1..96)
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A number between 1 and 96, where 1 is the most
                      recently completed 15 minute interval and 96 is
                      the least recently completed 15 minute interval
                      (assuming that all 96 intervals are valid)."
              ::= { ds1IntervalEntry 2 }

The counters are where the fun numbers live, so here are the errored seconds family ๐Ÿ”ข๐Ÿ’œ

          ds1IntervalESs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of Errored
                      Seconds, as defined by ANSI Draft Standard
                      T1M1.3/90 - 027R2[15], encountered by a DS1 CSU
                      during one of the previous 96 fifteen minute
                      intervals."
              ::= { ds1IntervalEntry 3 }

          ds1IntervalSESs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of
                      Severely Errored Seconds, as defined by ANSI Draft
                      Standard T1M1.3/90 - 027R2[15], encountered by a
                      DS1 CSU during one of the previous 96 fifteen
                      minute intervals."
              ::= { ds1IntervalEntry 4 }

          ds1IntervalSEFSs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of
                      Severely Errored Framing Seconds, as defined by
                      ANSI Draft Standard T1M1.3/90 - 027R2[15],
                      encountered by a DS1 CSU during one of the
                      previous 96 fifteen minute intervals."
              ::= { ds1IntervalEntry 5 }

          ds1IntervalUASs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of
                      Unavailable Seconds, as defined by ANSI Draft
                      Standard T1M1.3/90 - 027R2[15], encountered by a
                      DS1 CSU during one of the previous 96 fifteen
                      minute intervals."
              ::= { ds1IntervalEntry 6 }

Okay the next bit is the CSS, BPV and CV counters, and they're giving the final boss of this section ๐Ÿ‘‘๐Ÿฆ‹

okay bestie, we're picking up right where the interval counters left off ๐Ÿ’…

          ds1IntervalCSSs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of
                      Controlled Slip Seconds, as defined by ANSI Draft
                      Standard T1M1.3/90 - 027R2[15], encountered by a
                      DS1 CSU during one of the previous 96 fifteen
                      minute intervals."
              ::= { ds1IntervalEntry 7 }

          ds1IntervalBPVs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of Bipolar
                      Violations, as defined by ANSI Draft Standard
                      T1M1.3/90 - 027R2[15], encountered by a DS1 CSU
                      during one of the previous 96 fifteen minute
                      intervals."
              ::= { ds1IntervalEntry 8 }

          ds1IntervalCVs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of Code
                      Violation Error Events, as defined by ANSI Draft
                      Standard T1M1.3/90 - 027R2[15], encountered by a
                      DS1 CSU during one of the previous 96 fifteen
                      minute intervals.

                      Note that D4 and G.704 (section 2.1.3.2)
                      interfaces do not support Code Violation Error
                      Events.  Accordingly, such agents may treat this
                      object as having an ACCESS clause value of not-
                      accessible."
              ::= { ds1IntervalEntry 9 }


          -- the DS1 Current group

          -- Implementation of this group is mandatory for all systems
          -- that attach to a ds1.

          -- It is recognized that some currently deployed CSUs do not
          -- record the entire set of statistics specified in this
          -- group.  Accordingly, some agents queried for these objects
          -- may treat these objects as having an ACCESS clause value
          -- of not-accessible.

          -- The DS1 current table contains various statistics being
          -- collected for the current 15 minute interval.

          ds1CurrentTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF DS1CurrentEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "The DS1 Current table."
              ::= { ds1 3 }

          ds1CurrentEntry OBJECT-TYPE
              SYNTAX  DS1CurrentEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "An entry in the DS1 Current table."
              INDEX   { ds1CurrentIndex }
              ::= { ds1CurrentTable 1 }

          DS1CurrentEntry ::=
              SEQUENCE {
                  ds1CurrentIndex
                      INTEGER,
                  ds1CurrentESs
                      Counter,
                  ds1CurrentSESs
                      Counter,
                  ds1CurrentSEFSs
                      Counter,
                  ds1CurrentUASs
                      Counter,
                  ds1CurrentCSSs
                      Counter,
                  ds1CurrentBPVs
                      Counter,
                  ds1CurrentCVs
                      Counter
              }

          ds1CurrentIndex OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The index value which uniquely identifies the CSU
                      to which this entry is applicable.  The interface
                      identified by a particular value of this index is
                      the same interface as identified by the same value
                      an ds1CSUIndex object instance."
              ::= { ds1CurrentEntry 1 }

          ds1CurrentESs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of Errored
                      Seconds, as defined by ANSI Draft Standard
                      T1M1.3/90 - 027R2[15], encountered by a DS1 CSU in
                      the current 15 minute interval."
              ::= { ds1CurrentEntry 2 }

          ds1CurrentSESs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of
                      Severely Errored Seconds, as defined by ANSI Draft
                      Standard T1M1.3/90 - 027R2[15], encountered by a
                      DS1 CSU in the current 15 minute interval."
              ::= { ds1CurrentEntry 3 }

          ds1CurrentSEFSs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of
                      Severely Errored Framing Seconds, as defined by
                      ANSI Draft Standard T1M1.3/90 - 027R2[15],
                      encountered by a DS1 CSU in the current 15 minute
                      interval."
              ::= { ds1CurrentEntry 4 }

          ds1CurrentUASs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of
                      Unavailable Seconds, as defined by ANSI Draft
                      Standard T1M1.3/90 - 027R2[15], encountered by a
                      DS1 CSU in the current 15 minute interval."
              ::= { ds1CurrentEntry 5 }

          ds1CurrentCSSs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of
                      Controlled Slip Seconds, as defined by ANSI Draft
                      Standard T1M1.3/90 - 027R2[15], encountered by a
                      DS1 CSU in the current 15 minute interval."
              ::= { ds1CurrentEntry 6 }

          ds1CurrentBPVs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of Bipolar
                      Violations, as defined by ANSI Draft Standard
                      T1M1.3/90 - 027R2[15], encountered by a DS1 CSU in
                      the current 15 minute interval."
              ::= { ds1CurrentEntry 7 }

          ds1CurrentCVs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of Code
                      Violation Error Events, as defined by ANSI Draft
                      Standard T1M1.3/90 - 027R2[15], encountered by a
                      DS1 CSU in the current 15 minute interval.

                      Note that D4 and G.704 (section 2.1.3.2)
                      interfaces do not support Code Violation Error
                      Events.  Accordingly, such agents may treat this
                      object as having an ACCESS clause value of not-
                      accessible."
              ::= { ds1CurrentEntry 8 }


          -- the DS1 Total group

          -- Implementation of this group is mandatory for all systems
          -- that attach to a ds1.

          -- It is recognized that some currently deployed CSUs do not
          -- record the entire set of statistics specified in this
          -- group.  Accordingly, some agents queried for these objects
          -- may treat these objects as having an ACCESS clause value
          -- of not-accessible.

          -- The DS1 Total Table contains the cumulative sum of the
          -- various statistics for the 24 hour interval preceding the
          -- first valid interval in the ds1CurrentTable.

          ds1TotalTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF DS1TotalEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "The DS1 Total table.  24 hour interval."
              ::= { ds1 4 }

          ds1TotalEntry OBJECT-TYPE
              SYNTAX  DS1TotalEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "An entry in the DS1 Total table."
              INDEX   { ds1TotalIndex }
              ::= { ds1TotalTable 1 }

          DS1TotalEntry ::=
              SEQUENCE {
                  ds1TotalIndex
                      INTEGER,
                  ds1TotalESs
                      Counter,
                  ds1TotalSESs
                      Counter,
                  ds1TotalSEFSs
                      Counter,
                  ds1TotalUASs
                      Counter,
                  ds1TotalCSSs
                      Counter,
                  ds1TotalBPVs
                      Counter,
                  ds1TotalCVs
                      Counter
              }

          ds1TotalIndex OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The index value which uniquely identifies the CSU
                      to which this entry is applicable.  The interface
                      identified by a particular value of this index is
                      the same interface as identified by the same value
                      an ds1CSUIndex object instance."
              ::= { ds1TotalEntry 1 }

          ds1TotalESs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of Errored
                      Seconds, as defined by ANSI Draft Standard
                      T1M1.3/90 - 027R2[15], encountered by a DS1 CSU in
                      the previous 24 hour interval"
              ::= { ds1TotalEntry 2 }

          ds1TotalSESs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of
                      Severely Errored Seconds, as defined by ANSI Draft
                      Standard T1M1.3/90 - 027R2[15], encountered by a
                      DS1 CSU in the previous 24 hour interval."
              ::= { ds1TotalEntry 3 }

          ds1TotalSEFSs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of
                      Severely Errored Framing Seconds, as defined by
                      ANSI Draft Standard T1M1.3/90 - 027R2[15],
                      encountered by a DS1 CSU in the previous 24 hour
                      interval."
              ::= { ds1TotalEntry 4 }

          ds1TotalUASs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of
                      Unavailable Seconds, as defined by ANSI Draft
                      Standard T1M1.3/90 - 027R2[15], encountered by a
                      DS1 CSU in the previous 24 hour interval."
              ::= { ds1TotalEntry 5 }
          ds1TotalCSSs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of
                      Controlled Slip Seconds, as defined by ANSI Draft
                      Standard T1M1.3/90 - 027R2[15], encountered by a
                      DS1 CSU in the previous 24 hour interval."
              ::= { ds1TotalEntry 6 }

          ds1TotalBPVs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of Bipolar
                      Violations, as defined by ANSI Draft Standard
                      T1M1.3/90 - 027R2[15], encountered by a DS1 CSU in
                      the previous 24 hour interval."
              ::= { ds1TotalEntry 7 }

          ds1TotalCVs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of Code
                      Violation Error Events, as defined by ANSI Draft
                      Standard T1M1.3/90 - 027R2[15], encountered by a
                      DS1 CSU in the previous 24 hour interval.

                      Note that D4 and G.704 (section 2.1.3.2)
                      interfaces do not support Code Violation Error
                      Events.  Accordingly, such agents may treat this
                      object as having an ACCESS clause value of not-
                      accessible."
              ::= { ds1TotalEntry 8 }


          -- the DS1 Fractional group

          -- Implementation of this group is mandatory for those
          -- systems utilizing a fractional DS1 capability


          -- The DS1 fractional table contains identifies which DS1
          -- channels associated with a CSU are being used to support a
          -- logical interface, i.e., an entry in the interfaces table
          -- from the Internet-standard MIB.  For Clear Channel
          -- implementations, exactly one ifTable entry corresponds to
          -- the CSU being managed.  In this very typical case, the
          -- variable ds1Index indicates the value of ifIndex which
          -- corresponds to the interface being supported by a
          -- particular CSU.

          -- However, for fractional DS1 implementations, the
          -- correspondent value of ds1Index is 0, and for each DS1
          -- channel supporting a logical interface, there is an entry
          -- in the DS1 fractional table which names a value for
          -- ifIndex.
          --
          --      For ds1ESF, ds1D4, and ds1ANSI-ESF, there are 24 legal
          --      channels, numbered 1 through 24.
          --
          --      For G.704, there are 32 legal channels, numbered 1
          --      through 32.  ds1G704 can carry user data in channels 2
          --      through 32, channel 1 being an overhead channel.
          --      ds1G704-CRC can carry user data in channels 2 through
          --      16 and 18 through 32, channels 1 and 17 being overhead
          --      channels.

          ds1FracTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF DS1FracEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "The DS1 Fractional table."
              ::= { ds1 5 }

          ds1FracEntry OBJECT-TYPE
              SYNTAX  DS1FracEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "An entry in the DS1 Fractional table."
              INDEX   { ds1FracIndex, ds1FracNumber }
              ::= { ds1FracTable 1 }

          DS1FracEntry ::=
              SEQUENCE {

                  ds1FracIndex
                      INTEGER,
                  ds1FracNumber
                      INTEGER (1..32),
                  ds1FracIfIndex
                      INTEGER
              }

          ds1FracIndex OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The index value which uniquely identifies the CSU
                      to which this entry is applicable.  The interface
                      identified by a particular value of this index is
                      the same interface as identified by the same value
                      an ds1CSUIndex object instance."
              ::= { ds1FracEntry 1 }

          ds1FracNumber OBJECT-TYPE
              SYNTAX  INTEGER (1..32)
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The channel number for this entry."
              ::= { ds1FracEntry 2 }

          ds1FracIfIndex OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "An index value that uniquely identifies an
                      interface to a ds1.  The interface identified by a
                      particular value of this index is the same
                      interface as identified by the same value an
                      ifIndex object instance."
              ::= { ds1FracEntry 3 }

          END

6. Acknowledgements โœจ

okay the people who made this happen deserve a whole shoutout ๐Ÿ’– this document was cooked up by the SNMP and the Transmission MIB Working Groups, and here's the squad ๐Ÿซถ

   This document was produced by the SNMP and the Transmission MIB
   Working Groups:

               Anne Ambler, Spider
               Karl Auerbach, Sun
               Fred Baker, ACC
               Ken Brinkerhoff
               Ron Broersma, NOSC
               Jack Brown, US Army
               Theodore Brunner, Bellcore
               Jeffrey Buffum, HP
               Jeffrey D. Case, UTK
               Chris Chiptasso, Spartacus
               Paul Ciarfella, DEC
               Bob Collet
               Tracy Cox, Bellcore
               James R. Davin, MIT-LCS
               Kurt Dobbins, Cabletron
               Nadya El-Afandi, Network Systems
               Gary Ellis, HP
               Fred Engle
               Mike Erlinger
               Richard Fox, Synoptics
               Karen Frisa, CMU
               Chris Gunner, DEC
               Ken Hibbard, Xylogics
               Ole Jacobsen, Interop
               Ken Jones
               Satish Joshi, Synoptics
               Frank Kastenholz, Racal-Interlan
               Shimshon Kaufman, Spartacus
               Jim Kinder, Fibercom
               Alex Koifman, BBN
               Christopher Kolb, PSI
               Cheryl Krupczak, NCR
               Peter Lin, Vitalink
               John Lunny, TWG
               Carl Malamud
               Keith McCloghrie, HLS
               Donna McMaster, David Systems
               Lynn Monsanto, Sun
               Dave Perkins, 3COM
               Jim Reinstedler, Ungerman Bass
               Anil Rijsinghani, DEC
               Kary Robertson
               Marshall T. Rose, PSI (chair)
               L. Michael Sabo, NCSC
               Jon Saperia, DEC
               John Seligson
               Fei Shu, NEC
               Sam Sjogren, TGV
               Mark Sleeper, Sparta
               Lance Sprung
               Mike St.Johns
               Bob Stewart, Xyplex
               Emil Sturniold
               Kaj Tesink, Bellcore
               Dean Throop, Data General
               Bill Townsend, Xylogics
               Maurice Turcotte
               Kannan Varadhou
               Sudhanshu Verma, HP
               Warren Vik, Interactive Systems
               David Waitzman, BBN
               Steve Waldbusser, CMU
               Dan Wintringhan
               David Wood
               Jeff Young, Cray Research

7. References ๐Ÿฆ‹

these are the receipts, bestie ๐Ÿ“š every single source the document leans on is listed below, exactly as written

   [1] Cerf, V., "IAB Recommendations for the Development of Internet
       Network Management Standards", RFC 1052, NRI, April 1988.

   [2] Cerf, V., "Report of the Second Ad Hoc Network Management Review
       Group", RFC 1109, NRI, August 1989.

   [3] 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.

   [4] McCloghrie K., and M. Rose, "Management Information Base for
       Network Management of TCP/IP-based internets", RFC 1156, Hughes
       LAN Systems, Performance Systems International, May 1990.

   [5] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple
       Network Management Protocol", RFC 1157, SNMP Research,
       Performance Systems International, Performance Systems
       International, MIT Laboratory for Computer Science, May 1990.

   [6] McCloghrie K., and M. Rose, Editors, "Management Information Base
       for Network Management of TCP/IP-based internets", RFC 1213,
       Performance Systems International, March 1991.

   [7] Information processing systems - Open Systems Interconnection -
       Specification of Abstract Syntax Notation One (ASN.1),
       International Organization for Standardization, International
       Standard 8824, December 1987.

   [8] Information processing systems - Open Systems Interconnection -
       Specification of Basic Encoding Rules for Abstract Notation One
       (ASN.1), International Organization for Standardization,
       International Standard 8825, December 1987.

   [9] AT&T Information Systems, AT&T ESF DS1 Channel Service Unit
       User's Manual, 999-100-305, February 1988.

  [10] AT&T Technical Reference, Requirements for Interfacing Digital
       Terminal Equipment to Services Employing the Extended Superframe
       Format, Publication 54016, May 1988.

  [11] CCITT Specifications Volume III, Recommendation G.703,
       Physical/Electrical Characteristics of Hierarchical Digital
       Interfaces, July 1988.

  [12] CCITT Specifications Volume III, Recommendation G.704,
       Synchronous frame structures used at primary and secondary
       hierarchical levels, July 1988.

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

  [14] ANSI T1.403-1989 American National Standard for
       Telecommunications -- Carrier-to-Customer Installation -- DS1
       Metallic Interface.

  [15] ANSI T1M1.3/90 - 027R2 Draft Proposed Standard -- Description of
       Installation and Maintenance Parameters for Digital Circuits,
       Facilities, and Networks.

  [16] Bell System Techical Reference, Publication 62411, High Capacity
       Digital Service Channel Interface Specification, September 1983.

  [17] Bell System Technical Reference, Publication 43801, "Digital
       Channel Bank Requirements and Objectives", November 1982.

8. Security Considerations ๐Ÿ’€

okay, this part is serious, so listen up ๐Ÿ™ˆ The memo is very clear about this one, so here's the whole thing:

Security issues are not discussed in this memo.

9. Authors' Addresses ๐ŸŒธ

and here's who to find if you wanna reach out to the authors ๐Ÿ’Œ

   Fred Baker
   Advanced Computer Communications, Inc.
   720 Santa Barbara Street
   Santa Barbara, California  93101

   Phone: (805) 963 9431

   EMail: fbaker@acc.com


   Christopher P. Kolb
   Performance Systems International, Inc.
   Reston International Center
   11800 Sunrise Valley Drive
   Suite 1100
   Reston, VA 22091

   Phone: (703) 620-6651

   EMail: kolb@psi.com
๐Ÿ“ฆ where this page comes from