currently using a channel, the value should be
zero. If a single interface occupies more than
one time slot, that ifIndex value will be found
in multiple time slots."
::= { dsx3FracEntry 3 }
-- DS3 TRAPS
ds3Traps OBJECT IDENTIFIER ::= { ds3 15 }
dsx3LineStatusChange NOTIFICATION-TYPE
OBJECTS { dsx3LineStatus,
dsx3LineStatusLastChange }
STATUS current
DESCRIPTION
"A dsx3LineStatusChange trap is sent when the
value of an instance of dsx3LineStatus changes. It
can be utilized by an NMS to trigger polls. When
the line status change results in a lower level
line status change (i.e., ds1), then no traps for
the lower level are sent."
::= { ds3Traps 0 1 }
-- conformance information
ds3Conformance OBJECT IDENTIFIER ::= { ds3 14 }
ds3Groups OBJECT IDENTIFIER ::= { ds3Conformance 1 }
ds3Compliances OBJECT IDENTIFIER ::= { ds3Conformance 2 }
-- compliance statements
ds3Compliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for DS3/E3 interfaces."
MODULE -- this module
MANDATORY-GROUPS { ds3NearEndConfigGroup,
ds3NearEndStatisticsGroup }
GROUP ds3FarEndGroup
DESCRIPTION
"Implementation of this group is optional for all
systems that attach to a DS3 Interface. However,
only C-bit Parity and SYNTRAN DS3 applications
have the capability (option) of providing this
information."
GROUP ds3NearEndOptionalTrapGroup
DESCRIPTION
"Implementation of this group is optional for all
systems that attach to a DS3 Interface. If it is
implemented then ds3NearEndOptionalConfigGroup
should also be implemented."
GROUP ds3NearEndOptionalConfigGroup
DESCRIPTION
"Implementation of this group is optional for all
systems that attach to a DS3 interface."
OBJECT dsx3LineType
MIN-ACCESS read-only
DESCRIPTION
"Write access for the line type is not required."
OBJECT dsx3LineCoding
MIN-ACCESS read-only
DESCRIPTION
"Write access for the line coding is not
required."
OBJECT dsx3SendCode
MIN-ACCESS read-only
DESCRIPTION
"Write access for the send code is not required."
OBJECT dsx3LoopbackConfig
MIN-ACCESS read-only
DESCRIPTION
"Write access for loopbacks is not required."
OBJECT dsx3TransmitClockSource
MIN-ACCESS read-only
DESCRIPTION
"Write access for the transmit clock source is not
required."
OBJECT dsx3LineLength
MIN-ACCESS read-only
DESCRIPTION
"Write access for the line length is not
required."
OBJECT dsx3Channelization
MIN-ACCESS read-only
DESCRIPTION
"Write access for the channelization is not
required."
::= { ds3Compliances 1 }
-- units of conformance
ds3NearEndConfigGroup OBJECT-GROUP
OBJECTS { dsx3LineIndex,
dsx3TimeElapsed,
dsx3ValidIntervals,
dsx3LineType,
dsx3LineCoding,
dsx3SendCode,
dsx3CircuitIdentifier,
dsx3LoopbackConfig,
dsx3LineStatus,
dsx3TransmitClockSource,
dsx3InvalidIntervals,
dsx3LineLength,
dsx3LoopbackStatus,
dsx3Channelization,
dsx3Ds1ForRemoteLoop}
STATUS current
DESCRIPTION
"A collection of objects providing configuration
information applicable to all DS3/E3 interfaces."
::= { ds3Groups 1 }
ds3NearEndStatisticsGroup OBJECT-GROUP
OBJECTS { dsx3CurrentIndex,
dsx3CurrentPESs,
dsx3CurrentPSESs,
dsx3CurrentSEFSs,
dsx3CurrentUASs,
dsx3CurrentLCVs,
dsx3CurrentPCVs,
dsx3CurrentLESs,
dsx3CurrentCCVs,
dsx3CurrentCESs,
dsx3CurrentCSESs,
dsx3IntervalIndex,
dsx3IntervalNumber,
dsx3IntervalPESs,
dsx3IntervalPSESs,
dsx3IntervalSEFSs,
dsx3IntervalUASs,
dsx3IntervalLCVs,
dsx3IntervalPCVs,
dsx3IntervalLESs,
dsx3IntervalCCVs,
dsx3IntervalCESs,
dsx3IntervalCSESs,
dsx3IntervalValidData,
dsx3TotalIndex,
dsx3TotalPESs,
dsx3TotalPSESs,
dsx3TotalSEFSs,
dsx3TotalUASs,
dsx3TotalLCVs,
dsx3TotalPCVs,
dsx3TotalLESs,
dsx3TotalCCVs,
dsx3TotalCESs,
dsx3TotalCSESs }
STATUS current
DESCRIPTION
"A collection of objects providing statistics
information applicable to all DS3/E3 interfaces."
::= { ds3Groups 2 }
ds3FarEndGroup OBJECT-GROUP
OBJECTS { dsx3FarEndLineIndex,
dsx3FarEndEquipCode,
dsx3FarEndLocationIDCode,
dsx3FarEndFrameIDCode,
dsx3FarEndUnitCode,
dsx3FarEndFacilityIDCode,
dsx3FarEndCurrentIndex,
dsx3FarEndTimeElapsed,
dsx3FarEndValidIntervals,
dsx3FarEndCurrentCESs,
dsx3FarEndCurrentCSESs,
dsx3FarEndCurrentCCVs,
dsx3FarEndCurrentUASs,
dsx3FarEndInvalidIntervals,
dsx3FarEndIntervalIndex,
dsx3FarEndIntervalNumber,
dsx3FarEndIntervalCESs,
dsx3FarEndIntervalCSESs,
dsx3FarEndIntervalCCVs,
dsx3FarEndIntervalUASs,
dsx3FarEndIntervalValidData,
dsx3FarEndTotalIndex,
dsx3FarEndTotalCESs,
dsx3FarEndTotalCSESs,
dsx3FarEndTotalCCVs,
dsx3FarEndTotalUASs }
STATUS current
DESCRIPTION
"A collection of objects providing remote
configuration and statistics information
applicable to C-bit Parity and SYNTRAN DS3
interfaces."
::= { ds3Groups 3 }
ds3DeprecatedGroup OBJECT-GROUP
OBJECTS { dsx3IfIndex,
dsx3FracIndex,
dsx3FracNumber,
dsx3FracIfIndex }
STATUS deprecated
DESCRIPTION
"A collection of obsolete objects that may be
implemented for backwards compatibility."
::= { ds3Groups 4 }
ds3NearEndOptionalConfigGroup OBJECT-GROUP
OBJECTS { dsx3LineStatusLastChange,
dsx3LineStatusChangeTrapEnable }
STATUS current
DESCRIPTION
"A collection of objects that may be implemented
on DS3/E3 interfaces."
::= { ds3Groups 5 }
ds3NearEndOptionalTrapGroup NOTIFICATION-GROUP
NOTIFICATIONS { dsx3LineStatusChange }
STATUS current
DESCRIPTION
"A collection of notifications that may be
implemented on DS3/E3 interfaces."
::= { ds3Groups 6 }
END
4. Appendix A - Use of dsx3IfIndex and dsx3LineIndex
This Appendix exists to document the previous use if dsx3IfIndex and
dsx3LineIndex and to clarify the relationship of dsx3LineIndex as
defined in RFC 1407 with the dsx3LineIndex as defined in this
document.
The following shows the old and new definitions and the relationship:
[New Definition]: "This object should be made equal to ifIndex. The
next paragraph describes its previous usage. Making the object equal
to ifIndex allows proper use of ifStackTable.
[Old Definition]: "this object is the identifier of a DS3/E3
Interface on a managed device. If there is an ifEntry that is
directly associated with this and only this DS3/E3 interface, it
should have the same value as ifIndex. Otherwise, number the
dsx3LineIndices with an unique identifier following the rules of
choosing a number that is greater than ifNumber and numbering the
inside interfaces (e.g., equipment side) with even numbers and
outside interfaces (e.g, network side) with odd numbers."
When the "Old Definition" was created, it was described this way to
allow a manager to treat the value _as if_ it were an ifIndex, i.e.,
the value would either be: 1) an ifIndex value or 2) a value that
was guaranteed to be different from all valid ifIndex values.
The new definition is a subset of that definition, i.e., the value is
always an ifIndex value.
The following is Section 3.1 from [RFC1407]:
Different physical configurations for the support of SNMP with DS3/E3
equipment exist. To accommodate these scenarios, two different
indices for DS3/E3 interfaces are introduced in this MIB. These
indices are dsx3IfIndex and dsx3LineIndex.
External interface scenario: the SNMP Agent represents all managed
DS3/E3 lines as external interfaces (for example, an Agent residing
on the device supporting DS3/E3 interfaces directly):
For this scenario, all interfaces are assigned an integer value equal
to ifIndex, and the following applies:
ifIndex=dsx3IfIndex=dsx3LineIndex for all interfaces.
The dsx3IfIndex column of the DS3/E3 Configuration table relates each
DS3/E3 interface to its corresponding interface (ifIndex) in the
Internet-standard MIB (MIB-II STD 17, [RFC1213]).
External&Internal interface scenario: the SNMP Agents resides on an
host external from the device supporting DS3/E3 interfaces (e.g., a
router). The Agent represents both the host and the DS3/E3 device.
The index dsx3LineIndex is used to not only represent the DS3/E3
interfaces external from the host/DS3/E3-device combination, but also
the DS3/E3 interfaces connecting the host and the DS3/E3 device. The
index dsx3IfIndex is always equal to ifIndex.
Example:
A shelf full of CSUs connected to a Router. An SNMP Agent residing
on the router proxies for itself and the CSU. The router has also an
Ethernet interface:
+-----+
| | |
| | | +---------------------+
|E | | 44.736 MBPS | ds3 M13 Line#A | ds3 C-bit Parity
|t | R |---------------+ - - - - - - - - - +------>
|h | | | |
|e | O | 44.736 MBPS | ds3 M13 Line#B | ds3 C-bit Parity
|r | |---------------+ - - - - - - - - - - +------>
|n | U | | |
|e | | 44.736 MBPS | ds3 M13 Line#C | ds3 C-bit Parity
|t | T |---------------+ - - - -- -- - - - - +------>
| | | | |
|-----| E | 44.736 MBPS | ds3 M13 Line#D | ds3 C-bit Parity
| | |---------------+ - - - - -- - - - - +------>
| | R | |_____________________|
| | |
| +-----+
The assignment of the index values could for example be:
ifIndex (= dsx3IfIndex) dsx3LineIndex
1 NA NA (Ethernet)
2 Line#A Router Side 6
2 Line#A Network Side 7
3 Line#B Router Side 8
3 Line#B Network Side 9
4 Line#C Router Side 10
4 Line#C Network Side 11
5 Line#D Router Side 12
5 Line#D Network Side 13
For this example, ifNumber is equal to 5. Note the following
description of dsx3LineIndex: the dsx3LineIndex identifies a DS3/E3
Interface on a managed device. If there is an ifEntry that is
directly associated with this and only this DS3/E3 interface, it
should have the same value as ifIndex. Otherwise, number the
dsx3LineIndices with an unique identifier following the rules of
choosing a number greater than ifNumber and numbering inside
interfaces (e.g., equipment side) with even numbers and outside
interfaces (e.g., network side) with odd numbers.
If the CSU shelf is managed by itself by a local SNMP Agent, the
situation would be:
ifIndex (= dsx3IfIndex) dsx3LineIndex
1 Line#A Network Side 1
2 Line#A RouterSide 2
3 Line#B Network Side 3
4 Line#B RouterSide 4
5 Line#C Network Side 5
6 Line#C Router Side 6
7 Line#D Network Side 7
8 Line#D Router Side 8
5. Appendix B - The delay approach to Unavialable Seconds.
This procedure is illustrated below for a DS3 C-Bit parity
application. Similar rules would apply for other interfaces covered
by this MIB. The procedure guarantees that the statistical counters
are correctly updated at all times, although they lag real time by 10
seconds. At the end of each 15 minutes interval the current interval
counts are transferred to the most recent interval entry and each
interval is shifted up by one position, with the oldest being
discarded if necessary in order to make room. The current interval
counts then start over from zero. Note, however, that the signal
state calculation does not start afresh at each interval boundary;
rather, signal state information is retained across interval
boundaries.
+----------------------------------------------------------------+
| READ COUNTERS & STATUS INFO FROM HARDWARE |
| |
|BPV EXZ LOS PCV CCV AIS SEF OOF LOF FEBE RAI |
+----------------------------------------------------------------+
| | | | | | | | | | |
| | | | | | | | | | |
V V V V V V V V V V V
+----------------------------------------------------------------+
| ACCUM ONE-SEC STATS, CHK ERR THRESHOLDS, & UPDT SIGNAL STATE |
| |
|<------------- NEAR END ---------------->| |<---- FAR END ----->|
| |
|LCV LES PCV CCV PES CES PSES CSES SEFS A/U CCV CES CSES SEFS A/U|
+----------------------------------------------------------------+
| | | | | | | | | | | | | | |
| | | | | | | | | | | | | | |
V V V V V V V V V | V V V V |
+--------------------------------------+ | +-----------------+ |
| ONE-SEC DELAY | | | ONE-SEC DELAY | |
| (1 OF 10) | | | (1 OF 10) | |
+--------------------------------------+ | +-----------------+ |
| | | | | | | | | | | | | | |
/ / / / / / / / / / / / / / /
| | | | | | | | | | | | | | |
V V V V V V V V V | V V V V |
+--------------------------------------+ | +-----------------+ |
| ONE-SEC DELAY | | | ONE-SEC DELAY | |
| (10 OF 10) | | | (10 OF 10) | |
+--------------------------------------+ | +-----------------+ |
| | | | | | | | | | | | | | |
| | | | | | | | | | | | | | |
V V V V V V V V V V V V V V V
+----------------------------------------------------------------+
| UPDATE STATISTICS COUNTERS |
| |
|<------------- NEAR END ---------------->| |<---- FAR END ----->|