ISDN Management Information Base
                draft-ietf-isdnmib-snmp-isdn-mib-03.txt
                draft-ietf-isdnmib-snmp-isdn-mib-04.txt

                      Mon Feb  5 22:36:47 12 20:12:40 MET 1996

                         Guenter Roeck (editor)
                              Conware GmbH
                            roeck@conware.de

Status of this Memo

This document is an Internet-Draft.  Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its Areas, and
its Working Groups.  Note that other groups may also distribute working
documents as Internet-Drafts.

Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time.  It is inappropriate to use Internet-Drafts as reference material
or to cite them other than as a "work in progress".

To learn the current status of any Internet-Draft, please check the
"1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
ftp.isi.edu (US West Coast).

1.  Introduction

Abstract

This draft memo defines an experimental portion of the Management Information
Base (MIB) for use with network management protocols in the Internet
community.  In particular, it defines a minimal set of managed objects
for SNMP-based management of ISDN terminal interfaces.  ISDN interfaces
are supported on a variety of equipment (for data and voice) including
terminal adapters, bridges, hosts, and routers.

This document specifies a MIB module in a manner that is both compliant
to the SNMPv2 SMI, and semantically identical to the peer SNMPv1
definitions.

This document is a product of the ISDN MIB working group within the
Internet Engineering Task Force.  Comments are solicited and should be
addressed to the working group's mailing list at isdn-mib@cisco.com
and/or the author.

2.

1.  The Community-based SNMPv2 Network Management Framework

The Community-based SNMPv2 Network Management Framework presently consists of four three
major components.  They are:

o    the SMI, described in RFC 1902 [1] which defines the SMI, - the mechanisms used for
     describing and naming objects for the purpose of management.

o    the MIB-II, STD 17, RFC 1213 [2] defines MIB-II, - the core set of managed objects
     for the Internet suite of protocols.

o    the protocol, RFC 1901 1157 [3] which defines the administrative and other
     architectural aspects of the framework.

o and/or RFC 1905 [4] which defines [4], - the protocol used for network access to
     accessing managed objects.

The Framework permits new objects to be defined for the purpose of
experimentation and evaluation.

2.1.

2.  Object Definitions

Managed objects are accessed via a virtual information store, termed the
Management Information Base or MIB.  Objects in the MIB are defined
using the subset of Abstract Syntax Notation One (ASN.1) defined in the
SMI.  In particular, each object type is named by an OBJECT IDENTIFIER,
an administratively assigned name.  The object type together with an
object instance serves to uniquely identify a specific instantiation of
the object.  For human convenience, we often use a textual string,
termed the descriptor, to refer to the object type.

3.  Overview

3.1.  Structure of MIB

For managing ISDN interfaces, the following information is necessary:

o    Information for managing physical interfaces. In case of ISDN
     primary rate, this will usually be T1 or E1 lines, being managed in
     the DS1/E1 MIB. MIB [12].  For Basic Rate lines, physical interfaces
     will be managed by this MIB.

o    Information for managing bearer channels, usually referred to as B
     channels.

o    Information for managing signaling channels.

o    Optionally, information for managing Terminal Endpoints (TE).  A
     Terminal Endpoint is a link layer connection to a switch.

o    Optionally, information for managing a list of directory numbers.

Within this document, this information has been structured into five
groups, which will be described in the following chapters.

In order to manage connections over ISDN lines, the management of
neighbors and call history information is required as well.  This
information will be defined in the Dial Control MIB.

The purpose for splitting the required information in two MIBs is to be
able to use parts of this information for non-ISDN interfaces as well.
In particular, the Dial Control MIB might also be used for other types
of interfaces.

3.1.1.  General Description

This MIB controls all aspects of ISDN interfaces.  It consists of five
groups.

o    The isdnMibBasicRateGroup is used to provide information regarding
     physical Basic Rate interfaces.

o    The isdnMibBearerGroup is used to control bearer channels, usually
     referred to as B channels. It supports configuration parameters as
     well as statistical information related to B channels.

o    The isdnMibSignalingGroup is used to control D channels.  There are
     three tables in this group. The isdnSignalingTable and
     isdnSignalingStatsTable support ISDN Network Layer configuration
     and statistics. The isdnLapdTable supports ISDN Data Link Layer
     (LAPD) configuration and statistics.

o    The optional isdnMibEndpointGroup can be used to specify Terminal
     Endpoints. It is required only if there are non-ISDN endpoints
     defined for a given D channel, or if additional information like
     Terminal Endpoint Identifier (TEI) values or Service Profile
     IDentifiers (SPID) is required.

o    The optional isdnMibDirectoryGroup can be used to specify a list of
     directory numbers for each signaling channel. It is required only
     if the directory numbers to be accepted differ from the
     isdnSigTblCallingAddress as specified in the isdnSignalingTable.

3.2.  Relationship to RFC 1573

RFC 1573 [11], the Interface MIB Evolution, requires that any MIB module
which is an adjunct of the Interface MIB, clarify specific areas within
the Interface MIB.  These areas were intentionally left vague in RFC
1573 to avoid over constraining the MIB module, thereby precluding
management of certain media-types.

Section 3.3 of RFC 1573 enumerates several areas which a media-specific
MIB module must clarify.  Each of these areas is addressed in a
following subsection.  The implementor is referred to RFC 1573 in order
to understand the general intent of these areas.

3.2.1.  Layering Model

An ISDN interface usually consists of a D channel and a number of B
channels, all of which will be layered on top of a physical interface.

Furthermore, there are multiple interface layers for each D channel.
There are Data Link Layer (LAPD) as well as Network Layer entities.

This is accomplished in this MIB by creating a logical interface
(ifEntry) for each of the D channel entities and a logical interface
(ifEntry) for each of the B channels. These are then correlated to each

other and to the physical interface using the ifStack table of RFC 1573.

The basic model, therefore, looks something like this:

       | |
    +--+ +--+
    | D ch. |
    |Layer 3|
    +--+ +--+
       | |        | |            | |    <== interface to upper
    +--+ +--+  +--+ +--+      +--+ +--+     layers, to be provided
    | D ch. |  |   B   |      |   B   |     by ifStack table
    |Layer 2|  |channel| .... |channel|
    +--+ +--+  +--+ +--+      +--+ +--+
       | |        | |            | |    <== attachment to physical
    +--+ +--------+ +------------+ +----+   interfaces, to be provided
    |         physical interface        |   by ifStack table
    |          (S/T, U or T1/E1)        |
    +-----------------------------------+

Mapping of B/D channels to physical interfaces

Each D channel can support multiple Terminal Endpoints.  Terminal
Endpoints can either be one or multiple ISDN signaling channels, or
channels supporting X.25 based packet mode services.

To accomplish this, there can be multiple Network Layer entities on top
of each ISDN Data Link Layer (LAPD) interface.  The detailed model
therefore looks something like this, including interface types as
examples:

  +------+  +----+  +----+
  |x25ple|  |isdn|  |isdn|    Terminal Endpoints (X.25 or ISDN)
  +--+---+  +-+--+  +-+--+
     |        |       |
     | +------+       |
     | | +------------+
     | | |                                    |      |
    ++-+-++                                 +-+-+  +-+-+
    |lapd | D channel                       |ds0|  |ds0| B channels
    +--+--+ Data Link Layer                 +-+-+  +-+-+
       |                                      |      |
    +--+--------------------------------------+------+----+
    |                 ds1 or ISDNs/ISDNu                  |
    +-----------------------------------------------------+

Mapping of Terminal Endpoints (D channel Layer 3) to Layer 2 interfaces

IfEntries are maintained for each D channel Network Layer entity
(Terminal Endpoint), for LAPD and for each B channel.

