rfc-2128

Dial Control Management Information Base using SMIv2

G. Roeck (Editor)
date1997-03 streamIETF areaint wgisdnmib statusPROPOSED STANDARD pages34 canonicalhttps://www.rfc-editor.org/rfc/rfc2128 doi10.17487/RFC2128
This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects used for managing demand access circuits, including ISDN. [STANDARDS-TRACK]

Extracted elements (26)

design-rationale §3.1

dialCtlPeerStatsLastDisconnectText exists because a management station cannot feasibly store all possible cause codes for all interface types. It provides a human-readable fallback when the station cannot decode dialCtlPeerStatsLastDisconnectCause.

snmp

design-rationale §2.3

Multiple dialCtlPeerCfgTable entries sharing the same dialCtlPeerCfgId but with different ifIndex values support both multilink (bundling connections via PPP multilink) and backup line procedures for a single logical peer.

snmp

design-rationale §2.2.1

On dialup interfaces, calls to a given peer float across channels, making a static 'peer-to-interface' binding impossible. The MIB resolves this by creating a logical ifEntry per peer and per low-level interface, then correlating them via ifStackTable.

snmp

design-rationale §3.1

The callback(4) permission value is explicitly scoped to charging control, not security. Security-driven callback is delegated to PPP callback mechanisms, keeping the MIB's permission model focused on billing.

snmp, security

interoperability-note §2.2

The Dial Control MIB depends on encapsulation-layer MIBs (e.g., PPP) for ifEntry creation, ifTestTable, and ifRcvAddressTable definitions. The Dial Control MIB adds supplementary RowStatus-controlled information but never independently creates ifEntries.

snmp

normative-requirement §2.2.3.1 MUST

An entry in dialCtlPeerCfgTable can only be created if the associated ifEntry already exists. The Dial Control MIB will never itself create ifEntries.

snmp

normative-requirement §3.1 REQUIRED

Entities implementing the DIAL CONTROL MIB must implement all four mandatory groups: dialControlGroup, callActiveGroup, callHistoryGroup, and callNotificationsGroup, as stated in the MODULE-COMPLIANCE statement.

snmp

normative-requirement §3.1 MUST

Several entries in dialCtlPeerCfgTable with the same dialCtlPeerCfgId value MUST have different ifIndex values. This supports multilink and backup line configurations where multiple physical paths reach the same peer.

snmp

protocol-element §3.1

AbsoluteCounter32 is a textual convention based on Unsigned32 that starts at zero, never decreases, never wraps, and locks at 4,294,967,295 on overflow. It is used for historical counters where wrap-around is not expected.

snmp

protocol-element §3.1

callActiveInfoType and callHistoryInfoType classify calls by information transfer capability: speech(2), unrestrictedDigital(3) at 64 kbps, unrestrictedDigital56(4) with 56k rate adaptation, restrictedDigital(5), audio31(6) at 3.1 kHz, audio7(7) at 7 kHz, video(8), packetSwitched(9), and fax(10).

snmp

protocol-element §3.1

callActiveTable stores one entry per active call, created when a call starts and deleted when it clears. The index is {callActiveSetupTime, callActiveIndex}, where callActiveIndex distinguishes calls starting within the same hundredth of a second.

snmp

protocol-element §3.1

callHistoryRetainTimer specifies the minimum time in minutes a history entry is retained. A value of zero prevents history retention in callHistoryTable but does not suppress callCompletion traps or affect other tables.

snmp

protocol-element §3.1

callHistoryTable stores completed call records indexed by {callActiveSetupTime, callActiveIndex}. It retains successful, unsuccessful, and rejected calls and is controlled by callHistoryTableMaxLength and callHistoryRetainTimer (in minutes); when full, the oldest entry is deleted.

snmp

protocol-element §3.1

dialCtlAcceptMode controls incoming call security with three values: acceptNone(1) rejects all incoming calls, acceptAll(2) accepts all calls even without a matching peer entry, and acceptKnown(3) accepts calls only if a matching dialCtlPeerCfgTable entry exists.

snmp, security

protocol-element §3.1

dialCtlPeerCallInformation notification is sent when a successful call clears or a failed call attempt ultimately fails after all retries. Only one trap is sent between successful call attempts; subsequent retry failures do not generate additional traps.

snmp

protocol-element §3.1

dialCtlPeerCallSetup notification is sent whenever a call setup message is received or sent, carrying callActivePeerId, callActivePeerIfIndex, callActiveLogicalIfIndex, ifOperStatus, callActivePeerAddress, callActivePeerSubAddress, callActiveInfoType, and callActiveCallOrigin.

snmp

protocol-element §3.1

dialCtlPeerCfgInactivityTimer specifies in seconds how long a connection with no useful data (forwarding packets including routing info, excluding encapsulator maintenance frames) will remain before automatic disconnection. Zero means the circuit is dedicated and will not be torn down.

snmp

protocol-element §3.1

dialCtlPeerCfgMinDuration and dialCtlPeerCfgMaxDuration bound call duration in seconds. MinDuration exists to align with per-unit charging in many countries; MaxDuration of zero means unlimited.

snmp

protocol-element §3.1

dialCtlPeerCfgPermission defines call direction permissions per peer: originate(1), answer(2), both(3), callback(4), or none(5). The callback(4) value either rejects then calls back or uses the 'Reverse charging' IE, and is intended to control charging rather than security.

snmp

protocol-element §3.1

dialCtlPeerCfgTable stores configuration for each peer including originate/answer addresses, subaddress, closed user group, speed, information type, permissions, inactivity timer, min/max call duration, carrier delay, retry counts, and trap enable. A new row requires dialCtlPeerCfgOriginateAddress to be set before becoming active.

snmp

protocol-element §3.1

dialCtlPeerStatsLastDisconnectCause is an OCTET STRING of 0 to 4 bytes encoding the network-specific cause value from the last call. Interpretation depends on interface type and protocol; references include ITU-T Q.931, X.25, Bellcore SR-NWT-001953/002343, and German Telekom FTZ 1TR6.

snmp

protocol-element §3.1

dialCtlPeerStatsTable augments dialCtlPeerCfgTable and tracks per-peer statistics: accumulated connect time, charged units, successful/failed/accepted/refused call counts, last disconnect cause (OCTET STRING 0..4 bytes), disconnect text, and last setup time.

snmp

protocol-element §3.1

dialCtlTrapEnable is a global trap switch. When enabled(1), traps are generated for all peers; when disabled(2), traps are only generated for peers whose dialCtlPeerCfgTrapEnable is individually set to enabled(1). Default is disabled.

snmp

protocol-element §2.1

The DIAL-CONTROL-MIB is structured into four groups: dialCtlConfiguration (general config), dialCtlPeer (peer config and statistics), callActive (active call info), and callHistory (historical call records including failed and rejected calls).

snmp

security-consideration §6

Supporting generic peers (e.g., wildcard characters in dialCtlPeerCfgAnswerAddress) creates a security hole: the device cannot identify the call origin, potentially allowing unauthorized access if no other authentication scheme such as PPP authentication is in place.

snmp, security

state-machine §3.1

callActiveCallState models four call states: unknown(1) for indeterminate state, connecting(2) for outgoing call attempt in progress, connected(3) for incoming call undergoing validation, and active(4) for a fully established call.

snmp