RFC 1233

Definitions of managed objects for the DS3 Interface type

πŸ“… published May 1991, from ietf

Network Working Group RFC 1233 πŸŽ€

Request for Comments: 1233 (the number is what everyone cites, so remember it πŸ’…) Title: Definitions of Managed Objects for the DS3 Interface Type πŸ¦‹ Editors: T. Cox and K. Tesink, both from Bell Communications Research Date: May 1991 🌸 Category: The Status section says this is an IAB standards track protocol that the Internet community can discuss and suggest improvements to. The Abstract also calls it an experimental portion of the MIB, so both labels are in the doc. 🧚 Obsoletes / Updates: The title block doesn't list anything it obsoletes or updates, so there's nothing to add here πŸ™ˆ


Status of This Memo ✨

This memo defines objects for managing DS3 Interface objects with the SNMP protocol. It's a product of the SNMP and Transmission MIB Working Group of the Internet Engineering Task Force (IETF). The RFC is an IAB standards track protocol for the Internet community, and it 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 ........................    3
4.3 DS3 Terminology ......................................    3
5. Object Definitions ....................................    5
5.1 The DS3 Configuration Group ..........................    6
5.2 The DS3 Interval Group ...............................   11
5.3 The DS3 Current Group ................................   14
5.4 The DS3 Total Group ..................................   17
6. Acknowledgments .......................................   20
7. References ............................................   22
8. Security Considerations................................   23
9. Authors' Addresses.....................................   23

1. Abstract πŸ’–

This memo defines an experimental part of the Management Information Base (MIB) for network management protocols in TCP/IP-based internets. Specifically, it defines MIB objects that represent DS3 physical interfaces. Implementors should also read the companion document that describes the DS1 managed objects 🫢

2. The Network Management Framework 🧚

Okay so the Internet-standard Network Management Framework has three parts:

RFC 1155 defines the SMI, which is the set of mechanisms for describing and naming objects for management. RFC 1212 gives a more concise description mechanism that's fully 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, which evolved from MIB-I based on implementation experience and new operational requirements 🌸

RFC 1157 defines SNMP, the protocol used for network access to managed objects πŸ”₯

The Framework also lets people define new objects 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 the SMI defines. Each object has a name, a syntax, and an encoding. The name is an object identifier, which is 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 matches that object type, and the ASN.1 language is used for this. However, the SMI [3] deliberately restricts which ASN.1 constructs can be used. Those restrictions are made explicitly for simplicity πŸ“

The encoding of an object type is how that object type is represented using its syntax. Implicitly tied to the syntax and encoding is how the object type is represented when it's sent over the network. The SMI specifies the use of the basic encoding rules of ASN.1 [8], subject to the extra requirements that SNMP imposes πŸ’œ

3.1. Format of Definitions 🌈

Section 5 contains contains the specification of all object types in this MIB module. The object types use the conventions defined in the SMI, as amended by the extensions specified in [13] 🫢

4. Overview πŸ¦‹

These objects get used when the media realizing an interface is a DS3 interface. Right now that applies to this value of the ifType variable in the Internet-standard MIB:

ds3 (30)

The definitions in this doc are based on the DS3 specifications in ANSI T1.102-1987, ANSI T1.107-1988, and ANSI T1.404-1989 [9,10,11] πŸ’…

4.1. Binding between Interfaces and CSUs πŸŽ€

Every agent that lives on a host using DS3 interfaces is required to assign a small, positive integer uniquely to each CSU. This is called the "CSUIndex," and it tells different CSUs on one node apart. The CSUIndex is also the "key" you use when accessing the tabular information about DS3 interfaces πŸ”₯

The ds3Index column of the DS3 Configuration table links each CSU to its matching interface in the Internet-standard MIB 🧚

4.2. Objectives of this MIB Module ✨

There's a ton of stuff that could go into a MIB for DS3 signals, like managing multiplexors, CSUs, DSUs, and so on. This document's goal is to make it easier to manage CSUs in common, whether they're in-chassis or external via proxy. So the team made a design decision up front to line the MIB up very closely with the objects you can generally read from CSUs that are already deployed. It's giving practical 🌸