The ifType for a Terminal Endpoint can be isdn(63) for ISDN signaling
channels or x25ple(40) for X.25 based packet mode services.  The ifType
for D channel Data Link Layer (LAPD) interfaces is lapd(77).  The ifType
for B channels is ds0(). ds0(81).  The ifType for physical interfaces is the
matching IANA ifType, usually ds1(18) for Primary Rate interfaces or
ISDNs(75)/ISDNu(76) for Basic Rate interfaces.

The ifStackTable is used to map B channels and LAPD interfaces to
physical interfaces and to map D channel Network Layer interfaces
(Terminal Endpoints) to LAPD.

Mapping of B channels to upper interface layers will usually be done
using the Dial Control MIB. For example, mapping on top of B channels
might look as follows:

+-------------------------------------------------------+
|               Network Layer Protocol                  |
+------+ +-------+ +-------+ +-------+ +-------+ +------+
       | |       | |       | |       | |       | | <== appears active
     +-+ +-+   +-+ +-+   +-+ +-+   +-+ +-+   +-+ +-+
     | PPP |   | PPP |   | F/R |   | PPP |   | F/R |
     | for |   | for |   | for |   | for |   | for |   ifEntry with
     |Nbr 1|   |Nbr 2|   |switch   |Nbr 3|   |switch   shadow
     |     |   |     |   |  A  |   |     |   |  B  |   NeighborEntry
     +-+ +-+   +-+ +-+   +-+ +-+   +-+ +-+   +-+ +-+
                 | |                 | |           <== some actually are
    +--+ +--+ +--+ +--+ +--+ +--+ +--+ +--+ +--+ +--+
    |   B   | |   B   | |   B   | |   B   | |   B   |
    |channel| |channel| |channel| |channel| |channel|
    +--+ +--+ +--+ +--+ +--+ +--+ +--+ +--+ +--+ +--+
       | |       | |       | |       | |       | |
+------+ +-------+ +-------+ +-------+ +-------+ +------+
|             Basic/Primary Rate Interface              |
+-------------------------------------------------------+

Mapping of IP interfaces to Called Neighbors to B Channels

In this model, ifEntries are maintained for each neighbor.  Each
neighbor is required to have an associated ifEntry.  This interface can
be of any kind, e.g. PPP or LAPB.

3.2.2.  ifTestTable

The ifTestTable is not supported by this MIB.

3.2.3.  ifRcvAddressTable

The ifRcvAddressTable is not supported by this MIB.

3.2.4.  ifEntry

3.2.4.1.  ifEntry for a Basic Rate hardware interface

The ifGeneralGroup of RFC 1573 is supported for Basic Rate hardware
interfaces.

ifTable           Comments
==============    ===========================================
ifIndex           Each ISDN Basic Rate hardware interface is
                  represented by an ifEntry.

ifDescr           Textual port description.

ifType            An            The IANA value to be assigned. of ISDNs (75) or ISDNu(76),
                  whichever is appropriate.

ifSpeed           The overall bandwidth of this interface.

ifPhysAddress     Return zero.

ifAdminStatus     The desired administrative status of the
                  ISDN interface.

ifOperStatus      The current operational status of this
                  interface. If the operational status is dormant(5),
                  the interface is in standby mode, i.e. connected
                  to the network, but without call activity.
                  If the operational status is down(2), the hardware
                  has detected that there is no level 1 connection
                  to the switch.

ifLastChange      Refer to RFC 1573.

ifLinkUpDownTrapEnable
                  Refer to RFC 1573.

ifConnectorPresent
                  Refer to RFC 1573.

ifHighSpeed       Return zero.

ifName            Refer to RFC 1573.

3.2.4.2.  ifEntry for a B channel (bearer channel)

The ifEntry for a B channel supports the ifGeneralGroup and the
ifPacketGroup of RFC 1573.

ifTable           Comments
==============    ===========================================
ifIndex           Each ISDN B channel is represented by an ifEntry.

ifDescr           Textual port description.

ifType            The IANA value of ds0(). ds0(81).

ifSpeed           The bandwidth of this B channel.
                  Usually, this will be the value
                  of 56000 or 64000.

ifPhysAddress     The ISDN address assigned to this port.
                  This is a copy of isdnBearerCallingAddress.

ifAdminStatus     The desired administrative status of the
                  ISDN port.

ifOperStatus      The current operational status of the ISDN
                  port. Note that dormant(5) is explicitly being
                  used as defined in RFC 1573.

ifLastChange      Refer to RFC 1573.

ifLinkUpDownTrapEnable
                  Refer to RFC 1573.

ifConnectorPresent
                  Refer to RFC 1573.

ifHighSpeed       Return zero.

ifName            Refer to RFC 1573.

ifMtu             The size of the largest frame which can be
                  sent/received on this B Channel,
                  specified in octets.

ifInOctets        The total number of octets received on this
                  B channel.

ifInUcastPkts     The number of frames received on this B channel.

ifInNUcastPkts    Deprecated.  Return zero.

ifInDiscards      The total number of received frames discards.
                  The possible reasons are: buffer shortage.

ifInErrors        The number of inbound frames that contained
                  errors preventing them from being deliverable
                  to a higher-layer protocol.

ifInUnknownProtos The number of inbound frames with unknown
                  upper layers.

ifOutOctets       The total number of octets transmitted on this
                  B channel.

ifOutUcastPkts    The number of frames transmitted on this
                  B channel.

ifOutNUcastPkts   Deprecated.  Return zero.

ifOutDiscards     The total number of outbound frames which
                  were discarded. Possible reasons are:
                  buffer shortage.

ifOutErrors       The number of frames which could not be
                  transmitted due to errors.

ifOutQlen         Deprecated. Return zero.

ifSpecific        Deprecated. Return {0 0}.

3.2.4.3.  ifEntry for LAPD (D channel Data Link Layer)

The ifEntry for LAPD (D channel Data Link Layer) supports the
ifGeneralGroup and the ifPacketGroup of RFC 1573.

ifTable           Comments
==============    ===========================================
ifIndex           Each ISDN D channel Data Link layer is represented
                  by an ifEntry.

ifDescr           Textual port description.

ifType            The IANA value of lapd(77).

ifSpeed           The bandwidth of this interface. Usually, this will
                  be the value of 16000 for basic rate interfaces or
                  64000 for primary rate interfaces.

ifPhysAddress     Returns an empty string.

ifAdminStatus     The desired administrative status of this
                  interface.

ifOperStatus      The current operational status of the ISDN
                  UNI (User Network Interface) interface. If the
                  operational status is dormant(5), the D channel
                  is in standby mode (see Q.931 [8], Annex F,
                  D channel backup procedures).

ifLastChange      Refer to RFC 1573.

ifLinkUpDownTrapEnable
                  Refer to RFC 1573.

ifConnectorPresent
                  Refer to RFC 1573.

ifHighSpeed       Return zero.

ifName            Refer to RFC 1573.

ifMtu             The size of the largest frame which can be
                  sent/received on this interface,
                  specified in octets. Usually, this will be the
                  default value of 260 as specified in Q.921
                  (see
                  [6], chapter 5.9.3). 5.9.3.

ifInOctets        The total number of octets received on this
                  interface.

ifInUcastPkts     The number of frames received on this interface
                  whose address is not TEI=127.

ifInNUcastPkts    Deprecated.  Return the number of frames
                  received on this interface which is
                  targeted TEI=127.

ifInDiscards      The total number of received frames which have been
                  discarded.
                  The possible reasons are: buffer shortage.

ifInErrors        The number of inbound frames that contained
                  errors preventing them from being deliverable
                  to LAPD.

ifInUnknownProtos The number of frames with known TEI, but unknown
                  SAPI (Service Access Point Identifier,
                  see Q.921 [6], chapter 3.3.3).

