SIP Working Group K. Lingle, Internet Draft Cisco Systems, Inc., draft-ietf-sip-mib-01.txt J. Maeng, July 2000 VTEL Corp., Expires: January 2001 D. Walker, SS8 Networks, Inc. Management Information Base for Session Initiation Protocol Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC 2026. 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 "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet- Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This particular draft is being developed in the Session Initiation Protocol Working Group. Discussion of it therefore belongs on that list. The charter for Session Initiation Protocol may be found at http://www.ietf.org/html.charters/sip-charter.html Abstract 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 a set of managed objects that are used to manage Session Initiation Protocol(SIP) [17] devices, which include User Agents, Proxy servers, Redirect servers and Registrars. 1. Introduction 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 a set of managed objects that are used to schedule management operations periodically or at specified dates and times. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [16]. Lingle/Maeng/Walker 1 Internet Draft SIP-MIB July, 2000 2. The SNMP Management Framework The SNMP Management Framework presently consists of five major components: - An overall architecture, described in RFC 2271 [1]. - Mechanisms for describing and naming objects and events for the purpose of management. The first version of this Structure of Management Information (SMI) is called SMIv1 and described in STD16, RFC 1155 [2], STD 16, RFC 1212 [3] and RFC 1215 [4]. The second version, called SMIv2, is described in STD 58, RFC 2578 [5], RFC 2579 [6] and RFC 2580 [7]. - Message protocols for transferring management information. The first version of the SNMP message protocol is called SNMPv1 and described in RFC 1157 [8]. A second version of the SNMP message protocol, which is not an Internet standards track protocol, is called SNMPv2c and described in RFC 1901 [9] and RFC 1906 [10]. The third version of the message protocol is called SNMPv3 and described in RFC 2272 [11] and RFC 2274 [12]. - Protocol operations for accessing management information. The first set of protocol operations and associated PDU formats is described in STD 15, RFC 1157 [8]. A second set of protocol operations and associated PDU formats is described in RFC 1905 13]. - A set of fundamental applications described in RFC 2273 [14] and the view-based access control mechanism described in RFC 2275 [15]. Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the mechanisms defined in the SMI. This memo specifies a MIB module that is compliant to the SMIv2. A MIB conforming to the SMIv1 can be produced through the appropriate translations. The resulting translated MIB must be semantically equivalent, except where objects or events are omitted because no translation is possible (use of Counter64). Some machine readable information in SMIv2 will be converted into textual descriptions in SMIv1 during the translation process. However, this loss of machinereadable information is not considered to change the semantics of the MIB. 3. Overview The Session Initiation Protocol (SIP) [17] is an application-layer control protocol that can establish, modify and terminate multimedia sessions or calls. This MIB provides some managed objects for SIP devices defined in RFC 2543 - User Agent, Proxy server, Redirect Lingle/Maeng/Walker 2 Internet Draft SIP-MIB July, 2000 server and Registrar. It is provided as a base for the work within the working group to define a MIB. This MIB is intended to provide management of the basic devices in SIP. It provides for monitoring of status and protocol statistics, as well as for configuration of SIP devices. 4. Structure of SIP MIB This memo specifies six MIB modules. They are SIP-MIB-SMI, SIP- COMMON-MIB, SIP-REGISTRAR-MIB, SIP-SERVER-MIB, SIP-UA-MIB and SIP- TC. SIP-MIB-SMI indicates the root OID of SIP MIB modules. SIP- COMMON-MIB contains common objects used in all the SIP entities such as Registrars, Proxy Servers, Redirect Servers and User Agents. SIP- SIP-REGISTRAR-MIB, SIP-SERVER-MIB and SIP-UA-MIB includes objects defined for Registrars, Proxy and Redirect servers, and User Agents, respectively. SIP-TC defines the textual conventions used through out MIB modules. The MIB modules contain the following groups of objects: -- SIP-COMMON-MIB: Common to all the SIP devices sipCommonConfigGroup sipCommonStatsGroup sipCommonNotifGroup -- SIP-REGISTRAR-MIB: Groups of objects for Registrars sipRegistrarConfigGroup sipRegistrarStatsGroup -- SIP-SERVER-MIB: Groups of objects for proxy and Redirect Servers sipServerConfigGroup sipServerStatsGroup sipProxyConfigGroup sipProxyStatsGroup -- SIP-UA-MIB: Groups of objects for User Agents sipUAConfigGroup sipUAStatsGroup It is required to implement SIP-COMMON-MIB together with its own MIB module in Registrars, Proxy Servers, Redirect Servers and User Agents. For instance, a SIP Registrar will need four MIB modules, SIP-MIB-SMI, SIP-COMMON-MIB, SIP-REGISTRAR-MIB, and SIP-TC in order to provide a complete set of objects . If a device has more than one sip entity or multiple instances of the same entity, it may implement multiple SIP modules. Section 4.2 describes handling of multiple instances in detail. 4.1 Textual Conventions The data type SipServerActions is used as textual conventions in this document. These textual conventions have NO effect on either the syntax nor the semantics of any managed object. Objects defined Lingle/Maeng/Walker 3 Internet Draft SIP-MIB July, 2000 using these conventions are always encoded by means of the rules that define their primitive type. Hence, no changes to the SMI or the SNMP are necessary to accommodate these textual conventions which are adopted merely for the convenience of readers. 4.2 Relationship to Other MIB There is a requirement to be able to support multiple instances of SIP MIB modules in the context of a single system having a single SNMP agent. For example, a device acting as a SIP Proxy Server may also contain a Registrar function. It is also possible to have multiple instances of a particular type of SIP entity running on the same system. For example, there may be Registrars for different domains with completely different behaviors. While there are separate MIB modules defined for SIP Redirect & Proxy Servers, for Registrars, and for User Agents, there is also a "common" MIB module expected to be supported by every SIP entity. So a SIP Proxy Server must support the SIP-SERVER-MIB and SIP- COMMON-MIB modules. Likewise, the Registrar must support the SIP- REGISTRAR and SIP-COMMON-MIB modules. Here we have the requirement for supporting multiple instances of a particular MIB module in one system. This problem is solved by using the framework provided by RFC 2788 [19]. The Network Services Monitoring MIB applTable will be populated with entries corresponding to each SIP entity in the system. Each entity will then have an applIndex associated with it. That applIndex is used throughout the SIP MIB modules' tables so that each SIP entity can have its own set (instances) of managed objects defined in those MIBs. A quick example will illustrate how it would conceptually appear in a running system. Take the example above of a Proxy Server co- located with a Registrar. NETWORK-SERVICES-MIB applTable would be populated something like the following: applIndex | applName | applDescription ----------+-----------------+------------------------------ 1 | "sip_proxy" | "ACME Inc. SIP Proxy Ver 1.0" ----------+-----------------+------------------------------ 2 | "registrar" | "ACME Inc. Registrar Ver 1.3" ----------+-----------------+------------------------------ Note: There are a number of other objects in the applTable. They are not included for the sake of brevity and for the fact that they do not enhance the concept being presented. The SIP-COMMON-MIB sipCommonCfgTable would have two rows: one for the proxy (applIndex=1) and one for the registrar (applIndex=2). The SIP-SERVER-MIB and SIP-REGISTRAR-MIB tables would, however, Lingle/Maeng/Walker 4 Internet Draft SIP-MIB July, 2000 only be populated with one row indexed by applIndex=1 and applIndex=2 respectively. SIP-COMMON-MIB sipCommonCfgTable might be populated as: applIndex | sipProtocolVersion | sipServiceOperStatus | ... ----------+--------------------+----------------------+---- 1 | "SIP/2.0" | up(1) | ----------+--------------------+----------------------+---- 2 | "SIP/2.0" | restarting(6) | ----------+--------------------+----------------------+---- while the SIP-SERVER-MIB sipProxyCfgTable is populated as: applIndex | sipRequestMaxExpires | sipProxyStateful | ... ----------+----------------------+------------------+---- 1 | 3600 | false | ----------+----------------------+------------------+---- and the SIP-REGISTRAR-MIB sipRegUserTable is populated as: applIndex | sipUserIndex | sipUserUri | ... ----------+--------------+--------------------------+---- 2 | 1 | drwalker@ss8networks.com | ----------+--------------+--------------------------+---- 2 | 2 | joon_maeng@vtel.com | ----------+--------------+--------------------------+---- 2 | 3 | klingle@cisco.com | ----------+--------------+--------------------------+---- The NETWORK-SERVICES-MIB assocTable is not considered a requirement for SIP systems. It is not a mandatory group for NETWORK-SERVICES- MIB compliance. 5. Definitions 5.1. SIP Structure Management Information SIP-MIB-SMI DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, mib-2 FROM SNMPv2-SMI; sipMIB MODULE-IDENTITY LAST-UPDATED "200007080000Z" ORGANIZATION "IETF SIP Working Group, SIP MIB Team" CONTACT-INFO "SIP MIB Team email: sip-mib@egroups.com Co-editor Kevin Lingle Cisco Systems, Inc. postal: 7025 Kit Creek Road Lingle/Maeng/Walker 5 Internet Draft SIP-MIB July, 2000 P.O. Box 14987 Research Triangle Park, NC 27709 USA email: klingle@cisco.com phone: +1-919-392-2029 Co-editor Joon Maeng VTEL Corporation postal: 108 Wild Basin Rd. Austin, TX 78746 USA email: joon_maeng@vtel.com phone: +1-512-437-4567 Co-editor Dave Walker SS8 Networks, Inc. postal: 80 Hines Road Kanata, ON K2K 2T8 Canada email: drwalker@ss8networks.com phone: +1 613 592 2100" DESCRIPTION "Initial version of Session Initiation Protocol (SIP) MIB module that defines base OID for all other SIP-related MIB Modules." ::= { mib-2 9998 } -- to be assigned by IANA END 5.2. SIP Textual Conventions SIP-TC DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY FROM SNMPv2-SMI TEXTUAL-CONVENTION FROM SNMPv2-TC sipMIB FROM SIP-MIB-SMI; sipTC MODULE-IDENTITY LAST-UPDATED "200007080000Z" ORGANIZATION "IETF SIP Working Group, SIP MIB Team" CONTACT-INFO "SIP MIB Team email: sip-mib@egroups.com Co-editor Kevin Lingle Cisco Systems, Inc. postal: 7025 Kit Creek Road P.O. Box 14987 Research Triangle Park, NC 27709 Lingle/Maeng/Walker 6 Internet Draft SIP-MIB July, 2000 USA email: klingle@cisco.com phone: +1-919-392-2029 Co-editor Joon Maeng VTEL Corporation postal: 108 Wild Basin Rd. Austin, TX 78746 USA email: joon_maeng@vtel.com phone: +1-512-437-4567 Co-editor Dave Walker SS8 Networks, Inc. postal: 80 Hines Road Kanata, ON K2K 2T8 Canada email: drwalker@ss8networks.com phone: +1 613 592 2100" DESCRIPTION "Initial version of Session Initiation Protocol (SIP) MIB Textual Conventions module used by other SIP-related MIB Modules." ::= { sipMIB 1 } -- -- Textual Conventions -- SipServerActions ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Lists the possible actions of a SIP network server. A specific action may be requested by a user agent as a Contact parameter in a REGISTER." SYNTAX INTEGER { redirect(1), proxy(2) } END 5.3. SIP Common SIP-COMMON-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Counter32, Integer32, Gauge32, TimeTicks, Unsigned32 Lingle/Maeng/Walker 7 Internet Draft SIP-MIB July, 2000 FROM SNMPv2-SMI DateAndTime, RowStatus, TruthValue FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF SnmpAdminString FROM SNMP-FRAMEWORK-MIB sipMIB FROM SIP-MIB-SMI applIndex FROM NETWORK-SERVICES-MIB; sipCommonMIB MODULE-IDENTITY LAST-UPDATED "200004120000Z" ORGANIZATION "IETF SIP Working Group, SIP MIB Team" CONTACT-INFO "SIP MIB Team email: sip-mib@egroups.com Co-editor Kevin Lingle Cisco Systems, Inc. postal: 7025 Kit Creek Road P.O. Box 14987 Research Triangle Park, NC 27709 USA email: klingle@cisco.com phone: +1-919-392-2029 Co-editor Joon Maeng VTEL Corporation postal: 108 Wild Basin Rd. Austin, TX 78746 USA email: joon_maeng@vtel.com phone: +1-512-437-4567 Co-editor Dave Walker SS8 Networks, Inc. postal: 80 Hines Road Kanata, ON K2K 2T8 Canada email: drwalker@ss8networks.com phone: +1 613 592 2100" DESCRIPTION "Initial version of Session Initiation Protocol (SIP) Lingle/Maeng/Walker 8 Internet Draft SIP-MIB July, 2000 Common MIB module. This module defines objects which may be common to all SIP entities. SIP is an application-layer signalling protocol for creating, modifying and terminating multimedia sessions with one or more participants. These sessions include Internet multimedia conferences and Internet telephone calls. SIP is defined in RFC 2543 (March 1999). This MIB is defined for the managing objects which are common to SIP User Agents (UAs), Proxy and Redirect Servers, and Registrars. Objects specific to each of these entities may be managed using entity specific MIBs defined in other modules. A User Agent is an application that contains both a User Agent Client (UAC) and a User Agent Server (UAS). A UAC is an application that initiates a SIP request. A UAS is an application that contacts the user when a SIP request is received and that returns a response on behalf of the user. The response accepts, rejects, or redirects the request. A Proxy Server acts as both a client and a server. It accepts requests from other clients, either responding to them or passing them on to other servers, possibly after modification. A Redirect Server accepts requests from clients and returns zero or more addresses to that client. Unlike a Proxy server it does not initiate requests. Unlike a User Agent Server it does not accept calls. A Registrar is a server that accepts REGISTER requests. A Registrar is typically co-located with a Proxy or Redirect Server." ::= { sipMIB 2 } -- -- sipCommon Group -- This group contains MIB objects that are common to all SIP -- entities. -- sipCommonCfg OBJECT IDENTIFIER ::= { sipCommonMIB 1 } sipCommonStats OBJECT IDENTIFIER ::= { sipCommonMIB 2 } sipCommonStatsSummary OBJECT IDENTIFIER ::= { sipCommonStats 1 } sipCommonStatsMethod OBJECT IDENTIFIER ::= { sipCommonStats 2 } sipCommonStatusCode OBJECT IDENTIFIER ::= { sipCommonStats 3 } sipCommonStatsTrans OBJECT IDENTIFIER ::= { sipCommonStats 4 } Lingle/Maeng/Walker 9 Internet Draft SIP-MIB July, 2000 -- -- Common Configuration Objects -- sipCommonCfgTable OBJECT-TYPE SYNTAX SEQUENCE OF SipCommonCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the common configuration objects applicable to all SIP entities. Each row represents those objects for a particular SIP entity present in this system. The instances of SIP entities are uniquely identified by applIndex." ::= { sipCommonCfg 1 } sipCommonCfgEntry OBJECT-TYPE SYNTAX SipCommonCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of common configuration." INDEX { applIndex } ::= { sipCommonCfgTable 1 } SipCommonCfgEntry ::= SEQUENCE { sipProtocolVersion SnmpAdminString, sipServiceOperStatus INTEGER, sipServiceAdminStatus INTEGER, sipServiceStartTime TimeTicks, sipServiceLastChange TimeTicks, sipOrganization SnmpAdminString, sipMaxTransactions Unsigned32, sipInviteTimeout Unsigned32, sipHideOperation INTEGER, sipUserLocationServerAddr SnmpAdminString, sipCanUseCompact TruthValue, sipRequestUriHostMatching TruthValue } sipProtocolVersion OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object will reflect the version of SIP supported by this SIP entity. It will follow the same format as SIP version information contained in the SIP messages generated by this SIP entity. For example, entities supporting SIP version 2 will return 'SIP/2.0' as dictated by RFC 2543." ::= { sipCommonCfgEntry 1 } Lingle/Maeng/Walker 10 Internet Draft SIP-MIB July, 2000 sipServiceOperStatus OBJECT-TYPE SYNTAX INTEGER { up(1), down(2), testing(3), unknown(4), halted(5), restarting(6) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the current operational state of the SIP application. up(1) : The application is operating normally, and is processing (receiving and possibly issuing) SIP requests and responses. down(2) : The application is currently unable to process SIP messages. testing(3) : The application is currently in test mode and may not be able to process SIP messages. unknown(4) : The operational status of the application cannot be determined for some reason. halted(5) : The application has been manually prevented from processing SIP messages. restarting(6) : The application is booting and will soon be able to process SIP messages." ::= { sipCommonCfgEntry 2 } sipServiceAdminStatus OBJECT-TYPE SYNTAX INTEGER { shutdown(1), reset(2), restart(3), stop(4), rts(5) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object is used to affect the overall operational state of the SIP server application. shutdown(1) : Immediately kill the application, don't restart. reset(2) : Restart application, reinitialize data, requires rts. restart(3) : Restart application, no data loss, requires rts. stop(4) : Stop processing new requests, requires rts. rts(5) : Return to service." Lingle/Maeng/Walker 11 Internet Draft SIP-MIB July, 2000 ::= { sipCommonCfgEntry 3 } sipServiceStartTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime at the time the SIP entity was last started. If the current state was entered prior to the last re-initialization of the local network management subsystem, then this object contains a zero value." ::= { sipCommonCfgEntry 4 } sipServiceLastChange OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime at the time the SIP entity entered its current operational state. If the current state was entered prior to the last re-initialization of the local network management subsystem, then this object contains a zero value." ::= { sipCommonCfgEntry 5 } sipOrganization OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-write STATUS current DESCRIPTION "This object contains the name of the organization issuing the request or response. It may also be inserted by a proxy at a boundary of an organization. If the object exists, it is inserted into requests and responses." REFERENCE "RFC 2543, Section 6.24" ::= { sipCommonCfgEntry 6 } sipMaxTransactions OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the maximum number of simultaneous transactions that the SIP entity can manage." ::= { sipCommonCfgEntry 7 } sipInviteTimeout OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION Lingle/Maeng/Walker 12 Internet Draft SIP-MIB July, 2000 "This object specifies the default duration that a SIP client will wait for a response to an INVITE request. For proxy servers, if a received request contained an Expires header, then the value in the header takes precedence. The server returns a 408 Request Timeout if no response is received before expiration of the request timer. For user agent clients, this value is inserted into the Expires header." ::= { sipCommonCfgEntry 8 } sipHideOperation OBJECT-TYPE SYNTAX INTEGER { none(1), hop(2), route(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies which type of Hide header the server adds to requests. These headers are normally added by a User Agent, but may be added by a proxy. The value of this object does not affect processing of Hide headers in received requests. The value of this object only applies to requests that do not contain a Hide:route header. none(1) : The server doesn't insert a Hide header. hop(2) : The server inserts a Hide:hop header. route(3) : The server inserts a Hide:route header." REFERENCE "RFC 2543, Section 6.22" DEFVAL { none } ::= { sipCommonCfgEntry 9 } sipUserLocationServerAddr OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-write STATUS current DESCRIPTION "This object will specify the address of the User Location Server (ULS) being used to resolve the location of end points. This could be a Domain Name Server (DNS) or a SIP proxy/redirect server in the case where this entity is a user agent. This could be some sort of database server if this entity is a proxy/redirect server. The format of the address follows the IETF service Lingle/Maeng/Walker 13 Internet Draft SIP-MIB July, 2000 location protocol. The syntax is as follows: mapping-type:type-specific-syntax The mapping-type specifies a scheme for mapping the matching dial string to a target server. The type- specific-syntax is exactly that, something that the particular mapping scheme can understand. For example, Session target Meaning ipv4:171.68.13.55:1006 The session target is the IP version 4 address of 171.68.13.55 and port 1006. dns:pots.cisco.com The session target is the IP host with dns name pots.cisco.com. The valid Mapping type definitions for the peer are as follows: ipv4 - Syntax: ipv4:w.x.y.z:port or ipv4:w.x.y.z dns - Syntax: dns:host.domain." ::= { sipCommonCfgEntry 10 } sipCanUseCompact OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies whether or not the client is able to use the compact encoding form in the requests it sends. If the value of this object is TRUE, the client is able to encode outgoing messages using the compact encoding form. If the value is FALSE, the client is unable to encode outgoing messages using the compact form." REFERENCE "RFC 2543, Section 9" ::= { sipCommonCfgEntry 11 } sipRequestUriHostMatching OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies whether or not the host in RequestURI must match server's host name. If the value of this object is TRUE, then the server requires a match, and if the RequestURI doesn't match the server's host name, a 404 Not Found status code is returned by the server. If the value is FALSE, then no match is required." REFERENCE "RFC 2543, Section 4.3" Lingle/Maeng/Walker 14 Internet Draft SIP-MIB July, 2000 ::= { sipCommonCfgEntry 12 } -- -- Support for multiple ports -- sipPortTable OBJECT-TYPE SYNTAX SEQUENCE OF SipPortEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the list of ports that each SIP entity in this system is allowed to use. These ports can be advertised using the Contact header in a REGISTER request or response. The instances of SIP entities are uniquely identified by applIndex." ::= { sipCommonCfg 2 } sipPortEntry OBJECT-TYPE SYNTAX SipPortEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Specification of a particular port." INDEX { applIndex, sipPort } ::= { sipPortTable 1 } SipPortEntry ::= SEQUENCE { sipPort INTEGER, sipTransport INTEGER, sipPortStatus RowStatus } sipPort OBJECT-TYPE SYNTAX INTEGER (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object reflects a particular port that can be used by the SIP application." ::= { sipPortEntry 1 } sipTransport OBJECT-TYPE SYNTAX INTEGER { udp(1), tcp(2), udpAndTcp(3) } MAX-ACCESS read-create STATUS current DESCRIPTION "This object will specify the transport protocol the SIP application will use to receive SIP messages. Lingle/Maeng/Walker 15 Internet Draft SIP-MIB July, 2000 udp(1) : Use User Datagram Protocol. tcp(2) : Use Transmission Control Protocol. udpAndTcp(3) : Use both UDP and TCP." ::= { sipPortEntry 2 } sipPortStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The row status of the entry. This object is required to create or delete rows remotely by a manager. The row associated with port 5060 need not be created and cannot be deleted. It is always present in the table." ::= { sipPortEntry 3 } -- -- Support for multiple non-SIP URIs -- sipUriSupportedTable OBJECT-TYPE SYNTAX SEQUENCE OF SipUriSupportedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains a list of URIs supported by each SIP entity in this system. These are in addition to the SIP URL which must necessarily be supported. Normally the list of URIs supported by an entity is static (i.e. will not change over time). A URI is a Uniform Resource Identifier (as defined in RFC 2396). URIs could, for example, contain URLs for phones, fax, or irc if they were defined) or a mailto: (RFC 2368) URL. The instances of SIP entities are uniquely identified by applIndex." REFERENCE "RFC 2543, Section 6.13" ::= { sipCommonCfg 3 } sipUriSupportedEntry OBJECT-TYPE SYNTAX SipUriSupportedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A particular non-SIP URI supported by the SIP entity." INDEX { applIndex, sipUriSupportedIndex } ::= { sipUriSupportedTable 1 } SipUriSupportedEntry ::= SEQUENCE { Lingle/Maeng/Walker 16 Internet Draft SIP-MIB July, 2000 sipUriSupportedIndex Unsigned32, sipUriSupported SnmpAdminString } sipUriSupportedIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object uniquely identifies a conceptual row in the table." ::= { sipUriSupportedEntry 1 } sipUriSupported OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates a particular non-SIP URI supported by the SIP entity. Only the scheme itself (as described in RFC 2396) is indicated. For example, if the mailto: URLs are supported,then the table entry contains 'mailto' without the colon." REFERENCE "RFC 2396 section 3" ::= { sipUriSupportedEntry 2 } -- -- Support for features which may be requested in Proxy-Require -- and Require headers -- sipFtrSupportedTable OBJECT-TYPE SYNTAX SEQUENCE OF SipFtrSupportedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains a list of the non-standard features supported by each SIP entity in this system, and which may be required by a peer. Definition of such features is outside the scope of SIP, which only provides mechanisms whereby support for specific features may be signalled or requested. For example, a user agent client may require that a server support the 'com.example.billing' feature, which it would indicate in a Require header. Such a client would have a row in its sipFtrSupportedTable containing the string 'com.example.billing'. Similarly, a server which is capable of handling requests for such features would list the string in its sipFtrSupportedTable. If a server does not support the required feature (indicated in a Require header to a UAS, or in a Proxy- Require to a proxy server), the server returns a 420 Bad Lingle/Maeng/Walker 17 Internet Draft SIP-MIB July, 2000 Extension listing the feature in an Unsupported header. Normally the list of such features supported by an entity is static (i.e. will not change over time). The instances of SIP entities are uniquely identified by applIndex." REFERENCE "RFC 2543, Sections 6.28, 6.30, and 6.38" ::= { sipCommonCfg 4 } sipFtrSupportedEntry OBJECT-TYPE SYNTAX SipFtrSupportedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A particular non-standard feature supported by the SIP entity, and which may be required by a peer." INDEX { applIndex, sipFtrSupportedIndex } ::= { sipFtrSupportedTable 1 } SipFtrSupportedEntry ::= SEQUENCE { sipFtrSupportedIndex Unsigned32, sipFtrSupported SnmpAdminString } sipFtrSupportedIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object uniquely identifies a conceptual row in the table." ::= { sipFtrSupportedEntry 1 } sipFtrSupported OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates a particular non-standard feature which is supported by the SIP entity." ::= { sipFtrSupportedEntry 2 } -- -- Common Statistics Objects -- -- -- Summary Statistics -- Lingle/Maeng/Walker 18 Internet Draft SIP-MIB July, 2000 sipSummaryStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF SipSummaryStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the summary statistics objects applicable to all SIP entities. Each row represents those objects for a particular SIP entity present in this system. The instances of SIP entities are uniquely identified by applIndex." ::= { sipCommonStatsSummary 1 } sipSummaryStatsEntry OBJECT-TYPE SYNTAX SipSummaryStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of summary statistics." INDEX { applIndex } ::= { sipSummaryStatsTable 1 } SipSummaryStatsEntry ::= SEQUENCE { sipSummaryInRequests Counter32, sipSummaryOutRequests Counter32, sipSummaryInResponses Counter32, sipSummaryOutResponses Counter32, sipSummaryTotalTransactions Counter32 } sipSummaryInRequests OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the total number of SIP request messages received by the SIP entity including retransmissions." ::= { sipSummaryStatsEntry 1 } sipSummaryOutRequests OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the total number of SIP request messages sent out (originated and relayed) by the SIP entity. Where a particular message is sent more than once, for example as a retransmission, or as a result of forking, each transmission is counted separately." ::= { sipSummaryStatsEntry 2 } sipSummaryInResponses OBJECT-TYPE Lingle/Maeng/Walker 19 Internet Draft SIP-MIB July, 2000 SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the total number of SIP response messages received by the SIP entity including retransmissions." ::= { sipSummaryStatsEntry 3 } sipSummaryOutResponses OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the total number of SIP response messages sent (originated and relayed) by the SIP entity including retransmissions." ::= { sipSummaryStatsEntry 4 } sipSummaryTotalTransactions OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains a count of the number of transactions completed or in progress. A SIP transaction occurs between a client and a server and comprises all messages from the first request sent from the client to the server up to a final (non-1xx) response sent from the server to the client. A transaction is identified by the CSeq sequence number within a single call leg. The ACK request has the same CSeq number as the corresponding INVITE request, but comprises a transaction of its own. In the case of a forked request, all branches count as a single transaction." ::= { sipSummaryStatsEntry 5 } -- -- SIP Method Statistics -- Total counts for each SIP method. -- sipMethodStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF SipMethodStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the per method statistics objects applicable to all SIP entities. Each row represents those objects for a particular SIP entity present in Lingle/Maeng/Walker 20 Internet Draft SIP-MIB July, 2000 this system. The instances of SIP entities are uniquely identified by applIndex." ::= { sipCommonStatsMethod 1 } sipMethodStatsEntry OBJECT-TYPE SYNTAX SipMethodStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of per method statistics." INDEX { applIndex } ::= { sipMethodStatsTable 1 } SipMethodStatsEntry ::= SEQUENCE { sipStatsInviteIns Counter32, sipStatsInviteOuts Counter32, sipStatsAckIns Counter32, sipStatsAckOuts Counter32, sipStatsByeIns Counter32, sipStatsByeOuts Counter32, sipStatsCancelIns Counter32, sipStatsCancelOuts Counter32, sipStatsOptionsIns Counter32, sipStatsOptionsOuts Counter32, sipStatsRegisterIns Counter32, sipStatsRegisterOuts Counter32 } sipStatsInviteIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of INVITE requests received by the SIP entity." REFERENCE "RFC 2543, Section 4.2.1" ::= { sipMethodStatsEntry 1 } sipStatsInviteOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of INVITE requests sent by the SIP entity." REFERENCE "RFC 2543, Section 4.2.1" ::= { sipMethodStatsEntry 2 } sipStatsAckIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only Lingle/Maeng/Walker 21 Internet Draft SIP-MIB July, 2000 STATUS current DESCRIPTION "This object reflects the total number of ACK requests received by the SIP entity." REFERENCE "RFC 2543, Section 4.2.2" ::= { sipMethodStatsEntry 3 } sipStatsAckOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of ACK requests sent by the SIP entity." REFERENCE "RFC 2543, Section 4.2.2" ::= { sipMethodStatsEntry 4 } sipStatsByeIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of BYE requests received by the SIP entity." REFERENCE "RFC 2543, Section 4.2.4" ::= { sipMethodStatsEntry 5 } sipStatsByeOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of BYE requests sent by the SIP entity." REFERENCE "RFC 2543, Section 4.2.4" ::= { sipMethodStatsEntry 6 } sipStatsCancelIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of CANCEL requests received by the SIP entity." REFERENCE "RFC 2543, Section 4.2.5" ::= { sipMethodStatsEntry 7 } sipStatsCancelOuts OBJECT-TYPE SYNTAX Counter32 Lingle/Maeng/Walker 22 Internet Draft SIP-MIB July, 2000 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of CANCEL requests sent by the SIP entity." REFERENCE "RFC 2543, Section 4.2.5" ::= { sipMethodStatsEntry 8 } sipStatsOptionsIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of OPTIONS requests received by the SIP entity." REFERENCE "RFC 2543, Section 4.2.3" ::= { sipMethodStatsEntry 9 } sipStatsOptionsOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of OPTIONS requests sent by the SIP entity." REFERENCE "RFC 2543, Section 4.2.3" ::= { sipMethodStatsEntry 10 } sipStatsRegisterIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of REGISTER requests received by the SIP entity." REFERENCE "RFC 2543, Section 4.2.6" ::= { sipMethodStatsEntry 11 } sipStatsRegisterOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of REGISTER requests sent by the SIP entity." REFERENCE "RFC 2543, Section 4.2.6" ::= { sipMethodStatsEntry 12 } -- Lingle/Maeng/Walker 23 Internet Draft SIP-MIB July, 2000 -- support for extension methods -- sipStatsExtMethodTable OBJECT-TYPE SYNTAX SEQUENCE OF SipStatsExtMethodEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the list of extension methods which each SIP entity in this system has been requested to monitor. The instances of SIP entities are uniquely identified by applIndex." ::= { sipCommonStatsMethod 2 } sipStatsExtMethodEntry OBJECT-TYPE SYNTAX SipStatsExtMethodEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This row contains information on a particular extension method that the SIP entity has been requested to monitor." INDEX { applIndex, sipStatsExtMethodIndex } ::= { sipStatsExtMethodTable 1 } SipStatsExtMethodEntry ::= SEQUENCE { sipStatsExtMethodIndex Unsigned32, sipStatsExtMethodName SnmpAdminString, sipStatsExtMethodIns Counter32, sipStatsExtMethodOuts Counter32, sipStatsExtMethodStatus RowStatus } sipStatsExtMethodIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object uniquely identifies a conceptual row in the table." ::= { sipStatsExtMethodEntry 1 } sipStatsExtMethodName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION "This object contains the name of the particular extension method that the SIP entity has been requested to monitor. For example, it may contain the string 'INFO' if the network management station has requested that the SIP entity count the number of messages sent an received which containing an INFO method. It is an error for any of the methods contained in RFC 2543 to be requested." Lingle/Maeng/Walker 24 Internet Draft SIP-MIB July, 2000 ::= { sipStatsExtMethodEntry 2 } sipStatsExtMethodIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of requests received by the SIP entity which requested the method contained in the sipStatsExtMethodName column." ::= { sipStatsExtMethodEntry 3 } sipStatsExtMethodOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of requests sent by the SIP entity which requested the method contained in the sipStatsExtMethodName column." ::= { sipStatsExtMethodEntry 4 } sipStatsExtMethodStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The row status of the entry. This object is required to create or delete rows remotely by a manager." ::= { sipStatsExtMethodEntry 5 } -- -- SIP Response Status Codes -- sipStatusCodesTable OBJECT-TYPE SYNTAX SEQUENCE OF SipStatusCodesEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains statistics on response status code classes for each SIP entity in this system. The instances of SIP entities are uniquely identified by applIndex." ::= { sipCommonStatusCode 1 } sipStatusCodesEntry OBJECT-TYPE SYNTAX SipStatusCodesEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This row contains statistics on response status codes." INDEX { applIndex } ::= { sipStatusCodesTable 1 } Lingle/Maeng/Walker 25 Internet Draft SIP-MIB July, 2000 SipStatusCodesEntry ::= SEQUENCE { sipStatsInfoClassIns Counter32, sipStatsInfoClassOuts Counter32, sipStatsSuccessClassIns Counter32, sipStatsSuccessClassOuts Counter32, sipStatsRedirClassIns Counter32, sipStatsRedirClassOuts Counter32, sipStatsReqFailClassIns Counter32, sipStatsReqFailClassOuts Counter32, sipStatsServerFailClassIns Counter32, sipStatsServerFailClassOuts Counter32, sipStatsGlobalFailClassIns Counter32, sipStatsGlobalFailClassOuts Counter32 } sipStatsInfoClassIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 1xx class SIP responses received by the SIP entity. This class of responses relates to providing some information concerning the progress of processing a SIP request." REFERENCE "RFC 2543, Sections 5.1.1 & 7.1" ::= { sipStatusCodesEntry 1 } sipStatsInfoClassOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 1xx class SIP responses sent by the SIP entity. This class of responses relates to providing some information concerning the progress of processing a SIP request." REFERENCE "RFC 2543, Sections 5.1.1 & 7.1" ::= { sipStatusCodesEntry 2 } sipStatsSuccessClassIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 2xx class SIP responses received by the SIP entity. This class of responses relate to successful completion of a SIP request." REFERENCE Lingle/Maeng/Walker 26 Internet Draft SIP-MIB July, 2000 "RFC 2543, Sections 5.1.1 & 7.2" ::= { sipStatusCodesEntry 3 } sipStatsSuccessClassOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 2xx class SIP responses sent by the SIP entity. This class of responses relate to successful completion of a SIP request." REFERENCE "RFC 2543, Sections 5.1.1 & 7.2" ::= { sipStatusCodesEntry 4 } sipStatsRedirClassIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 3xx class SIP responses received by the SIP entity. This class of responses relate to call redirection actions taken by a Redirect Server." REFERENCE "RFC 2543, Sections 5.1.1 & 7.3" ::= { sipStatusCodesEntry 5 } sipStatsRedirClassOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 3xx class SIP responses sent by the SIP entity. This class of responses relate to call redirection actions taken by a Redirect Server." REFERENCE "RFC 2543, Sections 5.1.1 & 7.3" ::= { sipStatusCodesEntry 6 } sipStatsReqFailClassIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 4xx class SIP responses received by the SIP entity. This class of responses reflect request failure by a SIP entity providing a client function." REFERENCE "RFC 2543, Sections 5.1.1 & 7.4" ::= { sipStatusCodesEntry 7 } Lingle/Maeng/Walker 27 Internet Draft SIP-MIB July, 2000 sipStatsReqFailClassOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 4xx class SIP responses sent by the SIP entity. This class of responses reflect request failure by a SIP entity providing a server function." REFERENCE "RFC 2543, Sections 5.1.1 & 7.4" ::= { sipStatusCodesEntry 8 } sipStatsServerFailClassIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 5xx class SIP responses received by the SIP entity. This class of responses reflect failure responses received by a SIP entity providing a client function. These responses are not definite failures and must not terminate a search if other possible locations remain untried." REFERENCE "RFC 2543, Sections 5.1.1 & 7.5" ::= { sipStatusCodesEntry 9 } sipStatsServerFailClassOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 5xx class SIP responses sent by the SIP entity. This class of responses reflect failure responses sent by a SIP entity providing a server function. These responses are not definite failures and must not terminate a search if other possible locations remain untried." REFERENCE "RFC 2543, Sections 5.1.1 & 7.5" ::= { sipStatusCodesEntry 10 } sipStatsGlobalFailClassIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 6xx class SIP responses received by the SIP entity. This class of responses reflect failure responses received by a Lingle/Maeng/Walker 28 Internet Draft SIP-MIB July, 2000 SIP entity providing a client function. The responses generally indicate that a server has definitive information about a particular called party, not just the particular instance indicated in the Request-URI. All further searches for this user are doomed to failure and pending searches should be terminated." REFERENCE "RFC 2543, Sections 5.1.1 & 7.6" ::= { sipStatusCodesEntry 11 } sipStatsGlobalFailClassOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 6xx class SIP responses sent by the SIP entity. This class of responses reflect failure responses sent by a SIP entity providing a server function. The responses generally indicate that a server has definitive information about a particular called party, not just the particular instance indicated in the Request-URI. All further searches for this user are doomed to failure and pending searches should be terminated." REFERENCE "RFC 2543, Sections 5.1.1 & 7.6" ::= { sipStatusCodesEntry 12 } -- -- support for specific status codes -- sipCommonStatusCodeTable OBJECT-TYPE SYNTAX SEQUENCE OF SipCommonStatusCodeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the list of SIP status codes which each SIP entity in this system has been requested to monitor. The instances of SIP entities are uniquely identified by applIndex." ::= { sipCommonStatusCode 2 } sipCommonStatusCodeEntry OBJECT-TYPE SYNTAX SipCommonStatusCodeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This row contains information on a particular SIP status code that the SIP entity has been requested to monitor." Lingle/Maeng/Walker 29 Internet Draft SIP-MIB July, 2000 INDEX { applIndex, sipCommonStatusCodeValue } ::= { sipCommonStatusCodeTable 1 } SipCommonStatusCodeEntry ::= SEQUENCE { sipCommonStatusCodeValue INTEGER, sipCommonStatusCodeIns Counter32, sipCommonStatusCodeOuts Counter32, sipCommonStatusCodeSendNotif TruthValue, sipCommonStatusCodeStatus RowStatus } sipCommonStatusCodeValue OBJECT-TYPE SYNTAX INTEGER (100..999) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object contains a SIP status code value that the SIP entity has been requested to monitor. All of the other information in the row is related to this value." ::= { sipCommonStatusCodeEntry 1 } sipCommonStatusCodeIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of response messages received by the SIP entity with the status code value contained in the sipCommonStatusCodeValue column." ::= { sipCommonStatusCodeEntry 2 } sipCommonStatusCodeOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of response messages sent by the SIP entity with the status code value contained in the sipCommonStatusCodeValue column." ::= { sipCommonStatusCodeEntry 3 } sipCommonStatusCodeSendNotif OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "This object controls whether a notification is sent when the status code value specified in the sipCommonStatusCodeValue column is sent or received. If the value of this object is TRUE, then a notification is sent. If it is FALSE, no notification is sent." DEFVAL { false } ::= { sipCommonStatusCodeEntry 4 } Lingle/Maeng/Walker 30 Internet Draft SIP-MIB July, 2000 sipCommonStatusCodeStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The row status of the entry. This object is required to create or delete rows remotely by a manager." ::= { sipCommonStatusCodeEntry 5 } -- -- Transaction Statistics -- sipCurrentTransTable OBJECT-TYPE SYNTAX SEQUENCE OF SipCurrentTransEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains information on the transactions currently awaiting definitive responses by each SIP entity in this system. The instances of SIP entities are uniquely identified by applIndex." ::= { sipCommonStatsTrans 1 } sipCurrentTransEntry OBJECT-TYPE SYNTAX SipCurrentTransEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information on a particular SIP entities' current transactions." INDEX { applIndex } ::= { sipCurrentTransTable 1 } SipCurrentTransEntry ::= SEQUENCE { sipCurrentTransactions Gauge32 } sipCurrentTransactions OBJECT-TYPE SYNTAX Gauge32 (0..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the number of transactions awaiting definitive (non-1xx) response. In the case of a forked request, all branches count as a single transaction. The value of this object will reflect the number of rows in sipTransactionTable." ::= { sipCurrentTransEntry 1 } sipTransactionTable OBJECT-TYPE Lingle/Maeng/Walker 31 Internet Draft SIP-MIB July, 2000 SYNTAX SEQUENCE OF SipTransactionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains information on all of the transactions currently being processed (the count of such transactions is maintained in the sipCurrentTransactions object) by a particular SIP entity in this system. The instances of SIP entities are uniquely identified by applIndex." ::= { sipCommonStatsTrans 2 } sipTransactionEntry OBJECT-TYPE SYNTAX SipTransactionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information on a particular current transaction." INDEX { applIndex, sipTransIndex } ::= { sipTransactionTable 1 } SipTransactionEntry ::= SEQUENCE { sipTransIndex Unsigned32, sipTransTo SnmpAdminString, sipTransFrom SnmpAdminString, sipTransCallId SnmpAdminString, sipTransCSeq Unsigned32, sipTransState INTEGER, sipTransNumOutstandingBranches Integer32, sipTransExpiry DateAndTime, sipTransCallingPartyContentType SnmpAdminString, sipTransCalledPartyContentType SnmpAdminString } sipTransIndex OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object uniquely identifies a conceptual row in the table." ::= { sipTransactionEntry 1 } sipTransTo OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the value of the To header in request message." ::= { sipTransactionEntry 2 } sipTransFrom OBJECT-TYPE SYNTAX SnmpAdminString Lingle/Maeng/Walker 32 Internet Draft SIP-MIB July, 2000 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the value of the From header in the request message." ::= { sipTransactionEntry 3 } sipTransCallId OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the value of the CallId value in the request message." ::= { sipTransactionEntry 4 } sipTransCSeq OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the CSeq value for the current transaction." ::= { sipTransactionEntry 5 } sipTransState OBJECT-TYPE SYNTAX INTEGER { null(1), initial(2), calling(3), ringing(4), completed(5), callProceeding(6), failure(7), success(8), confirmed(9) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the current state of the SIP transaction. null(1) : The SIP entity is not active. initial(2) : Prior to sending or receiving any request. calling(3) : After sending the request and prior to receiving any response. ringing(4) : After receiving one or more informational (1xx) responses. completed(5) : After ACK has been sent following reception of definitive response. callProceeding(6) : Entered on reception of an INVITE. failure(7) : Entered when call fails(send status Lingle/Maeng/Walker 33 Internet Draft SIP-MIB July, 2000 code>=300). success(8) : Entered when user answers(send status code=200). confirmed(9) : Entered on reception of an ACK in failure or success states." REFERENCE "RFC 2543, Figures 12 and 13" ::= { sipTransactionEntry 6 } sipTransNumOutstandingBranches OBJECT-TYPE SYNTAX Integer32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains a count of the number of branches awaiting a final response. Only a forking proxy will have a value greater than one." ::= { sipTransactionEntry 7 } sipTransExpiry OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an indication of when the transaction will be considered to have timed out. This value is based on the value in the Expires header, or the value of the sipInviteTimeout object if no Expires value was specified in the original request." ::= { sipTransactionEntry 8 } sipTransCallingPartyContentType OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the content type of the transaction, including parameters, as indicated by the session initiator. All optional white space is removed from subfields in the media-type specification. It may indicate mime multipart, in which case the multiple entries are separated by spaces." REFERENCE "RFC 2543, Section 6.16 and RFC 2068 section 3.7" ::= { sipTransactionEntry 9 } sipTransCalledPartyContentType OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the content type of the transaction, including parameters, as indicated by the session respondant. All optional white space is removed from Lingle/Maeng/Walker 34 Internet Draft SIP-MIB July, 2000 subfields in the media-type specification. It may indicate mime multipart, in which case the multiple entries are separated by spaces." REFERENCE "RFC 2543, Section 6.16 and RFC 2068, Section 3.7" ::= { sipTransactionEntry 10 } -- -- Other Common Statistics -- sipOtherStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF SipOtherStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains other common statistics supported by each SIP entity in this system. The instances of SIP entities are uniquely identified by applIndex." ::= { sipCommonStats 5 } sipOtherStatsEntry OBJECT-TYPE SYNTAX SipOtherStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information on a particular SIP entities' other common statistics." INDEX { applIndex } ::= { sipOtherStatsTable 1 } SipOtherStatsEntry ::= SEQUENCE { sipNumUnsupportedUris Counter32 } sipNumUnsupportedUris OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of RequestURIs received with unsupported scheme. A server normally responds to such requests with a 400 Bad Request status code." ::= { sipOtherStatsEntry 5 } -- -- Notifications -- sipCommonMIBNotifPrefix OBJECT IDENTIFIER ::= { sipCommonMIB 7 } sipCommonMIBNotif OBJECT IDENTIFIER ::= { sipCommonMIBNotifPrefix 0 } Lingle/Maeng/Walker 35 Internet Draft SIP-MIB July, 2000 sipStatusCodeNotif NOTIFICATION-TYPE OBJECTS { sipStatusCodeNotifValue, sipStatusCodeNotifTo, sipStatusCodeNotifFrom, sipStatusCodeNotifCallId, sipStatusCodeNotifCSeq } STATUS current DESCRIPTION "Signifies that a specific status code has been used." ::= { sipCommonMIBNotif 1 } sipStatusCodeNotifValue OBJECT-TYPE SYNTAX INTEGER (100..999) MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "This object contains the status code that caused the notification." ::= { sipCommonMIBNotif 2 } sipStatusCodeNotifTo OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "This object contains the value of the To header in the message containing the status code that caused the notification." ::= { sipCommonMIBNotif 3 } sipStatusCodeNotifFrom OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "This object contains the value of the From header in the message containing the status code that caused the notification." ::= { sipCommonMIBNotif 4 } sipStatusCodeNotifCallId OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "This object contains the value of the CallId in the message containing the status code that caused the notification." ::= { sipCommonMIBNotif 5 } sipStatusCodeNotifCSeq OBJECT-TYPE SYNTAX Unsigned32 Lingle/Maeng/Walker 36 Internet Draft SIP-MIB July, 2000 MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "This object contains the CSeq value in the message containing the status code that caused the notification." ::= { sipCommonMIBNotif 6 } -- -- Conformance -- sipCommonMIBConformance OBJECT IDENTIFIER ::= { sipCommonMIB 6 } sipCommonMIBCompliances OBJECT IDENTIFIER ::= { sipCommonMIBConformance 1 } sipCommonMIBGroups OBJECT IDENTIFIER ::= { sipCommonMIBConformance 2 } -- -- Compliance Statements -- sipCommonCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SIP entities." MODULE -- this module MANDATORY-GROUPS { sipCommonConfigGroup, sipCommonStatsGroup, sipCommonNotifGroup } ::= { sipCommonMIBCompliances 1 } -- -- Units of Conformance -- sipCommonConfigGroup OBJECT-GROUP OBJECTS { sipProtocolVersion, sipServiceOperStatus, sipServiceAdminStatus, sipServiceStartTime, sipServiceLastChange, sipTransport, sipPortStatus, sipUriSupported, sipFtrSupported, sipOrganization, sipMaxTransactions, sipInviteTimeout, sipHideOperation, sipUserLocationServerAddr, Lingle/Maeng/Walker 37 Internet Draft SIP-MIB July, 2000 sipCanUseCompact, sipRequestUriHostMatching, sipStatusCodeNotifValue, sipStatusCodeNotifTo, sipStatusCodeNotifFrom, sipStatusCodeNotifCallId, sipStatusCodeNotifCSeq } STATUS current DESCRIPTION "A collection of objects providing configuration common to all SIP enities." ::= { sipCommonMIBGroups 1 } sipCommonStatsGroup OBJECT-GROUP OBJECTS { sipSummaryInRequests, sipSummaryOutRequests, sipSummaryInResponses, sipSummaryOutResponses, sipSummaryTotalTransactions, sipStatsInviteIns, sipStatsInviteOuts, sipStatsAckIns, sipStatsAckOuts, sipStatsByeIns, sipStatsByeOuts, sipStatsCancelIns, sipStatsCancelOuts, sipStatsOptionsIns, sipStatsOptionsOuts, sipStatsRegisterIns, sipStatsRegisterOuts, sipStatsExtMethodName, sipStatsExtMethodIns, sipStatsExtMethodOuts, sipStatsExtMethodStatus, sipStatsInfoClassIns, sipStatsInfoClassOuts, sipStatsSuccessClassIns, sipStatsSuccessClassOuts, sipStatsRedirClassIns, sipStatsRedirClassOuts, sipStatsReqFailClassIns, sipStatsReqFailClassOuts, sipStatsServerFailClassIns, sipStatsServerFailClassOuts, sipStatsGlobalFailClassIns, sipStatsGlobalFailClassOuts, sipCommonStatusCodeIns, sipCommonStatusCodeOuts, sipCommonStatusCodeSendNotif, sipCommonStatusCodeStatus, sipCurrentTransactions, Lingle/Maeng/Walker 38 Internet Draft SIP-MIB July, 2000 sipTransTo, sipTransFrom, sipTransCallId, sipTransCSeq, sipTransState, sipTransNumOutstandingBranches, sipTransExpiry, sipTransCallingPartyContentType, sipTransCalledPartyContentType, sipNumUnsupportedUris } STATUS current DESCRIPTION "A collection of objects providing statistics common toall SIP entities." ::= { sipCommonMIBGroups 2 } sipCommonNotifGroup NOTIFICATION-GROUP NOTIFICATIONS { sipStatusCodeNotif } STATUS current DESCRIPTION "A collection of notifications common to all SIP entities." ::= { sipCommonMIBGroups 3 } END 5.4. SIP User Agent SIP-UA-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Counter32, Integer32 FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF sipMIB FROM SIP-MIB-SMI applIndex FROM NETWORK-SERVICES-MIB; sipUAMIB MODULE-IDENTITY LAST-UPDATED "200007080000Z" Lingle/Maeng/Walker 39 Internet Draft SIP-MIB July, 2000 ORGANIZATION "IETF SIP Working Group, SIP MIB Team" CONTACT-INFO "SIP MIB Team email: sip-mib@egroups.com Co-editor Kevin Lingle Cisco Systems, Inc. postal: 7025 Kit Creek Road P.O. Box 14987 Research Triangle Park, NC 27709 USA email: klingle@cisco.com phone: +1-919-392-2029 Co-editor Joon Maeng VTEL Corporation postal: 108 Wild Basin Rd. Austin, TX 78746 USA email: joon_maeng@vtel.com phone: +1-512-437-4567 Co-editor Dave Walker SS8 Networks, Inc. postal: 80 Hines Road Kanata, ON K2K 2T8 Canada email: drwalker@ss8networks.com phone: +1 613 592 2100" DESCRIPTION "Initial version of Session Initiation Protocol (SIP) User Agent (UA) MIB module. SIP is an application-layer signalling protocol for creating, modifying and terminating multimedia sessions with one or more participants. These sessions include Internet multimedia conferences and Internet telephone calls. SIP is defined in RFC 2543 (March 1999). A User Agent is an application that contains both a User Agent Client (UAC) and a User Agent Server (UAS). A UAC is an application that initiates a SIP request. A UAS is an application that contacts the user when a SIP request is received and that returns a response on behalf of the user. The response accepts, rejects, or redirects the request." ::= { sipMIB 3 } -- -- sipUA group -- This group contains MIB objects related to SIP User Agents. -- sipUACfg OBJECT IDENTIFIER ::= { sipUAMIB 1 } Lingle/Maeng/Walker 40 Internet Draft SIP-MIB July, 2000 sipUACfgTimer OBJECT IDENTIFIER ::= { sipUACfg 1 } sipUACfgRetry OBJECT IDENTIFIER ::= { sipUACfg 2 } sipUAStats OBJECT IDENTIFIER ::= { sipUAMIB 2 } sipUAStatsRetry OBJECT IDENTIFIER ::= { sipUAStats 1 } -- -- User Agent Configuration -- -- -- SIP Timer Configuration -- sipUACfgTimerTable OBJECT-TYPE SYNTAX SEQUENCE OF SipUACfgTimerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains timer configuration objects applicable to each SIP user agent in this system. The instances of SIP entities are uniquely identified by applIndex." ::= { sipUACfgTimer 1 } sipUACfgTimerEntry OBJECT-TYPE SYNTAX SipUACfgTimerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of timer configuration." INDEX { applIndex } ::= { sipUACfgTimerTable 1 } SipUACfgTimerEntry ::= SEQUENCE { sipUACfgTimerTrying Integer32, sipUACfgTimerProv Integer32, sipUACfgTimerAck Integer32, sipUACfgTimerDisconnect Integer32, sipUACfgTimerReRegister Integer32 } sipUACfgTimerTrying OBJECT-TYPE SYNTAX Integer32 (100..1000) UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the time a user agent will wait to receive a provisional response to an INVITE before resending the INVITE." ::= { sipUACfgTimerEntry 1 } sipUACfgTimerProv OBJECT-TYPE SYNTAX Integer32 (60000..300000) Lingle/Maeng/Walker 41 Internet Draft SIP-MIB July, 2000 UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the time a user agent will wait to receive a final response to an INVITE before canceling the transaction." ::= { sipUACfgTimerEntry 2 } sipUACfgTimerAck OBJECT-TYPE SYNTAX Integer32 (100..1000) UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the time a user agent will wait to receive an ACK confirmation indicating that a session is established." ::= { sipUACfgTimerEntry 3 } sipUACfgTimerDisconnect OBJECT-TYPE SYNTAX Integer32 (100..1000) UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the time a user agent will wait to receive a BYE confirmation indicating that a session is disconnected." ::= { sipUACfgTimerEntry 4 } sipUACfgTimerReRegister OBJECT-TYPE SYNTAX Integer32 (1..2147483647) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies how long the user agent wishes its registrations to be valid." ::= { sipUACfgTimerEntry 5 } -- -- SIP Retry Configuration -- sipUACfgRetryTable OBJECT-TYPE SYNTAX SEQUENCE OF SipUACfgRetryEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains retry configuration objects applicable to each SIP user agent in this system. The instances of SIP entities are uniquely identified by applIndex." ::= { sipUACfgRetry 1 } Lingle/Maeng/Walker 42 Internet Draft SIP-MIB July, 2000 sipUACfgRetryEntry OBJECT-TYPE SYNTAX SipUACfgRetryEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of retry configuration." INDEX { applIndex } ::= { sipUACfgRetryTable 1 } SipUACfgRetryEntry ::= SEQUENCE { sipUACfgRetryInvite Integer32, sipUACfgRetryBye Integer32, sipUACfgRetryCancel Integer32, sipUACfgRetryRegister Integer32, sipUACfgRetryResponse Integer32 } sipUACfgRetryInvite OBJECT-TYPE SYNTAX Integer32 (1..10) MAX-ACCESS read-write STATUS current DESCRIPTION "This object will specify the number of times a user agent will retry sending an INVITE request." ::= { sipUACfgRetryEntry 1 } sipUACfgRetryBye OBJECT-TYPE SYNTAX Integer32 (1..10) MAX-ACCESS read-write STATUS current DESCRIPTION "This object will specify the number of times a user agent will retry sending a BYE request." ::= { sipUACfgRetryEntry 2 } sipUACfgRetryCancel OBJECT-TYPE SYNTAX Integer32 (1..10) MAX-ACCESS read-write STATUS current DESCRIPTION "This object will specify the number of times a user agent will retry sending a CANCEL request." ::= { sipUACfgRetryEntry 3 } sipUACfgRetryRegister OBJECT-TYPE SYNTAX Integer32 (1..10) MAX-ACCESS read-write STATUS current DESCRIPTION "This object will specify the number of times a user agent will retry sending a REGISTER request." ::= { sipUACfgRetryEntry 4 } Lingle/Maeng/Walker 43 Internet Draft SIP-MIB July, 2000 sipUACfgRetryResponse OBJECT-TYPE SYNTAX Integer32 (1..10) MAX-ACCESS read-write STATUS current DESCRIPTION "This object will specify the number of times a user agent will retry sending a Response and expecting an ACK." ::= { sipUACfgRetryEntry 5 } -- -- User Agent Statistics -- -- -- SIP Retry Statistics -- -- The counter objects in this group correspond directly to the -- retry timers supported in sipCfgRetry group. applIndex can -- be used to correlate the two groups. -- -- sipUAStatsRetryTable OBJECT-TYPE SYNTAX SEQUENCE OF SipUAStatsRetryEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains retry statistics objects applicable to each SIP user agent in this system. The instances of SIP entities are uniquely identified by applIndex." ::= { sipUAStatsRetry 1 } sipUAStatsRetryEntry OBJECT-TYPE SYNTAX SipUAStatsRetryEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of retry statistics." INDEX { applIndex } ::= { sipUAStatsRetryTable 1 } SipUAStatsRetryEntry ::= SEQUENCE { sipStatsRetryInvites Counter32, sipStatsRetryByes Counter32, sipStatsRetryCancels Counter32, sipStatsRetryRegisters Counter32, sipStatsRetryResponses Counter32 } sipStatsRetryInvites OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only Lingle/Maeng/Walker 44 Internet Draft SIP-MIB July, 2000 STATUS current DESCRIPTION "This object reflects the total number of INVITE retries that have been sent by the user agent. If the number of 'first attempt' INVITES is of interest, subtract the value of this object from sipStatsTrafficInviteOut." ::= { sipUAStatsRetryEntry 1 } sipStatsRetryByes OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of BYE retries that have been sent by the user agent." ::= { sipUAStatsRetryEntry 2 } sipStatsRetryCancels OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of CANCEL retries that have been sent by the user agent." ::= { sipUAStatsRetryEntry 3 } sipStatsRetryRegisters OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of REGISTER retries that have been sent by the user agent." ::= { sipUAStatsRetryEntry 4 } sipStatsRetryResponses OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of Response (while expecting an ACK) retries that have been sent by the user agent." ::= { sipUAStatsRetryEntry 5 } -- -- Notifications -- sipUAMIBNotif OBJECT IDENTIFIER ::= { sipUAMIB 3 } -- none at this time Lingle/Maeng/Walker 45 Internet Draft SIP-MIB July, 2000 -- -- Conformance -- sipUAMIBConformance OBJECT IDENTIFIER ::= { sipUAMIB 4 } sipUAMIBCompliances OBJECT IDENTIFIER ::= { sipUAMIBConformance 1 } sipUAMIBGroups OBJECT IDENTIFIER ::= { sipUAMIBConformance 2 } -- -- Compliance Statements -- sipUACompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SIP entities." MODULE -- this module MANDATORY-GROUPS { sipUAConfigGroup, sipUAStatsGroup } -- sipUANotifGroup } ::= { sipUAMIBCompliances 1 } -- -- Units of Conformance -- sipUAConfigGroup OBJECT-GROUP OBJECTS { sipUACfgTimerTrying, sipUACfgTimerProv, sipUACfgTimerAck, sipUACfgTimerDisconnect, sipUACfgTimerReRegister, sipUACfgRetryInvite, sipUACfgRetryBye, sipUACfgRetryCancel, sipUACfgRetryRegister, sipUACfgRetryResponse } STATUS current DESCRIPTION "A collection of objects providing configuration for SIP User Agents." ::= { sipUAMIBGroups 1 } sipUAStatsGroup OBJECT-GROUP OBJECTS { sipStatsRetryInvites, sipStatsRetryByes, sipStatsRetryCancels, Lingle/Maeng/Walker 46 Internet Draft SIP-MIB July, 2000 sipStatsRetryRegisters, sipStatsRetryResponses } STATUS current DESCRIPTION "A collection of objects providing statistics for SIP User Agents." ::= { sipUAMIBGroups 2 } --sipUANotifGroup NOTIFICATION-GROUP -- OBJECTS { -- none at this time -- } -- STATUS current -- DESCRIPTION -- "A collection of notifications defined for SIP User -- Agents." -- ::= { sipMIBGroups 3 } END 5.5. SIP Redirect & Proxy Server SIP-SERVER-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Counter32, Integer32, Unsigned32 FROM SNMPv2-SMI RowStatus, TruthValue FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF SnmpAdminString FROM SNMP-FRAMEWORK-MIB SipServerActions FROM SIP-TC sipMIB FROM SIP-MIB-SMI applIndex FROM NETWORK-SERVICES-MIB; Lingle/Maeng/Walker 47 Internet Draft SIP-MIB July, 2000 sipServerMIB MODULE-IDENTITY LAST-UPDATED "200007080000Z" ORGANIZATION "IETF SIP Working Group, SIP MIB Team" CONTACT-INFO "SIP MIB Team email: sip-mib@egroups.com Co-editor Kevin Lingle Cisco Systems, Inc. postal: 7025 Kit Creek Road P.O. Box 14987 Research Triangle Park, NC 27709 USA email: klingle@cisco.com phone: +1-919-392-2029 Co-editor Joon Maeng VTEL Corporation postal: 108 Wild Basin Rd. Austin, TX 78746 USA email: joon_maeng@vtel.com phone: +1-512-437-4567 Co-editor Dave Walker SS8 Networks, Inc. postal: 80 Hines Road Kanata, ON K2K 2T8 Canada email: drwalker@ss8networks.com phone: +1 613 592 2100" DESCRIPTION "Initial version of Session Initiation Protocol (SIP) Server MIB module. SIP is an application-layer signalling protocol for creating, modifying and terminating multimedia sessions with one or more participants. These sessions include Internet multimedia conferences and Internet telephone calls. SIP is defined in RFC 2543 (March 1999). This MIB is defined for the management of SIP Proxy and Redirect Servers. A Proxy Server acts as both a client and a server. It accepts requests from other clients, either responding to them or passing them on to other servers, possibly after modification. A Redirect Server accepts requests from clients and returns zero or more addresses to that client. Unlike a Proxy server it does not initiate requests. Unlike a User Agent Server it does not accept calls." Lingle/Maeng/Walker 48 Internet Draft SIP-MIB July, 2000 ::= { sipMIB 4 } -- -- sipServer group -- This group contains MIB objects common to Proxy and Redirect -- Servers. -- sipServerCfg OBJECT IDENTIFIER ::= { sipServerMIB 1 } sipServerStats OBJECT IDENTIFIER ::= { sipServerMIB 2 } -- -- Common Server Configuration Objects -- sipServerCfgTable OBJECT-TYPE SYNTAX SEQUENCE OF SipServerCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains configuration objects applicable to SIP redirect and proxy servers. Each row represents those objects for a particular SIP server present in this system. The instances of SIP servers are uniquely identified by applIndex." ::= { sipServerCfg 1 } sipServerCfgEntry OBJECT-TYPE SYNTAX SipServerCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of common configuration." INDEX { applIndex } ::= { sipServerCfgTable 1 } SipServerCfgEntry ::= SEQUENCE { sipServerHost SnmpAdminString, sipInformationAlwaysSendTrying TruthValue, sipInformationTryingInterval Integer32, sipPgpVersion SnmpAdminString, sipServerDfltAction SipServerActions, sipServerRespectUAAction TruthValue } sipServerHost OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-write STATUS current DESCRIPTION "This is the host portion of a SIP URL that is assigned to the SIP server. It may contain a fully qualified domain name, or an IP address (v4 only for now)." REFERENCE Lingle/Maeng/Walker 49 Internet Draft SIP-MIB July, 2000 "RFC 2543, Section 2" ::= { sipServerCfgEntry 1 } -- -- Support for 1xx Status Codes -- sipInformationAlwaysSendTrying OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "If this object is true, the server sends 100 Trying when a request is processed." ::= { sipServerCfgEntry 2 } sipInformationTryingInterval OBJECT-TYPE SYNTAX Integer32 (0..60000) UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "Server sends a 100 Trying at intervals of this duration as counted from when the request was processed. If the value is zero, no such retransmission is performed." ::= { sipServerCfgEntry 3 } -- -- Security -- sipPgpVersion OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the version of PGP (Pretty Good Privacy) supported by this server. Common values are 2.6.2 and 5.0." ::= { sipServerCfgEntry 4 } -- -- Additional Server Configuration -- sipServerDfltAction OBJECT-TYPE SYNTAX SipServerActions MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies whether the default action of the server is to be a proxy server or a redirect server. A User Agent may indicate a preference upon registration of Contact information. The value of this object is used in the absence of such an indication." REFERENCE "RFC 2543, Section 6.13" Lingle/Maeng/Walker 50 Internet Draft SIP-MIB July, 2000 ::= { sipServerCfgEntry 5 } sipServerRespectUAAction OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies whether the server should respect the wishes of a User Agent when the UA specifies a server action (proxy or redirect) for certain Contact information. If the value of this object is false, then the value contained in the sipServerDfltAction is used." REFERENCE "RFC 2543, Section 6.13" ::= { sipServerCfgEntry 6 } -- -- Common Server Statistics -- -- none at this time -- sipProxy group -- This group contains MIB objects related to SIP Proxy Servers. -- sipProxy OBJECT IDENTIFIER ::= { sipServerMIB 3 } sipProxyCfg OBJECT IDENTIFIER ::= { sipProxy 1 } sipProxyStats OBJECT IDENTIFIER ::= { sipProxy 2 } -- -- Proxy Server Configuration -- sipProxyCfgTable OBJECT-TYPE SYNTAX SEQUENCE OF SipProxyCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains configuration objects applicable to SIP proxy servers. Each row represents those objects for a particular SIP proxy server present in this system. The instances of SIP proxy servers are uniquely identified by applIndex." ::= { sipProxyCfg 1 } sipProxyCfgEntry OBJECT-TYPE SYNTAX SipProxyCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of common configuration." INDEX { applIndex } Lingle/Maeng/Walker 51 Internet Draft SIP-MIB July, 2000 ::= { sipProxyCfgTable 1 } SipProxyCfgEntry ::= SEQUENCE { sipRequestMaxExpires Unsigned32, sipProxyStateful TruthValue, sipProxySendsCancel TruthValue, sipProxyForwardAll1xx TruthValue, sipProxyRecursion TruthValue, sipProxyProvideAlternatives TruthValue, sipProxyRecordRoute TruthValue, sipProxyStateTimeout Integer32, sipProxyAuthMethod INTEGER, sipProxyAuthPgpAlgorithm INTEGER, sipProxyAuthRealm SnmpAdminString, sipProxyNonceLifeTime Integer32, sipPgpPrivateKey OCTET STRING(SIZE(0..255)), sipHideRespect TruthValue } sipRequestMaxExpires OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the maximum duration that a SIP proxy server will accept from a client in the Expires header. If a longer duration is contained in the request, the server returns a 400 Bad Request response." ::= { sipProxyCfgEntry 1 } sipProxyStateful OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies whether or not the default for the the proxy server is to operate in stateful mode. When stateful, a proxy remembers the incoming request which generated outgoing requests, and the outgoing requests. A stateless proxy forgets all information once an outgoing request is generated. If the value of this object is TRUE, the proxy defaults to stateful. If FALSE, the proxy defaults to stateless." REFERENCE "RFC 2543, Section 12.3" ::= { sipProxyCfgEntry 2 } Lingle/Maeng/Walker 52 Internet Draft SIP-MIB July, 2000 sipProxySendsCancel OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies whether or not a forking proxy sends CANCEL on outstanding branch requests after receiving a 2xx or 6xx, or after the request times-out. If the value of this object is TRUE, the server sends a CANCELs on branches where no definitive response has been received. If FALSE, the proxy does not send CANCELs." REFERENCE "RFC 2543, Section 12.4" ::= { sipProxyCfgEntry 3 } sipProxyForwardAll1xx OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies whether or not the proxy forwards all 1xx responses, except the 100 Trying response, upstream towards the source of the request. If the value of this object is TRUE, the 1xx responses are sent. If the value is FALSE, duplicate 1xx responses are not sent upstream." ::= { sipProxyCfgEntry 4 } sipProxyRecursion OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies whether or not the Proxy performs recursive search on the Contacts provided in 3xx redirects. If the value of this object is TRUE, a recursive search is performed. If the value is FALSE, no search is performed, the 3xx response is sent upstream towards the source of the request." ::= { sipProxyCfgEntry 5 } sipProxyProvideAlternatives OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "The object specifies whether or not the Server provides alternative Contacts in 3xx and 485 responses. If the value of this object is TRUE, the server inserts a Lingle/Maeng/Walker 53 Internet Draft SIP-MIB July, 2000 list of alternative URLs into a Contact header where the request Originator may possibly find the desired called party. If the value is FALSE, the server doesn't add Contact information to 3xx and 485 responses. Note that the policies of a server may limit the particular alternatives that are returned when this object is TRUE." REFERENCE "RFC 2543, Section 6.13" DEFVAL { false } ::= { sipProxyCfgEntry 6 } sipProxyRecordRoute OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies whether or not the proxy adds itself to the Record-Route header as a default action. This header is used to list the proxies that insist on being in the signalling path for subsequent requests related to the call-leg. If the value of this object is TRUE, the proxy adds itself to the end of the Record-Route header, creating the header if required. If the value is FALSE, the proxy doesn't add itself to the Record-Route header." REFERENCE "RFC 2543, Section 6.29" ::= { sipProxyCfgEntry 7 } sipProxyStateTimeout OBJECT-TYPE SYNTAX Integer32 (0..255) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the duration after reception of the first definitive non-200 response that a stateful proxy retains state in order to handle possible retransmissions of the response." REFERENCE "RFC 2543, Section 12.3.6" ::= { sipProxyCfgEntry 8 } -- -- Security -- sipProxyAuthMethod OBJECT-TYPE SYNTAX INTEGER { none(1), basic(2), digest(3), Lingle/Maeng/Walker 54 Internet Draft SIP-MIB July, 2000 pgp(4) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the authentication method that is used to authenticate request originators. If the value is none(1), no authentication is performed." ::= { sipProxyCfgEntry 9 } sipProxyAuthPgpAlgorithm OBJECT-TYPE SYNTAX INTEGER { other(1), md5(2), sha1(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the PGP algorithm the proxy uses." ::= { sipProxyCfgEntry 10 } sipProxyAuthRealm OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the realm used in Proxy-Authenticate headers. Note that this may need to be stored per user." ::= { sipProxyCfgEntry 11 } sipProxyNonceLifeTime OBJECT-TYPE SYNTAX Integer32 (0..65535) UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the life-time of a given nonce. A nonce is a server specified value whose contents are opaque to the entity being authenticated and which is used in calculating authentication data. If this object has a value of zero, then nonces are not reused." ::= { sipProxyCfgEntry 12 } -- -- Proxy-Authenticate received by this server -- (i.e. this server is being authenticated by a peer) -- sipPgpPrivateKey OBJECT-TYPE SYNTAX OCTET STRING(SIZE(0..255)) MAX-ACCESS read-write STATUS current Lingle/Maeng/Walker 55 Internet Draft SIP-MIB July, 2000 DESCRIPTION "The value of this object is the server's private PGP key, used for both PGP authentication of this server and for PGP-based encryption." ::= { sipProxyCfgEntry 13 } sipHideRespect OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies whether the server encrypts Via headers as requested by received Hide headers." ::= { sipProxyCfgEntry 14 } sipRxProxyAuthTable OBJECT-TYPE SYNTAX SEQUENCE OF SipRxProxyAuthEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains authentication data for peers of each proxy server in this system. The instances of proxy server are uniquely identified by the applIndex." ::= { sipProxyCfg 2 } sipRxProxyAuthEntry OBJECT-TYPE SYNTAX SipRxProxyAuthEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object contains authentication data for a single peer." INDEX { applIndex, sipRxProxyAuthIndex } ::= { sipRxProxyAuthTable 1 } SipRxProxyAuthEntry ::= SEQUENCE { sipRxProxyAuthIndex Unsigned32, sipRxProxyAuthRealm SnmpAdminString, sipRxProxyAuthPassword OCTET STRING, sipRxProxyAuthStatus RowStatus } sipRxProxyAuthIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object uniquely identifies a conceptual row in the table." ::= { sipRxProxyAuthEntry 1 } Lingle/Maeng/Walker 56 Internet Draft SIP-MIB July, 2000 sipRxProxyAuthRealm OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION "This object contains the realm that is specified by another server when it is authenticating this server." ::= { sipRxProxyAuthEntry 2 } sipRxProxyAuthPassword OBJECT-TYPE SYNTAX OCTET STRING(SIZE(1..4095)) MAX-ACCESS read-create STATUS current DESCRIPTION "This object contains the password that this server uses when it is being authenticated by another server using the realm specified by the sipRxProxyAuthRealm object in this table row." ::= { sipRxProxyAuthEntry 3 } sipRxProxyAuthStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The row status of the entry. This object is required to create or delete rows remotely by a manager." ::= { sipRxProxyAuthEntry 4 } -- -- Proxy Server Statistics -- sipProxyStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF SipProxyStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the statistics objects applicable to all SIP Proxy Servers in this system. Each row represents those objects for a particular SIP Proxy Server. The instances of SIP Proxy Server are uniquely identified by applIndex." ::= { sipProxyStats 1 } sipProxyStatsEntry OBJECT-TYPE SYNTAX SipProxyStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of summary statistics." INDEX { applIndex } ::= { sipProxyStatsTable 1 } Lingle/Maeng/Walker 57 Internet Draft SIP-MIB July, 2000 SipProxyStatsEntry ::= SEQUENCE { sipNumProxyRequireFailures Counter32 } sipNumProxyRequireFailures OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the number of occurrences of unsupported options being specified in received Proxy- Require headers. Such occurrences result in a 420 Bad Extension status code being returned." ::= { sipProxyStatsEntry 1 } -- -- sipRedir group -- This group contains MIB objects related to SIP Redirect Servers. -- sipRedir OBJECT IDENTIFIER ::= { sipServerMIB 4 } sipRedirCfg OBJECT IDENTIFIER ::= { sipRedir 1 } sipRedirStats OBJECT IDENTIFIER ::= { sipRedir 2 } -- none at this time -- -- Notifications -- sipServerMIBNotif OBJECT IDENTIFIER ::= { sipServerMIB 5 } sipProxyNotif OBJECT IDENTIFIER ::= { sipServerMIBNotif 1 } sipRedirNotif OBJECT IDENTIFIER ::= { sipServerMIBNotif 2 } -- none at this time -- -- Conformance -- sipServerMIBConformance OBJECT IDENTIFIER ::= { sipServerMIB 6 } sipServerMIBCompliances OBJECT IDENTIFIER ::= { sipServerMIBConformance 1 } sipServerMIBGroups OBJECT IDENTIFIER ::= { sipServerMIBConformance 2 } -- -- Compliance Statements -- Lingle/Maeng/Walker 58 Internet Draft SIP-MIB July, 2000 sipCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SIP entities." MODULE -- this module MANDATORY-GROUPS { sipServerConfigGroup } -- sipServerStatsGroup, -- sipServerNotifGroup } GROUP sipProxyConfigGroup DESCRIPTION "This group is mandatory for SIP Proxy servers." GROUP sipProxyStatsGroup DESCRIPTION "This group is mandatory for SIP Proxy servers." -- GROUP sipProxyNotifGroup -- DESCRIPTION -- "This group is mandatory for SIP Proxy servers." -- GROUP sipRedirectConfigGroup -- DESCRIPTION -- "This group is mandatory for SIP Redirect servers." -- GROUP sipRedirectStatsGroup -- DESCRIPTION -- "This group is mandatory for SIP Redirect servers." -- GROUP sipRedirectNotifGroup -- DESCRIPTION -- "This group is mandatory for SIP Redirect servers." ::= { sipServerMIBCompliances 1 } -- -- Units of Conformance -- sipServerConfigGroup OBJECT-GROUP OBJECTS { sipServerHost, sipInformationAlwaysSendTrying, sipInformationTryingInterval, sipPgpVersion, sipServerDfltAction, sipServerRespectUAAction } STATUS current DESCRIPTION "A collection of objects providing configuration common to SIP Proxy and Redirect servers." Lingle/Maeng/Walker 59 Internet Draft SIP-MIB July, 2000 ::= { sipServerMIBGroups 1 } --sipServerStatsGroup OBJECT-GROUP -- OBJECTS { -- none at this time -- } -- STATUS current -- DESCRIPTION -- "A collection of objects providing common statistics for -- SIP Proxy and Redirect servers." -- ::= { sipServerMIBGroups 2 } sipProxyConfigGroup OBJECT-GROUP OBJECTS { sipRequestMaxExpires, sipProxyStateful, sipProxySendsCancel, sipProxyForwardAll1xx, sipProxyRecursion, sipProxyProvideAlternatives, sipProxyRecordRoute, sipProxyStateTimeout, sipProxyAuthMethod, sipProxyAuthPgpAlgorithm, sipProxyAuthRealm, sipProxyNonceLifeTime, sipPgpPrivateKey, sipRxProxyAuthRealm, sipRxProxyAuthPassword, sipRxProxyAuthStatus, sipHideRespect } STATUS current DESCRIPTION "A collection of objects providing configuration for SIP Proxy servers." ::= { sipServerMIBGroups 3 } sipProxyStatsGroup OBJECT-GROUP OBJECTS { sipNumProxyRequireFailures } STATUS current DESCRIPTION "A collection of objects providing statistics for SIP Proxy servers." ::= { sipServerMIBGroups 4 } --sipProxyNotifGroup NOTIFICATION-GROUP -- OBJECTS { -- none at this time -- } -- STATUS current -- DESCRIPTION Lingle/Maeng/Walker 60 Internet Draft SIP-MIB July, 2000 -- "A collection of notifications defined for SIP -- Proxy servers." -- ::= { sipServerMIBGroups 5 } --sipRedirectConfigGroup OBJECT-GROUP -- OBJECTS { -- none at this time -- } -- STATUS current -- DESCRIPTION -- "A collection of objects providing configuration for -- SIP Redirect servers." -- ::= { sipServerMIBGroups 6 } --sipRedirectStatsGroup OBJECT-GROUP -- OBJECTS { -- none at this time -- } -- STATUS current -- DESCRIPTION -- "A collection of objects providing statistics for -- SIP Redirect servers." -- ::= { sipServerMIBGroups 7 } --sipRedirectNotifGroup NOTIFICATION-GROUP -- OBJECTS { -- none at this time -- } -- STATUS current -- DESCRIPTION -- "A collection of notifications defined for SIP -- Redirect servers." -- ::= { sipServerMIBGroups 8 } END 5.6. SIP Registrar SIP-REGISTRAR-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32, Unsigned32 FROM SNMPv2-SMI DateAndTime, RowStatus, TimeStamp, TruthValue FROM SNMPv2-TC Lingle/Maeng/Walker 61 Internet Draft SIP-MIB July, 2000 MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF SnmpAdminString FROM SNMP-FRAMEWORK-MIB SipServerActions FROM SIP-TC sipMIB FROM SIP-MIB-SMI applIndex FROM NETWORK-SERVICES-MIB; sipRegistrarMIB MODULE-IDENTITY LAST-UPDATED "200007080000Z" ORGANIZATION "IETF SIP Working Group, SIP MIB Team" CONTACT-INFO "SIP MIB Team email: sip-mib@egroups.com Co-editor Kevin Lingle Cisco Systems, Inc. postal: 7025 Kit Creek Road P.O. Box 14987 Research Triangle Park, NC 27709 USA email: klingle@cisco.com phone: +1-919-392-2029 Co-editor Joon Maeng VTEL Corporation postal: 108 Wild Basin Rd. Austin, TX 78746 USA email: joon_maeng@vtel.com phone: +1-512-437-4567 Co-editor Dave Walker SS8 Networks, Inc. postal: 80 Hines Road Kanata, ON K2K 2T8 Canada email: drwalker@ss8networks.com phone: +1 613 592 2100" DESCRIPTION "Initial version of Session Initiation Protocol (SIP) Registrar MIB module. SIP is an application-layer signalling protocol for creating, modifying and terminating multimedia sessions with one or more participants. These sessions Lingle/Maeng/Walker 62 Internet Draft SIP-MIB July, 2000 include Internet multimedia conferences and Internet telephone calls. SIP is defined in RFC 2543 (March 1999). A Registrar is a server that accepts REGISTER requests. A Registrar is typically co-located with a Proxy or Redirect Server." ::= { sipMIB 5 } -- -- sipReg group -- This group contains MIB objects related to SIP Registrars. -- sipRegCfg OBJECT IDENTIFIER ::= { sipRegistrarMIB 1 } sipRegStats OBJECT IDENTIFIER ::= { sipRegistrarMIB 2 } -- -- Registrar Configuration -- sipRegCfgTable OBJECT-TYPE SYNTAX SEQUENCE OF SipRegCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains configuration objects applicable SIP registrars. Each row represents those objects for a particular SIP registrar present in this system. The instances of SIP registrars are uniquely identified by applIndex." ::= { sipRegCfg 1 } sipRegCfgEntry OBJECT-TYPE SYNTAX SipRegCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of common configuration." INDEX { applIndex } ::= { sipRegCfgTable 1 } SipRegCfgEntry ::= SEQUENCE { sipRegAllowThirdParty TruthValue, sipRegContactDfltExpiryDuration Unsigned32, sipRegContactDfltExpiryDate DateAndTime, sipRegMaxContactExpiryDate Unsigned32, sipRegRespHasContacts TruthValue, sipRegMaxUsers Unsigned32, sipRegCurrentUsers Gauge32 } sipRegAllowThirdParty OBJECT-TYPE Lingle/Maeng/Walker 63 Internet Draft SIP-MIB July, 2000 SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies whether or not the Registrar should allows third party registrations. In third-party registration, the entity issuing the request (in the From header) is different from the entity being registered (in the To header) to whom the provided Contact information applies. If the value of this object is TRUE, the Registrar allows third party registrations. If the value is FALSE, third party registrations are rejected: a 403 Forbidden status code is returned to the requestor." REFERENCE "RFC 2543, Section 4.2.6" ::= { sipRegCfgEntry 1 } sipRegContactDfltExpiryDuration OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the default expiration (time-to- live) of Contact information that is provided by User Agents when registering with this Registrar. This value is only used when no expiration has been specified by the user in the REGISTER request. If the value is applied to a registration and is different from the default (one hour), the server must return the value to the registered User Agent. The value contained in this object only applies if the value of the sipContactDfltExpiryDate object is NULL. If the value of this object applies, and is zero, then no default expiry is applied to registered contact information." REFERENCE "RFC 2543, Section 4.2.6" DEFVAL { 3600 } ::= { sipRegCfgEntry 2 } sipRegContactDfltExpiryDate OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the default expiration date (time- to-live) of Contact information that is provided by User Agents when registering with this Registrar. This value Lingle/Maeng/Walker 64 Internet Draft SIP-MIB July, 2000 is only used when no expiration has been specified by the user in the REGISTER request. If this value is applied to a registration, the server must return the value to the registered User Agent. The value contained in this object only applies if the value of the sipContactDfltExpiryDuration object is zero. If the value of this object applies, and is NULL, then no default expiry is applied to registered contact information." REFERENCE "RFC 2543, Section 4.2.6" ::= { sipRegCfgEntry 3 } sipRegMaxContactExpiryDate OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the maximum expiry that may be requested by a User Agent for a particular Contact. User Agents can specify expiry using either an Expiry header in a REGISTER request, or using an Expires parameter in a Contact header in a REGISTER request. If the value requested by the User Agent is greater than the value of this object, then the contact information is given the duration specified by this object, and that duration is indicated to the User Agent in the response." DEFVAL { 4294967295 } ::= { sipRegCfgEntry 4 } sipRegRespHasContacts OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies whether or not the Registrar should return all currently reachable locations for a successfully registering party in the REGISTER response message. If the value of this object is TRUE, the Registrar returns the locations in the REGISTER response. If the value is FALSE, no location information is provided." ::= { sipRegCfgEntry 5 } sipRegMaxUsers OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the maximum number of users that the Lingle/Maeng/Walker 65 Internet Draft SIP-MIB July, 2000 registrar supports. The current number of users is reflected by sipRegCurrentUsers." ::= { sipRegCfgEntry 6 } sipRegCurrentUsers OBJECT-TYPE SYNTAX Gauge32 (0..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the number of users currently configured on the registrar." ::= { sipRegCfgEntry 7 } -- -- Per User Information -- sipRegUserTable OBJECT-TYPE SYNTAX SEQUENCE OF SipRegUserEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains information on all users registered to each Registrar in this system. The instances of SIP Registrar are uniquely identified by applIndex." ::= { sipRegCfg 2 } sipRegUserEntry OBJECT-TYPE SYNTAX SipRegUserEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This entry contains information for a single user registered to this Registrar." INDEX { applIndex, sipUserIndex } ::= { sipRegUserTable 1 } SipRegUserEntry ::= SEQUENCE { sipUserIndex Unsigned32, sipUserUri SnmpAdminString, sipUserPassword OCTET STRING, sipUserAuthenticationFailures Counter32, sipUserTableRowStatus RowStatus } sipUserIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object uniquely identifies a conceptual row in the table." ::= { sipRegUserEntry 1 } Lingle/Maeng/Walker 66 Internet Draft SIP-MIB July, 2000 sipUserUri OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION "This object contains the user's address-of-record. It is the main form by which the registrar knows the user. The format is typically 'user@domain'. It is contained in the To header for all REGISTER requests." ::= { sipRegUserEntry 2 } sipUserPassword OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..255)) MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the password that the user must enter when being authenticated." ::= { sipRegUserEntry 3 } sipUserAuthenticationFailures OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains a count of the number of times the user has failed authentication." ::= { sipRegUserEntry 4 } sipUserTableRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The row status of the entry. This object is required to create or delete rows remotely by a manager." ::= { sipRegUserEntry 5 } -- -- Per Contact Information -- sipContactTable OBJECT-TYPE SYNTAX SEQUENCE OF SipContactEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains information on every location where a registered user (specified by sipUserIndex) wishes to be found (i.e. has provided Contact information) to each SIP Registrar in this system. The instances of SIP Registrar are uniquely identified by applIndex." ::= { sipRegCfg 3 } Lingle/Maeng/Walker 67 Internet Draft SIP-MIB July, 2000 sipContactEntry OBJECT-TYPE SYNTAX SipContactEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This entry contains information for a single Contact. Multiple contacts may exist for a single user." INDEX { applIndex, sipUserIndex, sipContactIndex } ::= { sipContactTable 1 } SipContactEntry ::= SEQUENCE { sipContactIndex Unsigned32, sipContactDisplayName SnmpAdminString, sipContactURI SnmpAdminString, sipContactLastUpdated TimeStamp, sipContactExpiry DateAndTime, sipContactAction SipServerActions, sipContactPreference OCTET STRING, sipContactRetryAfter DateAndTime } sipContactIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Along with the sipUserIndex, this object uniquely identifies a conceptual row in the table." ::= { sipContactEntry 1 } sipContactDisplayName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the display name for the Contact. For example, 'Santa at Home', or 'Santa on his Sled', corresponding to contact URLs of sip:BigGuy@sip.northpole.ca or sip:sclaus817@sip.mobile.com, respectively." ::= { sipContactEntry 2 } sipContactURI OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains either a SIP URL or a URI where the user can be contacted. This URI is normally returned to a client from a redirect server, or is used as the RequestURI in a SIP request line for requests forwarded by a proxy." Lingle/Maeng/Walker 68 Internet Draft SIP-MIB July, 2000 ::= { sipContactEntry 3 } sipContactLastUpdated OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the time when this contact information was accepted. If the contact information is updated via a subsequent REGISTER of the same information, this object is also updated." ::= { sipContactEntry 4 } sipContactExpiry OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the date and time when the contact information will no longer be valid. Such times may be specified by the user at registration (Expires header or expiry parameter in the Contact information), or a system default can be applied." ::= { sipContactEntry 5 } sipContactPreference OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the preference for this contact relative to all other active contacts for same user. A registering user may provide this preference as a 'qvalue' parameter in the Contact header. The format of this item is a decimal number between 0 and 1 (for example 0.9). Higher values indicate locations preferred by the user." REFERENCE "RFC 2543, Section 6.13" ::= { sipContactEntry 6 } sipContactAction OBJECT-TYPE SYNTAX SipServerActions MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates whether the user wanted the server to act as a redirect server or as a proxy server. It is specified by the optional 'action' parameter in the Contact header." ::= { sipContactEntry 7 } sipContactRetryAfter OBJECT-TYPE Lingle/Maeng/Walker 69 Internet Draft SIP-MIB July, 2000 SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates that the contact information is currently inactive, and that it should only be activated after the date and time specified by the object. This value is provided by a user when deleting contact information using a REGISTER request containing a Retry- After header." REFERENCE "RFC 2543, Section 6.32" ::= { sipContactEntry 8 } -- -- Registrar Statistics -- sipRegStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF SipRegStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the summary statistics objects applicable to all SIP Registrars in this system. Each row represents those objects for a particular SIP Registrar. The instances of SIP Registrars are uniquely identified by applIndex." ::= { sipRegStats 1 } sipRegStatsEntry OBJECT-TYPE SYNTAX SipRegStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of summary statistics." INDEX { applIndex } ::= { sipRegStatsTable 1 } SipRegStatsEntry ::= SEQUENCE { sipRegAcceptedRegistrations Counter32, sipRegRejectedRegistrations Counter32 } sipRegAcceptedRegistrations OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains a count of the number of REGISTER requests that have been accepted (status code 200) by the Lingle/Maeng/Walker 70 Internet Draft SIP-MIB July, 2000 Registrar. This includes additions of new contact information, refreshing contact information, as well as requests for deletion of contact information." ::= { sipRegStatsEntry 1 } sipRegRejectedRegistrations OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains a count of the number REGISTER requests that have been rejected by the Registrar." ::= { sipRegStatsEntry 2 } -- -- Notifications -- sipRegMIBNotif OBJECT IDENTIFIER ::= { sipRegistrarMIB 3 } -- none at this time -- -- Conformance -- sipRegMIBConformance OBJECT IDENTIFIER ::= { sipRegistrarMIB 4 } sipRegMIBCompliances OBJECT IDENTIFIER ::= { sipRegMIBConformance 1 } sipRegMIBGroups OBJECT IDENTIFIER ::= { sipRegMIBConformance 2 } -- -- Compliance Statements -- sipRegCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SIP entities." MODULE -- this module MANDATORY-GROUPS { sipRegistrarConfigGroup, sipRegistrarStatsGroup } -- sipRegistrarNotifGroup } ::= { sipRegMIBCompliances 1 } sipRegistrarConfigGroup OBJECT-GROUP OBJECTS { sipRegAllowThirdParty, Lingle/Maeng/Walker 71 Internet Draft SIP-MIB July, 2000 sipRegContactDfltExpiryDuration, sipRegContactDfltExpiryDate, sipRegMaxContactExpiryDate, sipRegRespHasContacts, sipRegMaxUsers, sipRegCurrentUsers, sipUserUri, sipUserPassword, sipUserAuthenticationFailures, sipUserTableRowStatus, sipContactDisplayName, sipContactURI, sipContactLastUpdated, sipContactExpiry, sipContactPreference, sipContactAction, sipContactRetryAfter } STATUS current DESCRIPTION "A collection of objects providing configuration for SIP Registrars." ::= { sipRegMIBGroups 1 } sipRegistrarStatsGroup OBJECT-GROUP OBJECTS { sipRegAcceptedRegistrations, sipRegRejectedRegistrations } STATUS current DESCRIPTION "A collection of objects providing statistics for SIP Registrars." ::= { sipRegMIBGroups 2 } --sipRegistrarNotifGroup NOTIFICATION-GROUP -- OBJECTS { -- none at this time -- } -- STATUS current -- DESCRIPTION -- "A collection of notifications defined for SIP -- Registrars." -- ::= { sipRegMIBGroups 3 } END 6. Security Considerations There are a number of management objects defined in this MIB that have a MAX-ACCESS clause of read-write and/or read-create. Such objects may be considered sensitive or vulnerable in some network environments. The support for SET operations in a non-secure Lingle/Maeng/Walker 72 Internet Draft SIP-MIB July, 2000 environment without proper protection can have a negative effect on network operations. The managed objects in this MIB contain sensitive information since, collectively, they allow tracing and influencing of connections in SIP devices and provide information of their connection characteristics. It is thus important to control even GET access to these objects and possibly to even encrypt the values of these object when sending them over the network via SNMP. Not all versions of SNMP provide features for such a secure environment. SNMPv1 by itself is not a secure environment. Even if the network itself is secure (for example by using IPSec), even then, there is no control as to who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB. It is recommended that the implementers consider the security features as provided by the SNMPv3 framework. Specifically, the use of the User-based Security Model RFC 2574 [18] and the View-based Access Control Model RFC 2575 [19] is recommended. It is then a customer/user responsibility to ensure that the SNMP entity giving access to an instance of this MIB, is properly configured to give access to the objects only to those principals users) that have legitimate rights to indeed GET or SET (change/create/delete) them. 7. Intellectual Property The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification can be obtained from the IETF Secretariat. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director. 8. Full Copyright Statement Lingle/Maeng/Walker 73 Internet Draft SIP-MIB July, 2000 Copyright(C) The Internet Society (2000). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 9. References [1] Harrington, D., Presuhn, R. and B. Wijnen, "An Architecture for Describing SNMP Management Frameworks", RFC 2271, January 1998. [2] Rose, M. and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based Internets", STD 16, RFC 1155, May 1990. [3] Rose, M. and K. McCloghrie, "Concise MIB Definitions", STD 16, RFC 1212, March 1991. [4] Rose, M., "A Convention for Defining Traps for use with the SNMP", RFC 1215, March 1991. [5] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. [6] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999. [7] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999. [8] Case, J., Fedor, M., Schoffstall, M. and J. Davin, "Simple Network Management Protocol", STD 15, RFC 1157, May 1990. Lingle/Maeng/Walker 74 Internet Draft SIP-MIB July, 2000 [9] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901, January 1996. [10] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1906, January 1996. [11] Case, J., Harrington D., Presuhn R. and B. Wijnen, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2272, January 1998. [12] Blumenthal, U. and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2274, January 1998. [13] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", January 1996. [14] Levi, D., Meyer, P. and B. Stewart, "SNMPv3 Applications", RFC 2273, January 1998 [15] Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)", RFC 2275, January 1998. [16] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [17] M. Handley, H. Schulzrinne, E. Schooler, and J. Rosenberg, "SIP: Session Initiation Protocol", RFC 2543, March 1999. [18] Blumenthal, U. and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2574, April 1999. [19] N. Freed, and S, Kille, "Network Services Monitoring MIB", RFC 2788, March 2000. [20] Steve Donavan, "The SIP INFO Method", Internet Draft, ietf-sip- info-method-04.txt, work in progress. 10. Authors' Addresses Kevin Lingle Cisco Systems, Inc. 7025 Kit Creek Road P.O. Box 14987 Research Triangle Park, NC 27709 USA Email: klingle@cisco.com phone: +1-919-392-2029 Lingle/Maeng/Walker 75 Internet Draft SIP-MIB July, 2000 Joon Maeng VTEL Corporation 108 Wild Basin Rd. Austin, TX 78746 USA email: joon_maeng@vtel.com phone: +1-512-437-4567 Dave Walker SS8 Networks, Inc. 80 Hines Road Kanata, ON K2K 2T8 Canada email: drwalker@ss8networks.com phone: +1 613 592 2100 Lingle/Maeng/Walker 76