4.3. DS3 Terminology 🌷

The terms this document uses for error conditions on a DS3 circuit, as monitored by a DS3 CSU, come from the ANSI T1M1.3/90 draft standard [12] πŸ’œ

Out of Frame (OOF) event An OOF event is detected when any three or more errors occur in sixteen or fewer consecutive F-bits within a DS3 M-frame. An OOF event is cleared when reframe occurs πŸ’€

Loss of Signal (LOS) This state is declared upon observing 175 +/- 75 contiguous pulse positions with no pulses of either positive or negative polarity πŸ™ˆ

Coding Violation (CV) For all DS3 applications, a coding violation is a P-bit Parity Error event. A P-bit Parity Error event is when the received P-bit code on the DS3 M-frame isn't identical to the corresponding locally-calculated code. For C-Bit Parity applications, it's also when a received CP-Bit parity violation happens. For SYNTRAN applications, it's also when a received CRC-9 code isn't identical to the corresponding locally calculated code πŸ‘‘

Bipolar Violation (BPV) For B3ZS-coded signals, a bipolar violation is a received bipolar violation that isn't part of a zero-substitution code. For B3ZS-coded signals, a bipolar violation may also include other error patterns, such as three or more consecutive zeros and incorrect parity 🫢

Errored Seconds (ES) An ES is a second with one or more Coding Violations OR one or more Out of Frame events OR an AIS πŸ”₯

Severely Errored Seconds (SES) A SES is a second with 44 or more Coding Violations OR one or more Out of Frame events OR an AIS ✨

Severely Errored Framing Seconds (SEFS) A SEFS is a second with one or more Out of Frame events πŸ¦‹

Unavailable Seconds (UAS) UAS are calculated by counting the seconds that the CSU is in the Unavailable signal state (that is, when it has declared a Red Alarm or a Yellow Alarm). That count includes the initial 10 seconds it takes to enter the state, but not the 10 seconds it takes to exit the state 😭

Note that any second that may be counted as a UAS may not be counted as an ES or an SES. The 10 SESs that make up the transition from the available to the unavailable signal state may also have been counted as ESs and SESs before entering the state. So these three counters are adjusted so that any second counted during this transition gets subtracted. The 10 seconds in the transition from unavailable to available may be counted as ESs 🌈

There's a special case when the 10 or more second period crosses the 900 second statistics window boundary. The description above implies that the SES and UAS counters must be adjusted when the Unavailable Signal State is entered. Clearly, successive GETs of the affected ds3IntervalSES and ds3IntervalUAS objects will return different values if the first GET happens during the first few seconds of the window. This is seen as an unavoidable side effect of choosing the currently defined managed objects as the basis for this memo πŸ™ˆ

Yellow Alarm The Yellow Alarm is declared after detecting the Yellow Signal. See ANSI T1.107-1989 [10] πŸ“

Red Alarm The Red Alarm is declared after detecting a Loss of Signal, a Loss of Frame (a persistent OOF event), or an Alarm Indication Signal, see [10], for at least 2-10 seconds. The Red Alarm is cleared at the onset of 10 consecutive seconds with no SES πŸ’€

Circuit Identifier This is a character string specified by the circuit vendor. It's useful when you're talking to the vendor during troubleshooting 🧚

okay bestie, we're picking up right where the DS3 Configuration table starts πŸŽ€βœ¨