ifOutOctets       The total number of octets transmitted on this
                  interface.

ifOutUcastPkts    The number of frames transmitted on this
                  interface whose address is not TEI=127.

ifOutNUcastPkts   Deprecated.  Return the number of frames
                  transmitted on this interface which
                  have TEI=127.

ifOutDiscards     The total number of outbound frames which
                  were discarded. Possible reasons are:
                  buffer shortage.

ifOutErrors       The number of frames which could not be
                  transmitted due to errors.

ifOutQlen         Deprecated. Return zero.

ifSpecific        Deprecated. Return {0 0}.

3.2.4.4.  ifEntry for a signaling channel

The ifEntry for a signaling channel supports the ifGeneralGroup and the
ifPacketGroup of RFC 1573.

ifTable           Comments
==============    ===========================================
ifIndex           Each ISDN signaling channel is represented by
                  an ifEntry.

ifDescr           Textual port description.

ifType            The IANA value of isdn(63).

ifSpeed           The bandwidth of this signaling channel. Usually,
                  this will the same value as for LAPD,
                  i.e. 16000 for basic rate interfaces or 64000
                  for primary rate interfaces.

ifPhysAddress     The ISDN address assigned to this signaling
                  channel. This is a copy of isdnSigTblCallingAddress.

ifAdminStatus     The desired administrative status of the
                  signaling channel.

ifOperStatus      The current operational status of this signaling
                  channel. If the operational status is dormant(5),
                  the signaling channel is currently not activated.

ifLastChange      Refer to RFC 1573.

ifLinkUpDownTrapEnable
                  Refer to RFC 1573.

ifConnectorPresent
                  Refer to RFC 1573.

ifHighSpeed       Return zero.

ifName            Refer to RFC 1573.

ifMtu             The size of the largest frame which can be
                  sent/received on this signaling channel,
                  specified in octets. Usually, this will be the
                  default value of 260 as specified in Q.921
                  (see
                  [6], chapter 5.9.3). 5.9.3.

ifInOctets        The total number of octets received on this
                  signaling channel.

ifInUcastPkts     The number of frames received which are targeted
                  to this channel's TEI.

ifInNUcastPkts    Deprecated.  Return the number of frames
                  received on this signaling channel which are
                  targeted TEI=127.

ifInDiscards      The total number of received frames which have been
                  discarded.
                  The possible reasons are: buffer shortage.

ifInErrors        The number of inbound frames that contained
                  errors preventing them from being deliverable
                  to the signaling channel.

ifInUnknownProtos Return zero.

ifOutOctets       The total number of octets transmitted on this
                  signaling channel.

ifOutUcastPkts    The number of frames transmitted on this
                  signaling channel whose address is not TEI=127.

ifOutNUcastPkts   Deprecated.  Return the number of frames
                  transmitted on this signaling channel which
                  have TEI=127.

ifOutDiscards     The total number of outbound frames which
                  were discarded. Possible reasons are:
                  buffer shortage.

ifOutErrors       The number of frames which could not be
                  transmitted due to errors.

ifOutQlen         Deprecated. Return zero.

ifSpecific        Deprecated. Return {0 0}.

3.3.  ISDN interface specific information

3.3.1.  ISDN leased lines

ISDN leased lines can be specified on a per-B-channel basis.  To do so,
the value of isdnBearerChannelType has to be set to leased(2).  There
will be no signaling protocol support for leased line B channels, since
there is no signaling protocol action for this kind of interfaces.

If on a given D channel there is no signaling protocol available, any
isdnSignalingTable and isdnEndpointTable entries layered on top support available for an ISDN interface, this
must be specified in the according interface specific table.  For Basic
Rate interfaces, isdnBasicTblSignalMode of LAPD isdnBasicRateTable must be removed.
set to inactive(2).  For Primary Rate interfaces, dsx1SignalMode of

dsx1ConfigTable in DS1/E1 MIB [12] must be set to none(1).  There will
be no isdnLapdTable or isdnSignalingTable entries for such interfaces.

Depending on the leased line type and the service provider, the D
channel can then eventually be used for data transfer.

Only B and  To support this,
the D channel interfaces interface type will exist in this case. be ds0(81) instead of lapd(77) and its
usage will be identical to B channel usage if there is no signaling
channel available.

For a Primary Rate interface being set up which is entirely used as a leased line,
there will be no ISDN specific information available or required.  Such
leased lines can entirely be handled by the DS1/E1 MIB.

3.3.2.  Hyperchannels

The switch protocol in use will define if hyperchannels are supported,
and the actual support will be implementation dependent. Hyperchannel
connections itself will be requested by the interface user, e.g. by the
neighbor connection handling procedures.

In the ISDN MIB, the isdnBearerStatsMultirate object of
isdnBearerStatsTable can be used to check if hyperchannels are being
used for an active call.

If hyperchannels are being used, there will be another interface layer
required to map multiple B channels to a single hyperchannel.  This is
accomplished by the DS0Bundle MIB [13].

3.3.3.  D channel backup and NFAS trunks

D channel backup is defined in Q.931 [8], Annex F.  It describes Non-
Associated signaling and its use and functionality is basically
identical to NFAS trunks.

Non Facility Accociated Signaling (NFAS) basically means that a D
channel on a PRI interface is used to manage calls on other PRI trunks.
This is required in North America for H11 channels, since all 24 time
slots are being used for bearer channels.

According to Q.931, Annex F, the D channel backup feature can be
provided on a subscription basis and is network dependent.  The D
channel backup procedure is described in detail in Q.931.

For D channel backup, the controlling isdnSignalingTable entry will be
layered on top of all attached LAPD interfaces.  This layering will be
done using the ifStack table.  There will be only one active LAPD
interface, however.  Inactive LAPD interfaces will have an ifOperStatus
of dormant(5).

NFAS trunks will also be handled using the ifStack table. In this case,
a signaling channel will be layered on top of a LAPD interface as well
as on top of all physical interfaces which are controlled by the
signaling channel, but do not supply a D channel.

3.3.4.  X.25 based packet-mode service in D channel

X.25 based packet mode service over B channels can be handled using the
Dial Control MIB by creating an appropriate neighbor entry.  The
neighbor entry ifType can then be x25(5), thus providing access to X.25
service.

X.25 based packet mode service over D channels can be handled by
creating an ifEndpointTable entry with an isdnEndpointIfType of
x25ple(40).  The upper protocol layers can then be attached to this
interface using the ifStack table.

3.3.5.  SPID handling

Service Profile IDentifiers (SPIDs) are defined for BRI interfaces only,
and being used in North America.  SPIDs are required for DMS-100, NI-1
and NI-2, and are optional for 5ESS.  A switch can define up to 8 SPIDs
per BRI.

Each Terminal Endpoint has a SPID assigned.  It is normally built from
the party number (calling address for outgoing calls) with a number of
digits prepended and appended.  Since each network appears to be
different, both the calling address and the SPID have to be stored.

The SPID identifies the particular services that have been provisioned
for a terminal. If there are two B channels on a BRI, there can be two
SPIDs, one for each of the two B channels.  There can also be a single
SPID, providing access to both B channels.

The SPID gets registered with the switch after link establishment.
There is one data link for each SPID. As part of terminal registration,
an EID (Endpoint IDentifier) is defined by the switch.  On incoming

calls, the switch may provide the EID, a called party number, or both,
depending on the ISDN code implemented in the switch.

The EID has two bytes: USID (User Service IDentifier) and TID (Terminal
IDentifier). These are later used by some of the software versions
running on the switch side (e.g. compliant with NI-1, 5ESS custom) to
broadcast SETUP messages with these included, so the correct endpoint
would accept the call. Other switch software versions identify the
endpoint with the Called Party Number.

