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

                     Mon Jun 19 19:13:44
                draft-ietf-isdnmib-snmp-isdn-mib-01.txt

                     Fri Oct  6 11:53:57 MET DST 1995

                             Guenter Roeck
                              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

This memo draft 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 interfaces. ISDN interfaces are
supported on a variety of equipment (for data and voice) including
terminal adapters, bridges, hosts, and routers. The set of objects will
be consistent with the SNMP framework and existing SNMP standards.

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@combinet.com
and/or the author.

2.  The SNMPv2 Network Management Framework

The SNMPv2 Network Management Framework consists of four major
components.  They are:

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

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

o    RFC 1445 [3] which defines the administrative and other
     architectural aspects of the framework.

o    RFC 1448 [4] which defines the protocol used for network access to
     managed objects.

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

2.1.  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 the management of managing ISDN interfaces, there are three groups of the following information necessary.  They are: is necessary:

o    A group    Information for managing subscriber interfaces, often physical interfaces. In case of ISDN
     primary rate, this will usually be T1 or E1 lines, being managed in
     the Trunk MIB. For Basic Rate lines, physical interfaces will be
     managed by this MIB.

o    Information for managing signalling channels, usually referred to
     as D
     channels, and B channels.

o    A group    Information for managing neighbors

o    A group returning call history information. bearer channels, usually referred to as B
     channels.

Within this document, these groups have this information has been structured into three
different MIBs,
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 of this structuring 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 call
control and call history MIBs Dial Control MIB might also be used for other types
of interfaces.

3.1.1.  The ISDN MIB  General Description

This MIB controls subscriber interfaces signalling channels as well as B channel channels and physical
Basic Rate interfaces.  It consists of three groups.

o    The isdnMibGeneralGroup isdnMibBasicRateGroup is used to return general provide information valid
     for the entire ISDN subsystem. regarding
     physical Basic Rate interfaces.

o    The isdnMibSubscriberGroup isdnMibSignallingGroup is used to control ISDN subscriber
     interfaces. signalling
     channels.  It consists of two tables, the isdnSubscriberTable isdnSignallingTable for
     configuration information and the isdnSubscriberStatsTable isdnSignallingStatsTable for
     statistics information.

o    The isdnPortGroup isdnBearerGroup 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.

3.1.2.  The call control MIB

The call control MIB describes neighbors for demand access lines as well
as for other kinds of interfaces. It basically consists of one table
describing neighbor entries.

3.1.3.  The call history MIB

The call history MIB describes and stores call information. This
information can for example be used for accounting purposes.  It
consists of one table with an entry for each call that has been made.

3.2.  Relationship to RFC1573 RFC 1573

RFC 1573, 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 signalling channel (D channel)
and Virtual Circuits

On an occasional access channel, there are a number of neighboring
systems that are permitted to call or be called, bearer channels (B channels), all of which need to will be
treated as active from a routing viewpoint, but most of which have no
call in progress at any given time.

On an ISDN interface, this is complicated by the fact that calls to a
given neighbor float from channel to channel.  One cannot definitively
say "I call this neighbor
layered on that B channel." It is necessary,
therefore, to provide top of a mapping algorithm between the B or H channels,
and the various logical interfaces supporting the neighbors. physical interface.

This is
solved accomplished in this MIB by creating a logical interface
(ifEntry) for each neighbor of the D channels and a logical interface (ifEntry)
for each of the B channel. channels. These are then correlated to each other and
to the physical interface using the ifStackTable. ifStack table of RFC 1573.

The basic model, therefore, looks something like this:

+-------------------------------------------------------+
|               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  |   callCtlNbrEntry
     +-+ +-+   +-+ +-+   +-+ +-+   +-+ +-+   +-+ +-+
                 | |                 | |            <== some actually are interface to upper
    +--+ +--+  +--+ +--+      +--+ +--+     layers, to be handled
    |   D   |  |   B   |      |   B   |     by Dial Control MIB
    |channel|  |channel| .... |channel|     and ifStack table
    +--+ +--+  +--+ +--+      +--+ +--+
       | |        | |
+------+ +-------+ +-------+ +-------+ +-------+ +------+            |             Basic/Primary Rate Interface |
+-------------------------------------------------------+

Mapping of IP interfaces    <== attachment to Called Neighbors physical
    +--+ +--------+ +------------+ +----+   interfaces, to B Channels

IfEntries are maintained be provided
    |         physical interface        |   by ifStack table
    |          (S0/Uk0 or T1/E1)        |
    +-----------------------------------+

Mapping of B/D channels to physical interfaces

IfEntries are maintained for D channels and for each B channel. The D
channel's interface ifType is one of the ISDN interface types; the B
channel
ifTypes are all "other". ifType is isdn(63). The ifType for physical interfaces is the
matching IANA ifType, usually T1 or E1 for physical Primary Rate
interfaces and >>to be assigned<< for physical Basic Rate interfaces.

The ifStackTable is used to map logical
interfaces to B channel and D channels to physical interfaces.
Conceivably, X.25 or Frame Relay interface MIBs could also then be layered on
the D channel.

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.3.1.  ifEntry for a D channel

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

ifDescr           Textual port description.

ifType            The IANA value reserved for basicISDN(20)
                  and primaryISDN(21)

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

ifSpeed           The bandwidth of this D channel.

ifPhysAddress     The ISDN address assigned to this subscriber
                  interface. This is a copy of isdnSubTblIfAddress.

ifAdminStatus     The desired administrative status of the
                  ISDN port.

ifOperStatus      The current operational status

Mapping of the ISDN
                  UNI (User Network Interface) port. If the
                  operational status is dormant(5), the D channel
                  is in standby mode (see [5], Annex F, D channel
                  backup procedures).

ifLastChange      Refer B channels to RFC 1573.

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

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

ifInNUcastPkts    Deprecated.  Return upper interface layers will usually be done
using the number of frames
                  received Dial Control MIB. For example, mapping on this D channel which is
                  targeted TEI=127.

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

ifInErrors        The number 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 inbound frames that contained
                  errors preventing them from being deliverable IP interfaces to LAPD.

ifInUnknownProtos The number of frames with Called Neighbors to B Channels

In this interface's TEI,
                  but unknown SAPI.

ifOutOctets       The total number model, ifEntries are maintained for each neighbor.  Each
neighbor is required to have an associated ifEntry.  This interface can
be of octets transmitted on any kind, e.g. PPP or LAPB.

3.2.2.  ifTestTable

The ifTestTable is not supported by this
                  D channel.

ifOutUcastPkts MIB.

3.2.3.  ifRcvAddressTable

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

ifOutNUcastPkts   Deprecated.  Return the number 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 being 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 IANA value to be assigned.

ifSpeed           The overall bandwidth of frames
                  transmitted on this D channel which
                  has TEI=127.

ifOutDiscards interface.

ifPhysAddress     Return zero.

ifAdminStatus     The total number desired administrative status of outbound frames which
                  were discarded. Possible reasons are:
                  buffer shortage.

ifOutErrors the
                  ISDN interface.

ifOperStatus      The number current operational status of frames which could not be
                  transmitted due this
                  interface. If the operational status is dormant(5),
                  the interface is in standby mode, i.e. connnected
                  to errors.

ifOutQlen         Deprecated. 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.

ifSpecific        Deprecated. Return {0 0}.

3.2.3.2.

ifName            Refer to RFC 1573.

3.2.4.2.  ifEntry for a B D channel (signalling channel)

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

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

ifDescr           Textual port description.

ifType            The IANA value reserved for other(1)

ifMtu             The size of the largest frame which can be
                  sent/received basicISDN(20) or primaryISDN(21),
                  depending on this B Channel,
                  specified in octets. the media type.

ifSpeed           The bandwidth of this B D channel. Usually, this will
                  be the value of 64000. For ISDN leased lines
                  (or eventually hyperchannels),
                  this will be the total capacity
                  of this interface. 16000 for basic rate interfaces or
                  64000 for primary rate interfaces.

ifPhysAddress     The ISDN address assigned to this port. signalling
                  interface. This is a copy of isdnPortIfAddress. isdnSigTblCalledAddress.

ifAdminStatus     The desired administrative status of the
                  ISDN port. interface.

