INTERNET-DRAFT Dial Control MIB November 1995 Dial Control Management Information Base draft-ietf-isdnmib-dial-control-01.txt Fri Nov 17 14:49:37 MET 1995 Guenter Roeck (editor) Conware GmbH roeck@conware.de Status of this Memo This document is an Internet-Draft. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its Areas, and its Working Groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as a "work in progress". To learn the current status of any Internet-Draft, please check the "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast). Expires May 1996 [Page 1] INTERNET-DRAFT Dial Control MIB November 1995 1. Introduction This draft defines an experimental 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. 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@cisco.com and/or the author. Expires May 1996 [Page 2] INTERNET-DRAFT Dial Control MIB November 1995 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. Expires May 1996 [Page 3] INTERNET-DRAFT Dial Control MIB November 1995 3. Overview 3.1. Structure of MIB Managing Neighbors requires the following groups of information: o Some general configuration information. o Information to describe neighbors and neighbor statistics. o Information to retain call history. The MIB, therefore, consists of three groups. o The dialCtlConfiguration group is used to specify general configuration information. o The dialCtlNeighbor group is used to describe neighbors and neighbor statistics. o The callHistory group is used to store call history information. These calls could be circuit switched or they could be virtual circuits. History of each and every call is stored, of sucessful calls as well as unsucessful and rejected calls. An entry will be created when a call is cleared. 3.2. Relationship to RFC1573 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 and Virtual Circuits On an occasional access channel, there are a number of neighboring systems that are permitted to call or be called, all of which need to be Expires May 1996 [Page 4] INTERNET-DRAFT Dial Control MIB November 1995 treated as active from a routing viewpoint, but most of which have no call in progress at any given time. On dialup interfaces, this is further complicated by the fact that calls to a given neighbor float from channel to channel. One cannot definitively say "I call this neighbor on that interface." It is necessary, therefore, to provide a mapping algorithm between the low- level interfaces, and the various logical interfaces supporting the neighbors. This is solved by creating a logical interface (ifEntry) for each neighbor and a logical interface (ifEntry) for each low-level interface. These are then correlated using the ifStackTable. The low-level interfaces will either be physical interfaces, e.g. modem interfaces, or logical interfaces, e.g. ISDN B channels, which then in turn will be layered on top of physical ISDN interfaces. The model, therefore, looks something like this, taking ISDN as an example: +-------------------------------------------------------+ | Network Layer Protocol | +------+ +-------+ +-------+ +-------+ +-------+ +------+ | | | | | | | | | | <== appears active +-+ +-+ +-+ +-+ +-+ +-+ +-+ +-+ +-+ +-+ | PPP | | PPP | | F/R | | PPP | | F/R | | for | | for | | for | | for | | for | ifEntry with |Nbr 1| |Nbr 2| |switch |Nbr 3| |switch shadow | | | | | A | | | | B | NeighborEntry +-+ +-+ +-+ +-+ +-+ +-+ +-+ +-+ +-+ +-+ | | | | <== some actually are +--+ +--+ +--+ +--+ +--+ +--+ +--+ +--+ +--+ +--+ | B | | B | | B | | B | | B | |channel| |channel| |channel| |channel| |channel| +--+ +--+ +--+ +--+ +--+ +--+ +--+ +--+ +--+ +--+ | | | | | | | | | | +------+ +-------+ +-------+ +-------+ +-------+ +------+ | Basic/Primary Rate Interface | +-------------------------------------------------------+ Mapping of IP interfaces to Called Neighbors to B Channels IfEntries are maintained for each neighbor. In this model, each neighbor is required to have an associated network layer interface. This interface can be of any kind, e.g. PPP or LAPB. Expires May 1996 [Page 5] INTERNET-DRAFT Dial Control MIB November 1995 In order to specify the network address for a given neighbor, one would then usually add a routing/forwarding table entry, pointing to the network layer interface through which this neighbor can be reached. 3.2.2. ifTestTable The ifTestTable usage will be defined in the MIBs defining the encapsulation below the network layer. For example, if PPP encapsulation is being used, the ifTestTable will be defined by PPP. 3.2.3. ifRcvAddressTable The ifRcvAddressTable usage will be defined in the MIBs defining the encapsulation below the network layer. For example, if PPP encapsulation is being used, the ifRcvAddressTable will be defined by PPP. 3.2.3.1. ifEntry for a single neighbor IfEntries will be defined in the MIBs defining the encapsulation below the network leyer. For example, if PPP encapsulation is being used, the ifEntry will be defined by PPP. 3.3. Multilink and backup line support In order to support multilink and backup procedures, there may be several entries for a single neighbor in the dialCtlNbrCfgTable. A single neighbor will be identified using the dialCtlNbrCfgId object of the dialCtlNbrCfgTable. There may be several entries in dialCtlNbrCfgTable with the same value of dialCtlNbrCfgId, but different ifIndex values. Each of those entries will then describe a possible connection to the same neighbor. Such entries can then be used to handle multilink as well as backup procedures, e.g. by bundling the attached ifEntries using PPP multilink. Expires May 1996 [Page 6] INTERNET-DRAFT Dial Control MIB November 1995 4. Definitions 4.1. Dial Control MIB DIAL-CONTROL-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-TYPE, Counter32, Integer32 FROM SNMPv2-SMI DisplayString, TimeStamp, RowStatus FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF IANAifType FROM IANAifType-MIB ifIndex, ifOperStatus, InterfaceIndex FROM IF-MIB transmission FROM RFC1213-MIB; dialControlMib MODULE-IDENTITY LAST-UPDATED "9511171437Z" 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." Expires May 1996 [Page 7] INTERNET-DRAFT Dial Control MIB November 1995 ::= { transmission 21 } -- Dial Control Mib objects definitions dialControlMibObjects OBJECT IDENTIFIER ::= { dialControlMib 1 } -- General configuration group dialCtlConfiguration OBJECT IDENTIFIER ::= { dialControlMibObjects 1 } -- general configuration data/parameters dialCtlAcceptMode OBJECT-TYPE SYNTAX INTEGER { acceptNone(1), acceptAll(2), acceptKnown(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "The security level for acceptance of incoming calls. acceptNone(1) - incoming calls will not be accepted acceptAll(2) - incoming calls will be accepted, even if there is no matching entry in the dialCtlNbrCfgTable acceptKnown(3) - incoming calls will be accepted only if there is a matching entry in the dialCtlNbrCfgTable " ::= { dialCtlConfiguration 1 } -- Neighbor group dialCtlNeighbor OBJECT IDENTIFIER ::= { dialControlMibObjects 2 } -- neighbor configuration table dialCtlNbrCfgTable OBJECT-TYPE SYNTAX SEQUENCE OF DialCtlNbrCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The list of neighbors from which the managed device Expires May 1996 [Page 8] INTERNET-DRAFT Dial Control MIB November 1995 will accept calls or to which it will place them." ::= { dialCtlNeighbor 1 } dialCtlNbrCfgEntry OBJECT-TYPE SYNTAX DialCtlNbrCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A single Neighbor. This entry is effectively permanent, and contains information describing the neighbor and his permissions." INDEX { dialCtlNbrCfgId, ifIndex } ::= { dialCtlNbrCfgTable 1 } DialCtlNbrCfgEntry ::= SEQUENCE { dialCtlNbrCfgId INTEGER, -- neighbor ID dialCtlNbrCfgIfType IANAifType, dialCtlNbrCfgLowerIf InterfaceIndex, -- ifIndex value of lower interface dialCtlNbrCfgOriginateAddress DisplayString, -- Call Address (outgoing) dialCtlNbrCfgAnswerAddress DisplayString, -- Call Address (incoming) dialCtlNbrCfgSubAddress DisplayString, -- Call Subaddress dialCtlNbrCfgClosedUserGroup DisplayString, -- Closed User Group dialCtlNbrCfgSpeed INTEGER, -- desired speed in bit/second dialCtlNbrCfgPermission INTEGER, -- applicable permissions dialCtlNbrCfgInactivityTimer INTEGER, -- disconnect idle timer dialCtlNbrCfgMinDuration INTEGER, -- Min call duration in seconds dialCtlNbrCfgMaxDuration INTEGER, -- Max call duration in seconds dialCtlNbrCfgCarrierDelay INTEGER, -- call connect time dialCtlNbrCfgCallRetries INTEGER, -- number of call retries dialCtlNbrCfgRetryDelay INTEGER, -- time between call attempts Expires May 1996 [Page 9] INTERNET-DRAFT Dial Control MIB November 1995 dialCtlNbrCfgFailureDelay INTEGER, -- retry time after failure dialCtlNbrCfgStatus RowStatus } dialCtlNbrCfgId OBJECT-TYPE SYNTAX INTEGER (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object defines a single neighbor. There may be several entries in this table for one neighbor, defining different ways of reaching this neighbor. Thus, there may be several entries in this table with the same value of dialCtlNbrCfgId. Multiple entries for one neighbor may be used to support multilink as well as backup lines. A single neighbor will be identified by a unique value of this object. Several entries for one neighbor MUST have the same value of dialCtlNbrCfgId, but different ifEntries and thus different values of ifIndex." ::= { dialCtlNbrCfgEntry 1 } dialCtlNbrCfgIfType OBJECT-TYPE SYNTAX IANAifType MAX-ACCESS read-create STATUS current DESCRIPTION "The interface type to be used for calling this neighbor. In case of ISDN, the value of basicISDN(20) is to be used." DEFVAL { other } ::= { dialCtlNbrCfgEntry 2 } dialCtlNbrCfgLowerIf OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS read-create STATUS current DESCRIPTION "ifIndex value of an interface the neighbor will have to be called on. For example, on an ISDN interface, this can be the ifIndex value of a D channel or the ifIndex value of a B channel, whatever is appropriate for a given neighbor. As an example, for Basic Rate leased lines it will be necessary to specify a B channel ifIndex, while for 'Semipermanente Verbindungen' (semi permanent connections) Expires May 1996 [Page 10] INTERNET-DRAFT Dial Control MIB November 1995 in 1TR6, the D channel ifIndex has to be specified. If the interface can be dynamically assigned, this object has a value of zero." DEFVAL { 0 } ::= { dialCtlNbrCfgEntry 3 } dialCtlNbrCfgOriginateAddress OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "Call Address at which the neighbor will be called. Think of this as the set of characters following 'ATDT ' or the 'phone number' included in a D channel call request. The structure of this information will be switch type specific." ::= { dialCtlNbrCfgEntry 4 } dialCtlNbrCfgAnswerAddress OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "Calling Party Number information element, as for example passed in an ISDN SETUP message by a PBX or switch, for incoming calls. This address can be used to identify the neighbor. If this address is either unknown or identical to dialCtlNbrCfgOriginateAddress, this object will be a zero length string." ::= { dialCtlNbrCfgEntry 5 } dialCtlNbrCfgSubAddress OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "Subaddress at which the neighbor will be called. If the subaddress is undefined for the given media or unused, this is a zero length string." DEFVAL { "" } ::= { dialCtlNbrCfgEntry 6 } dialCtlNbrCfgClosedUserGroup OBJECT-TYPE SYNTAX DisplayString Expires May 1996 [Page 11] INTERNET-DRAFT Dial Control MIB November 1995 MAX-ACCESS read-create STATUS current DESCRIPTION "Closed User Group at which the neighbor will be called, as defined in [5], chapter 4.6.1. If the Closed User Group is undefined for the given media or unused, this is a zero length string." DEFVAL { "" } ::= { dialCtlNbrCfgEntry 7 } dialCtlNbrCfgSpeed OBJECT-TYPE SYNTAX INTEGER (0..2147483647) MAX-ACCESS read-create STATUS current DESCRIPTION "The desired information transfer speed in bits/second when calling this neighbor. The detailed media specific information, e.g. information type and information transfer rate for ISDN circuits, has to be extracted from this object. If the transfer speed to be used is unknown or the default speed for this type of interfaces, the value of this object may be zero." DEFVAL { 0 } ::= { dialCtlNbrCfgEntry 8 } dialCtlNbrCfgPermission OBJECT-TYPE SYNTAX INTEGER { originate (1), answer (2), both (3), -- both originate & answer callback(4) } MAX-ACCESS read-create STATUS current DESCRIPTION "Applicable permissions. callback(4) either rejects the call and then calls back, or uses the 'Reverse charging' information element if it is available. Note that callback(4) is supposed to control charging, not security, and applies to callback prior to accepting a call. Callback for security reasons can be handled using PPP callback." DEFVAL { both } ::= { dialCtlNbrCfgEntry 9 } Expires May 1996 [Page 12] INTERNET-DRAFT Dial Control MIB November 1995 dialCtlNbrCfgInactivityTimer OBJECT-TYPE SYNTAX INTEGER (0..2147483647) UNITS "seconds" MAX-ACCESS read-create 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 of zero means the connection will not be automatically taken down due to inactivity, which implies that it is a dedicated circuit." DEFVAL { 0 } ::= { dialCtlNbrCfgEntry 10 } dialCtlNbrCfgMinDuration OBJECT-TYPE SYNTAX INTEGER (0..2147483647) MAX-ACCESS read-create STATUS current DESCRIPTION "Minimum duration of a call in seconds, starting from the time the call is connected until the call is disconnected. This is to accomplish the fact that in most countries charging applies to units of time, which should be matched as closely as possible." DEFVAL { 0 } ::= { dialCtlNbrCfgEntry 11 } dialCtlNbrCfgMaxDuration OBJECT-TYPE SYNTAX INTEGER (0..2147483647) MAX-ACCESS read-create STATUS current DESCRIPTION "Maximum call duration in seconds. Zero means 'unlimited'." DEFVAL { 0 } ::= { dialCtlNbrCfgEntry 12 } dialCtlNbrCfgCarrierDelay OBJECT-TYPE SYNTAX INTEGER (0..2147483647) UNITS "seconds" MAX-ACCESS read-create STATUS current Expires May 1996 [Page 13] INTERNET-DRAFT Dial Control MIB November 1995 DESCRIPTION "The call timeout time in seconds. The default value of zero means that the call timeout as specified for the media in question will apply." DEFVAL { 0 } ::= { dialCtlNbrCfgEntry 13 } dialCtlNbrCfgCallRetries OBJECT-TYPE SYNTAX INTEGER (0..2147483647) MAX-ACCESS read-create 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 is to bound the number of successive calls to an address which is inaccessible, or which refuses those calls. Some countries regulate the number of call retries to a given neighbor that can be made." DEFVAL { 0 } ::= { dialCtlNbrCfgEntry 14 } dialCtlNbrCfgRetryDelay OBJECT-TYPE SYNTAX INTEGER (0..2147483647) UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The time in seconds between call retries if a neighbor cannot be reached. A value of zero means that call retries may be done without any delay." DEFVAL { 0 } ::= { dialCtlNbrCfgEntry 15 } dialCtlNbrCfgFailureDelay OBJECT-TYPE SYNTAX INTEGER (0..2147483647) UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The time in seconds after whichcall attempts are to be placed again after a neighbor has been noticed to be unreachable, i.e. after dialCtlNbrCfgCallRetries Expires May 1996 [Page 14] INTERNET-DRAFT Dial Control MIB November 1995 unsuccessful call attempts. A value of zero means that a neighbor will not be called again after dialCtlNbrCfgCallRetries unsuccessful call attempts." DEFVAL { 0 } ::= { dialCtlNbrCfgEntry 16 } dialCtlNbrCfgStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "Status of one row in this table." ::= { dialCtlNbrCfgEntry 17 } -- Neighbor statistics table dialCtlNbrStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF DialCtlNbrStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Statistics information for each neighbor entry. There will be one entry in this table for each entry in the dialCtlNbrCfgTable." ::= { dialCtlNeighbor 2 } dialCtlNbrStatsEntry OBJECT-TYPE SYNTAX DialCtlNbrStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Statistics information for a single Neighbor. This entry is effectively permanent, and contains information describing the last call attempt as well as supplying statistical information." INDEX { dialCtlNbrCfgId, ifIndex } ::= { dialCtlNbrStatsTable 1 } DialCtlNbrStatsEntry ::= SEQUENCE { dialCtlNbrStatsConnectTime Counter32, -- total connect time to neighbor dialCtlNbrStatsChargedUnits Counter32, -- number of charged units to this neighbor Expires May 1996 [Page 15] INTERNET-DRAFT Dial Control MIB November 1995 dialCtlNbrStatsSuccessCalls Counter32, -- number of completed calls to neighbor dialCtlNbrStatsFailCalls Counter32, -- number of failed call attempts dialCtlNbrStatsAcceptCalls Counter32, -- number of calls from neighbor accepted dialCtlNbrStatsRefuseCalls Counter32, -- number of calls from neighbor refused dialCtlNbrStatsLastDisconnectCause OCTET STRING, dialCtlNbrStatsLastDisconnectText DisplayString, -- textual and encoded reasons for last -- call clearing dialCtlNbrStatsLastSetupTime TimeStamp -- time of last call attempt } dialCtlNbrStatsConnectTime OBJECT-TYPE SYNTAX Counter32 UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "Accumulated connect time to neighbor since system startup. This is the total connect time, i.e. the connect time for outgoing calls plus the time for incoming calls." ::= { dialCtlNbrStatsEntry 1 } dialCtlNbrStatsChargedUnits OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of charging units applying to this neighbor since system startup. Only the charging units applying to the local interface, i.e. for originated calls or for calls with 'Advice of Charge' being active, will be counted here." ::= { dialCtlNbrStatsEntry 2 } dialCtlNbrStatsSuccessCalls OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of completed calls to neighbor." Expires May 1996 [Page 16] INTERNET-DRAFT Dial Control MIB November 1995 ::= { dialCtlNbrStatsEntry 3 } dialCtlNbrStatsFailCalls OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of failed call attempts to neighbor since system startup." ::= { dialCtlNbrStatsEntry 4 } dialCtlNbrStatsAcceptCalls OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of calls from neighbor accepted since system startup." ::= { dialCtlNbrStatsEntry 5 } dialCtlNbrStatsRefuseCalls OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of calls from neighbor refused since system startup." ::= { dialCtlNbrStatsEntry 6 } dialCtlNbrStatsLastDisconnectCause OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..4)) MAX-ACCESS read-only STATUS current DESCRIPTION "The encoded network cause value associated with the last call. This object will be updated whenever a call is started or cleared." ::= { dialCtlNbrStatsEntry 7 } dialCtlNbrStatsLastDisconnectText OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "ASCII text describing the reason for the last call termination. Expires May 1996 [Page 17] INTERNET-DRAFT Dial Control MIB November 1995 This object will be updated whenever a call is started or cleared." ::= { dialCtlNbrStatsEntry 8 } dialCtlNbrStatsLastSetupTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when the last call to this neighbor was started. For ISDN media, this will be the time when the setup message was received from or sent to the network. This object will be updated whenever a call is started or cleared." ::= { dialCtlNbrStatsEntry 9 } -- -- the call history group -- callHistory OBJECT IDENTIFIER ::= { dialControlMibObjects 3 } callHistoryTableMaxLength OBJECT-TYPE SYNTAX INTEGER (0..2147483647) MAX-ACCESS read-write STATUS current DESCRIPTION "The upper limit on the number of entries that the callHistoryTable may contain. A value of 0 will prevent any history from being retained. When this table is full, the oldest entry will be deleted and the new one will be created." ::= { callHistory 1 } callHistoryRetainTimer OBJECT-TYPE SYNTAX INTEGER (0..2147483647) UNITS "minutes" 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 being retained in the callHistoryTable, but will neither prevent callCompletion Expires May 1996 [Page 18] INTERNET-DRAFT Dial Control MIB November 1995 traps being generated nor affect other tables." ::= { callHistory 2 } -- callHistoryTable -- Table to store the past call information. The Destination number -- and the 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 is stored, -- of sucessful calls as well as of unsucessful and rejected calls. -- An entry will be created when a call is cleared. callHistoryTable OBJECT-TYPE SYNTAX SEQUENCE OF CallHistoryEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table containing information about specific calls to a specific destination." ::= { callHistory 3 } callHistoryEntry OBJECT-TYPE SYNTAX CallHistoryEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The information regarding a single Connection." INDEX { callHistorySetupTime, callHistoryIndex } ::= { callHistoryTable 1 } CallHistoryEntry ::= SEQUENCE { callHistorySetupTime TimeStamp, callHistoryIndex INTEGER, callHistoryPeerAddress DisplayString, callHistoryPeerSubAddress DisplayString, callHistoryNeighborIfIndex InterfaceIndex, callHistoryNeighborId INTEGER, callHistoryLogicalIfIndex InterfaceIndex, callHistoryDisconnectCause OCTET STRING, callHistoryDisconnectText DisplayString, callHistoryConnectTime TimeStamp, callHistoryDisconnectTime TimeStamp, callHistoryCallOrigin INTEGER, callHistoryChargedUnits Integer32, Expires May 1996 [Page 19] INTERNET-DRAFT Dial Control MIB November 1995 callHistoryInfoType INTEGER, callHistoryTransmitPackets Counter32, callHistoryTransmitBytes Counter32, callHistoryReceivePackets Counter32, callHistoryReceiveBytes Counter32 } callHistorySetupTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when the call associated to this entry was started. This will be useful for an NMS to retrieve all calls after a specific time. Also, this object can be useful in finding large delays between the time the call was started and the time the call was connected. For ISDN media, this will be the time when the setup message was received from or sent to the network." ::= { callHistoryEntry 1 } callHistoryIndex OBJECT-TYPE SYNTAX INTEGER (1..'7fffffff'h) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Index variable to access the CallHistoryEntry objects of the callHistoryTable." ::= { callHistoryEntry 2 } callHistoryPeerAddress OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The number this call is connected to. If the number is not available, then it will have a length of zero." ::= { callHistoryEntry 3 } callHistoryPeerSubAddress OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The subaddress this call is connected to. If the subaddress Expires May 1996 [Page 20] INTERNET-DRAFT Dial Control MIB November 1995 is undefined or not available, this will be a zero length string." ::= { callHistoryEntry 4 } callHistoryNeighborIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS read-only STATUS current DESCRIPTION "This is the ifIndex value of the neighbor table entry to which this call was made." ::= { callHistoryEntry 5 } callHistoryNeighborId OBJECT-TYPE SYNTAX INTEGER (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "This is the Id value of the neighbor table entry to which this call was made. If a neighbor table entry for this call does not exist, the value of this object will be zero." ::= { callHistoryEntry 6 } callHistoryLogicalIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS read-only STATUS current DESCRIPTION "This is the ifIndex value of the logical interface through which this call was made. For ISDN media, this would be the ifIndex of the B channel which was used for this call." ::= { callHistoryEntry 7 } callHistoryDisconnectCause OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..4)) MAX-ACCESS read-only STATUS current DESCRIPTION "The encoded network cause value associated with this call." ::= { callHistoryEntry 8 } callHistoryDisconnectText OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only Expires May 1996 [Page 21] INTERNET-DRAFT Dial Control MIB November 1995 STATUS current DESCRIPTION "ASCII text describing the reason for call termination." ::= { callHistoryEntry 9 } callHistoryConnectTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when the call was connected." ::= { callHistoryEntry 10 } callHistoryDisconnectTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when the call was disconnected." ::= { callHistoryEntry 11 } callHistoryCallOrigin OBJECT-TYPE SYNTAX INTEGER { originate(1), answer(2), callback(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "The call origin." ::= { callHistoryEntry 12 } callHistoryChargedUnits OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of charged units for this connection. For incoming calls or if charging information is not supplied by the switch, the value of this object will be zero." ::= { callHistoryEntry 13 } callHistoryInfoType OBJECT-TYPE Expires May 1996 [Page 22] INTERNET-DRAFT Dial Control MIB November 1995 SYNTAX INTEGER { other(1), -- e.g. for non-isdn media speech(2), unrestrictedDigital(3), -- 64k/s data unrestrictedDigital56(4), -- with 56k rate adaption restrictedDigital(5), audio31(6), -- 3.1 kHz audio audio7(7), -- 7 kHz audio video(8), packetSwitched(9) } MAX-ACCESS read-only STATUS current DESCRIPTION "The information type for this call." ::= { callHistoryEntry 14 } callHistoryTransmitPackets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets which were transmitted while this call was active." ::= { callHistoryEntry 15 } callHistoryTransmitBytes OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of bytes which were transmitted while this call was active." ::= { callHistoryEntry 16 } callHistoryReceivePackets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets which were received while this call was active." ::= { callHistoryEntry 17 } callHistoryReceiveBytes OBJECT-TYPE Expires May 1996 [Page 23] INTERNET-DRAFT Dial Control MIB November 1995 SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of bytes which were received while this call was active." ::= { callHistoryEntry 18 } -- Traps related to Connection management dialControlMibTrapPrefix OBJECT IDENTIFIER ::= { dialControlMib 2 } dialControlMibTraps OBJECT IDENTIFIER ::= { dialControlMibTrapPrefix 0 } dialCtlNbrCallInformation NOTIFICATION-TYPE OBJECTS { callHistoryNeighborIfIndex, callHistoryNeighborId, callHistoryLogicalIfIndex, ifOperStatus, callHistoryPeerAddress, callHistoryPeerSubAddress, callHistoryDisconnectCause, callHistoryConnectTime, callHistoryDisconnectTime, callHistoryInfoType, callHistoryCallOrigin } STATUS current DESCRIPTION "This trap/inform is sent to the manager whenever a successful call clears, or a failed call attempt is determined 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 is sent in between successful call attempts; subsequent call attempts result in no trap. ifOperStatus will return the operational status of the virtual interface associated with callHistoryNeighborIfIndex." ::= { dialControlMibTraps 1 } -- conformance information dialControlMibConformance OBJECT IDENTIFIER ::= { dialControlMib 3 } Expires May 1996 [Page 24] INTERNET-DRAFT Dial Control MIB November 1995 dialControlMibCompliances OBJECT IDENTIFIER ::= { dialControlMibConformance 1 } dialControlMibGroups OBJECT IDENTIFIER ::= { dialControlMibConformance 2 } -- compliance statements dialControlMibCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities which implement the DIAL CONTROL MIB" MODULE -- this module MANDATORY-GROUPS { dialControlGroup, callHistoryGroup } ::= { dialControlMibCompliances 1 } -- units of conformance dialControlGroup OBJECT-GROUP OBJECTS { dialCtlAcceptMode, dialCtlNbrCfgIfType, dialCtlNbrCfgLowerIf, dialCtlNbrCfgOriginateAddress, dialCtlNbrCfgAnswerAddress, dialCtlNbrCfgSubAddress, dialCtlNbrCfgClosedUserGroup, dialCtlNbrCfgSpeed, dialCtlNbrCfgPermission, dialCtlNbrCfgInactivityTimer, dialCtlNbrCfgMinDuration, dialCtlNbrCfgMaxDuration, dialCtlNbrCfgCarrierDelay, dialCtlNbrCfgCallRetries, dialCtlNbrCfgRetryDelay, dialCtlNbrCfgFailureDelay, dialCtlNbrCfgStatus, dialCtlNbrStatsConnectTime, dialCtlNbrStatsChargedUnits, dialCtlNbrStatsSuccessCalls, dialCtlNbrStatsFailCalls, dialCtlNbrStatsAcceptCalls, dialCtlNbrStatsRefuseCalls, dialCtlNbrStatsLastDisconnectCause, dialCtlNbrStatsLastDisconnectText, Expires May 1996 [Page 25] INTERNET-DRAFT Dial Control MIB November 1995 dialCtlNbrStatsLastSetupTime } STATUS current DESCRIPTION "A collection of objects providing the DIAL CONTROL capability." ::= { dialControlMibGroups 1 } callHistoryGroup OBJECT-GROUP OBJECTS { callHistoryTableMaxLength, callHistoryRetainTimer, callHistorySetupTime, callHistoryPeerAddress, callHistoryPeerSubAddress, callHistoryNeighborIfIndex, callHistoryNeighborId, callHistoryLogicalIfIndex, callHistoryDisconnectCause, callHistoryDisconnectText, callHistoryConnectTime, callHistoryDisconnectTime, callHistoryCallOrigin, callHistoryChargedUnits, callHistoryInfoType, callHistoryTransmitPackets, callHistoryTransmitBytes, callHistoryReceivePackets, callHistoryReceiveBytes } STATUS current DESCRIPTION "A collection of objects providing the Call History capability." ::= { dialControlMibGroups 2 } END Expires May 1996 [Page 26] INTERNET-DRAFT Dial Control MIB November 1995 5. Acknowledgements This document was produced by the ISDN MIB Working Group. Special thanks is due to the following persons: Ed Alcoff Fred Baker Bibek A. Das Ken Grigg Jeffrey T. Johnson Glenn Kime Oliver Korfmacher Kedar Madineni Bill Miskovetz David M. Piscitello Lisa A. Phifer Randy Roberts 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. Expires May 1996 [Page 27] INTERNET-DRAFT Dial Control MIB November 1995 [5] ITU-T Recommendation "Digital subscriber Signalling System No. 1 (DSS 1) - ISDN user-network interface layer 3 specification for basic call control", Rec. Q.931(I.451), March 1993 [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 Expires May 1996 [Page 28] INTERNET-DRAFT Dial Control MIB November 1995 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 Expires May 1996 [Page 29] INTERNET-DRAFT Dial Control MIB November 1995 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.2 Relationship to RFC1573 ....................................... 4 3.2.1 Layering Model and Virtual Circuits ......................... 4 3.2.2 ifTestTable ................................................. 6 3.2.3 ifRcvAddressTable ........................................... 6 3.2.3.1 ifEntry for a single neighbor ............................. 6 3.3 Multilink and backup line support ............................. 6 4 Definitions ..................................................... 7 4.1 Dial Control MIB .............................................. 7 5 Acknowledgements ................................................ 27 6 References ...................................................... 27 7 Security Considerations ......................................... 29 8 Author's Address ................................................ 29 Expires May 1996 [Page 30]