In the ISDN MIB, the SPID can be entered using the isdnEndpointSpid
object of isdnEndpointTable.  The isdnSigTblCallingAddress, already
being used to specify the calling number, cannot be used for this
purpose, since both may differ and be required in parallel.

3.3.6.  Closed User Groups

Closed User Groups (CUG), as defined in Q.931 [8], chapter 4.6.1, I.255.1 [14], are supported for
circuit mode calls by ETSI (ETS 300 138) and 1TR6.  In these networks,
an ISDN address can have one or more Closed User Groups assigned.  If
there is more than one Closed User Groups Group assigned to a given address,
one of those will be the preferred Closed User Group.  For such
addresses, only calls from assigned Closed User Groups will be accepted
by the network.

Thus, Closed User Groups are a parameter for neighbor entries and will
be defined in the Dial Control MIB. A neighbor entry attached to a
Closed User Group will have to point to an ISDN interface which is
attached to the Closed User Group in question.

3.3.7.  Provision of point-to-point line topology

In the ISDN standards, there are two different meanings for the term
"point-to-point".

In ISDN standards, the term point-to-point will usually be used for data
link connections, i.e. layer 2 connections, where each layer 2
connection from the TE to the network is a single point-to-point
connection.  Multiple connections of this kind may exist on one physical
(layer 1) connection, however, and in case of Basic Rate interfaces
there may be several TE's connected to one physical line to the network.

The second meaning of "point-to-point" refers to the line topology, i.e.
to layer 1 connections.  For Primary Rate interfaces, the layer 1
connection line topology
will always be of the point-to-point type. point-to-point.  For Basic Rate interfaces, layer 1
point-to-point connections do exist in several countries, usually being
used for connecting PBX systems to the network.

The second meaning (layer 1 connections) is what will be referred to as
"point-to-point" connection throughout this document.

The isdnSignalingTable

For Basic Rate interfaces, the isdnBasicRateTable object isdnSigTblLineTopology
isdnBasicTblLineTopology can be used to select the line topology. In case of Primary Rate interfaces, this
object must always have a value of pointToPoint(1).

3.3.8.  Speech and audio bearer capability information elements

The objects speech(2), audio31(6) and audio7(7), as being used in
isdnBearerStatsInfoType, refer to the Speech, 3.1 kHz Audio and old 7
kHz Audio (now Multi-use) bearer capabilities for ISDN, as defined in
Q.931 [8], chapter 4.5.5, octet 3 of bearer capability information
element.

These capabilities are signaling artifices that allow networks to do
certain things with the call.  It is up to the network to decide what to
do.

The Speech Bearer Capability means that speech is being carried over the
channel, as in two people talking.  This would be POTS-type speech.  The
network may compress this, encrypt it or whatever it wants with it as
long as it delivers POTS quality speech to the other end.  In other
words, a modem is not guaranteed to work over this connection.

The 3.1 kHz Audio capability indicates that the network carries the 3.1
kHz bandwidth across the network.  This would (theoretically) allow
modem signals to be carried across the network.  In the US, the network
automatically enters a capability of 3.1 kHz Audio on calls coming into
the ISDN from a POTS network.  This capability restricts the network
from interfering with the data channel in a way that would corrupt the
3.1 kHz VoiceBand data.

7 kHz Audio was meant to signal the use of a higher quality audio
connection (e.g., music from radio).  It was changed to Multi-Use
capability to allow it to be used for video-conferencing with fall back
to audio.

In some cases, the Speech or 3.1 kHz Bearer Capability provides a 56
kbit/s data path through the network.  Therefore, some people are
setting up calls with the Speech or 3.1 kHz BC and transmitting 56
kbit/s data over the connection.  This is usually to take advantage of
favorable tariffs for Speech as opposed to Data.

On the incoming side, the equipment is usually configured to ignore the
Bearer Capability and either answer all Speech calls as 56 kbit/s data
or to use one Directory Number for real speech and another for data.

4.  Definitions

ISDN-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Counter32,
        Integer32
                FROM SNMPv2-SMI
        DisplayString,
        TruthValue,
        TimeStamp,
        RowStatus,
        TEXTUAL-CONVENTION
                 FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        ifIndex,
        InterfaceIndex
                FROM IF-MIB
        IANAifType
                FROM IANAifType-MIB
        transmission
                FROM RFC1213-MIB;

isdnMib MODULE-IDENTITY
        LAST-UPDATED    "MIB_DATE"    "9602122040Z"
        ORGANIZATION    "IETF ISDN MIB Working Group"
        CONTACT-INFO
            "        Guenter Roeck
             Postal: Conware GmbH
                     Killisfeldstrasse 64
                     76227 Karlsruhe
                     Germany
             Tel:    +49 721 9495 0
             E-mail: roeck@conware.de"
        DESCRIPTION
            "The MIB module to describe the
             management of ISDN interfaces."
        ::= { transmission 20 }

-- The ISDN hardware interface (BRI or PRI) will be represented

-- by a media specific ifEntry.
--
-- For basic rate lines, the media specifics for the physical interface
-- will be defined in the physical interface group of the ISDN MIB.
-- The ifType for physical basic rate interfaces will be ISDNs(75)
-- or ISDNu(76), whichever is appropriate.
--
-- For primary rate, the media specifics will be defined in the Trunk
-- MIB. The ifType will have a value of ds1(18).

-- Each signaling channel, channel will be represented by an entry
-- in the isdnSignalingTable.
-- The signaling channel will have an ifType value of
-- isdn(63),
-- refer to RFC 1213.
-- Each B channel will also be represented as an entry
-- in the ifTable. The B channels will have an ifType value
-- of ds0(). ds0(81).
-- This model will be used while defining objects and tables
-- for management.
-- The ISDN MIB will allow sub-layers. For example, the data transfer
-- over a B channel may take place with PPP encapsulation. While the
-- ISDN MIB will describe the D and B channels, a media specific MIB
-- for PPP can be used on a layered basis. This will be as per
-- RFC 1573.

-- Textual conventions

IsdnSignalingProtocol ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
            "This data type is used as the syntax of the
             isdnSigTblSignalingProtocol object in the
             definition of ISDN-MIB's isdnSignalingTable.

             The definition of this textual convention with the
             addition of newly assigned values is published
             periodically by the IANA, in either the Assigned
             Numbers RFC, or some derivative of it specific to
             Internet Network Management number assignments.  (The
             latest arrangements can be obtained by contacting the
             IANA.)

             Requests for new values should be made to IANA via
             email (iana@isi.edu)."
        SYNTAX INTEGER {
             other(1),          -- none of the following
             dss1(2),           -- ITU DSS1 (formerly CCITT) Q.931
             etsi(3),           -- Europe / ETSI ETS300-102
                                -- plus supplementary services
                                -- (ETSI 300-xxx)
                                -- note that NET3, NET5 define
                                -- test procedures for ETS300-102
                                -- and have been replaced by
                                -- I-CTR 3 and I-CTR 4.
             dass2(4),          -- U.K.   / DASS2 (PRI)
             ess4(5),           -- U.S.A. / AT&T 4ESS
             ess5(6),           -- U.S.A. / AT&T 5ESS
             dms100(7),         -- U.S.A. / Northern Telecom DMS100
             dms250(8),         -- U.S.A. / Northern Telecom DMS250
             ni1(9),            -- U.S.A. / National ISDN 1 (BRI)
             ni2(10),           -- U.S.A. / National ISDN 2 (BRI, PRI)
             ni3(11),           -- U.S.A. / next one
             vn2(12),           -- France / VN2
             vn3(13),           -- France / VN3
             vn4(14),           -- France / VN4 (ETSI with changes)
             vn6(15),           -- France / VN6 (ETSI with changes)
                                -- delta document CSE P 10-21 A
                                -- test document  CSE P 10-20 A
             kdd(16),           -- Japan  / KDD
             ins64(17),         -- Japan  / NTT INS64
             ins1500(18),       -- Japan  / NTT INS1500
             itr6(19),          -- Germany/ 1TR6 (BRI, PRI)
             cornet(20),        -- Germany/ Siemens HiCom CORNET
             ts013(21),         -- Australia / TS013
                                -- (formerly TPH 1962, BRI)
             ts014(22),         -- Australia / TS014
                                -- (formerly TPH 1856, PRI)
             qsig(23),          -- Q.SIG
             swissnet2(24),     -- SwissNet-2
             swissnet3(25)      -- SwissNet-3
        }