this first chunk is the whole ds3ConfigTable setup, basically the list of everything a CSU can tell you about its circuit πŸ’…

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

               ds3ConfigTable OBJECT-TYPE
                   SYNTAX  SEQUENCE OF DS3ConfigEntry
                   ACCESS  not-accessible
                   STATUS  mandatory
                   DESCRIPTION
                           "The DS3 Configuration table."
                  ::= { ds3 1 }

              ds3ConfigEntry OBJECT-TYPE
                  SYNTAX  DS3ConfigEntry
                  ACCESS  not-accessible
                  STATUS  mandatory
                  DESCRIPTION
                          "An entry in the DS3 Configuration table."
                 INDEX   { ds3CSUIndex }
                 ::= { ds3ConfigTable 1 }

             DS3ConfigEntry ::=
                 SEQUENCE {
                     ds3CSUIndex
                         INTEGER,
                     ds3Index
                         INTEGER,
                     ds3TimeElapsed
                         INTEGER (1..900),
                     ds3ValidIntervals
                         INTEGER (0..96),
                     ds3LineType
                         INTEGER,
                     ds3ZeroCoding
                         INTEGER,
                     ds3Loopback
                         INTEGER,

                     ds3SendCode
                         INTEGER,
                     ds3YellowAlarm
                         INTEGER,
                     ds3RedAlarm
                         INTEGER,
                     ds3CircuitIdentifier
                         DisplayString (SIZE (0..255))
             }

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

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

           ds3TimeElapsed OBJECT-TYPE
               SYNTAX  INTEGER (1..900)
               ACCESS  read-only
               STATUS  mandatory
               DESCRIPTION
                       "The number of seconds, including partial
                       seconds, that have elapsed since the beginning of
                       the current error-measurement period."
              ::= { ds3ConfigEntry 3 }

          ds3ValidIntervals 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."
              ::= { ds3ConfigEntry 4 }

          ds3LineType OBJECT-TYPE
              SYNTAX  INTEGER {
                          other(1),
                          ds3M23(2),
                          ds3SYNTRAN(3),
                          ds3CbitParity(4),
                          ds3ClearChannel(5)
                      }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "This variable indicates the variety of DS3 C-bit
                      application implementing this circuit.  The type
                      of circuit affects the interpretation of the usage
                      and error statistics.  The rate of all of them is
                      44.736 Mbps.

                      The values, in sequence, describe:
                      TITLE:            SPECIFICATION:
                      ds3M23            ANSI T1.107-1988 [10]
                      ds3SYNTRAN        ANSI T1.107-1988 [10]
                      ds3C-bitParity    ANSI T1.107a-1989 [10a]
                      ds3ClearChannel   ANSI T1.102-1987 [9]
                      "
              ::= { ds3ConfigEntry 5 }

          ds3ZeroCoding OBJECT-TYPE
              SYNTAX  INTEGER {
                          ds3other(1),
                          ds3B3ZS(2)
                      }
              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.
                      ds3B3ZS refers to the use of specified patterns of
                      normal bits and bipolar violations which are used
                      to replace sequences of zero bits of a specified
                      length."
              ::= { ds3ConfigEntry 6 }

          ds3Loopback OBJECT-TYPE
              SYNTAX  INTEGER {
                          ds3NoLoop(1),
                          ds3LocalLoopbackLocalSide(2),
                          ds3LocalLoopbackRemoteSide(3),
                          ds3RemoteLoopbackLocalSide(4),
                          ds3RemoteLoopbackRemoteSide(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:

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

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

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

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

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

                      Note that M23 and ClearChannel interfaces do not
                      support the Loopback managed object."
              ::= { ds3ConfigEntry 7 }

          ds3SendCode OBJECT-TYPE
              SYNTAX  INTEGER {
                          ds3SendTestMessage(1),
                          ds3SendNoCode(2),
                          ds3SendSetCode(3),
                          ds3SendLoopbackCode(4),
                          ds3SendResetCode(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:

                        ds3SendNoCode
                           sending looped or normal data

                        ds3SendSetCode
                           sending a loopback request

                        ds3SendLoopbackCode
                           sending the code to choose a specific
                           loopback

                        ds3SendResetCode
                           sending a loopback termination request

                        ds3SendTestMessage
                           sending a Test pattern as defined in
                           T1.107a-1989 [10a].
                      "
                       ::= { ds3ConfigEntry 8 }

                   ds3YellowAlarm OBJECT-TYPE
                       SYNTAX  INTEGER {
                                   ds3YellowAlarm(1),
                                   ds3NoYellowAlarm(2)
                               }
                       ACCESS  read-only
                       STATUS  mandatory
                       DESCRIPTION
                               "This variable indicates if a Yellow
                               Alarm condition exists."
                      ::= { ds3ConfigEntry 9 }

                  ds3RedAlarm OBJECT-TYPE
                      SYNTAX  INTEGER {

                                  ds3RedAlarm(1),
                                  ds3NoRedAlarm(2)
                              }
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                              "This variable indicates if a Red Alarm
                              condition exists."
                     ::= { ds3ConfigEntry 10 }

                 ds3CircuitIdentifier 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."
                    ::= { ds3ConfigEntry 11 }


                -- the DS3 Interval group

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

                -- The DS3 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.

                ds3IntervalTable OBJECT-TYPE
                    SYNTAX  SEQUENCE OF DS3IntervalEntry
                    ACCESS  not-accessible
                    STATUS  mandatory
                    DESCRIPTION
                            "The DS3 Interval table."
                   ::= { ds3 2 }

               ds3IntervalEntry OBJECT-TYPE
                   SYNTAX  DS3IntervalEntry
                   ACCESS  not-accessible
                   STATUS  mandatory
                   DESCRIPTION
                           "An entry in the DS3 Interval table."
                  INDEX   { ds3IntervalIndex, ds3IntervalNumber }
                  ::= { ds3IntervalTable 1 }

Okay bestie, we're picking up right where the interval stuff was. πŸ¦‹ The DS3 Interval group is basically a rolling diary of the last 96 fifteen-minute chunks, and each row is labelled with its own index so you always know which CSU it belongs to. ✨

The DS3IntervalEntry SEQUENCE is the blueprint for each row, and it's giving organized πŸ’…

              DS3IntervalEntry ::=
                  SEQUENCE {
                      ds3IntervalIndex
                          INTEGER,
                      ds3IntervalNumber
                          INTEGER (1..96),
                      ds3IntervalESs
                          Counter,
                      ds3IntervalSESs
                          Counter,
                      ds3IntervalSEFSs
                          Counter,
                      ds3IntervalUASs
                          Counter,
                      ds3IntervalCSSs
                          Counter,
                      ds3IntervalBPVs
                          Counter,
                      ds3IntervalCVs
                          Counter
                  }

Now the individual objects. The index is the CSU identifier, and the number is where the interval sits in the timeline. 🧚

              ds3IntervalIndex 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 DS3CSUIndex object
                          instance."
                 ::= { ds3IntervalEntry 1 }

             ds3IntervalNumber 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 minutes
                         interval (assuming that all 96 intervals are
                         valid)."
                ::= { ds3IntervalEntry 2 }

            ds3IntervalESs OBJECT-TYPE
                SYNTAX  Counter
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The counter associated with the number of
                        Errored Seconds, as defined by [12], encountered
                        by a DS3 CSU in one of the previous 96,
                        individual 15 minute, intervals."
               ::= { ds3IntervalEntry 3 }

           ds3IntervalSESs OBJECT-TYPE
               SYNTAX  Counter
               ACCESS  read-only
               STATUS  mandatory
               DESCRIPTION
                       "The counter associated with the number of
                       Severely Errored Seconds, as defined by [12],
                       encountered by a DS3 CSU in one of the previous
                       96, individual 15 minute, intervals."
              ::= { ds3IntervalEntry 4 }

          ds3IntervalSEFSs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of
                      Severely Errored Framing Seconds, as defined by
                      [12], encountered by a DS3 CSU in one of the
                      previous 96, individual 15 minute, intervals."
              ::= { ds3IntervalEntry 5 }

          ds3IntervalUASs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of
                      Unavailable Seconds, as defined by [12],
                      encountered by a DS3 CSU in one of the previous
                      96, individual 15 minute, intervals."
              ::= { ds3IntervalEntry 6 }

          ds3IntervalCSSs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of
                      Controlled Slip Seconds, as defined by [12],
                      encountered by a DS3 CSU in one of the previous
                      96, individual 15 minute, intervals.

                      Note that SYNTRAN interfaces are the only
                      interfaces that support the Controlled Slip
                      Seconds managed object.  Accordingly, agents
                      configured with non-SYNTRAN interfaces may treat
                      this object as having an ACCESS clause value of
                      not-accessible."
              ::= { ds3IntervalEntry 7}

          ds3IntervalBPVs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of Bipolar
                      Violations, as defined by [12], encountered by a
                      DS3 CSU in one of the previous 96, individual 15
                      minute, intervals."
              ::= { ds3IntervalEntry 8 }

          ds3IntervalCVs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of Coding
                      Violations, as defined by [12], encountered by a
                      DS3 CSU in one of the previous 96, individual 15
                      minute, intervals."
              ::= { ds3IntervalEntry 9 }

Next up is the DS3 Current group, which is the live stats for whatever 15-minute window we're in right now. 🌸 The comments in here are the spec's own notes, so they stay put.

          -- the DS3 Current group

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

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

          ds3CurrentTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF DS3CurrentEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "The DS3 Current table."
              ::= { ds3 3 }

          ds3CurrentEntry OBJECT-TYPE
              SYNTAX  DS3CurrentEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "An entry in the DS3 Current table."
              INDEX   { ds3CurrentIndex }
              ::= { ds3CurrentTable 1 }

          DS3CurrentEntry ::=
              SEQUENCE {
                  ds3CurrentIndex
                      INTEGER,
                  ds3CurrentESs
                      Counter,
                  ds3CurrentSESs
                      Counter,
                  ds3CurrentSEFSs
                      Counter,
                  ds3CurrentUASs
                      Counter,
                  ds3CurrentCSSs
                      Counter,
                  ds3CurrentBPVs
                      Counter,
                  ds3CurrentCVs
                      Counter
              }

          ds3CurrentIndex 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 DS3CSUIndex object instance."
              ::= { ds3CurrentEntry 1 }

          ds3CurrentESs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of Errored
                      Seconds, as defined by [12], encountered by a DS3
                      CSU in the current 15 minute interval."
              ::= { ds3CurrentEntry 2 }

          ds3CurrentSESs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of
                      Severely Errored Seconds, as defined by [12],
                      encountered by a DS3 CSU in the current 15 minute
                      interval."
              ::= { ds3CurrentEntry 3 }

          ds3CurrentSEFSs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of
                      Severely Errored Framing Seconds, as defined by
                      [12], encountered by a DS3 CSU in the current 15
                      minute interval."
              ::= { ds3CurrentEntry 4 }

          ds3CurrentUASs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of
                      Unavailable Seconds, as defined by [12],
                      encountered by a DS3 CSU in the current 15 minute
                      interval."
              ::= { ds3CurrentEntry 5 }

          ds3CurrentCSSs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION

                      "The counter associated with the number of
                      Controlled Slip Seconds, as defined by [12],
                      encountered by a DS3 CSU in the current 15 minute
                      interval.

                      Note that SYNTRAN interfaces are the only
                      interfaces that support the Controlled Slip
                      Seconds managed object.  Accordingly, agents
                      configured with non-SYNTRAN interfaces may treat
                      this object as having an ACCESS clause value of
                      not-accessible."
              ::= { ds3CurrentEntry 6 }

          ds3CurrentBPVs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of Bipolar
                      Violations, as defined by [12], encountered by a
                      DS3 CSU in the current 15 minute interval."
              ::= { ds3CurrentEntry 7}

          ds3CurrentCVs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of Coding
                      Violations, as defined by [12], encountered by a
                      DS3 CSU in the current 15 minute interval."
              ::= { ds3CurrentEntry 8 }

Last bit for this part: we're starting the DS3 Total group, which is the 24-hour rollup. πŸŽ€ The spec says that table adds up the stats for the 24 hours right before the first valid interval in the Current table, and that's the whole vibe. πŸ‘‘

          -- the DS3 Total group

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

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

          ds3TotalTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF DS3TotalEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION

                      "The DS3 Total table.  24 hour interval."
              ::= { ds3 4 }

          ds3TotalEntry OBJECT-TYPE
              SYNTAX  DS3TotalEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "An entry in the DS3 Total table."
              INDEX   { ds3TotalIndex }
              ::= { ds3TotalTable 1 }

Okay so we're picking up right where the DS3 counters live πŸ’œ Each ds3Total object is a read-only counter for the previous 24 hour interval, and they all point at the same CSU through ds3TotalIndex πŸŽ€

          DS3TotalEntry ::=
              SEQUENCE {
                  ds3TotalIndex
                      INTEGER,
                  ds3TotalESs
                      Counter,
                  ds3TotalSESs
                      Counter,
                  ds3TotalSEFSs
                      Counter,
                  ds3TotalUASs
                      Counter,
                  ds3TotalCSSs
                      Counter,
                  ds3TotalBPVs
                      Counter,
                  ds3TotalCVs
                      Counter
              }

          ds3TotalIndex 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 DS3CSUIndex object instance."
              ::= { ds3TotalEntry 1 }

          ds3TotalESs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of Errored
                      Seconds, as defined by [12], encountered by a DS3
                      CSU in the previous 24 hour interval."
              ::= { ds3TotalEntry 2 }

          ds3TotalSESs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of
                      Severely Errored Seconds, as defined by [12],
                      encountered by a DS3 CSU in the previous 24 hour
                      interval."
              ::= { ds3TotalEntry 3 }

          ds3TotalSEFSs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of
                      Severely Errored Framing Seconds, as defined by
                      [12], encountered by a DS3 CSU in the previous 24
                      hour interval."
              ::= { ds3TotalEntry 4 }

          ds3TotalUASs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of
                      Unavailable Seconds, as defined by [12],
                      encountered by a DS3 CSU in the previous 24 hour
                      interval."
              ::= { ds3TotalEntry 5 }

          ds3TotalCSSs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of
                      Controlled Slip Seconds, as defined by [12],
                      encountered by a DS3 CSU in the previous 24 hour
                      interval.

                      Note that SYNTRAN interfaces are the only
                      interfaces that support the Controlled Slip
                      Seconds managed object.  Accordingly, agents
                      configured with non-SYNTRAN interfaces may treat
                      this object as having an ACCESS clause value of
                      not-accessible."
              ::= { ds3TotalEntry 6 }

          ds3TotalBPVs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of Bipolar
                      Violations, as defined by [12], encountered by a
                      DS3 CSU in the previous 24 hour interval."
              ::= { ds3TotalEntry 7 }

          ds3TotalCVs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The counter associated with the number of Coding
                      Violations, as defined by [12], encountered by a
                      DS3 CSU in the previous 24 hour interval."
              ::= { ds3TotalEntry 8 }



          END

6. Acknowledgments ✨

This doc was cooked by the SNMP and the Transmission MIB Working Groups, and the people who helped build it are absolutely iconic 🫢 Here's the whole squad, exactly as credited:

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 πŸ“š

Here's the reading list, every single source the spec leans on 🧚

  • [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] American National Standard for telecommunications - digital hierarchy - electrical interfaces, ANSI T1.102- 1987.
  • [10] American National Standard for telecommunications - digital hierarchy - formats specification, ANSI T1.107- 1988.
  • [10a] ANSI T1.107a-1989.
  • [11] American National Standard for telecommunications - Carrier-to-Customer Installation - DS3 Metallic Interface, ANSI T1.404-1989.
  • [12] In-Service Digital Transmission Performance Monitoring Draft Standard, T1M1.3/90 - 027R2.
  • [13] Rose, M., and K. McCloghrie, Editors, "Concise MIB Definitions", RFC 1212, Performance Systems International, Hughes LAN Systems, March 1991.

8. Security Considerations πŸ”’

Security issues are not discussed in this memo. πŸ’€

Heads up bestie, this memo doesn't cover security at all, so go check other sources before you ship anything πŸ™ˆ

9. Authors' Addresses πŸ’Œ

The two brilliant minds behind this spec, with their contact details exactly as listed πŸ¦‹

Tracy A. Cox
Bell Communications Research
331 Newman Springs Road
P.O. Box 7020
Red Bank, NJ  07701-7020

Phone: (908) 758-2107

EMail: tacox@sabre.bellcore.com


Kaj Tesink
Bell Communications Research
331 Newman Springs Road
P.O. Box 7020
Red Bank, NJ  07701-7020

Phone: (908) 758-5254

EMail: kaj@nvuxr.cc.bellcore.com
πŸ“¦ where this page comes from