ifOperStatus      The current operational status of the ISDN
                  port. Note that dormant(5) is explicitely being
                  used as defined in RFC1573.
                  UNI (User Network Interface) interface. If the
                  operational status is dormant(5), the D channel
                  is in standby mode (see [5], 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 D Channel,
                  specified in octets.

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

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

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

ifInDiscards      The total number of received frames discards. 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 a higher-layer protocol. LAPD.

ifInUnknownProtos The number of inbound frames with this interface's TEI,
                  but unknown
                  upper layers. SAPI.

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

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

ifOutNUcastPkts   Deprecated.  Return zero. the number of frames
                  transmitted on this D 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 are being handled by setting isdnSubTblSwitchType to
the according type of leased line.  In this case, there is no active D
channel required, since a leased line does not require any signalling.
If possible with the according type of leased line (e.g., leasedS01 or
leasedS02

3.2.4.3.  ifEntry for Germany), the D a B channel may also be used (bearer channel)

The ifEntry for data
transfer. In this case, isdnSubTblDchannelIndex will point to itself,
which then identifies the possibility to use this a B channel for data
transfer.

3.3.2.  Hyperchannels

Hyperchannels can be defined using callCtlNbrInfoType and
callCtlNbrInfoRate objects in supports the call control MIB.  However, remember
that ifGeneralGroup and the switch type has to support this type
ifPacketGroup of connections.

3.3.3.  D channel backup and NFAS trunks

D RFC 1573.

ifTable           Comments
==============    ===========================================
ifIndex           Each ISDN B channel backup is defined in [5], Annex F.  It describes non-
associated signalling and its use and functionality is basically
identical to NFAS trunks.

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

According to [5], 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 [5].

D channel backup and NFAS trunks are being handled using the
isdnSubTblDchannelIndex object of the isdnSubscriberTable.

3.3.4.  X.25 data transfer in D channel

Transfer of X.25 data over D channels can be handled represented by attaching an
X.25 interface to a D channel using the ifStack table of RFC 1573.

3.3.5.  SPID handling

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

Usually, each B channel has one SPID assigned. It is normally built from
the party number (calling address for outgoing calls) with a number ifEntry.

ifDescr           Textual port description.

ifType            The IANA value of
digits prepended and appended. Since each network appears to be
different, both the calling address and the SPID have to be stored. isdn(63).

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

The SPID gets registered with the switch after link establishment.
There is one data link for each SPID. As part of termina registration,
an endpoint ID is defined by the switch.  On incoming calls, the switch
may provide the endpoint ID, a called party number, or both, depending
on the ISDN code implemented in the switch.

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

4.  Definitions

4.1.  ISDN MIB

ISDN-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Counter32,
        Integer32,
        TimeTicks,
        experimental
                FROM SNMPv2-SMI
        DisplayString
                 FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        InterfaceIndex
                FROM IF-MIB;

isdnMib MODULE-IDENTITY
        LAST-UPDATED    "9506161200Z"
        ORGANIZATION    "IETF ISDN 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."
        ::= { experimental 98 }

-- The ISDN hardware interface (BRI or PRI) will be represented
-- by an entry for the D channel in the ifTable.
-- This will have an ifType value of basicISDN(20)
-- or primaryISDN(21), 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 other(1).
-- 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.

-- Isdn Mib objects definitions

isdnMibObjects OBJECT IDENTIFIER ::= { isdnMib 1 }

-- General Information

-- Editor's note:
--      The Conware MIB defines this object as "Firmware Version".
--      Netmode has another object named "isdnCtrlManufacturer",
--      which is defined for each controller.

isdnFirmwareVersion OBJECT-TYPE
            SYNTAX      DisplayString
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                    "The ISDN firmware version."
            ::= { isdnMibObjects 1 }

-- Editor's note:
--      The D channel table/group exists in several of the company MIBs.
--      Names are:
--          Netmode:    isdnCtrlTable           ISDN Controller table
--          IBM:        isdnIfTable             ISDN Interface Table
--          ACC:        accIsdnxSubTable        ISDN Subscriber Table
--
-- Since the table is supposed to describe a subscriber connection,
-- which may or may not have a D channel attached to it,
-- "isdnSubscriberGroup" seems to be a better approach.

-- ISDN subscriber group

isdnSubscriberGroup     OBJECT IDENTIFIER ::= { isdnMibObjects 2 }

-- Assumptions being made:
--      - BRI/PRI definition will be handled in ifTable, thus not
--        be required here.

-- D channel configuration table
-- There is one entry for each D channel (also called subscriber
-- connection) in this table.

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

isdnSubscriberTableEntry OBJECT-TYPE
        SYNTAX IsdnSubscriberTableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry in the ISDN Subscriber Table."
        INDEX { isdnSubTblIndex }
        ::= { isdnSubscriberTable 1 }

IsdnSubscriberTableEntry ::= SEQUENCE {
        isdnSubTblIndex InterfaceIndex,
        isdnSubTblDchannelIndex InterfaceIndex,
        isdnSubTblSwitchType INTEGER,
        isdnSubTblIfAddress DisplayString,
        isdnSubTblBchannelCount Integer32,
--      isdnSubTblOperStatus Integer32,
--      isdnSubTblTei Integer32,
        isdnSubTblFlags Integer32
        }

isdnSubTblIndex OBJECT-TYPE
        SYNTAX InterfaceIndex
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The ifIndex of an subscriber interface
             on this managed device."
        ::= { isdnSubscriberTableEntry 1 }

isdnSubTblDchannelIndex OBJECT-TYPE
        SYNTAX InterfaceIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The ifIndex of the D channel currently associated
             with this subscriber interface. This has usually the
             same value as isdnSubTblIndex, but may differ in case
             D channel backup (see [5], Annex F) is active or NFAS
             trunks are being used.
             Editor's note:
                Does this object have to be defined as read-write ?"
        ::= { isdnSubscriberTableEntry 2 }

--
-- Editor's note:
--   Suggestion has been made to either get IANA to support
--   switch types (as for ifType), or to define it as an
--   OBJECT IDENTIFIER, which will make it an OID
--   [Thanks to Bob Steward for the idea].
--   I will take the first approach for now.

isdnSubTblSwitchType OBJECT-TYPE
        SYNTAX INTEGER {
            other(1),
            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 are to be replaced by ICTR.
            btnr(4),            -- U.K.   / BTNR (BRI ?)
            dass2(5),           -- U.K.   / DASS2 (PRI)
            ess4(6),            -- U.S.A. / AT&T 4ESS
            ess5(7),            -- U.S.A. / AT&T 5ESS
            dms100(8),          -- U.S.A. / Northern Telecom DMS100/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
            itr6(18),           -- Germany/ 1TR6 (BRI, PRI)
            cornet(19),         -- Germany/ Siemens HiCom CORNET
            tad2(20),           -- ???    / (BRI)
            tad30(21),          -- ???    / (PRI)
            ts013(22),          -- Australia / TS013 (formerly TPH 1962, BRI)
            ts014(23),          -- Australia / TS014 (formerly TPH 1856, PRI)
            --
            -- some specifications for ISDN leased lines, as
            -- existing in Germany and eventually in the U.S.,
            -- follow.
            --
            leased64s(24),      -- 1xB (Germany)
            leasedS01(25),      -- 1xB, 1xD (Germany)
            leasedS02(26),      -- 2xB, 1xD (Germany)
            leasedH0(27),       -- 6xB
            leasedT1(28),       -- 24xB
            leasedE1(29)        -- 30xB (Germany)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The particular protocol type supported by the
            switch providing access to bandwidth of this B channel.
                  Usually, this will be the value
                  of 56000 or 64000. For ISDN network
            to which leased lines
                  (or eventually hyperchannels),
                  this subscriber interface is connected."
        ::= { isdnSubscriberTableEntry 3 }

isdnSubTblIfAddress OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The ISDN Address to will be assigned to the total capacity
                  of this subscriber interface.  This can be an EAZ (1TR6), a calling number
             (DSS1, ETSI) or any other number necessary

ifPhysAddress     The ISDN address assigned to identify a subscriber interface.
             If there is no such number defined or
             required, this port.
                  This is a zero length string.
             It copy of isdnBearerCalledAddress.

ifAdminStatus     The desired administrative status of the
                  ISDN port.

ifOperStatus      The current operational status of the ISDN
                  port. Note that dormant(5) is represented explicitely being
                  used as defined in DisplayString form.
             Editor's note:
                      This parameter 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 specified
                  sent/received on a
                      per-B-channel or per-D-channel base.
                      If this B Channel,
                  specified here (e.g. in octets.

ifInOctets        The total number of octets received on PRI interfaces,
                      also 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 with EAZ or calling reasons are: buffer shortage.

ifInErrors        The number
                      for BRI), all incoming calls will have to
                      be addressed of inbound frames that contained
                  errors preventing them from being deliverable
                  to this number.
                      On the other side, calling numbers can be
                      defined a higher-layer protocol.

ifInUnknownProtos The number of inbound frames with unknown
                  upper layers.

ifOutOctets       The total number of octets transmitted on a per-B-channel base, thus
                      enabling structured access to this
                  B channels.
             "
        ::= { isdnSubscriberTableEntry 4 }

--
-- Editor's note:
-- channel.

ifOutUcastPkts    The following information seems to be useful to describe
--      leased lines, which may be using 1xB, 1xB+D, 2xB+D
--      or 30xB in Germany. Also, the number of frames transmitted on this
                  B channels may
--      differ for different PRI/BRI types (e.g. 24xB, 30xB).

isdnSubTblBchannelCount OBJECT-TYPE
        SYNTAX Integer32 (1..255)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The channel.

ifOutNUcastPkts   Deprecated.  Return zero.

ifOutDiscards     The total number of B channels (bearer channels) managed
            by this subscriber interface."
        ::= { isdnSubscriberTableEntry 5 }

-- Editor's note:
-- outbound frames which
                  were discarded. Possible reasons are:
                  buffer shortage.

ifOutErrors       The following object is defined (with different naming)
--   in the ACC approach only. Therefore it has to be
--   decided if it is worth keeping.
--   Note that this is also true for AdminStatus,
--   where "drain" is a newly defined interface state
--   in the ACC MIB.
--
-- isdnSubTblOperStatus OBJECT-TYPE
--         SYNTAX Integer32 {
--             inactive (1),
--             l1_active (2),
--             l2_active (3),
--             l3_active (4)
--         }
--         MAX-ACCESS read-only
--         STATUS current
--         DESCRIPTION
--             "The operational status number of this subscriber interface:
--
--             inactive all layers are inactive

--             l1_active   layer 1 is activated,
--                      layer 2 datalink frames which could not established
--             l2_active        layer 1 is activated,
--                      layer 2 datalink established,
--                      no layer 3 call activity
--             l3_active   layer 1 is activated,
--                      layer 2 datalink established,
--                      layer 3 engaged in call activity
--          "
--       ::= { isdnSubscriberTableEntry 5 }

--
-- TEI assignment is defined in the IBM and ACC MIBs.
-- Editor's note:
--      This object should be included in
                  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 on Basic Rate interfaces can be specified by setting
the MIB ONLY if it
-- value of isdnBasicTblConnectionType to one of the leased line types.
There will be no signalling table entry for leased lines, since there is _required_
no signalling channel available.  Thus, only B channel interfaces will
exist in some environments. Since I did this case.

For Primary Rate interfaces, a leased line does not yet get
-- have any approval of ISDN
specifics. Therefore, Primary Rate leased lines will entirely be handled
by the according MIB for this requirement, it remains undefined
--      and is subject to discussion.
--
-- isdnSubTblTei OBJECT-TYPE
--      SYNTAX Integer32 (0..127)
--      MAX-ACCESS read-write
--      STATUS current
--      DESCRIPTION
--          "The TEI (terminal endpoint identifier) when manual TEI
--           assignment is required.  Setting kind of interfaces, i.e. the Trunk MIB for
E1/T1 interfaces.  No ISDN ifEntries will exist in this value between 0 case.

3.3.2.  Hyperchannels

The switch protocol in use will define if hyperchannels are being
supported, and
--           63 (inclusive) specifies manual TEI assignment using the
--           indicated value.  Setting this value to 127 (the broadcast
--           TEI) specifies automatic TEI assignment. This 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 is
--           writable only of
isdnBearerStatsTable can be used to check if hyperchannels are being
used for BRI subscribers.  For PRI subscribers,
--           the value read an active call.

3.3.3.  D channel backup and NFAS trunks

D channel backup is always 0."
--      ::= { isdnSubscriberTableEntry 6 }

isdnSubTblFlags OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Special flags for this subscriber Interface.

             The value defined in [5], Annex F.  It describes non-
associated signalling and its use and functionality is a sum.  Starting from zero, for each
             type of generic flag, 2 raised basically
identical to NFAS trunks.

Non Facility Accociated Signalling (NFAS) basically means that a D
channel on a power PRI interface is added
             to the sum. The powers are according used to the following
             table:

             Power      Meaning
                0       1TR6 specific
                        If set, do not send the own EAZ manage calls on outgoing
                        calls. other PRI trunks.
This is required in 1TR6 North America for PABX systems
                        treating the EAZ as part of H11 channels, since all 24 time
slots are being used for bearer channels.

According to [5], Annex F, the called number D channel backup feature can be provided
on outgoing calls.
            "
        ::= { isdnSubscriberTableEntry 7 }

-- Subscriber a subscription basis and is network dependent.  The D channel statistics table
-- There backup
procedure is one entry for each subscriber connection
-- described in this table.
-- Note that detail in [5].

In case of D channel backup or NFAS trunks, the ifEntry also has some statistics information.
--
-- Editor's note:
--      There are currently a number isdnSigTblPhysInterface
object defines the physical interface the D channel resides on. Using

the ifStack table, the active D channel is layered on top of errors being counted here.
--      Are these counters really useful ?
--
--      In addition, there are some call related statistic
--      counters all
physical interfaces being defined.
--
--      The following MIB approaches define managed by this (or other)
--      counters related to D channels:
--
--      ACC     accIsdnxStatTable       link related statistics
--      netmode isdnCtrlStEntry         call related statistics
--              isdnPrtTable            B channel related counters
--                                      also call related counters
--      IBM     isdnCallCntlTable       call related statistics
--
--      What do the other MIBs define:
--          netmode     number channel.

In case of rejects (6 counters)
--                      last failure (6 values)
--                      transmit queue size
--                      # D channel backup, inactive D channels will have an
operational status of connections among others dormant(5).

3.3.4.  X.25 data transfer in port table
--          ACC         lots of Hdlc (8) and Lapd (9) counters
--                      number D channel

Transfer of calls ( 6 counters)
--          IBM         call related counters/information
--          Conware,
--          cisco       don't have X.25 data over D channels can be handled by attaching an
X.25 interface to a definition for this table

isdnSubscriberStatsTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IsdnSubscriberStatsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "ISDN subscriber D channel using the ifStack table containing statistics
            information of RFC 1573.

3.3.5.  SPID handling

Service Profile IDentifiers (SPID) are defined for all ISDN subscriber BRI interfaces
            on this managed device.
            Only statistical information which is not only,
and being counted used in the ifTable North America. SPIDs are required for DMS-100 and NI-
1, and are optional for 5ESS. A switch can define up to 8 SPIDs per BRI.

Usually, each B channel has one SPID assigned. It is being defined in this table."
        ::= { isdnSubscriberGroup 2 }

isdnSubscriberStatsEntry OBJECT-TYPE
        SYNTAX IsdnSubscriberStatsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry in normally built from
the ISDN Subscriber statisctics Table"
        INDEX { isdnSubStatsIndex }
        ::= { isdnSubscriberStatsTable 1 }

IsdnSubscriberStatsEntry ::= SEQUENCE {
        isdnSubStatsIndex InterfaceIndex,
        isdnSubStatsLapdUnsolicResp Counter32,
        isdnSubStatsLapdPeerSabme Counter32,
        isdnSubStatsLapdN200Errors Counter32,
        isdnSubStatsLapdNrSeqErrors Counter32,
        isdnSubStatsLapdRecvdFrmr Counter32,
        isdnSubStatsLapdCntlErrors Counter32,
        isdnSubStatsLapdInfoErrors Counter32,
        isdnSubStatsLapdWrongSize Counter32,
        isdnSubStatsLapdN201Errors Counter32,
        isdnSubStatsInCalls Counter32,
        isdnSubStatsInConnected Counter32,      -- count rejects too ?
        isdnSubStatsOutCalls Counter32,
        isdnSubStatsOutConnected Counter32      -- count rejects too ?
                                                -- total # of charged units
        }

isdnSubStatsIndex OBJECT-TYPE
        SYNTAX InterfaceIndex
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The ifIndex of an ISDN BRI, DBRI, PRI/T1 or PRI/E1
            interface on this managed device."
        ::= { isdnSubscriberStatsEntry 1 }

isdnSubStatsLapdUnsolicResp OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The party number (calling address for outgoing calls) with a number of unsolicited LAPD response frames received
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 all data links associated a BRI, there can be two
SPIDs, one for each of the two B channels.

The SPID gets registered with the D-channel of this
            ISDN interface."
        ::= { isdnSubscriberStatsEntry 2 }

isdnSubStatsLapdPeerSabme OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number switch after link establishment.
There is one data link for each SPID. As part of peer SABME frames received 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 all data links
            associated with the D-channel of this ISDN interface."
        ::= { isdnSubscriberStatsEntry 3 }

isdnSubStatsLapdN200Errors OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of unsuccessful T200 timer recoveries
            after a frame code implemented in the switch.

The EID has been retransmitted N200 times."
        ::= { isdnSubscriberStatsEntry 4 }

isdnSubStatsLapdNrSeqErrors OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of N(R) sequence errors."
        ::= { isdnSubscriberStatsEntry 5 }

isdnSubStatsLapdRecvdFrmr OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of LAPD FRMR response frames received."
        ::= { isdnSubscriberStatsEntry 6 }

isdnSubStatsLapdCntlErrors OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number two bytes: USID (User Service IDentifier) and TID (Terminal
IDentifier). These are later used by some of LAPD frames received the software versions
running on the switch side (e.g. compliant with an invalid
             or non-implemented control field."
        ::= { isdnSubscriberStatsEntry 7 }

isdnSubStatsLapdInfoErrors OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of LAPD frames received NI-1, 5ESS custom) to
broadcast SETUP messages with a non-permitted
            information (I) field."
        ::= { isdnSubscriberStatsEntry 8 }

isdnSubStatsLapdWrongSize OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of LAPD frames received which were these included, so the
             wrong size."
        ::= { isdnSubscriberStatsEntry 9 }

isdnSubStatsLapdN201Errors OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of LAPD frames received which contained
             and information field which exceeded N201."
        ::= { isdnSubscriberStatsEntry 10 }

isdnSubStatsInCalls OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number 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 isdnBearerIfSpid
object of incoming calls on isdnBearerTable. The isdnBearerCallingAddress, already being
used to specify the calling number, cannot be used for this interface."
        ::= { isdnSubscriberStatsEntry 11 }

isdnSubStatsInConnected OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of incoming purpose,
since both may differ and be required in parallel.

3.3.6.  Closed User Groups

Closed User Groups (CUG), as defined in [5], chapter 4.6.1, are being
supported for circuit mode calls on at least by ETSI and 1TR6.  In this
networks, an ISDN address can have one or more CUG numbers assigned.  To
such addresses, only calls from attached Closed User Groups will be
accepted by the network.

Thus, Closed User Groups are a parameter for neighbor entries and will
thus 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 were actually connected."
        ::= { isdnSubscriberStatsEntry 12 }

isdnSubStatsOutCalls OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number belongs
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 outgoing calls on this interface."
        ::= { isdnSubscriberStatsEntry 13 }

isdnSubStatsOutConnected OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number 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 will always be of outgoing calls on this interface
             which were actually connected."
        ::= { isdnSubscriberStatsEntry 14 }

-- The B channel (bearer channel) group

-- Editor's note:
--    MIB views:
--      ACC     accIsdnxCallTable        for active calls only
--      cisco   ---
--      netmode isdnPrtTable             for all B channels
--              insdCnTable
--      conware conetIsdnPortStatusTable for all B channels
--      IBM     isdnCallCntlTable the point-to-point type.  For Basic Rate
interfaces, layer 1 point-to-point connections do exist in several
countries, usually being used for all B channels

--    My current approach connecting PBX systems to the network.

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

The isdnSignallingTable object isdnSigTblLineTopology can be used to
select the line topology. In case of Primary Rate interfaces, this
object will always have a single table for
--    additional configuration value of pointToPoint(1).

3.3.8.  Speech and statistical information.

isdnMibPorts    OBJECT IDENTIFIER ::= { isdnMibObjects 3 }

isdnPortTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF IsdnPortEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "This table defines port specific control audio bearer capability information elements

The objects speech(1), audio_31() and
           statistics data audio_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 B channels."
      ::= { isdnMibPorts 1 }

isdnPortEntry OBJECT-TYPE
      SYNTAX      IsdnPortEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "Information relating ISDN, as defined in

[5], 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 current port.
           A port call.  It is a single B channel."
      INDEX { isdnPortSubIfIndex, isdnPortIfIndex }
      ::= { isdnPortTable 1 }

IsdnPortEntry ::=
      SEQUENCE {
        isdnPortSubIfIndex InterfaceIndex,
        isdnPortIfIndex InterfaceIndex,
        isdnPortIfAddress DisplayString,
        isdnPortAdditionalInfo DisplayString,
        isdnPortAdminStatus INTEGER,
        isdnPortOperStatus INTEGER,
        isdnPortRemoteAddress DisplayString,
        isdnPortInfoType INTEGER,
        isdnPortInfoRate INTEGER,
        isdnPortCause INTEGER,
        isdnPortCallOrigin INTEGER,
        isdnPortChargedUnits Counter32,
        isdnPortConnectionUpTime TimeTicks
      }

isdnPortSubIfIndex OBJECT-TYPE
      SYNTAX      InterfaceIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "ifIndex describing up to the subscriber channel associated 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 port.
           Note connection.

The 3.1 kHz Audio capability indicates that this does _not_ have the network carries the 3.1
kHz bandwidth across the network.  This would (theoretically) allow
modem signals to be carried across the associated
           D channel. If D channel backup is active, network.  In the active D 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 messing with the data channel will be described in a way that would corrupt the
           subscriber table entry."
      ::= { isdnPortEntry 1 }

isdnPortIfIndex OBJECT-TYPE
      SYNTAX      InterfaceIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "Port identifier being used 3.1
kHz VoiceBand data.

7 kHz Audio was meant to identify signal the use of a
           B channel. This value is identical higher quality audio
connection (e.g., music from radio).  It got changed to the
           ifIndex describing this B channel on this
           managed device."
      ::= { isdnPortEntry 2 }

isdnPortIfAddress OBJECT-TYPE
      SYNTAX      DisplayString
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "The ISDN address assigned Multi-Use
capability to allow it to this B channel. This can be used for videoconferencing with fall back
to audio or something like that.

In some cases, the EAZ (1TR6), Speech or 3.1 kHz Bearer Capability provides a 56
kbit/s data path through the calling number and subaddress (DSS1) network.  Therefore, some people are
setting up calls with the Speech or any other necessary specification for other types of
           switch protocols."
      ::= { isdnPortEntry 3 }

isdnPortAdditionalInfo OBJECT-TYPE
      SYNTAX      DisplayString
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "Additional addressing information required 3.1 kHz BC and transmitting 56
kbit/s data over the connection.  This is usually to configure
           a B channel. An example for this kind take advantage of information
           is a SPID, which has
favorable tariffs for Speech as opposed to be defined in addition Data.

On the incoming side, the equipment is usually configured to ignore the
           local number
Bearer Capability and either answer all Speech calls as 56 kbit/s data
or to use one Directory Number for some switch types."
      ::= { isdnPortEntry 4 }

isdnPortAdminStatus OBJECT-TYPE
      SYNTAX      INTEGER {
        normal(1),
        disconnect(2)
      }
      MAX-ACCESS  read-write
      STATUS      current 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,
        TEXTUAL-CONVENTION
                 FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        ifIndex,
        InterfaceIndex
                FROM IF-MIB
        transmission
                FROM RFC1213-MIB;

isdnMib MODULE-IDENTITY
        LAST-UPDATED    "9510061157Z"
        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 administratively desired state of this port.
           normal(1) will cause nothing when being set.
           disconnect(2) will disconnect an active call or abort
           any call in progress. The agent will then set MIB module to describe the
           value
             management of isdnPortAdminStatus back to normal(1)." ISDN interfaces."
        ::= { isdnPortEntry 5 transmission 20 }

-- Editor's note:
-- The next object is defined in the following MIBs
--
--          Conware     conetIsdnPortOperStatus
--                      (other, reset, notConnected, connecting,
--                      connected, active)
--          IBM         isdnBChanStatus
--                      (idle, connecting, connected, notConfig)
--          ACC         accIsdnxCallState
--                      (Q.931 values)
--          netmode     isdnCnState
--                      (connecting, connected, suspending,
--                      suspended, resuming, resumed, closed)
--          cisco       --
--
--      We can either take the ifStatus values, which would be
--              down    not configured or disabled
--              up      connected/active
--              dormant not connected/idle
--
-- ISDN hardware interface (BRI or define more explicit values. The Q.931 values might PRI) will be represented
--      useful for debugging, so I included those. Otherwise, this by a media specific ifEntry.
--      object might be discarded entirely.

isdnPortOperStatus      OBJECT-TYPE
      SYNTAX INTEGER {
          idle (1),
          initiated (2),
          overlapSend (3),
          outgoing (4),
          delivered (5),
          present (6),
          received (7),
          connecting (8),
          incoming (9),
          active (10),
          disconReq (11),
          disconInd (12),
          suspend (13),
          resume (14),
          release (15),
          overlapRecv (16)
      }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The Q.931 call control state for this port."
      ::= { isdnPortEntry 6 }

isdnPortRemoteAddress OBJECT-TYPE
      SYNTAX      DisplayString
-- (SIZE (0..40))
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The remote ISDN address For basic rate lines, the current
           or last call is or has been connected to."
      ::= { isdnPortEntry 7 }

isdnPortCause OBJECT-TYPE
      SYNTAX      INTEGER (0..255)
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The cause value associated with media specifics for the last call.
           For active calls, physical interface

-- will be defined in the value physical interface group of this object the ISDN MIB.
-- The ifType for physical basic rate interfaces will be zero."
      ::= { isdnPortEntry 8 }

isdnPortInfoType OBJECT-TYPE
      SYNTAX      INTEGER {
        speech(1),
        unrestrictedDigital(2), tbd(xxx).
-- as defined in [5]
        unrestrictedDigital_56(3),
-- with 56k rate adaption
        restrictedDigital(4),
        audio(5),
        video(6)
      }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The Information Transfer Capability for For primary rate, the current
           or last call, as media specifics will be defined in [5], chapter 4.5.5,
           octet 3 the Trunk MIB.
-- The ifType will be one of bearer capability information element,
           combined with E1 or T1, depending on the User Rate (as defined line type.

-- Each signalling channel, also called D channel, will be represented
-- by an entry in octet 5
           and 5a to 5d), if rate adaption is being used."
      ::= { isdnPortEntry 9 }

isdnPortInfoRate OBJECT-TYPE
      SYNTAX      INTEGER {
        tr_64(1),
        tr_2x64(2),
        tr_384(3),
        tr_1536(4),
        tr_multirate(5)
      }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The Information Transfer Rate for the current isdnSignallingTable.
-- This will have an ifType value of basicISDN(20)
-- or last call, primaryISDN(21), refer to RFC 1213.
-- Each B channel will also be represented as defined an entry
-- in [5], chapter 4.5.5,
           octet 4 of bearer capability information element.
           For tr_multirate(5), the actual information transfer rate,
           in detail specified in octet 4.1 (rate multiplier), ifTable. The B channels will have an ifType value
-- of isdn(63).
-- This model will be defined in ifSpeed for this interface."
      ::= { isdnPortEntry 10 }

isdnPortCallOrigin OBJECT-TYPE
      SYNTAX      INTEGER {
          none(1), used while defining objects and tables
-- e.g. has never been connected
          outgoing(2), for management.
-- outgoing call (TE to NT)
          incoming(3), The ISDN MIB will allow sub-layers. For example, the data transfer
-- incoming call (NT to TE)
          callback(4) over a B channel may take place with PPP encapsulation. While the
-- incoming call has been called back by TE
      }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Flag indicating who has initiated ISDN MIB will describe the
           current or last connection." 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

IsdnSignallingProtocol ::= { isdnPortEntry 11 }

isdnPortChargedUnits OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
          "Number
               "This data type is used as the syntax of charged units for the current
               isdnSigTblSignallingProtocol object in the
               definition of ISDN-MIB's isdnSignallingTable.

               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 last connection. This value will some derivative of it specific to
               Internet Network Management number assignments.  (The
               latest arrangements can be counted
           only if charging information is being supplied obtained by contacting the network."
      ::= { isdnPortEntry 12 }

isdnPortConnectionUpTime OBJECT-TYPE
               IANA.)

               Requests for new values should be made to IANA via
               email (iana@isi.edu)."
        SYNTAX      TimeTicks
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The time INTEGER {
            other(1),           -- none of the current or last call has 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 active."
      ::= { isdnPortEntry 13 } replaced by
                                -- I-CTR 3 and I-CTR 4.
            btnr(4),            -- U.K.   / BTNR (BRI ?) (retired ?)
            dass2(5),           -- U.K.   / DASS2 (PRI)
            ess4(6),            -- U.S.A. / AT&T 4ESS
            ess5(7),            -- U.S.A. / AT&T 5ESS
            dms100(8),          -- U.S.A. / Northern Telecom DMS100
            dms250(9),          -- U.S.A. / Northern Telecom DMS250
            ni1(10),             -- U.S.A. / National ISDN 1 (BRI)
            ni2(11),            -- U.S.A. / National ISDN 2 (BRI, PRI)
            ni3(12),            -- U.S.A. / next one ?
            vn2(13),            -- France / VN2
            vn3(14),            -- France / VN3
            vn4(15),            -- France / VN4 (ETSI with changes)
            vn6(16),            -- France / VN6 (ETSI with changes)
                                -- delta document CSE P 10-21 A
                                -- test document  CSE P 10-20 A
            kdd(17),            -- conformance information Japan  / KDD
            ins64(18),          --

isdnMibConformance OBJECT IDENTIFIER ::= { isdnMib 2 }
isdnMibCompliances OBJECT IDENTIFIER ::= { isdnMibConformance 1 }
isdnMibGroups      OBJECT IDENTIFIER ::= { isdnMibConformance 2 } Japan  / NTT INS64
            ins1500(19),        -- compliance statements

isdnMibCompliance MODULE-COMPLIANCE
      STATUS    current
      DESCRIPTION
                "The compliance statement for entities which implement
                the ISDN MIB"
      MODULE Japan  / NTT INS1500
            itr6(20),           -- this module
                MANDATORY-GROUPS {
                        isdnMibGeneralGroup,
                        isdnMibSubscriberGroup,
                        isdnMibPortGroup }
      ::= { isdnMibCompliances 1 } Germany/ 1TR6 (BRI, PRI)
            cornet(21),         -- units of conformance

isdnMibGeneralGroup OBJECT-GROUP
      OBJECTS {
        isdnFirmwareVersion
        }
      STATUS    current
      DESCRIPTION
        "General information relating to the ISDN interfaces on
         the managed devices."
      ::= { isdnMibGroups 1 }

isdnMibSubscriberGroup OBJECT-GROUP
      OBJECTS {
        isdnSubTblDchannelIndex,
        isdnSubTblSwitchType,
        isdnSubTblIfAddress,
        isdnSubTblBchannelCount,
--        isdnSubTblOperStatus,
        isdnSubTblFlags,
--      isdnSubTblTei,
        isdnSubStatsLapdUnsolicResp,
        isdnSubStatsLapdPeerSabme,
        isdnSubStatsLapdN200Errors,
        isdnSubStatsLapdNrSeqErrors,
        isdnSubStatsLapdRecvdFrmr,
        isdnSubStatsLapdCntlErrors,
        isdnSubStatsLapdInfoErrors,
        isdnSubStatsLapdWrongSize,
        isdnSubStatsLapdN201Errors,
        isdnSubStatsInCalls,
        isdnSubStatsInConnected,
        isdnSubStatsOutCalls,
        isdnSubStatsOutConnected Germany/ Siemens HiCom CORNET
            tad2(22),           -- ???    / (BRI)
            tad30(23),          -- ???    / (PRI)
            ts013(24),          -- Australia / TS013 (formerly TPH 1962, BRI)
            ts014(25),          -- Australia / TS014 (formerly TPH 1856, PRI)
            dpnss(26),          -- ???
            qsig(27)            -- Q.SIG
        }
      STATUS    current
      DESCRIPTION
        "A collection of

-- Isdn Mib objects required for ISDN subscriber
         interface configuration and statistics." definitions

isdnMibObjects OBJECT IDENTIFIER ::= { isdnMibGroups 2 }

isdnMibPortGroup OBJECT-GROUP
      OBJECTS {
        isdnPortIfAddress,
        isdnPortAdditionalInfo,
        isdnPortAdminStatus,
        isdnPortOperStatus,
        isdnPortRemoteAddress,
        isdnPortInfoType,
        isdnPortInfoRate,
        isdnPortCause,
        isdnPortCallOrigin,
        isdnPortChargedUnits,
        isdnPortConnectionUpTime isdnMib 1 }
      STATUS    current
      DESCRIPTION
        "A collection of objects required for

-- ISDN bearer channel physical interface control and statistics."
      ::= { isdnMibGroups 3 }

END

4.2.  Call Control MIB

CALL-CONTROL-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        NOTIFICATION-TYPE,
        OBJECT-TYPE,
        Counter32,
        Integer32,
        experimental
                FROM SNMPv2-SMI
        DisplayString,
        TimeStamp,
        RowStatus
                 FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        InterfaceIndex
                FROM IF-MIB;

callControlMib MODULE-IDENTITY
        LAST-UPDATED    "9506161200Z"
        ORGANIZATION    "IETF ISDN 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 neighbors
                 for demand access and possibly other
                 kinds of interfaces."
        ::= { experimental 99 } group

-- This group describes physical basic rate interfaces.
-- The ISDN hardware interface (BRI or PRI) will Basic rate interfaces can either be represented dialup lines,
-- by the D channel. This will have supporting B channels as well as having an ifType value of basicISDN(20) active signalling
-- channel, or primaryISDN(21), refer leased line interfaces connecting up to IANAifType. Each two B channel will channels
-- also be represented in an entry in the ifTable. The B and one D channel directly to a neighbor.

-- channels will have an ifType value In case of other(1).
-- This model leased line interfaces, there will be used while defining objects and tables no signalling

-- for management. protocol active and thus be no isdnSignallingTable entry
-- Call Control Mib objects definitions

callControlMibObjects layered on top of the physical interface.

isdnBasicRateGroup      OBJECT IDENTIFIER ::= { callControlMib isdnMibObjects 1 }

-- General

isdnBasicRateTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IsdnBasicRateTableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table containing configuration group

callCtlConfiguration OBJECT IDENTIFIER and operational
            parameters for all physical Basic Rate
            interfaces on this managed device."
        ::= { callControlMibObjects isdnBasicRateGroup 1 }

-- general configuration data/parameters

callCtlAcceptMode

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,
        isdnBasicTblConnectionType INTEGER
        }

isdnBasicTblIfType OBJECT-TYPE
        SYNTAX INTEGER {
                acceptNone(1),
                acceptAll(2),
                acceptKnown(3)
          isdnS0(1),
          isdnUk0(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The security level for acceptance of incoming calls.
         accept-none(1) physical interface type."
        ::= { isdnBasicRateTableEntry 1 }

isdnBasicTblConnectionType OBJECT-TYPE
        SYNTAX INTEGER {
          dialup(1),     -- dialup line, with active signalling channel
          leased1B(2),   -- leased line, 1B channel
          leased1B1D(3), -- leased line, 1B+D
          leased2B(4),   -- leased line, 2B
          leased2B1D(5)  -- leased line, 2B+D
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The particular connection being handled over this
            physical interface."
        ::= { isdnBasicRateTableEntry 2 }

-- ISDN signalling group

isdnSignallingGroup     OBJECT IDENTIFIER ::= { isdnMibObjects 2 }

-- Assumptions being made:
--      - incoming calls BRI/PRI definition will not be accepted
         accept-all(2)  - incoming calls will handled in ifTable, thus not
--        be accepted,
                          even if there required here.

-- D channel configuration table
-- There is no matching one entry for each D channel (also called signalling
-- channel) in the callCtlNbrTable
         accept-known(3)- incoming calls this table.
--
-- D channel backup and NFAS trunks will be accepted only
                          if there is a matching entry in handled using the
                          callCtlNbrTable
        "
        ::= { callControlMibObjects 2 }
-- Neighbor table

callCtlNeighbor OBJECT IDENTIFIER ::= { callControlMibObjects 3 }

callCtlNbrTable ifStack table.

isdnSignallingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF CallCtlNbrEntry IsdnSignallingTableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "The list of neighbors from which the
            "ISDN signalling table containing configuration and
            operational parameters for all ISDN signalling
            interfaces on this managed device
         will accept calls or to which it will place them." device."
        ::= { callCtlNeighbor isdnSignallingGroup 1 }

callCtlNbrEntry

isdnSignallingTableEntry OBJECT-TYPE
        SYNTAX  CallCtlNbrEntry IsdnSignallingTableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "A single Neighbor. This
            "An entry is effectively permanent, and contains
        information describing in the neighbor, his permissions, his last call
        attempt, and his cumulative effects." ISDN Signalling Table."
        INDEX { callCtlNbrId ifIndex }
        ::= { callCtlNbrTable isdnSignallingTable 1 }

CallCtlNbrEntry

IsdnSignallingTableEntry ::= SEQUENCE {
        callCtlNbrId            Integer32,
                                    -- sequence number
        callCtlNbrIfType        INTEGER,
        callCtlNbrPhysIf
        isdnSigTblPhysInterface InterfaceIndex,
                                    -- ifIndex
        isdnSigTblSignallingProtocol IsdnSignallingProtocol,
        isdnSigTblLineTopology INTEGER,
        isdnSigTblCalledAddress DisplayString,
        isdnSigTblCallingAddress DisplayString,
        isdnSigTblSubAddress DisplayString,
        isdnSigTblBchannelCount Integer32,
        isdnSigTblOperStatus INTEGER
        }

isdnSigTblPhysInterface OBJECT-TYPE
        SYNTAX  InterfaceIndex
        MAX-ACCESS      read-only
        STATUS  current
        DESCRIPTION
        "ifIndex value of the physical interface the D channel
        callCtlNbrLogIf         InterfaceIndex,
                                    -- ifIndex value
        resides on. In case of virtual NFAS trunks, this object is required
        to define the physical interface
        callCtlNbrName          DisplayString,
                                    -- name of the neighbor
        callCtlNbrAddress       DisplayString,
                                    -- Call Address
        callCtlNbrInfoType      INTEGER,
                                    -- service to be used
        callCtlNbrInfoRate      INTEGER,
                                    -- information rate to D channel resides on,
        since the attached ifEntry will be used
        callCtlNbrPermission    INTEGER,
                                    -- applicable permissions
        callCtlNbrInactivityTimer INTEGER,
                                    -- disconnect idle timer
        callCtlNbrCallRetries   INTEGER (0..2147483647),
                                    -- number of call retries
        callCtlNbrMaxDuration   INTEGER (0..2147483647),
                                    -- Max call duration in seconds
        callCtlNbrLastDuration  INTEGER (0..2147483647),
                                    -- Duration layered on top of last call
        callCtlNbrClearReason   DisplayString, all
        interfaces being managed by this signalling channel."
        ::= { isdnSignallingTableEntry 1 }

-- reason last call completed
        callCtlNbrClearCode     OCTET STRING,
-- reason last call completed
        callCtlNbrSuccessCalls  Counter32, Editor's note:
-- number of completed calls   We decided to neighbor
        callCtlNbrFailCalls     Counter32, have IANA supporting the signalling protocols.
-- number of failed call attempts
        callCtlNbrAcceptCalls   Counter32,   Thus, each switch manufacturer or anyone needing a new protocol
-- number of calls   entry will be responsible for getting a value from neighbor accepted
        callCtlNbrRefuseCalls   Counter32, IANA.
-- number of calls from neighbor refused
        callCtlNbrLastAttemptTime TimeStamp,   The definition has thereby been moved into a textual convention
-- sysUpTime of last call attempt
        callCtlNbrStatus         RowStatus
        }

callCtlNbrId   defined above.

isdnSigTblSignallingProtocol OBJECT-TYPE
        SYNTAX  Integer32 IsdnSignallingProtocol
        MAX-ACCESS      not-accessible read-write
        STATUS current
        DESCRIPTION
        "arbitrary sequence number associated with
            "The particular protocol type supported by the
            switch providing access to the neighbor." ISDN network
            to which this signalling interface is connected."
        ::= { callCtlNbrEntry 1 isdnSignallingTableEntry 2 }

callCtlNbrIfType

isdnSigTblLineTopology OBJECT-TYPE
        SYNTAX INTEGER {
                other(1),
                isdn(2),
                modem(3),
                leasedLine(4),
                x25(5)
          pointToPoint(1),
          pointToMultipoint(2)
        }
        MAX-ACCESS      read-create read-write
        STATUS current
        DESCRIPTION
            "The type of physical interface."
        DEFVAL { other }
        ::= { callCtlNbrEntry 2 }

callCtlNbrPhysIf OBJECT-TYPE
        SYNTAX  InterfaceIndex
        MAX-ACCESS      read-create
        STATUS  current
        DESCRIPTION
        "ifIndex value of the physical interface the neighbor will line topology to be
        called on. On an ISDN interface, used for this is the ifIndex value of
        the D channel. If the physical interface can be dynamically
        assigned, interface.
             On Primary Rate interfaces, this object has must have
             a value of zero."
        DEFVAL { 0 }
        ::= { callCtlNbrEntry 3 }

callCtlNbrLogIf  OBJECT-TYPE
        SYNTAX  InterfaceIndex
        MAX-ACCESS      read-create
        STATUS  current
        DESCRIPTION
        "ifIndex value of virtual interface associated with the
         neighbor. This interface maintains a queue of messages
         holding for the neighbor awaiting call completion, pointToPoint(1) and all statistics." should be read-only."
        ::= { callCtlNbrEntry 4 isdnSignallingTableEntry 3 }

callCtlNbrName

isdnSigTblCalledAddress OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS      read-create read-write
        STATUS current
        DESCRIPTION
        "ASCII name of
            "This object specifies the neighbor."
        ::= { callCtlNbrEntry 5 }

callCtlNbrAddress        OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS      read-create
        STATUS  current
        DESCRIPTION
        "Call Address at which number being passed by the neighbor will be called.
        Think of this
            switch on incoming call setup messages as the set of characters following 'ATDT ' 'Called Number
            information element'. This can be an EAZ (1TR6), a called
            number (DSS1, ETSI) or the 'phone number' included in any other number necessary to
            identify a D channel call request.
        This call address will include all switch specific
        optional information, e.g. subaddress, closed user group signalling interface. If there is no such number
            defined or
        semi-permanent connection.
        The structure of required, this information is a zero length string.
            It is represented in DisplayString form.

            This parameter can be specified on a per-B-channel or
            per-D-channel base. If specified here (e.g. on PRI
            interfaces), all incoming calls will have to be addressed
            to this number.

            Called numbers for incoming calls can also be
            defined for each switch type." on a per-B-channel base, thus
            enabling structured access to B channels. "
        ::= { callCtlNbrEntry 6 isdnSignallingTableEntry 4 }

callCtlNbrInfoType

isdnSigTblCallingAddress OBJECT-TYPE
        SYNTAX INTEGER {
            speech(1),
            unrestrictedDigital(2),     -- as defined in [5]
            unrestrictedDigital_56(3),  -- with 56k rate adaption
            restrictedDigital(4),
            audio(5),
            video(6)
        } DisplayString
        MAX-ACCESS      read-create read-write
        STATUS current
        DESCRIPTION
            "The Information Transfer Capability for ISDN Address to be assigned to this neighbor,
           as defined in [5], chapter 4.5.5, octet 3
           of bearer capability signalling
            interface. More specific, this is the 'Calling Address
            information element,
           combined with element' as being passed to the User Rate (as defined switch
            in octet 5
           and 5a outgoing call setup messages.

            It can be an EAZ (1TR6), a called number (DSS1, ETSI)
            or any other number necessary to 5d), identify a signalling
            interface. If there is no such number defined or required,
            or if rate adaption the called number on incoming calls is being used.
           This information identical
            to the calling number on outgoing calls, this is required a zero
            length string. It is represented in DisplayString form.

            This parameter can be specified on a per-B-channel or
            per-D-channel base. If specified here (e.g. on PRI
            interfaces), all outgoig calls will use this number
            as 'calling address'.

            Calling numbers for ISDN circuits." outgoing calls can also be
            defined on a per-B-channel base, thus
            enabling structured access to B channels. "
        ::= { callCtlNbrEntry 7 isdnSignallingTableEntry 5 }

callCtlNbrInfoRate

isdnSigTblSubAddress OBJECT-TYPE
        SYNTAX      INTEGER (0..2048) DisplayString
        MAX-ACCESS  read-create read-write
        STATUS current
        DESCRIPTION
          "The Information Transfer Rate to be used for this neighbor,
           as defined in [5], chapter 4.5.5,
           octet 4 and 4.1 of bearer capability information element.
           The
            "Supplementary information transfer rate being specified has to be
           a multiple of 64, defining the rate ISDN address assigned
            to this interface. Usually, this will be used the subaddress
            as defined in kbit/s. Q.931.
            If the information rate to be used there is unknown no such number defined or 64kBit/s,
           the value of required, this object may is
            a zero length string.
            The subaddress will be zero."
      DEFVAL { 0 } used for incoming calls as well as
            for outgoing calls.
            It is represented in DisplayString form."
        ::= { callCtlNbrEntry 8 isdnSignallingTableEntry 6 }

callCtlNbrPermission

isdnSigTblBchannelCount OBJECT-TYPE
        SYNTAX  INTEGER {       outgoing (1),
                                incoming (2),
                                both (3), -- both outgoing & incoming
                                callback(4)
                        } Integer32 (1..65535)
        MAX-ACCESS      read-create read-write
        STATUS current
        DESCRIPTION
        "Applicable permissions. callback(4) either rejects the
         call and then calls back, or uses the 'Advice
            "The total number of Charge'
         supplementary service if it is available."
        DEFVAL { both } B channels (bearer channels)
            managed by this signalling interface."
        ::= { callCtlNbrEntry 9 isdnSignallingTableEntry 7 }

callCtlNbrInactivityTimer

isdnSigTblOperStatus OBJECT-TYPE
         SYNTAX INTEGER (0..2147483647)
        UNITS   "seconds" {
             inactive (1),
             l1_active (2),
             l2_active (3),
             l3_active (4)
         }
         MAX-ACCESS      read-create read-only
         STATUS current
         DESCRIPTION
             "The connection will be automatically disconnected
         if no longer carrying useful data for a time
         period, in seconds, specified in this object.
         Useful data in this context refers to forwarding
         packets, including routing information; it
         excludes the encapsulator maintenance frames.
         A value operational status of zero means the connection will this signalling interface:

             inactive   all layers are inactive
             l1_active  layer 1 is activated,
                        layer 2 datalink not be
         automatically taken down due to inactivity,
         which implies that it established
             l2_active  layer 1 is a dedicated circuit."
        DEFVAL { 0 } activated,
                        layer 2 datalink established,
                        no layer 3 call activity
             l3_active  layer 1 is activated,
                        layer 2 datalink established,
                        layer 3 engaged in call activity
             "
       ::= { callCtlNbrEntry 10 isdnSignallingTableEntry 8 }

-- Editor's note: Signalling channel statistics table
--      We might also add an object to define a maximum retry There is one entry for each signalling connection
--      period (in seconds) in addition to the following object. this table.
--      [as defined in Note that the IBM MIB]

callCtlNbrCallRetries ifEntry also has some statistics information.

isdnSignallingStatsTable OBJECT-TYPE
        SYNTAX  INTEGER (0..2147483647) SEQUENCE OF IsdnSignallingStatsEntry
        MAX-ACCESS      read-create not-accessible
        STATUS current
        DESCRIPTION
         "The number of calls to a non-responding address
          that may be made. A retry count of zero means
          there is no bound. The intent
            "ISDN signalling table containing statistics
            information for all ISDN signalling interfaces
            on this managed device.
            Only statistical information which is to bound not being counted
            in the number of successive calls to an address
          which ifTable is inaccessible, or which refuses those calls."
        DEFVAL { 0 } being defined in this table."
        ::= { callCtlNbrEntry 11 isdnSignallingGroup 2 }

callCtlNbrMaxDuration

isdnSignallingStatsEntry OBJECT-TYPE
        SYNTAX  INTEGER (0..2147483647) IsdnSignallingStatsEntry
        MAX-ACCESS      read-create not-accessible
        STATUS current
        DESCRIPTION
        "Maximum call duration
            "An entry in seconds. Zero means 'unlimited'."
        DEFVAL the ISDN Signalling statistics Table"
        INDEX { 0 ifIndex }
        ::= { isdnSignallingStatsTable 1 }

IsdnSignallingStatsEntry ::= SEQUENCE { callCtlNbrEntry 12
        isdnSigStatsLapdPeerSabme Counter32,
        isdnSigStatsLapdRecvdFrmr Counter32,
        isdnSigStatsInCalls Counter32,
        isdnSigStatsInConnected Counter32,
        isdnSigStatsOutCalls Counter32,
        isdnSigStatsOutConnected Counter32,
        isdnSigStatsChargedUnits Counter32
        }

callCtlNbrLastDuration

isdnSigStatsLapdPeerSabme OBJECT-TYPE
        SYNTAX  INTEGER (0..2147483647) Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "Duration
            "The number of last call in seconds." peer SABME frames received on all
            data links associated with the D-channel of this
            interface. This is the number of peer-initiated
            new connections on this interface."
        ::= { callCtlNbrEntry 13 isdnSignallingStatsEntry 1 }

callCtlNbrClearReason

isdnSigStatsLapdRecvdFrmr OBJECT-TYPE
        SYNTAX  DisplayString Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "ASCII reason that
            "The number of LAPD FRMR response frames received.
             This is the last call terminated." number of framing errors on this
             interface."
        ::= { callCtlNbrEntry 14 isdnSignallingStatsEntry 2 }

callCtlNbrClearCode

isdnSigStatsInCalls OBJECT-TYPE
        SYNTAX  OCTET STRING Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "encoded reason last call completed."
            "The number of incoming calls on this interface."
        ::= { callCtlNbrEntry 15 isdnSignallingStatsEntry 3 }

callCtlNbrSuccessCalls

isdnSigStatsInConnected OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "number
            "The number of completed incoming calls to neighbor since system reset." on this interface
            which were actually connected."
        ::= { callCtlNbrEntry 16 isdnSignallingStatsEntry 4 }

callCtlNbrFailCalls

isdnSigStatsOutCalls OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "number
            "The number of failed call attempts to neighbor since system reset." outgoing calls on this interface."
        ::= { callCtlNbrEntry 17 isdnSignallingStatsEntry 5 }

callCtlNbrAcceptCalls

isdnSigStatsOutConnected OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "number
            "The number of outgoing calls from neighbor accepted since system reset." on this interface
            which were actually connected."
        ::= { callCtlNbrEntry 18 isdnSignallingStatsEntry 6 }

callCtlNbrRefuseCalls

isdnSigStatsChargedUnits OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "number
        "The number of calls from neighbor refused charging units on this interface since system reset."
         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."
        ::= { callCtlNbrEntry 19 isdnSignallingStatsEntry 7 }

callCtlNbrLastAttemptTime        OBJECT-TYPE
        SYNTAX  TimeStamp
        MAX-ACCESS      read-only
        STATUS  current
        DESCRIPTION
        "sysUpTime of last

-- 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 attempt." has to be removed.

isdnBearerGroup OBJECT IDENTIFIER ::= { callCtlNbrEntry 20 isdnMibObjects 3 }

callCtlNbrStatus

isdnBearerTable OBJECT-TYPE
        SYNTAX  RowStatus      SEQUENCE OF IsdnBearerEntry
        MAX-ACCESS      read-create  not-accessible
        STATUS      current
        DESCRIPTION
        "Status of one row
          "This table defines port specific control data
           for ISDN B channels. Each entry in this table."
        ::= { callCtlNbrEntry 21 }

-- Traps related to Connection management

callControlMibTrapPrefix OBJECT IDENTIFIER ::= { callControlMib 3 }
callControlMibTraps OBJECT IDENTIFIER table
           describes one B (bearer) channel."
        ::= { callControlMibTrapPrefix 0 }

callCtlNbrCallInformation NOTIFICATION-TYPE
        OBJECTS {
                callCtlNbrLogIf,
                callCtlNbrName,
                callCtlNbrAddress,
                callCtlNbrLastDuration,
                callCtlNbrClearReason,
                callCtlNbrClearCode isdnBearerGroup 1 }

isdnBearerEntry OBJECT-TYPE
        SYNTAX      IsdnBearerEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "This trap/inform is sent to the manager whenever
         a successful call clears, or a failed call attempt
         is determined
          "Configuration information relating to have ultimately failed. In the
         event that call retry is active, then this is after
         all retry attempts have failed. However, only one such
         trap port.
           A port is sent in between successful call attempts;
         subsequent call attempts result in no trap."
     ::= { callControlMibTraps 1 }

-- conformance information

callControlMibConformance OBJECT IDENTIFIER ::= a single B channel."
        INDEX { callControlMib 4 ifIndex }
callControlMibCompliances OBJECT IDENTIFIER
        ::= { callControlMibConformance isdnBearerTable 1 }
callControlMibGroups      OBJECT IDENTIFIER

IsdnBearerEntry ::=
        SEQUENCE { callControlMibConformance 2
          isdnBearerCalledAddress DisplayString,
          isdnBearerCallingAddress DisplayString,
          isdnBearerSubAddress DisplayString,
          isdnBearerIfSpid DisplayString,
          isdnBearerOperStatus INTEGER
        }

-- compliance statements

callControlMibCompliance MODULE-COMPLIANCE

isdnBearerCalledAddress OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "The compliance statement ISDN address for entities incoming calls which
                 implement the CALL CONTROL MIB"
      MODULE    -- this module
                MANDATORY-GROUPS { callControlMibGroup }
      ::= { callControlMibCompliances 1 }

-- units of conformance

callControlMibGroup OBJECT-GROUP
      OBJECTS {
        callCtlAcceptMode,
        callCtlNbrIfType,
        callCtlNbrPhysIf,
        callCtlNbrLogIf,
        callCtlNbrName,
        callCtlNbrAddress,
        callCtlNbrInfoType,
        callCtlNbrInfoRate,
        callCtlNbrPermission,
        callCtlNbrInactivityTimer,
        callCtlNbrCallRetries,
        callCtlNbrMaxDuration,
        callCtlNbrLastDuration,
        callCtlNbrClearReason,
        callCtlNbrClearCode,
        callCtlNbrSuccessCalls,
        callCtlNbrFailCalls,
        callCtlNbrAcceptCalls,
        callCtlNbrRefuseCalls,
        callCtlNbrLastAttemptTime,
        callCtlNbrStatus
        }
      STATUS    current
      DESCRIPTION
        "A collection of objects providing the CALL CONTROL MIB
         capability."
      ::= { callControlMibGroups 1 }

END

4.3.  Call History MIB

CALL-HISTORY-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Integer32,
        experimental
                FROM SNMPv2-SMI
        DisplayString,
        TimeStamp
                FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        InterfaceIndex
                FROM IF-MIB;

callHistoryMib MODULE-IDENTITY
        LAST-UPDATED    "9506121200Z"
        ORGANIZATION    "IETF ISDN 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 is assigned to describe and store the call
                 information of the managed device for
                 accounting purposes."
        ::= { experimental 97 }

--
           this B channel. This MIB describes can be the objects defined  and used for storing EAZ (1TR6), the
-- call information called number
           (DSS1) for all calls.

-- Call History Mib objects definitions

callHistoryMibObjects OBJECT IDENTIFIER ::= { callHistoryMib 1 }
callHistory OBJECT IDENTIFIER incoming calls or any other necessary
           specification for other types of switch protocols.
           If no address is to be assigned to this interface,
           this object will be a zero length string."
        ::= { callHistoryMibObjects isdnBearerEntry 1 }

callHistoryTableMaxLength

isdnBearerCallingAddress OBJECT-TYPE
        SYNTAX          INTEGER (0..10000)      DisplayString
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "The upper limit on ISDN address for outgoing calls which is assigned to
           this B channel. This can be the number of entries that EAZ (1TR6), the
                callHistoryTable may contain.  A value of 0
                will prevent calling number
           (DSS1) for outgoung calls or any history from being retained. When
                this table other necessary
           specification for other types of switch protocols.
           If no address is full, the oldest entry will to be deleted
                and assigned to this interface,
           or if the new one address to be assigned is identical to
           isdnBearerCalledAddress, this object will be created." a zero length
           string."
        ::= { callHistory 1 isdnBearerEntry 2 }

callHistoryRetainTimer

isdnBearerSubAddress OBJECT-TYPE
        SYNTAX  INTEGER (0..10080)      -- one week
        UNITS   "minutes"      DisplayString
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "The minimum amount of time that an callHistoryEntry
                will be maintained before being deleted.  A value of
                0 will prevent any history from ISDN subaddress assigned to this B channel, according
           to Q.931. If no subaddress is being retained, but
                will not prevent callCompletion traps used or defined for
           the signalling protocol being generated." used, this can be a zero
           length string."
        ::= { callHistory 2 isdnBearerEntry 3 }

-- callHistoryTable
-- Table

isdnBearerIfSpid OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "The SPID information required to configure a B channel.
           This information has to be defined in addition to store
           the past local number for some switch types.

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

isdnBearerOperStatus      OBJECT-TYPE
        SYNTAX INTEGER {
          idle (1),
          connecting (2),
          connected (3),
          active (4)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The current call information. control state for this port.

           idle(1):       The Destination number
-- and the B channel is idle.
                          No call connect and disconnect time, the disconnection cause
-- are stored. These calls could be circuit switched or they could
-- be virtual circuits. History of each and every call attempt is stored.

-- going on.
           connecting(2): A connection attempt (outgoing call)
                          is being made on this interface.
           connected(3):  An entry will be created when a incoming call gets connected. At is in the time
-- process
                          of creation, the entry will contain the connect time only.
-- The disconnect time will be added when the validation.
           active(4):     A call gets cleared.
-- disconnect time."

callHistoryTable is active on this interface."
        ::= { isdnBearerEntry 5 }

isdnBearerStatsTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF CallHistoryEntry IsdnBearerStatsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
              "A
          "This table containing information about specific
               calls to a defines port specific destination." statistics and
           active call data for ISDN B channels. Each entry
           in this table describes one B (bearer) channel."
        ::= { callHistory 3 isdnBearerGroup 2 }

callHistoryEntry

isdnBearerStatsEntry OBJECT-TYPE
        SYNTAX   CallHistoryEntry      IsdnBearerStatsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
              "The
          "Statistics information regarding relating to one port.
           A port is a single Connection." B channel."
        INDEX {  callHistoryStartTime, callHistoryIndex ifIndex }
        ::= { callHistoryTable isdnBearerStatsTable 1 }

CallHistoryEntry

IsdnBearerStatsEntry ::=
        SEQUENCE {
            callHistoryStartTime                 TimeStamp,
            callHistoryIndex                     Integer32,
            callHistoryCallingNumber             OCTET STRING,
            callHistoryCalledNumber              OCTET STRING,
            callHistoryInterfaceNumber           InterfaceIndex,
            callHistoryDestinationAddress        OCTET STRING,
            callHistoryDestinationHostName
          isdnBearerStatsPeerAddress DisplayString,
          isdnBearerStatsPeerSubAddress DisplayString,
            callHistoryCallDisconnectCause
          isdnBearerStatsCallOrigin INTEGER,
            callHistoryCallConnectTime
          isdnBearerStatsInfoType INTEGER,
          isdnBearerStatsMultirate TruthValue,
          isdnBearerStatsCallSetupTime TimeStamp,
            callHistoryCallDisconnectTime
          isdnBearerStatsCallConnectTime TimeStamp,
            callHistoryCallOrigin                INTEGER,
            callHistoryChargedUnits
          isdnBearerStatsChargedUnits Integer32
        }

callHistoryStartTime

isdnBearerStatsPeerAddress    OBJECT-TYPE
          SYNTAX   TimeStamp   DisplayString
          MAX-ACCESS   not-accessible   read-only
          STATUS   current
          DESCRIPTION
          "The value of sysUpTime when this call history entry was
              created. This will be useful for an NMS to retrieve all
              calls after a specific time."
        ::= { callHistoryEntry 1 }

callHistoryIndex   OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
            "Index variable to access the CallHistoryEntry objects
             of ISDN address the callHistoryTable."
        ::= { callHistoryEntry 2 }

callHistoryCallingNumber    OBJECT-TYPE
        SYNTAX   OCTET STRING
        MAX-ACCESS   read-only
        STATUS current
        DESCRIPTION
             "The calling number for this call. or last call is or was
           connected to. If the number peer ISDN address is not available, then
           this object it will have a length of zero."
        ::= { callHistoryEntry 3 }

callHistoryCalledNumber    OBJECT-TYPE
        SYNTAX   OCTET STRING
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
             "The number this call is connected to."
        ::= { callHistoryEntry 4 }

callHistoryInterfaceNumber    OBJECT-TYPE
        SYNTAX   InterfaceIndex
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "This is the ifIndex value of the highest number
             of interface through which the call was made." of zero."
          ::= { callHistoryEntry 5 isdnBearerStatsEntry 1 }

callHistoryDestinationAddress

isdnBearerStatsPeerSubAddress    OBJECT-TYPE
          SYNTAX   OCTET STRING   DisplayString
          MAX-ACCESS   read-only
          STATUS   current
          DESCRIPTION
          "The address of ISDN subaddress the host this current or last call is or was
           connected to. Most devices/routers connected to
              an interface have an address and If the peer subaddress is not available,
           this object it will
              store that address." have a length of zero."
          ::= { callHistoryEntry 6 isdnBearerStatsEntry 2 }

callHistoryDestinationHostName

isdnBearerStatsCallOrigin OBJECT-TYPE
          SYNTAX   DisplayString   INTEGER {
                originate(1),
                answer(2),
                callback(3)
          }
          MAX-ACCESS   read-only
          STATUS   current
          DESCRIPTION
          "The name of call origin for the host this current or last call. If there was
           no call is
              connected to. Most devices/routers connected up to
              an interface have a name and now on this interface, this object will
              store that name." have
           a value of zero."
          ::= { callHistoryEntry 7 isdnBearerStatsEntry 3 }

callHistoryCallDisconnectCause

isdnBearerStatsInfoType OBJECT-TYPE
        SYNTAX      INTEGER (0..255) {
          speech(1),
          unrestrictedDigital(2),         -- as defined in [5]
          unrestrictedDigital_56(3),      -- with 56k rate adaption
          restrictedDigital(4),
          audio_31(5),                    -- 3.1 kHz audio
          audio_7(6),                     -- 7 kHz audio
          video(7),
          packetSwitched(8)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The network cause value associated Information Transfer Capability for the current
           or last call, as defined in [5], chapter 4.5.5,
           octet 3 of bearer capability information element,
           combined with this call." the User Rate (as defined in octet 5
           and 5a to 5d), if rate adaption is being used.

           speech(1) refers to a non-data connection, whereas
           audio_31(5) and audio_7(6) refer to data mode connections.

           Note that [5], chapter 4.5.5, originaly defined audio_7(6)
           as '7 kHz audio' and now defines it as 'Unrestricted
           digital information with tones/announcements'.
          "
        ::= { callHistoryEntry 8 isdnBearerStatsEntry 4 }

callHistoryCallConnectTime

isdnBearerStatsMultirate OBJECT-TYPE
        SYNTAX   TimeStamp      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
             "The value of sysUpTime when
          "This flag describes if the current or last call was connected.
              [Editor's note:
                Can we use the time since 01:01:70 here ?]
             " used
           multirate as defined in [5], 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."
        ::= { callHistoryEntry 9 isdnBearerStatsEntry 5 }

callHistoryCallDisconnectTime

isdnBearerStatsCallSetupTime OBJECT-TYPE
        SYNTAX   TimeStamp
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
        "The value of sysUpTime when the call got disconnected.
               For active calls, ISDN setup message for the value of this object will be zero."
         current or last call was sent or received."
        ::= { callHistoryEntry 10 isdnBearerStatsEntry 6 }

callHistoryCallOrigin

isdnBearerStatsCallConnectTime OBJECT-TYPE
        SYNTAX   INTEGER {
                outgoing(1),
                incoming(2),
                callback(3)
        }   TimeStamp
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
              "The
        DESCRIPTION
        "The value of sysUpTime when the ISDN connect message for the
         current or last call origin." was sent or received."
        ::= { callHistoryEntry 11 isdnBearerStatsEntry 7 }

callHistoryChargedUnits

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

--
-- conformance information

callHistoryMibConformance
--

isdnMibConformance OBJECT IDENTIFIER ::= { callHistoryMib 3 isdnMib 2 }
callHistoryMibCompliances
isdnMibCompliances OBJECT IDENTIFIER ::= { callHistoryMibConformance isdnMibConformance 1 }
callHistoryMibGroups
isdnMibGroups      OBJECT IDENTIFIER ::= { callHistoryMibConformance isdnMibConformance 2 }

-- compliance statements

callHistoryMibCompliance

isdnMibCompliance MODULE-COMPLIANCE
        STATUS    current
        DESCRIPTION
                "The compliance statement for entities which implement
                the call History MIB" ISDN MIB. Note that the isdnMibBasicRateGroup
                is mandatory only for entities supporting Basic Rate
                interfaces."
        MODULE    -- this module
                MANDATORY-GROUPS { callHistoryMibGroup
                        isdnMibBasicRateGroup,
                        isdnMibSignallingGroup,
                        isdnMibBearerGroup
                }

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

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

        OBJECT isdnSigTblLineTopology
          MIN-ACCESS  read-only
          DESCRIPTION
          "It is conformant to implement this object as read-only.
           For Primary Rate ISDN interfaces, this object must be
           implemented as read-only and has to return the value of
           pointToPoint(1)."

        ::= { callHistoryMibCompliances isdnMibCompliances 1 }

-- units of conformance

callHistoryMibGroup

isdnMibBasicRateGroup OBJECT-GROUP
        OBJECTS {
          callHistoryTableMaxLength,
          callHistoryRetainTimer,
          callHistoryCallingNumber,
          callHistoryCalledNumber,
          callHistoryInterfaceNumber,
          callHistoryDestinationAddress,
          callHistoryDestinationHostName,
          callHistoryCallDisconnectCause,
          callHistoryCallConnectTime,
          callHistoryCallDisconnectTime,
          callHistoryCallOrigin,
          callHistoryChargedUnits
          isdnBasicTblIfType,
          isdnBasicTblConnectionType
        }
        STATUS current
        DESCRIPTION
          "A collection of objects providing the call History MIB capability." required for ISDN basic rate
           physical interface configuration and statistics."
        ::= { callHistoryMibGroups isdnMibGroups 1 }

isdnMibSignallingGroup OBJECT-GROUP
        OBJECTS {
          isdnSigTblPhysInterface,
          isdnSigTblSignallingProtocol,
          isdnSigTblLineTopology,
          isdnSigTblCalledAddress,
          isdnSigTblCallingAddress,
          isdnSigTblSubAddress,
          isdnSigTblBchannelCount,
          isdnSigTblOperStatus,
          isdnSigStatsLapdPeerSabme,
          isdnSigStatsLapdRecvdFrmr,
          isdnSigStatsInCalls,
          isdnSigStatsInConnected,
          isdnSigStatsOutCalls,
          isdnSigStatsOutConnected,
          isdnSigStatsChargedUnits
        }
        STATUS    current
        DESCRIPTION
          "A collection of objects required for ISDN signalling
           interface configuration and statistics."
        ::= { isdnMibGroups 2 }

isdnMibBearerGroup OBJECT-GROUP
        OBJECTS {
          isdnBearerCalledAddress,
          isdnBearerCallingAddress,
          isdnBearerSubAddress,
          isdnBearerIfSpid,
          isdnBearerOperStatus,
          isdnBearerStatsPeerAddress,
          isdnBearerStatsPeerSubAddress,
          isdnBearerStatsCallOrigin,
          isdnBearerStatsInfoType,
          isdnBearerStatsMultirate,
          isdnBearerStatsCallSetupTime,
          isdnBearerStatsCallConnectTime,
          isdnBearerStatsChargedUnits
        }
        STATUS    current
        DESCRIPTION
          "A collection of objects required for ISDN bearer channel
           interface control and statistics."
        ::= { isdnMibGroups 3 }

END

5.  Acknowledgements

This document was produced by the ISDN MIB Working Group.  Special
thanks is due to all the people and companies supplying enterprise-
specific MIB modules. Special thanks is also due to following persons:

        Ed Alcoff
        Fred Baker, for
helping with details concerning MIB design, and to Baker
        Bibek A. Das
        Ken Grigg
        Jeffrey T. Johnson
        Glenn Kime
        Oliver Korfmacher
        Kedar Madineni
        Bill Miskovetz
        David M. Piscitello
        Lisa A. Phifer
        Randy Roberts and
Kedar Madineni, who supplied a lot of helpful information concerning
switch types and other ISDN related information.
        Hascall H. Sharp
        Robert Snyder
        Ron Stoughton
        James Watt

6.  References

[1]  Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Structure
     of Management Information for version 2 of the Simple Network
     Management Protocol (SNMPv2)", RFC 1442, SNMP Research,Inc., Hughes
     LAN Systems, Dover Beach Consulting, Inc., Carnegie Mellon
     University, April 1993.

[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]  Galvin, J., and K. McCloghrie, "Administrative Model for version 2
     of the Simple Network Management Protocol (SNMPv2)", RFC 1445,
     Trusted Information Systems, Hughes LAN Systems, April 1993.

[4]  Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol
     Operations for version 2 of the Simple Network Management Protocol
     (SNMPv2)", RFC 1448, SNMP Research,Inc., Hughes LAN Systems, Dover
     Beach Consulting, Inc., Carnegie Mellon University, April 1993.

[5]  ITU-T Recommendation "Digital subscriber Signalling System No. 1
     (DSS 1) - ISDN user-network interface layer 3 specification for

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

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

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 SNMPv2 Network Management Framework .........................    3
2.1 Object Definitions ............................................    3
3 Overview ........................................................    4
3.1 Structure of MIB ..............................................    4
3.1.1 The ISDN MIB ................................................    4
3.1.2 The call control MIB ........................................ General Description .........................................    4
3.1.3 The call history MIB ........................................    5
3.2 Relationship to RFC1573 ....................................... RFC 1573 ......................................    5
3.2.1 Layering Model and Virtual Circuits ......................... ..............................................    5
3.2.2 ifTestTable .................................................    6    7
3.2.3 ifRcvAddressTable ...........................................    6
3.2.3.1    7
3.2.4 ifEntry .....................................................    8
3.2.4.1 ifEntry for a Basic Rate hardware interface ...............    8
3.2.4.2 ifEntry for a D channel ...................................    7
3.2.3.2 (signalling channel) ..............    9
3.2.4.3 ifEntry for a B channel ...................................    8 (bearer channel) ..................   11
3.3 ISDN interface specific information ...........................   10   13
3.3.1 ISDN leased lines ...........................................   10   13
3.3.2 Hyperchannels ...............................................   10   13
3.3.3 D channel backup and NFAS trunks ............................   10   13
3.3.4 X.25 data transfer in D channel .............................   11   14
3.3.5 SPID handling ...............................................   11   14
3.3.6 Closed User Groups ..........................................   15
3.3.7 Provision of point-to-point line topology ...................   15
3.3.8 Speech and audio bearer capability information elements .....   15
4 Definitions .....................................................   12
4.1 ISDN MIB ......................................................   12
4.2 Call Control MIB ..............................................   31
4.3 Call History MIB ..............................................   41   17
5 Acknowledgements ................................................   48   36
6 References ......................................................   49   36
7 Security Considerations .........................................   50   37
8 Author's Address ................................................   50   37