-- Isdn Mib objects definitions

isdnMibObjects OBJECT IDENTIFIER ::= { isdnMib 1 }

-- ISDN physical interface group

-- This group describes physical basic rate interfaces.

isdnBasicRateGroup      OBJECT IDENTIFIER ::= { isdnMibObjects 1 }

isdnBasicRateTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IsdnBasicRateTableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table containing configuration and operational
             parameters for all physical Basic Rate
             interfaces on this managed device."
        ::= { isdnBasicRateGroup 1 }

isdnBasicRateTableEntry OBJECT-TYPE
        SYNTAX IsdnBasicRateTableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry in the ISDN Basic Rate Table."
        INDEX { ifIndex }
        ::= { isdnBasicRateTable 1 }

IsdnBasicRateTableEntry ::= SEQUENCE {
            isdnBasicTblIfType INTEGER,
            isdnBasicTblLineTopology INTEGER,
            isdnBasicTblIfMode INTEGER,
            isdnBasicTblSignalMode INTEGER
        }

isdnBasicTblIfType OBJECT-TYPE
        SYNTAX INTEGER {
            isdnS(1),
            isdnU(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The physical interface type. For 'S/T' interfaces,
             also called 'Four-wire Basic Access Interface',
             the value of this object will be isdnS(1).
             For 'U' interfaces, also called 'Two-wire Basic
             Access Interface', the value of this object will be
             isdnU(2)."
        ::= { isdnBasicRateTableEntry 1 }

isdnBasicTblLineTopology OBJECT-TYPE
        SYNTAX INTEGER {
            pointToPoint(1),
            pointToMultipoint(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The line topology to be used for this interface.
             Note that setting isdnBasicTblIfType to isdnS(1)
             does not necessarily mean a line topology of
             point-to-multipoint."
        ::= { isdnBasicRateTableEntry 2 }

isdnBasicTblIfMode OBJECT-TYPE
        SYNTAX INTEGER {
            te(1),
            nt(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The physical interface mode. For TE mode, the value
             of this object will be te(1). For NT mode, the value
             of this object will be nt(2)."
        ::= { isdnBasicRateTableEntry 2 3 }

isdnBasicTblSignalMode OBJECT-TYPE
        SYNTAX INTEGER {
            active(1),
            inactive(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The signaling channel operational mode for this interface.
             If set to active(1), there is a signaling channel on this
             interface. If set to inactive(2), a signaling channel is
             not available."
        ::= { isdnBasicRateTableEntry 4 }

-- The B channel (bearer channel) group

-- Note that disconnects can explicitely be handled using the
-- ifStack table. If a connection is to be disconnected,
-- the according ifStack entry has to be removed.

-- More specific, the ifStackTable entry which binds the high-layer
-- ifTable entry (and related dialCtlNbrCfgTable entry) to the
-- B channel ifTable entry (and related isdnBearerTable entry)
-- during an active call has to be removed.

isdnBearerGroup OBJECT IDENTIFIER ::= { isdnMibObjects 2 }

isdnBearerTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF IsdnBearerEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table defines port specific operational, statistics
             and active call data for ISDN B channels. Each entry
             in this table describes one B (bearer) channel."
        ::= { isdnBearerGroup 1 }

isdnBearerEntry OBJECT-TYPE
        SYNTAX      IsdnBearerEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Operational and statistics information relating to
             one port. A port is a single B channel."
        INDEX { ifIndex }
        ::= { isdnBearerTable 1 }

IsdnBearerEntry ::=
        SEQUENCE {
            isdnBearerChannelType INTEGER,
            isdnBearerOperStatus INTEGER,
            isdnBearerChannelNumber INTEGER,
            isdnBearerPeerAddress DisplayString,
            isdnBearerPeerSubAddress DisplayString,
            isdnBearerCallOrigin INTEGER,
            isdnBearerInfoType INTEGER,
            isdnBearerMultirate TruthValue,
            isdnBearerCallSetupTime TimeStamp,
            isdnBearerCallConnectTime TimeStamp,
            isdnBearerChargedUnits Integer32
        }

isdnBearerChannelType      OBJECT-TYPE
        SYNTAX INTEGER {
            dialup (1),
            leased (2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The B channel type. If the B channel is connected
             to a dialup line, this object will be have a value of
             dialup(1). In this case, it will be controlled by
             an associated signaling channel. If the B channel
             is connected to a leased line, this object will have
             a value of leased(2). For leased line B channels, there
             is no signaling channel control available."
        ::= { isdnBearerEntry 1 }

isdnBearerOperStatus      OBJECT-TYPE
        SYNTAX INTEGER {
            idle (1),
            connecting (2),
            connected (3),
            active (4)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The current call control state for this port.
             idle(1):       The B channel is idle.
                            No call or call attempt is going on.
             connecting(2): A connection attempt (outgoing call)
                            is being made on this interface.
             connected(3):  An incoming call is in the process
                            of validation.
             active(4):     A call is active on this interface."
        ::= { isdnBearerEntry 2 }

isdnBearerChannelNumber      OBJECT-TYPE
        SYNTAX INTEGER (1..30)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The identifier being used by a signaling protocol
             to identify this B channel, also referred to as
             B channel number."
        ::= { isdnBearerEntry 3 }

isdnBearerPeerAddress    OBJECT-TYPE
        SYNTAX   DisplayString
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "The ISDN address the current or last call is or was
             connected to. If the peer ISDN address is not
             available, this object it will have a length of zero."
        ::= { isdnBearerEntry 4 }

isdnBearerPeerSubAddress    OBJECT-TYPE
        SYNTAX   DisplayString
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "The ISDN subaddress the current or last call is or was
             connected to. If the peer subaddress is not available,
             this object it will have a length of zero."
        ::= { isdnBearerEntry 5 }

isdnBearerCallOrigin OBJECT-TYPE
          SYNTAX   INTEGER {
            unknown(1),
            originate(2),
            answer(3),
            callback(4)
        }
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "The call origin for the current or last call. If since
             system startup there was no call on this interface,
             this object will have a value of unknown(1)."
        ::= { isdnBearerEntry 6 }

isdnBearerInfoType OBJECT-TYPE
        SYNTAX      INTEGER {
            unknown(1),
            speech(2),
            unrestrictedDigital(3),       -- as defined in Q.931
            unrestrictedDigital56(4),     -- with 56k rate adaption
            restrictedDigital(5),
            audio31(6),                   -- 3.1 kHz audio
            audio7(7),                    -- 7 kHz audio
            video(8),
            packetSwitched(9)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The Information Transfer Capability for the current
             or last call, as defined in Q.931 [8], chapter 4.5.5,
             octet 3 of bearer capability information element,
             combined with the User Rate (as defined in octet 5
             and 5a to 5d), if rate adaption is being used.

             speech(2) refers to a non-data connection, whereas
             audio31(6) and audio7(7) refer to data mode connections.

             Note that Q.931, chapter 4.5.5, originally defined
             audio7(7) as '7 kHz audio' and now defines it as
             'Unrestricted digital information with tones/
             announcements'.

             If since system startup there was no call on this
             interface, this object will have a value of unknown(1)."
        ::= { isdnBearerEntry 7 }

isdnBearerMultirate OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This flag describes if the current or last call used
             multirate as defined in Q.931 [8], chapter 4.5.5.
             The actual information transfer rate,
             in detail specified in octet 4.1 (rate multiplier),
             will be defined in ifSpeed for this interface.

             If since system startup there was no call on this
             interface, this object will have a value of false(2)."
        ::= { isdnBearerEntry 8 }

isdnBearerCallSetupTime OBJECT-TYPE
        SYNTAX   TimeStamp
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "The value of sysUpTime when the ISDN setup message for
             the current or last call was sent or received. If since
             system startup there was no call on this interface, this
             object will have a value of zero."
        ::= { isdnBearerEntry 9 }

isdnBearerCallConnectTime OBJECT-TYPE
        SYNTAX   TimeStamp
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "The value of sysUpTime when the ISDN connect message for
             the current or last call was sent or received. If since
             system startup there was no call on this interface, this
             object will have a value of zero."
        ::= { isdnBearerEntry 10 }

isdnBearerChargedUnits OBJECT-TYPE
        SYNTAX   Integer32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "The number of charged units for the current or last
             connection. For incoming calls or if charging information
             is not supplied by the switch, the value of this object
             will be zero."
        ::= { isdnBearerEntry 11 }

-- ISDN signaling group

isdnSignalingGroup     OBJECT IDENTIFIER ::= { isdnMibObjects 3 }

-- signaling channel configuration table
-- There is one entry in this table for each terminal endpoint
-- (link layer connection to the switch).
-- Usually, there will be one endpoint per D channel. In some
-- cases, however, there can be multiple endpoints.
-- Thus, entries in this table can be created and deleted.
-- This will also mean the creation of an associated interface.
--
-- D channel backup and NFAS trunks will be handled using the
-- ifStack table.
-- In case of D channel backup, there will be multiple
-- Data Link Layer (LAPD) interfaces. Only one interface will be
-- active; all others will be dormant(5).
-- In case of NFAS trunks, one lower interface will be the
-- LAPD interface, while the other lower interfaces will be physical
-- interfaces.

-- If directory number and calling address differ from each other
-- or multiple directory numbers are being used,
-- the isdnDirectoryTable has to be used to enter such
-- directory numbers.

isdnSignalingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IsdnSignalingTableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "ISDN signaling table containing configuration and
             operational parameters for all ISDN signaling
             interfaces on this managed device."
        ::= { isdnSignalingGroup 1 }

isdnSignalingTableEntry OBJECT-TYPE
        SYNTAX IsdnSignalingTableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry in the ISDN Signaling Table."
        INDEX { ifIndex }
        ::= { isdnSignalingTable 1 }

IsdnSignalingTableEntry ::= SEQUENCE {
            isdnSigTblSignalingProtocol IsdnSignalingProtocol,
            isdnSigTblLineTopology INTEGER,
            isdnSigTblCallingAddress DisplayString,
            isdnSigTblSubAddress DisplayString,
            isdnSigTblBchannelCount Integer32,
            isdnSigTblStatus RowStatus
        }

isdnSigTblSignalingProtocol OBJECT-TYPE
        SYNTAX IsdnSignalingProtocol
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The particular protocol type supported by the
             switch providing access to the ISDN network
             to which this signaling interface is connected."
        ::= { isdnSignalingTableEntry 1 }

isdnSigTblLineTopology OBJECT-TYPE
        SYNTAX INTEGER {
            pointToPoint(1),
            pointToMultipoint(2)
        }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The line topology to be used for this interface.
             On Primary Rate interfaces, this object must have
             a value of pointToPoint(1) and should be read-only."
        ::= { isdnSignalingTableEntry 2 }

isdnSigTblCallingAddress OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The ISDN Address to be assigned to this signaling
             interface. More specific, this is the 'Calling Address
             information element' as being passed to the switch
             in outgoing call setup messages.

             It can be an EAZ (1TR6), a calling number (DSS1, ETSI)
             or any other number necessary to identify a signaling
             interface. If there is no such number defined or required,
             this is a zero length string. It is represented in
             DisplayString form.

             Incoming calls can also be identified by this number.
             If the Directory Number, i.e. the Called Number in
             incoming calls, is different to this number, the
             isdnDirectoryTable has to be used to specify all
             possible Directory Numbers."
        ::= { isdnSignalingTableEntry 3 2 }

isdnSigTblSubAddress OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Supplementary information to the ISDN address assigned
             to this interface. Usually, this will be the subaddress
             as defined in Q.931.
             If there is no such number defined or required, this is
             a zero length string.
             The subaddress will be used for incoming calls as well as
             for outgoing calls.
             It is represented in DisplayString form."
        ::= { isdnSignalingTableEntry 4 3 }

isdnSigTblBchannelCount OBJECT-TYPE
        SYNTAX Integer32 (1..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The total number of B channels (bearer channels)
             managed by this signaling interface."
        ::= { isdnSignalingTableEntry 5 4 }

isdnSigTblStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This object is used to create and delete rows in the
             isdnSignalingTable."
        ::= { isdnSignalingTableEntry 6 5 }

-- Signaling channel statistics table
-- There is one entry for each signaling connection
-- in this table.
-- Note that the ifEntry also has some statistics information.

isdnSignalingStatsTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IsdnSignalingStatsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "ISDN signaling table containing statistics
             information for all ISDN signaling interfaces
             on this managed device.
             Only statistical information which is not being counted
             in the ifTable is being defined in this table."
        ::= { isdnSignalingGroup 2 }

isdnSignalingStatsEntry OBJECT-TYPE
        SYNTAX IsdnSignalingStatsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry in the ISDN Signaling statistics Table."
        INDEX { ifIndex }
        ::= { isdnSignalingStatsTable 1 }

IsdnSignalingStatsEntry ::= SEQUENCE {
            isdnSigStatsInCalls Counter32,
            isdnSigStatsInConnected Counter32,
            isdnSigStatsOutCalls Counter32,
            isdnSigStatsOutConnected Counter32,
            isdnSigStatsChargedUnits Counter32
        }

isdnSigStatsInCalls OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of incoming calls on this interface."
        ::= { isdnSignalingStatsEntry 1 }

isdnSigStatsInConnected OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of incoming calls on this interface
             which were actually connected."
        ::= { isdnSignalingStatsEntry 2 }

isdnSigStatsOutCalls OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of outgoing calls on this interface."
        ::= { isdnSignalingStatsEntry 3 }

isdnSigStatsOutConnected OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of outgoing calls on this interface
             which were actually connected."
        ::= { isdnSignalingStatsEntry 4 }

isdnSigStatsChargedUnits OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of charging units on this interface since
             system startup.
             Only the charging units applying to the local interface,
             i.e. for originated calls or for calls with 'Reverse
             charging' being active, will be counted here."
        ::= { isdnSignalingStatsEntry 5 }

--
-- The LAPD table

isdnLapdTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IsdnLapdEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table containing configuration and statistics
             information for all LAPD (D channel Data Link)
             interfaces on this managed device.
             Only statistical information which is not being counted
             in the ifTable is being defined in this table."
        ::= { isdnSignalingGroup 3 }

isdnLapdEntry OBJECT-TYPE
        SYNTAX IsdnLapdEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry in the LAPD Table."
        INDEX { ifIndex }
        ::= { isdnLapdTable 1 }

IsdnLapdEntry ::= SEQUENCE {
            isdnLapdPrimaryChannel TruthValue,
            isdnLapdOperStatus INTEGER,
            isdnLapdPeerSabme Counter32,
            isdnLapdRecvdFrmr Counter32
        }

isdnLapdPrimaryChannel OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "If set to true(1), this D channel is the designated
             primary D channel if D channel backup (see Q.931 [8],
             Annex F, D channel backup procedures) is active.
             There must be exactly one primary D channel
             configured. If D channel backup is not used, this
             object will have a value of true(1)."
        ::= { isdnLapdEntry 1 }

isdnLapdOperStatus OBJECT-TYPE
        SYNTAX INTEGER {
            inactive (1),
            l1Active (2),
            l2Active (3)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The operational status of this interface:

             inactive  all layers are inactive
             l1Active  layer 1 is activated,
                       layer 2 datalink not established
             l2Active  layer 1 is activated,
                       layer 2 datalink established."
        ::= { isdnLapdEntry 2 }

isdnLapdPeerSabme OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of peer SABME frames received on this
             interface. This is the number of peer-initiated
             new connections on this interface."
        ::= { isdnLapdEntry 3 }

isdnLapdRecvdFrmr OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of LAPD FRMR response frames received.
             This is the number of framing errors on this
             interface."
        ::= { isdnLapdEntry 4 }

--
-- Optional groups follow here.

-- The Terminal Endpoint group and table

-- This table is required only if TEI values or SPID numbers
-- have to be entered.
-- The ifIndex values for this table are identical to those of
-- the isdnSignalingChannel table.

isdnEndpointGroup OBJECT IDENTIFIER ::= { isdnMibObjects 4 }

isdnEndpointTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IsdnEndpointTableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table containing configuration for Terminal
             Endpoints."
        ::= { isdnEndpointGroup 1 }

isdnEndpointTableEntry OBJECT-TYPE
        SYNTAX IsdnEndpointTableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry in the Terminal Endpoint Table."
        INDEX { ifIndex }
        ::= { isdnEndpointTable 1 }

IsdnEndpointTableEntry ::= SEQUENCE {
            isdnEndpointIfType IANAifType,
            isdnEndpointTeiType INTEGER,
            isdnEndpointTeiValue INTEGER,
            isdnEndpointSpid DisplayString,
            isdnEndpointStatus RowStatus
        }

isdnEndpointIfType OBJECT-TYPE
        SYNTAX IANAifType
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The interface type for this Terminal Endpoint."
        ::= { isdnEndpointTableEntry 1 }

isdnEndpointTeiType OBJECT-TYPE
        SYNTAX INTEGER {
            dynamic(1),
            static(2)
        }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The type of TEI (Terminal Endpoint Identifier) to be
             used for this Terminal Endpoint. In case of dynamic(1),
             the TEI value will be selected by the switch. In
             case of static(2), a valid TEI value will have to be
             entered in the isdnTeTeiValue object."
        ::= { isdnEndpointTableEntry 2 }

isdnEndpointTeiValue OBJECT-TYPE
        SYNTAX INTEGER ( 0..255 )
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The TEI (Terminal Endpoint Identifier) value
             for this Terminal Endpoint. If isdnTeTeiType
             is set to static(2), valid numbers are 0..63,
             while otherwise the value will be set internally."
        ::= { isdnEndpointTableEntry 3 }

isdnEndpointSpid OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The SPID information required to configure this
             terminal endpoint.
             This information has to be defined in addition to
             the local number for some switch protocol types,
             e.g. Bellcore NI-1 and NI-2.

             If this object is not required, it will be a
             zero length string."
        ::= { isdnEndpointTableEntry 4 }

isdnEndpointStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This object is used to create and delete rows in the
             isdnEndpointTable."
        ::= { isdnEndpointTableEntry 5 }

--
-- The Directory Number group
--

isdnDirectoryGroup OBJECT IDENTIFIER ::= { isdnMibObjects 5 }

isdnDirectoryTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IsdnDirectoryTableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table containing Directory Numbers."
        ::= { isdnDirectoryGroup 1 }

isdnDirectoryTableEntry OBJECT-TYPE
        SYNTAX IsdnDirectoryTableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry in the Directory Number Table."
        INDEX { isdnDirectoryIndex }
        ::= { isdnDirectoryTable 1 }

IsdnDirectoryTableEntry ::= SEQUENCE {
            isdnDirectoryIndex INTEGER,
            isdnDirectoryNumber DisplayString,
            isdnDirectoryIfIndex InterfaceIndex,
            isdnDirectoryStatus RowStatus
        }

isdnDirectoryIndex OBJECT-TYPE
        SYNTAX INTEGER ( 1..'7fffffff'h )
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The index value which uniquely identifies an entry
             in the isdnDirectoryTable."
        ::= { isdnDirectoryTableEntry 1 }

isdnDirectoryNumber OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "A Directory Number. Directory Numbers will be used
             to identify incoming calls on the signaling
             channel given in isdnDirectoryIfIndex."
        ::= { isdnDirectoryTableEntry 2 }

isdnDirectoryIfIndex OBJECT-TYPE
        SYNTAX InterfaceIndex
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "A interface index pointing to an ISDN signaling
             channel. Incoming calls will be accepted on this
             signaling channel if the isdnDirectoryNumber is
             presented as Called Number in the SETUP message."
        ::= { isdnDirectoryTableEntry 3 }

isdnDirectoryStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This object is used to create and delete rows in the
             isdnDirectoryTable."
        ::= { isdnDirectoryTableEntry 4 }

--
-- conformance information
--

isdnMibConformance OBJECT IDENTIFIER ::= { isdnMib 2 }
isdnMibCompliances OBJECT IDENTIFIER ::= { isdnMibConformance 1 }
isdnMibGroups      OBJECT IDENTIFIER ::= { isdnMibConformance 2 }

-- compliance statements

isdnMibCompliance MODULE-COMPLIANCE
        STATUS    current
        DESCRIPTION
            "The compliance statement for entities which implement
             the ISDN MIB. Note that the isdnMibBasicRateGroup
             is mandatory only for entities supporting Basic Rate
             interfaces."
        MODULE    -- this module
            MANDATORY-GROUPS {
                isdnMibBasicRateGroup,
                isdnMibSignalingGroup,
                isdnMibBearerGroup
            }
        GROUP isdnMibEndpointGroup
        DESCRIPTION
            "Implementation of this group is optional for all systems
             that attach to ISDN interfaces."
        GROUP isdnMibDirectoryGroup
        DESCRIPTION
            "Implementation of this group is optional for all systems
             that attach to ISDN interfaces."

        OBJECT isdnBasicTblIfType
          MIN-ACCESS  read-only
          DESCRIPTION
              "It is conformant to implement this object as read-only."

        OBJECT isdnSigTblLineTopology isdnBasicTblLineTopology
          MIN-ACCESS  read-only
          DESCRIPTION
              "It is conformant to implement this object as read-only.
               For Primary Rate ISDN interfaces, read-only."

        OBJECT isdnBasicTblIfMode
          MIN-ACCESS  read-only
          DESCRIPTION
              "It is conformant to implement this object must be
               implemented as read-only."

        OBJECT isdnBasicTblSignalMode
          MIN-ACCESS  read-only and has
          DESCRIPTION
              "It is conformant to return the value of
               pointToPoint(1)." implement this object as read-only."

        ::= { isdnMibCompliances 1 }

-- units of conformance

isdnMibBasicRateGroup OBJECT-GROUP
        OBJECTS {
            isdnBasicTblIfType,
          isdnBasicTblIfMode
            isdnBasicTblLineTopology,
            isdnBasicTblIfMode,
            isdnBasicTblSignalMode
        }
        STATUS current
        DESCRIPTION
            "A collection of objects required for ISDN Basic Rate
             physical interface configuration and statistics."
        ::= { isdnMibGroups 1 }

isdnMibBearerGroup OBJECT-GROUP
        OBJECTS {
            isdnBearerChannelType,
            isdnBearerOperStatus,
            isdnBearerChannelNumber,
            isdnBearerPeerAddress,
            isdnBearerPeerSubAddress,
            isdnBearerCallOrigin,
            isdnBearerInfoType,
            isdnBearerMultirate,
            isdnBearerCallSetupTime,
            isdnBearerCallConnectTime,
            isdnBearerChargedUnits
        }
        STATUS    current
        DESCRIPTION
            "A collection of objects required for ISDN Bearer channel
             control and statistics."
        ::= { isdnMibGroups 2 }

isdnMibSignalingGroup OBJECT-GROUP
        OBJECTS {
            isdnSigTblSignalingProtocol,
            isdnSigTblLineTopology,
            isdnSigTblCallingAddress,
            isdnSigTblSubAddress,
            isdnSigTblBchannelCount,
            isdnSigTblStatus,
            isdnSigStatsInCalls,
            isdnSigStatsInConnected,
            isdnSigStatsOutCalls,
            isdnSigStatsOutConnected,
            isdnSigStatsChargedUnits,
            isdnLapdPrimaryChannel,
            isdnLapdOperStatus,
            isdnLapdPeerSabme,
            isdnLapdRecvdFrmr
        }
        STATUS    current
        DESCRIPTION
            "A collection of objects required for ISDN D channel
             configuration and statistics."
        ::= { isdnMibGroups 3 }

isdnMibEndpointGroup OBJECT-GROUP
        OBJECTS {
            isdnEndpointIfType,
            isdnEndpointTeiType,
            isdnEndpointTeiValue,
            isdnEndpointSpid,
            isdnEndpointStatus
        }
        STATUS    current
        DESCRIPTION
            "A collection of objects describing Terminal Endpoints."
        ::= { isdnMibGroups 4 }

isdnMibDirectoryGroup OBJECT-GROUP
        OBJECTS {
            isdnDirectoryIndex,
            isdnDirectoryNumber,
            isdnDirectoryIfIndex,
            isdnDirectoryStatus
        }
        STATUS current
        DESCRIPTION
            "A collection of objects describing directory numbers."
        ::= { isdnMibGroups 5 }

END

5.  Acknowledgments

This document was produced by the ISDN MIB Working Group.  Special
thanks is due to the following persons:

        Ed Alcoff
        Fred Baker
        Bibek A. Das
        Ken Grigg
        Stefan Hochuli
        Jeffrey T. Johnson
        Glenn Kime
        Oliver Korfmacher
        Kedar Madineni
        Bill Miskovetz
        Mike O'Dowd
        David M. Piscitello
        Lisa A. Phifer
        Randy Roberts
        Hascall H. Sharp
        John Shriver
        Robert Snyder
        Ron Stoughton
        James Watt

6.  References

[1]  SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and
     S. Waldbusser, "Structure of Management Information for Version 2
     of the Simple Network Management Protocol (SNMPv2)", RFC 1902,
     January 1996.

[2]  McCloghrie, K., and M. Rose, Editors, "Management Information Base
     for Network Management of TCP/IP-based internets: MIB-II", STD 17,
     RFC 1213, Hughes LAN Systems, Performance Systems International,
     March 1991.

[3]  SNMPv2 Working Group,  Case, J., McCloghrie, K., Rose, M. Fedor, M., Schoffstall, M., and
     S. Waldbusser, "Introduction to Community-based SNMPv2", J. Davin, "A Simple
     Network Management Protocol (SNMP)", STD 15, RFC 1901,
     January 1996. 1157, SNMP
     Research, Performance Systems International, MIT Lab for Computer
     Science, May 1990.

[4]  SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M. and
     S. Waldbusser, "Protocol Operations for Version 2 of the Simple
     Network Management Protocol (SNMPv2)", RFC 1905, January 1996.

[5]  ITU-T Recommendation "Digital subscriber Signaling System No. 1
     (DSS 1) - ISDN User-Network Interface Data Link Layer - General
     Aspects Rec. Q.920 Q.920.

[6]  ITU-T Recommendation "Digital subscriber Signaling System No. 1
     (DSS 1) - ISDN User-Network Interface - Data Link Layer
     Specification Rec. Q.921 Q.921.

[7]  ITU-T Recommendation "Digital subscriber Signaling System No. 1
     (DSS 1) - ISDN Data Link Layer Specification for Frame Mode Bearer
     Services (LAPF) Rec. Q.922 Q.922.

[8]  ITU-T Recommendation "Digital subscriber Signaling System No. 1
     (DSS 1) - ISDN user-network interface layer 3 specification for
     basic call control", Rec. Q.931(I.451), March 1993.

[9]  ITU-T Recommendation "Generic procedures for the control of ISDN
     supplementary services ISDN user-network interface layer 3
     specification", Rec. Q.932(I.452) Q.932(I.452).

[10] ITU-T Recommendation "Digital subscriber Signaling System No. 1
     (DSS 1) - Signaling specification for frame-mode basic call
     control", Rec. Q.933 Q.933.

[11] McCloghrie, K. and F. Kastenholz, "Evolution of the Interfaces
     Group of MIB-II", RFC 1573, Hughes LAN Systems, FTP Software,
     January 1994 1994.

[12] D. Fowler, "Definitions of Managed Objects for the DS1/E1/DS2/E2
     Interface Types", RFCxxxx, Newbridge Networks, February 1996.

[13] D. Fowler, "Definitions of Managed Objects for the DS0 and
     DS0Bundle Interface Types", RFCxxxx, Newbridge Networks, February
     1996.

[14] ITU-T Recommendation "Integrated Services Digital Network (ISDN)
     General Structure and Service Capabilities - Closed User Group",
     Rec. I.255.1.

7.  Security Considerations

Security issues are not discussed in this memo.

8.  Author's Address

     Guenter Roeck
     Conware GmbH
     Killisfeldstrasse 64
     76137 Karlsruhe, Germany

     Phone: +49 721 9495 0
     Email: roeck@conware.de

Table of Contents

1 Introduction ....................................................    2
2 The Community-based SNMPv2 Network Management Framework .........    3
2.1 .........................    2
2 Object Definitions ............................................    3 ..............................................    2
3 Overview ........................................................    4    3
3.1 Structure of MIB ..............................................    4    3
3.1.1 General Description .........................................    4    3
3.2 Relationship to RFC 1573 ......................................    5    4
3.2.1 Layering Model ..............................................    5    4
3.2.2 ifTestTable .................................................    8    7
3.2.3 ifRcvAddressTable ...........................................    8    7
3.2.4 ifEntry .....................................................    9    8
3.2.4.1 ifEntry for a Basic Rate hardware interface ...............    9    8
3.2.4.2 ifEntry for a B channel (bearer channel) ..................   10    9
3.2.4.3 ifEntry for LAPD (D channel Data Link Layer) ..............   11   10
3.2.4.4 ifEntry for a signaling channel ...........................   13   12
3.3 ISDN interface specific information ...........................   15   14
3.3.1 ISDN leased lines ...........................................   15   14
3.3.2 Hyperchannels ...............................................   16   15
3.3.3 D channel backup and NFAS trunks ............................   16   15
3.3.4 X.25 based packet-mode service in D channel .................   17   16
3.3.5 SPID handling ...............................................   17   16
3.3.6 Closed User Groups ..........................................   18   17
3.3.7 Provision of point-to-point line topology ...................   18   17
3.3.8 Speech and audio bearer capability information elements .....   19   18
4 Definitions .....................................................   20
5 Acknowledgments .................................................   42   43
6 References ......................................................   42   43
7 Security Considerations .........................................   43   45
8 Author's Address ................................................   43   45