Internet Engineering Task Force K. Lingle Internet Draft Cisco Systems Document: draft-ietf-sip-mib-04.txt J. Maeng February 2002 ipDialog, Inc. Expires: August 2002 J-F. Mule CableLabs 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 RFC2026. 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) entities, which include User Agents, Proxy servers, Redirect servers and Registrars. Lingle/Maeng/Mule/Walker [Page 1] Internet-Draft SIP MIB February 2002 Table of Contents Abstract...........................................................1 1. Introduction...................................................2 2. The SNMP Management Framework..................................2 3. Overview.......................................................3 4. Structure of SIP MIB...........................................3 4.1. Textual Conventions..........................................4 4.2. Relationship to Other MIBs...................................5 5. Definitions....................................................8 5.1. SIP Textual Conventions......................................8 5.2. SIP Common...................................................9 5.3. SIP User Agent..............................................61 5.4. SIP Server (Registrar, Redirect & Proxy Server).............65 6. Changes from previous drafts..................................84 7. Security Considerations.......................................89 8. Intellectual Property.........................................89 9. Full Copyright Statement......................................90 10. References..................................................91 11. Author's Addresses..........................................92 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 manage Session Initiation Protocol (SIP) entities, which include User Agents, Proxy servers, Redirect servers and Registrars. 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]. 2. The SNMP Management Framework The SNMP Management Framework presently consists of five major components: o An overall architecture, described in RFC 2571 [1]. o 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]. o Message protocols for transferring management information. The first version of the SNMP message protocol is called SNMPv1 and Lingle/Maeng/Mule/Walker [Page 2] Internet-Draft SIP MIB February 2002 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 2572 [11] and RFC 2574 [12]. o 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]. o A set of fundamental applications described in RFC 2573 [14] and the view-based access control mechanism described in RFC 2575 [15]. A more detailed introduction to the current SNMP Management Framework can be found in RFC 2570 [20]. 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 machine- readable 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 entities defined in RFC 2543 - User Agent, Proxy server, Redirect 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 SIP entities. It provides for monitoring of status and protocol statistics, as well as for configuration of SIP entities. It also includes objects for the SIP INFO method [19]. 4. Structure of SIP MIB This memo specifies four MIB modules. They are SIP-COMMON-MIB, SIP- SERVER-MIB, SIP-UA-MIB and SIP-TC. SIP-COMMON-MIB contains common Lingle/Maeng/Mule/Walker [Page 3] Internet-Draft SIP MIB February 2002 objects used in all the SIP entities. SIP-SERVER-MIB contains objects specific to Registrars, Proxies and Redirect servers, and SIP-UA-MIB includes objects specific to User Agents. SIP-TC defines the textual conventions used throughout MIB modules. The MIB Modules contain following groups of objects: -- SIP-COMMON-MIB: Common to all the SIP entities sipCommonConfigGroup, sipCommonStatsGroup, sipCommonConfigTimerGroup, sipCommonConfigTimerExtMethodGroup, sipCommonConfigRetryGroup, sipCommonConfigRetryExtMethodGroup, sipCommonStatsRetryGroup, sipCommonStatsRetryExtMethodsGroup, sipCommonNotifGroup, sipCommonStatusCodeNotifGroup. -- SIP-SERVER-MIB: Groups of objects for Registrars, Proxy and -- Redirect Servers sipServerConfigGroup, sipProxyConfigGroup, sipProxyStatsGroup, sipRegistrarConfigGroup, sipRegistrarStatsGroup. -- SIP-UA-MIB: Groups of objects for User Agents sipUAConfigGroup To conform with this specification, an SNMP agent MUST implement SIP-TC, plus one instance of SIP-COMMON-MIB and one instance of the SIP entity-type-specific MIB (SIP-SERVER-MIB or SIP-UA-MIB) as applicable for each instance of a SIP entity being managed. If a device has more than one sip entity or multiple instances of the same entity, it SHOULD implement multiple SIP modules. Section 4.2 describes handling of multiple instances in detail. 4.1. Textual Conventions The data type SipTransportProtocol is used as textual conventions in this document. These textual conventions have NO effect on either the syntax or the semantics of any managed object. Objects defined 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. Lingle/Maeng/Mule/Walker [Page 4] Internet-Draft SIP MIB February 2002 4.2. Relationship to Other MIBs There is a requirement to be able to support multiple instances of various SIP MIB modules in the context of a single system having a single SNMP agent. This requirement is solved by using the framework provided by the NETWORK-SERVICES-MIB, RFC 2788 [18]. A device implementing the SIP MIB MUST support the NETWORK-SERVICES-MIB and, at a minimum, it MUST support the applIndex and applName objects in applTable. The following applName conventions will be adopted: o for a SIP Proxy entity, applName MUST be equal to "sip_proxy" o for a SIP Redirect entity, applName MUST be equal to "sip_redirect" o for a SIP Registrar entity, applName MUST be equal to "sip_registrar" o for a SIP User Agent entity, applName MUST be equal to "sip_ua" o for any combination of Proxy, Registrar, or Redirect Server being managed as a single aggregate entity, the applName for the combined server entity MUST reflect the appropriate combination. For example, "sip_proxy_redirect" or "sip_proxy_registrar". The SNMP agent MAY support any combination of the other attributes in applTable. If the following objects are supported, the object values SHOULD be populated as follows: o applVersion: version of the SIP application; if the SIP protocol version is used, the value MUST be as defined in SIP [17], section 4.3.1. o applUptime: value MUST be identical to sipServiceStartTime defined in the SIP-COMMON-MIB module, o applOperStatus: value SHOULD reflect the operational status defined in sipServiceOperStatus, at least by means of a mapping, o applLastChange: value MUST be identical to sipServiceLastChange defined in the SIP-COMMON module. 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. Example 1: The tables below illustrate how a system acting as both Proxy and Registrar server might be configured to maintain separate SIP- COMMON-MIB instances. The NETWORK-SERVICES-MIB applTable might be populated as follows: Lingle/Maeng/Mule/Walker [Page 5] Internet-Draft SIP MIB February 2002 applIndex | applName | applDescription ----------+-----------------+------------------------------ 1 | "sip_proxy" | "ACME SIP Proxy" ----------+-----------------+------------------------------ 2 | "sip_registrar" | "ACME SIP Registrar" ----------+-----------------+------------------------------ 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 tables would, however, only be populated with one row indexed by applIndex=1 and applIndex=2 respectively if the server provides either proxy or registrar. SIP-COMMON-MIB sipCommonCfgTable might be populated as: applIndex | sipProtocolVersion | sipServiceOperStatus | ... ----------+--------------------+----------------------+---- 1 | "SIP/2.0" | up(1) | ----------+--------------------+----------------------+---- 2 | "SIP/2.0" | restarting(4) | ----------+--------------------+----------------------+---- while sipProxyCfgTable in SIP-SERVER-MIB might be populated as: applIndex | sipRequestMaxExpires | sipProxyStatefulness | ... ----------+----------------------+----------------------+---- 1 | 3600 | stateless(1) | ----------+----------------------+----------------------+---- and sipRegUserTable in SIP-SERVER-MIB might be populated as: applIndex | sipUserIndex | sipUserUri | ... ----------+--------------+--------------------------+---- 2 | 1 | drwalker@ss8.com | ----------+--------------+--------------------------+---- 2 | 2 | jmaeng@ipdialog.com | ----------+--------------+--------------------------+---- 2 | 3 | klingle@cisco.com | ----------+--------------+--------------------------+---- 2 | 4 | jf.mule@cablelabs.com | ----------+--------------+--------------------------+---- Example 2: This example illustrates how to represent a system acting as both Proxy and Registrar server, where the two entities share a single instance of SIP-COMMON-MIB. The NETWORK-SERVICES-MIB applTable might be populated as follows: applIndex | applName | applDescription ----------+----------------------+--------------------------- 1 | "sip_proxy_registrar"| "ACME SIP Proxy&Registrar" ----------+----------------------+--------------------------- Lingle/Maeng/Mule/Walker [Page 6] Internet-Draft SIP MIB February 2002 The SIP-COMMON-MIB sipCommonCfgTable would have only one row to cover both the proxy and the registrar. SIP-COMMON-MIB sipCommonCfgTable might be populated as: applIndex | sipProtocolVersion | sipServiceOperStatus | ... ----------+--------------------+----------------------+---- 1 | "SIP/2.0" | up(1) | ----------+--------------------+----------------------+---- while sipProxyCfgTable in SIP-SERVER-MIB is populated as: applIndex | sipRequestMaxExpires | sipProxyStatefulness | ... ----------+----------------------+----------------------+---- 1 | 3600 | stateless(1) | ----------+----------------------+----------------------+---- and sipRegUserTable in SIP-SERVER-MIB might be populated as: applIndex | sipUserIndex | sipUserUri | ... ----------+--------------+--------------------------+---- 1 | 1 | drwalker@ss8networks.com | ----------+--------------+--------------------------+---- 1 | 2 | jmaeng@ipdialog.com | ----------+--------------+--------------------------+---- 1 | 3 | klingle@cisco.com | ----------+--------------+--------------------------+---- 1 | 4 | jf.mule@cablelabs.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. Lingle/Maeng/Mule/Walker [Page 7] Internet-Draft SIP MIB February 2002 5. Definitions 5.1. SIP Textual Conventions SIP-TC DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, mib-2 FROM SNMPv2-SMI TEXTUAL-CONVENTION FROM SNMPv2-TC; sipTC MODULE-IDENTITY LAST-UPDATED "200202040000Z" ORGANIZATION "IETF SIP Working Group, SIP MIB Team" CONTACT-INFO "SIP MIB email: sip@ietf.org 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 ipDialog, Inc. postal: 7701 N. Lamar Blvd., Suite 304 Austin, TX 78752-1023 USA email: jmaeng@ipdialog.com phone: +1 512 371 1770 Co-editor Dave Walker SS8 Networks, Inc. postal: 495 March Road Kanata, ON K2K 3G1 Canada email: drwalker@ss8.com phone: +1 613 592 2100 Co-editor Jean-Francois Mule CableLabs postal: 400 Centennial Parkway Louisville, CO 80027 USA email: jf.mule@cablelabs.com phone: +1 303 661 3708 " DESCRIPTION "Initial version of Session Initiation Protocol (SIP) MIB Textual Conventions module used by other SIP-related MIB Modules." ::= { mib-2 9992 } -- to be assigned by IANA Lingle/Maeng/Mule/Walker [Page 8] Internet-Draft SIP MIB February 2002 -- -- Textual Conventions -- SipTransportProtocol ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "This convention is a bit map. Each bit represents a transport protocol. If a bit has value 1, then that selected transport protocol is in some way dependent on the context of the object using this convention. If a bit has value 0, then that transport protocol is not selected. Combinations of bits can be set when multiple transport protocols are selected. bit 0 : a protocol other than those defined here. bit 1 : User Datagram Protocol. bit 2 : Transmission Control Protocol. bit 3 : Stream Control Transmission Protocol. bit 4 : Transport Layer Security Protocol." SYNTAX BITS { other(0), -- none of the following udp(1), tcp(2), sctp(3), tls(4) } END 5.2. SIP Common SIP-COMMON-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Counter32, Integer32, Gauge32, TimeTicks, Unsigned32, mib-2 FROM SNMPv2-SMI DateAndTime, RowStatus, TruthValue FROM SNMPv2-TC Lingle/Maeng/Mule/Walker [Page 9] Internet-Draft SIP MIB February 2002 MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF SnmpAdminString FROM SNMP-FRAMEWORK-MIB SipTransportProtocol FROM SIP-TC applIndex FROM NETWORK-SERVICES-MIB; sipCommonMIB MODULE-IDENTITY LAST-UPDATED "200202040000Z" ORGANIZATION "IETF SIP Working Group, SIP MIB Team" CONTACT-INFO "SIP MIB email: sip@ietf.org 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 ipDialog, Inc. postal: 7701 N. Lamar Blvd., Suite 304 Austin, TX 78752-1023 USA email: jmaeng@ipdialog.com phone: +1 512 371 1770 Co-editor Dave Walker SS8 Networks, Inc. postal: 495 March Road Kanata, ON K2K 3G1 Canada email: drwalker@ss8.com phone: +1 613 592 2100 Co-editor Jean-Francois Mule CableLabs postal: 400 Centennial Parkway Louisville, CO 80027 USA email: jf.mule@cablelabs.com phone: +1 303 661 3708 " DESCRIPTION "Initial version of Session Initiation Protocol (SIP) Common MIB module. This module defines objects which Lingle/Maeng/Mule/Walker [Page 10] Internet-Draft SIP MIB February 2002 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 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." ::= { mib-2 9990 } -- to be assigned by IANA -- Top-Level Components of this MIB. sipCommonMIBNotifs OBJECT IDENTIFIER ::= { sipCommonMIB 0 } sipCommonMIBObjects OBJECT IDENTIFIER ::= { sipCommonMIB 1 } sipCommonMIBConform OBJECT IDENTIFIER ::= { sipCommonMIB 2 } -- -- This MIB contains objects that are common to all SIP entities. -- sipCommonCfgBase OBJECT IDENTIFIER ::= { sipCommonMIBObjects 1 } sipCommonCfgTimer OBJECT IDENTIFIER ::= { sipCommonMIBObjects 2 } sipCommonCfgRetry OBJECT IDENTIFIER ::= { sipCommonMIBObjects 3 } sipCommonCfgExpires OBJECT IDENTIFIER ::= { sipCommonMIBObjects 4 } sipCommonStatsSummary OBJECT IDENTIFIER ::= { sipCommonMIBObjects 5 } sipCommonStatsMethod OBJECT IDENTIFIER ::= { sipCommonMIBObjects 6 } sipCommonStatusCode OBJECT IDENTIFIER ::= { sipCommonMIBObjects 7 } sipCommonStatsTrans OBJECT IDENTIFIER ::= { sipCommonMIBObjects 8 } sipCommonStatsRetry OBJECT IDENTIFIER ::= { sipCommonMIBObjects 9 } sipCommonStatsOther OBJECT IDENTIFIER ::= { sipCommonMIBObjects 10 } Lingle/Maeng/Mule/Walker [Page 11] Internet-Draft SIP MIB February 2002 -- -- 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." ::= { sipCommonCfgBase 1 } sipCommonCfgEntry OBJECT-TYPE SYNTAX SipCommonCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of common configuration. Each row represents objects for a particular SIP entity instance present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex } ::= { sipCommonCfgTable 1 } SipCommonCfgEntry ::= SEQUENCE { sipProtocolVersion SnmpAdminString, sipServiceOperStatus INTEGER, sipServiceAdminStatus INTEGER, sipServiceStartTime TimeTicks, sipServiceLastChange TimeTicks, sipOrganization SnmpAdminString, sipMaxSessions Unsigned32, 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/Mule/Walker [Page 12] Internet-Draft SIP MIB February 2002 sipServiceOperStatus OBJECT-TYPE SYNTAX INTEGER { up(1), down(2), congested(3), restarting(4), quiescing(5), testing(6), unknown(7) } 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. congested(3) : The application is operational but no additional inbound transactions can be accomodated at the moment. restarting(4) : The application is currently unavailable but it is in the process of restarting and will, presumably, soon be able to process SIP messages. quiescing(5) : The application is currently operational but has been administratively put into quiese mode. Additional inbound transactions may be rejected. testing(6) : The application is currently in test mode and may not be able to process SIP messages. unknown(7) : The operational status cannot be determined for some reason." ::= { sipCommonCfgEntry 2 } sipServiceAdminStatus OBJECT-TYPE SYNTAX INTEGER { noop(1), up(2), down(3), reset(4), quieseSessions(5), quieseApplication(6) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object is used to affect the overall operational state of the SIP application. When read, this object always return a value of noop(1) since sipServiceOperStatus reflects the actual operational status. Lingle/Maeng/Mule/Walker [Page 13] Internet-Draft SIP MIB February 2002 noop(1) : Setting this object to a noop value has no effect; when read, this value is always returned. up(2) : Enable the application. down(3) : Abrupt shutdown. Immediately terminate. reset(4) : Restart application, reinitialize data. quieseSessions(5) : Enable quiescence mode. Stop accepting any new SIP sessions. Stop processing new transactions except for transactions associated with an existing session or call. quieseApplications(6): Enable quiescence mode. Stop processing new SIP transactions except for transactions associated with existing applications. The exact application behavior should be specified by the implementation." ::= { 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 started 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 organization name which the SIP entity inserts into Organization headers of SIP messages processed by this system. If the sting is empty, no Organization header is to be generated." REFERENCE "RFC 2543, Section 6.24" ::= { sipCommonCfgEntry 6 } Lingle/Maeng/Mule/Walker [Page 14] Internet-Draft SIP MIB February 2002 sipMaxSessions OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the maximum number of simultaneous sessions that the SIP entity can manage." ::= { sipCommonCfgEntry 7 } 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" ::= { sipCommonCfgEntry 8 } -- -- 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." ::= { sipCommonCfgBase 2 } sipPortEntry OBJECT-TYPE SYNTAX SipPortEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Specification of a particular port. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex, sipPort } ::= { sipPortTable 1 } Lingle/Maeng/Mule/Walker [Page 15] Internet-Draft SIP MIB February 2002 SipPortEntry ::= SEQUENCE { sipPort INTEGER, sipTransportRcv SipTransportProtocol, sipTransportSnd SipTransportProtocol, 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 } sipTransportRcv OBJECT-TYPE SYNTAX SipTransportProtocol MAX-ACCESS read-create STATUS current DESCRIPTION "This object will specify the transport protocol the SIP entity will use to receive SIP messages. This object is a bit map. Each bit represents a transport protocol. If a bit has value 1, then that transport protocol is currently being used. If a bit has value 0, then that transport protocol is currently not being used." ::= { sipPortEntry 2 } sipTransportSnd OBJECT-TYPE SYNTAX SipTransportProtocol MAX-ACCESS read-create STATUS current DESCRIPTION "This object will specify the transport protocol the SIP entity will use to send SIP messages. This object is a bit map. Each bit represents a transport protocol. If a bit has value 1, then that transport protocol is currently being used. If a bit has value 0, then that transport protocol is currently not being used." ::= { sipPortEntry 3 } 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. It is implementation specific as to whether objects in this table can be set while a row is 'active'." ::= { sipPortEntry 4 } Lingle/Maeng/Mule/Walker [Page 16] Internet-Draft SIP MIB February 2002 -- -- Support for multiple non-SIP URI schemes -- sipUriSupportedTable OBJECT-TYPE SYNTAX SEQUENCE OF SipUriSupportedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains a list of URI schemes 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 URI schemes 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). URI schemes could, for example, contain URLs for phones, fax, or irc (if they were defined) or a mailto: (RFC 2368) URL." REFERENCE "RFC 2543, Section 6.13" ::= { sipCommonCfgBase 3 } sipUriSupportedEntry OBJECT-TYPE SYNTAX SipUriSupportedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A particular non-SIP URI supported by the SIP entity. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex, sipUriSupportedIndex } ::= { sipUriSupportedTable 1 } SipUriSupportedEntry ::= SEQUENCE { 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 Lingle/Maeng/Mule/Walker [Page 17] Internet-Draft SIP MIB February 2002 STATUS current DESCRIPTION "This object indicates a particular non-SIP URI scheme 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 features supported by each SIP entity in this system, and which may be required by a peer. Definition of non-standard features is outside the scope of SIP, which only provides mechanisms whereby support for specific features may be signalled or requested. As and example of a non-standard feature, 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 Extension listing the feature in an Unsupported header. For IETF standardized features, the complete path (eg, org.ietf.sip.xxx) should be reflected in this table. Normally the list of such features supported by an entity is static (i.e. will not change over time)." REFERENCE "RFC 2543, Sections 6.28, 6.30, and 6.38" ::= { sipCommonCfgBase 4 } sipFtrSupportedEntry OBJECT-TYPE SYNTAX SipFtrSupportedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A particular feature supported by the SIP entity, and which may be required by a peer. Lingle/Maeng/Mule/Walker [Page 18] Internet-Draft SIP MIB February 2002 Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." 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 feature which is supported by the SIP entity." ::= { sipFtrSupportedEntry 2 } -- -- SIP Timer Configuration -- sipCommonCfgTimerTable OBJECT-TYPE SYNTAX SEQUENCE OF SipCommonCfgTimerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains timer configuration objects applicable to SIP user agent and SIP stateful proxy entities." ::= { sipCommonCfgTimer 1 } sipCommonCfgTimerEntry OBJECT-TYPE SYNTAX SipCommonCfgTimerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of timer configuration. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the Lingle/Maeng/Mule/Walker [Page 19] Internet-Draft SIP MIB February 2002 NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex } ::= { sipCommonCfgTimerTable 1 } SipCommonCfgTimerEntry ::= SEQUENCE { sipCfgInitialTimerInvite Unsigned32, sipCfgTimerProv Unsigned32, sipCfgInitialTimerBye Unsigned32, sipCfgInitialTimerRegister Unsigned32, sipCfgInitialTimerOptions Unsigned32, sipCfgInitialTimerInfo Unsigned32, sipCfgInitialTimerRsp Unsigned32, sipCfgTimerT2 Unsigned32 } sipCfgInitialTimerInvite OBJECT-TYPE SYNTAX Unsigned32 (100..1000) UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the initial value for the retransmit timer for the INVITE method. The retransmit timer doubles after each retransmission, ensuring an exponential backoff in network traffic. This object represents the initial time a SIP entity will wait to receive a provisional response to an INVITE before resending the INVITE request." DEFVAL { 500 } ::= { sipCommonCfgTimerEntry 1 } sipCfgTimerProv OBJECT-TYPE SYNTAX Unsigned32 (60000..300000) UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the maximum time a SIP entity will wait to receive a final response to an INVITE. The timer is started upon receipt of a provisional response." DEFVAL { 60000 } ::= { sipCommonCfgTimerEntry 2 } sipCfgInitialTimerBye OBJECT-TYPE SYNTAX Unsigned32 (100..1000) UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the initial value for the retransmit timer for the BYE method. The retransmit timer doubles after each retransmission, ensuring an exponential backoff in network traffic. This object represents the initial time a SIP entity will wait to receive a response to a BYE request." DEFVAL { 500 } Lingle/Maeng/Mule/Walker [Page 20] Internet-Draft SIP MIB February 2002 ::= { sipCommonCfgTimerEntry 3 } sipCfgInitialTimerRegister OBJECT-TYPE SYNTAX Unsigned32 (100..1000) UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the initial value for the retransmit timer for the REGISTER method. The retransmit timer doubles after each retransmission, ensuring an exponential backoff in network traffic. This object represents the initial time a SIP entity will wait to receive a response to a REGISTER request." DEFVAL { 500 } ::= { sipCommonCfgTimerEntry 4 } sipCfgInitialTimerOptions OBJECT-TYPE SYNTAX Unsigned32 (100..1000) UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the initial value for the retransmit timer for the OPTIONS method. The retransmit timer doubles after each retransmission, ensuring an exponential backoff in network traffic. This object represents the initial time a SIP entity will wait to receive a response to an OPTIONS request." DEFVAL { 500 } ::= { sipCommonCfgTimerEntry 5 } sipCfgInitialTimerInfo OBJECT-TYPE SYNTAX Unsigned32 (100..1000) UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the initial value for the retransmit timer for the INFO method. The retransmit timer doubles after each retransmission, ensuring an exponential backoff in network traffic. This object represents the initial time a SIP entity will wait to receive a response to a INFO request." DEFVAL { 500 } ::= { sipCommonCfgTimerEntry 6 } sipCfgInitialTimerRsp OBJECT-TYPE SYNTAX Unsigned32 (100..1000) UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the initial value for the retransmit timer for final responses. The retransmit timer doubles after each retransmission, ensuring an exponential backoff in network traffic. This object represents the initial time a SIP entity will wait to retransmit a final response." Lingle/Maeng/Mule/Walker [Page 21] Internet-Draft SIP MIB February 2002 REFERENCE "Section 10.5.1 RFC2543" DEFVAL { 500 } ::= { sipCommonCfgTimerEntry 7 } sipCfgTimerT2 OBJECT-TYPE SYNTAX Unsigned32 (200..10000) UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the T2 timer for a SIP entity." REFERENCE "Section 10.4 and 10.5 RFC2543" DEFVAL { 4000 } ::= { sipCommonCfgTimerEntry 8 } -- -- Initial Timers Extensions: support for extension methods -- sipCommonCfgTimerExtMethodTable OBJECT-TYPE SYNTAX SEQUENCE OF SipCommonCfgTimerExtMethodEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains retransmit timers for each SIP extension method this entity supports. The applicable T2 timer value for timers configured in this table is that of the sipCfgTimerT2 object with the same applIndex value." ::= { sipCommonCfgTimer 2 } sipCommonCfgTimerExtMethodEntry OBJECT-TYPE SYNTAX SipCommonCfgTimerExtMethodEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This row contains timer value information for a particular extension method. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex, sipCfgTimerExtMethodIndex } ::= { sipCommonCfgTimerExtMethodTable 1 } SipCommonCfgTimerExtMethodEntry ::= SEQUENCE { sipCfgTimerExtMethodIndex Unsigned32, sipCfgTimerExtMethodName SnmpAdminString, sipCfgTimerExtMethodTimer Unsigned32, sipCfgTimerExtMethodStatus RowStatus } Lingle/Maeng/Mule/Walker [Page 22] Internet-Draft SIP MIB February 2002 sipCfgTimerExtMethodIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object uniquely identifies a conceptual row in the table." ::= { sipCommonCfgTimerExtMethodEntry 1 } sipCfgTimerExtMethodName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION "This object contains the name of the particular extension method the SIP entity supports. For example, it may contain the string 'REFER' if the REFER method is supported. It is an error for any of the methods contained in RFC 2543 to be requested." ::= { sipCommonCfgTimerExtMethodEntry 2 } sipCfgTimerExtMethodTimer OBJECT-TYPE SYNTAX Unsigned32 UNITS "milliseconds" MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the time a SIP entity will wait for a response to the extension method request before retransmitting. The retransmit timer doubles after each retransmission, ensuring an exponential backoff in network traffic." ::= { sipCommonCfgTimerExtMethodEntry 3 } sipCfgTimerExtMethodStatus 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. A value for sipCfgTimerExtMethodName and sipCfgTimerExtMethodTimer must be set for row creation to be successful. If that method already exists for a particular applIndex, the row create operation will fail." ::= { sipCommonCfgTimerExtMethodEntry 4 } -- -- SIP Retry Configuration -- sipCommonCfgRetryTable OBJECT-TYPE SYNTAX SEQUENCE OF SipCommonCfgRetryEntry MAX-ACCESS not-accessible Lingle/Maeng/Mule/Walker [Page 23] Internet-Draft SIP MIB February 2002 STATUS current DESCRIPTION "This table contains retry configuration objects applicable to SIP user agent and SIP proxies." ::= { sipCommonCfgRetry 1 } sipCommonCfgRetryEntry OBJECT-TYPE SYNTAX SipCommonCfgRetryEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of retry configuration. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex } ::= { sipCommonCfgRetryTable 1 } SipCommonCfgRetryEntry ::= SEQUENCE { sipCfgRetryInvite Unsigned32, sipCfgRetryBye Unsigned32, sipCfgRetryCancel Unsigned32, sipCfgRetryRegister Unsigned32, sipCfgRetryOptions Unsigned32, sipCfgRetryInfo Unsigned32, sipCfgRetryFinalResponse Unsigned32, sipCfgRetryNonFinalResponse Unsigned32 } sipCfgRetryInvite OBJECT-TYPE SYNTAX Unsigned32 (1..10) MAX-ACCESS read-write STATUS current DESCRIPTION "This object will specify the number of times a SIP entity will retry sending an INVITE request." REFERENCE "Section 10.5 RFC 2543" DEFVAL { 6 } ::= { sipCommonCfgRetryEntry 1 } sipCfgRetryBye OBJECT-TYPE SYNTAX Unsigned32 (1..10) MAX-ACCESS read-write STATUS current DESCRIPTION "This object will specify the number of times a SIP entity will retry sending a BYE request." REFERENCE "Section 10.4 RFC 2543" DEFVAL { 6 } ::= { sipCommonCfgRetryEntry 2 } sipCfgRetryCancel OBJECT-TYPE SYNTAX Unsigned32 (1..10) Lingle/Maeng/Mule/Walker [Page 24] Internet-Draft SIP MIB February 2002 MAX-ACCESS read-write STATUS current DESCRIPTION "This object will specify the number of times a SIP entity will retry sending a CANCEL request." REFERENCE "Section 10.4 RFC 2543" DEFVAL { 6 } ::= { sipCommonCfgRetryEntry 3 } sipCfgRetryRegister OBJECT-TYPE SYNTAX Unsigned32 (1..10) MAX-ACCESS read-write STATUS current DESCRIPTION "This object will specify the number of times a SIP entity will retry sending a REGISTER request." REFERENCE "Section 10.4 RFC 2543" DEFVAL { 6 } ::= { sipCommonCfgRetryEntry 4 } sipCfgRetryOptions OBJECT-TYPE SYNTAX Unsigned32 (1..10) MAX-ACCESS read-write STATUS current DESCRIPTION "This object will specify the number of times a SIP entity will retry sending an OPTIONS request." REFERENCE "Section 10.4 RFC2543" DEFVAL { 6 } ::= { sipCommonCfgRetryEntry 5 } sipCfgRetryInfo OBJECT-TYPE SYNTAX Unsigned32 (1..10) MAX-ACCESS read-write STATUS current DESCRIPTION "This object will specify the number of times a SIP entity will retry sending an INFO request." REFERENCE "Section 2.4 RFC 2976" DEFVAL { 6 } ::= { sipCommonCfgRetryEntry 6 } sipCfgRetryFinalResponse OBJECT-TYPE SYNTAX Unsigned32 (1..10) MAX-ACCESS read-write STATUS current DESCRIPTION "This object will specify the number of times a SIP entity will retry sending a final response and expecting an ACK." DEFVAL { 6 } ::= { sipCommonCfgRetryEntry 7 } sipCfgRetryNonFinalResponse OBJECT-TYPE SYNTAX Unsigned32 (1..10) Lingle/Maeng/Mule/Walker [Page 25] Internet-Draft SIP MIB February 2002 MAX-ACCESS read-write STATUS current DESCRIPTION "This object will specify the number of times a SIP entity will retry sending a non-final response." DEFVAL { 6 } ::= { sipCommonCfgRetryEntry 8 } -- -- Retry Extensions: support for extension methods -- sipCommonCfgRetryExtMethodTable OBJECT-TYPE SYNTAX SEQUENCE OF SipCommonCfgRetryExtMethodEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains retry configuration for each SIP extension method this entity supports." ::= { sipCommonCfgRetry 2 } sipCommonCfgRetryExtMethodEntry OBJECT-TYPE SYNTAX SipCommonCfgRetryExtMethodEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This row contains retry configuration information for a particular extension method. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex, sipCfgRetryExtMethodIndex } ::= { sipCommonCfgRetryExtMethodTable 1 } SipCommonCfgRetryExtMethodEntry ::= SEQUENCE { sipCfgRetryExtMethodIndex Unsigned32, sipCfgRetryExtMethodName SnmpAdminString, sipCfgRetryExtMethodRetry Unsigned32, sipCfgRetryExtMethodStatus RowStatus } sipCfgRetryExtMethodIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object uniquely identifies a conceptual row in the table." ::= { sipCommonCfgRetryExtMethodEntry 1 } sipCfgRetryExtMethodName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-create Lingle/Maeng/Mule/Walker [Page 26] Internet-Draft SIP MIB February 2002 STATUS current DESCRIPTION "This object contains the name of the particular extension method the SIP entity supports. For example, it may contain the string 'REFER' if the REFER method is supported. It is an error for any of the methods contained in RFC 2543 to be requested." ::= { sipCommonCfgRetryExtMethodEntry 2 } sipCfgRetryExtMethodRetry OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the number of times a SIP entity will retry sending its request for this particular extension method." ::= { sipCommonCfgRetryExtMethodEntry 3 } sipCfgRetryExtMethodStatus 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. A value for sipCfgRetryExtMethodName and sipCfgRetryExtMethodRetry must be set for row creation to be successful. If that method already exists for a particular applIndex, the row create operation will fail." ::= { sipCommonCfgRetryExtMethodEntry 4 } -- -- Per Method Expires Configuration -- sipCommonCfgExpiresMethodTable OBJECT-TYPE SYNTAX SEQUENCE OF SipCommonCfgExpiresMethodEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains Expires header value configuration objects applicable to SIP user agent and SIP stateful proxy entities." ::= { sipCommonCfgExpires 1 } sipCommonCfgExpiresMethodEntry OBJECT-TYPE SYNTAX SipCommonCfgExpiresMethodEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of Expires header configuration for SIP Methods. Each row represents those objects for a particular SIP Lingle/Maeng/Mule/Walker [Page 27] Internet-Draft SIP MIB February 2002 entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex } ::= { sipCommonCfgExpiresMethodTable 1 } SipCommonCfgExpiresMethodEntry ::= SEQUENCE { sipCfgExpiresInvite Unsigned32, sipCfgExpiresRegister Unsigned32, sipCfgExpiresHeaderMethod BITS } sipCfgExpiresInvite OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "For user agent clients, this value is inserted into the Expires header. For proxy servers, if a received request contained an Expires header, then the value in the header takes precedence." ::= { sipCommonCfgExpiresMethodEntry 1 } sipCfgExpiresRegister OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "For user agent clients, this value is inserted into the Expires header. For registrar servers, if a received request contained an Expires header, then the value in the header takes precedence." ::= { sipCommonCfgExpiresMethodEntry 2 } sipCfgExpiresHeaderMethod OBJECT-TYPE SYNTAX BITS { invite(0), register(1) } MAX-ACCESS read-write STATUS current DESCRIPTION "This convention is a bit map. Each bit represents a sip method where the Expires header line must be present. If a bit has value 1, then that messages corresponding to that SIP method must include an Expires header line. If a bit has value 0, then the Expires header line is not present. Combinations of bits can be set when the Expires header line is required in multiple SIP methods. Lingle/Maeng/Mule/Walker [Page 28] Internet-Draft SIP MIB February 2002 bit 0 : INVITE method. bit 1 : REGISTER Method." ::= { sipCommonCfgExpiresMethodEntry 3 } sipCommonCfgExpiresStatusCodeTable OBJECT-TYPE SYNTAX SEQUENCE OF SipCommonCfgExpiresStatusCodeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the Expires header configuration objects for the SIP responses." ::= { sipCommonCfgExpires 2 } sipCommonCfgExpiresStatusCodeEntry OBJECT-TYPE SYNTAX SipCommonCfgExpiresStatusCodeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This row contains information on the configuration of the Expires header value for a particular SIP status code. Examples of SIP responses that may include an Expires header are 302 and 504. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex, sipCfgExpiresStatusCodeValue } ::= { sipCommonCfgExpiresStatusCodeTable 1 } SipCommonCfgExpiresStatusCodeEntry ::= SEQUENCE { sipCfgExpiresStatusCodeValue INTEGER, sipCfgExpiresHeaderValue Unsigned32, sipCfgExpiresStatusCodeStatus RowStatus } sipCfgExpiresStatusCodeValue OBJECT-TYPE SYNTAX INTEGER (100..999) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object contains a SIP status code value for which the Expires header value is configured. All of the other information in the row is related to this value." ::= { sipCommonCfgExpiresStatusCodeEntry 1 } sipCfgExpiresHeaderValue OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "This value is inserted into the Expires header for the specific status code." Lingle/Maeng/Mule/Walker [Page 29] Internet-Draft SIP MIB February 2002 ::= { sipCommonCfgExpiresStatusCodeEntry 2 } sipCfgExpiresStatusCodeStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This object is required to create or delete rows remotely by a manager. A value for sipCfgExpiresHeaderValue must be specified when creating rows by setting this row status to 'createAndGo'. The row will automatically transition to 'active'. The configuration specified by an entry will be made active when this object is set to 'active'." ::= { sipCommonCfgExpiresStatusCodeEntry 3 } -- -- Common Statistics Objects -- -- -- Summary Statistics -- 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." ::= { sipCommonStatsSummary 1 } sipSummaryStatsEntry OBJECT-TYPE SYNTAX SipSummaryStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of summary statistics. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex } ::= { sipSummaryStatsTable 1 } SipSummaryStatsEntry ::= SEQUENCE { sipSummaryInRequests Counter32, Lingle/Maeng/Mule/Walker [Page 30] Internet-Draft SIP MIB February 2002 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 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 and in progress. It is not applicable to stateless SIP proxy servers. Lingle/Maeng/Mule/Walker [Page 31] Internet-Draft SIP MIB February 2002 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. For a transaction stateless proxy, this counter is always 0." ::= { 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 this system." ::= { sipCommonStatsMethod 1 } sipMethodStatsEntry OBJECT-TYPE SYNTAX SipMethodStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of per method statistics. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex } ::= { sipMethodStatsTable 1 } SipMethodStatsEntry ::= SEQUENCE { sipStatsInviteIns Counter32, sipStatsInviteOuts Counter32, sipStatsAckIns Counter32, sipStatsAckOuts Counter32, sipStatsByeIns Counter32, sipStatsByeOuts Counter32, sipStatsCancelIns Counter32, sipStatsCancelOuts Counter32, Lingle/Maeng/Mule/Walker [Page 32] Internet-Draft SIP MIB February 2002 sipStatsOptionsIns Counter32, sipStatsOptionsOuts Counter32, sipStatsRegisterIns Counter32, sipStatsRegisterOuts Counter32, sipStatsInfoIns Counter32, sipStatsInfoOuts 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 including retransmissions." 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 including retransmissions." REFERENCE "RFC 2543, Section 4.2.1" ::= { sipMethodStatsEntry 2 } sipStatsAckIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only 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 Lingle/Maeng/Mule/Walker [Page 33] Internet-Draft SIP MIB February 2002 DESCRIPTION "This object reflects the total number of BYE requests received by the SIP entity including retransmissions." 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 including retransmissions." 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 including retransmissions." REFERENCE "RFC 2543, Section 4.2.5" ::= { sipMethodStatsEntry 7 } sipStatsCancelOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of CANCEL requests sent by the SIP entity including retransmissions." 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 including retransmissions." REFERENCE "RFC 2543, Section 4.2.3" ::= { sipMethodStatsEntry 9 } sipStatsOptionsOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current Lingle/Maeng/Mule/Walker [Page 34] Internet-Draft SIP MIB February 2002 DESCRIPTION "This object reflects the total number of OPTIONS requests sent by the SIP entity including retransmissions." 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 including retransmissions." 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 including retransmissions." REFERENCE "RFC 2543, Section 4.2.6" ::= { sipMethodStatsEntry 12 } sipStatsInfoIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of INFO requests received by the SIP entity including retransmissions." REFERENCE "RFC 2976" ::= { sipMethodStatsEntry 13 } sipStatsInfoOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of INFO requests sent by the SIP entity including retransmissions." REFERENCE "RFC 2976" ::= { sipMethodStatsEntry 14 } Lingle/Maeng/Mule/Walker [Page 35] Internet-Draft SIP MIB February 2002 -- -- 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." ::= { 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. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." 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 'REFER' if the Lingle/Maeng/Mule/Walker [Page 36] Internet-Draft SIP MIB February 2002 network management station has requested that the SIP entity count the number of messages sent an received which containing a REFER method. It is an error for any of the methods contained in RFC 2543 to be requested." ::= { 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 including retransmissions if appropriate for the method." ::= { 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 including retransmissions if appropriate for the method." ::= { 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. If set to 'notInService', all counters values may be reset to zero and any associated notifications will be disabled. Associated notifications are specified in the sipCommonStatusCodeNotifTable. The configuration specified by an entry will be made active when this object is set to 'active'." ::= { 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 Lingle/Maeng/Mule/Walker [Page 37] Internet-Draft SIP MIB February 2002 classes for each SIP entity in this system." ::= { sipCommonStatusCode 1 } sipStatusCodesEntry OBJECT-TYPE SYNTAX SipStatusCodesEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This row contains statistics on response status codes. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex } ::= { sipStatusCodesTable 1 } 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, sipStatsOtherClassesIns Counter32, sipStatsOtherClassesOuts 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. Lingle/Maeng/Mule/Walker [Page 38] Internet-Draft SIP MIB February 2002 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 "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." 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." REFERENCE "RFC 2543, Sections 5.1.1 & 7.3" ::= { sipStatusCodesEntry 6 } Lingle/Maeng/Mule/Walker [Page 39] Internet-Draft SIP MIB February 2002 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 } 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." 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." REFERENCE "RFC 2543, Sections 5.1.1 & 7.5" ::= { sipStatusCodesEntry 10 } sipStatsGlobalFailClassIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only Lingle/Maeng/Mule/Walker [Page 40] Internet-Draft SIP MIB February 2002 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 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." 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." REFERENCE "RFC 2543, Sections 5.1.1 & 7.6" ::= { sipStatusCodesEntry 12 } sipStatsOtherClassesIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of SIP responses received by the SIP entity for status code response classes other than 1xx, 2xx, 3xx, 4xx, 5xx, or 6xx." ::= { sipStatusCodesEntry 13 } sipStatsOtherClassesOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of SIP responses sent by the SIP entity for status code response classes other than 1xx, 2xx, 3xx, 4xx, 5xx, or 6xx." ::= { sipStatusCodesEntry 14 } -- -- support for specific status codes -- sipCommonStatusCodeTable OBJECT-TYPE Lingle/Maeng/Mule/Walker [Page 41] Internet-Draft SIP MIB February 2002 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. It is the mechanism by which specific status codes are monitored." ::= { 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. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex, sipCommonStatusCodeValue } ::= { sipCommonStatusCodeTable 1 } SipCommonStatusCodeEntry ::= SEQUENCE { sipCommonStatusCodeValue INTEGER, sipCommonStatusCodeIns Counter32, sipCommonStatusCodeOuts Counter32, 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 Lingle/Maeng/Mule/Walker [Page 42] Internet-Draft SIP MIB February 2002 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 } sipCommonStatusCodeStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The row augmentation in sipCommonStatusCodeNotifTable will be governed by the value of this RowStatus.This object is required to create or delete rows remotely by a manager. If set to 'notInService', all counters values may be reset to zero and any associated notifications will be disabled. Associated notifications are specified in the sipCommonStatusCodeNotifTable. The configuration specified by an entry will be made active when this object is set to 'active'." ::= { sipCommonStatusCodeEntry 4 } -- -- support for specific status code notifications -- sipCommonStatusCodeNotifTable OBJECT-TYPE SYNTAX SEQUENCE OF SipCommonStatusCodeNotifEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains objects to control notifications related to particular status codes each SIP entity in this system has been requested to monitor. There is an entry in this table corresponding to each entry in sipCommonStatusCodeTable. Therefore, this table augments that table and utilizes the same index methodology." ::= { sipCommonStatusCode 3 } sipCommonStatusCodeNotifEntry OBJECT-TYPE SYNTAX SipCommonStatusCodeNotifEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This row contains information controlling notifications for a particular SIP status code that the SIP entity has been requested to monitor." AUGMENTS { sipCommonStatusCodeEntry } ::= { sipCommonStatusCodeNotifTable 1 } Lingle/Maeng/Mule/Walker [Page 43] Internet-Draft SIP MIB February 2002 SipCommonStatusCodeNotifEntry ::= SEQUENCE { sipCommonStatusCodeNotifSend TruthValue, sipCommonStatusCodeNotifEmitMode INTEGER, sipCommonStatusCodeNotifThresh Unsigned32, sipCommonStatusCodeNotifInterval Unsigned32 } sipCommonStatusCodeNotifSend OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "This object controls whether a sipStatusCodeNotif is emitted when the status code value specified in by sipCommonStatusCodeValue 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. Note well, that a notification may be emitted for every msg sent or received that contains the particular status code. Depending on the status code involved, this can cause a significant number of notification emissions that could be detrimental to network performance. Managers are forewarned to be prudent in the use of this object to enable notifications. Look to sipCommonStatusCodeNotifEmitMode for alternative controls for sipStatusCodeNotif emissions." DEFVAL { false } ::= { sipCommonStatusCodeNotifEntry 1 } sipCommonStatusCodeNotifEmitMode OBJECT-TYPE SYNTAX INTEGER { normal(1), oneShot(2), triggered(3) -- read-only } MAX-ACCESS read-create STATUS current DESCRIPTION "The object sipCommonStatusCodeNotifSend must be set to ĉtrueĈ for the values of this object to have any effect. It is recommended that the desired emit mode be established by this object prior to setting sipCommonStatusCodeNotifSend to ĉtrueĈ. This object specifies the mode for emissions of sipStatusCodeNotif notifications. normal : sipStatusCodeNotif notifications will be emitted by the system for each SIP response messages sent or received that contains the desired status code. oneShot : Only one sipStatusCodeNotif notification will be emitted. It will be the next SIP response messages sent or received that contains the desired status code. Lingle/Maeng/Mule/Walker [Page 44] Internet-Draft SIP MIB February 2002 No more notifs are emitted until this object is set to either 'oneShot' again or 'normal'. This option is provided as a means of quelling the potential promiscuous behavior that can be associated with the sipStatusCodeNotif. triggered : This value is only readable and cannot be set. It reflects when the 'oneShot' has occurred and indicates the mode needs to be reset to get further notifications. The mode is reset by setting this object to 'oneShot' or 'normal'." DEFVAL { normal } ::= { sipCommonStatusCodeNotifEntry 2 } sipCommonStatusCodeNotifThresh OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the number of response messages sent or received by this system that are considered excessive. Based on crossing that threshold, a sipStatusCodeExceededNotif notification will be sent. The sipStatusCodeExceededNotif can be used as an early warning mechanism in lieu of using sipStatusCodeNotif." DEFVAL { 500 } ::= { sipCommonStatusCodeNotifEntry 3 } sipCommonStatusCodeNotifInterval OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the time interval over which if sipCommonStatusCodeThresh is exceeded a sipCommonStatusCodeThresh notification will be sent." DEFVAL { 60 } ::= { sipCommonStatusCodeNotifEntry 4 } -- -- support for status code notification attributes. -- 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. The header name will be part of this object value. For example, 'To: Watson ." ::= { sipCommonStatusCode 4 } Lingle/Maeng/Mule/Walker [Page 45] Internet-Draft SIP MIB February 2002 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. The header name will be part of this object value. For example, 'From: Watson '." ::= { sipCommonStatusCode 5 } 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. The header name will be part of this object value. For example, 'Call-ID: 5551212@information.com'." ::= { sipCommonStatusCode 6 } sipStatusCodeNotifCSeq OBJECT-TYPE SYNTAX Unsigned32 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. The header name will be part of this object value. For example, 'CSeq: 1722 INVITE'." ::= { sipCommonStatusCode 7 } -- -- 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. This table does not apply to transaction stateless proxy servers." ::= { sipCommonStatsTrans 1 } sipCurrentTransEntry OBJECT-TYPE SYNTAX SipCurrentTransEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION Lingle/Maeng/Mule/Walker [Page 46] Internet-Draft SIP MIB February 2002 "Information on a particular SIP entity's current transactions. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." 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 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. This table does not apply to transaction stateless proxy servers." ::= { sipCommonStatsTrans 2 } sipTransactionEntry OBJECT-TYPE SYNTAX SipTransactionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information on a particular current transaction. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex, sipTransIndex } ::= { sipTransactionTable 1 } Lingle/Maeng/Mule/Walker [Page 47] Internet-Draft SIP MIB February 2002 SipTransactionEntry ::= SEQUENCE { sipTransIndex Unsigned32, sipTransTo SnmpAdminString, sipTransFrom SnmpAdminString, sipTransCallId SnmpAdminString, sipTransCSeq Unsigned32, sipTransState INTEGER, sipTransNumOutstandingBranches Integer32, sipTransExpiry DateAndTime, sipTransMethod SnmpAdminString, sipTransActivityInfo 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. The header name will be part of this object value. For example, 'To: Watson ." ::= { sipTransactionEntry 2 } sipTransFrom OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the value of the From header in the request message. The header name will be part of this object value. For example, 'From: Watson '." ::= { 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. The header name will be part of this object value. For example, 'Call-ID: 5551212@information.com'." ::= { sipTransactionEntry 4 } sipTransCSeq OBJECT-TYPE SYNTAX Unsigned32 Lingle/Maeng/Mule/Walker [Page 48] Internet-Draft SIP MIB February 2002 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the CSeq value for the current transaction. The header name will be part of this object value. For example, 'CSeq: 1722 INVITE'." ::= { 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. Note that some of the object values may only be applicable to some transaction types (for example, INVITE and non-INVITE transaction states differ). 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 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 Lingle/Maeng/Mule/Walker [Page 49] Internet-Draft SIP MIB February 2002 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 } sipTransMethod OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the SIP method which initiated the transaction." ::= { sipTransactionEntry 9 } sipTransActivityInfo OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an informational string about the latest activity on this transaction. The string is made up of 2 elements separated by a space character: the first element indicates the direction of the latest message (received or sent) and the second element is the SIP request name or SIP response code. Examples of valid strings are: sent 100 received INVITE sent BYE received 200" ::= { sipTransactionEntry 10 } -- -- SIP Retry Statistics -- -- The counter objects in this group correspond directly to the -- retry timers supported in sipCommonCfgRetry group. applIndex can -- be used to correlate the two groups. -- -- sipCommonStatsRetryTable OBJECT-TYPE SYNTAX SEQUENCE OF SipCommonStatsRetryEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains retry statistics objects applicable Lingle/Maeng/Mule/Walker [Page 50] Internet-Draft SIP MIB February 2002 to each SIP entity in this system." ::= { sipCommonStatsRetry 1 } sipCommonStatsRetryEntry OBJECT-TYPE SYNTAX SipCommonStatsRetryEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of retry statistics. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex } ::= { sipCommonStatsRetryTable 1 } SipCommonStatsRetryEntry ::= SEQUENCE { sipStatsRetryInvites Counter32, sipStatsRetryByes Counter32, sipStatsRetryCancels Counter32, sipStatsRetryRegisters Counter32, sipStatsRetryOptions Counter32, sipStatsRetryInfos Counter32, sipStatsRetryFinalResponses Counter32, sipStatsRetryNonFinalResponses Counter32 } sipStatsRetryInvites OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of INVITE retries that have been sent by the SIP entity. If the number of 'first attempt' INVITES is of interest, subtract the value of this object from sipStatsInviteOuts." ::= { sipCommonStatsRetryEntry 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 SIP entity. If the number of 'first attempt' BYEs is of interest, subtract the value of this object from sipStatsByeOuts." ::= { sipCommonStatsRetryEntry 2 } sipStatsRetryCancels OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION Lingle/Maeng/Mule/Walker [Page 51] Internet-Draft SIP MIB February 2002 "This object reflects the total number of CANCEL retries that have been sent by the SIP entity. If the number of 'first attempt' CANCELs is of interest, subtract the value of this object from sipStatsCancelOuts." ::= { sipCommonStatsRetryEntry 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 SIP entity. If the number of 'first attempt' REGISTERSs is of interest, subtract the value of this object from sipStatsRegisterOuts." ::= { sipCommonStatsRetryEntry 4 } sipStatsRetryOptions OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of OPTIONS retries that have been sent by the SIP entity. If the number of 'first attempt' OPTIONS is of interest, subtract the value of this object from sipStatsOptionsOuts." ::= { sipCommonStatsRetryEntry 5 } sipStatsRetryInfos OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of INFO retries that have been sent by the SIP entity. If the number of 'first attempt' INFOS is of interest, subtract the value of this object from sipStatsInfoOuts." ::= { sipCommonStatsRetryEntry 6 } sipStatsRetryFinalResponses OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of Final Response retries that have been sent by the SIP entity." ::= { sipCommonStatsRetryEntry 7 } sipStatsRetryNonFinalResponses OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of non-Final Response retries that have been sent by the SIP entity." ::= { sipCommonStatsRetryEntry 8 } Lingle/Maeng/Mule/Walker [Page 52] Internet-Draft SIP MIB February 2002 -- -- Retry Extensions Stats: support for extension methods -- sipCommonStatsRetryExtMethodTable OBJECT-TYPE SYNTAX SEQUENCE OF SipCommonStatsRetryExtMethodEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains retry statistics for each SIP extension method this entity supports." ::= { sipCommonStatsRetry 2 } sipCommonStatsRetryExtMethodEntry OBJECT-TYPE SYNTAX SipCommonStatsRetryExtMethodEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This row contains retry statistics for a particular extension method. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex, sipStatsRetryExtMethodIndex } ::= { sipCommonStatsRetryExtMethodTable 1 } SipCommonStatsRetryExtMethodEntry ::= SEQUENCE { sipStatsRetryExtMethodIndex Unsigned32, sipStatsRetryExtMethodName SnmpAdminString, sipStatsRetryExtMethodRetries Counter32, sipStatsRetryExtMethodStatus RowStatus } sipStatsRetryExtMethodIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object uniquely identifies a conceptual row in the table." ::= { sipCommonStatsRetryExtMethodEntry 1 } sipStatsRetryExtMethodName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION "This object contains the name of the particular extension method the SIP entity supports. For example, it may contain the string 'REFER' if the REFER method is supported. It is an error for any of the methods contained Lingle/Maeng/Mule/Walker [Page 53] Internet-Draft SIP MIB February 2002 in RFC 2543 to be requested." ::= { sipCommonStatsRetryExtMethodEntry 2 } sipStatsRetryExtMethodRetries OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of retries sent by the SIP entity for a given extension method." ::= { sipCommonStatsRetryExtMethodEntry 3 } sipStatsRetryExtMethodStatus 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. A value for sipStatsRetryExtMethodName must be set for row creation to be successful. If that method already exists for a particular applIndex, the row create operation will fail." ::= { sipCommonStatsRetryExtMethodEntry 4 } -- -- 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." ::= { sipCommonStatsOther 1 } sipOtherStatsEntry OBJECT-TYPE SYNTAX SipOtherStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information on a particular SIP entity's other common statistics. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex } ::= { sipOtherStatsTable 1 } SipOtherStatsEntry ::= SEQUENCE { sipNumUnsupportedUris Counter32 } Lingle/Maeng/Mule/Walker [Page 54] Internet-Draft SIP MIB February 2002 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 1 } -- -- Notifications -- sipNotifApplIndex OBJECT-TYPE SYNTAX INTEGER (1..2147483647) MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "This object contains the applIndex as described in RFC 2788. It is used to bind this notification with a specific instance of SIP entity." ::= { sipCommonMIBNotifs 1 } sipStatusCodeNotif NOTIFICATION-TYPE OBJECTS { sipNotifApplIndex, sipStatusCodeNotifTo, sipStatusCodeNotifFrom, sipStatusCodeNotifCallId, sipStatusCodeNotifCSeq, sipCommonStatusCodeIns, sipCommonStatusCodeOuts } STATUS current DESCRIPTION "Signifies that a specific status code has been sent or received by the system." ::= { sipCommonMIBNotifs 2 } sipStatusCodeThreshExceededNotif NOTIFICATION-TYPE OBJECTS { sipNotifApplIndex, sipCommonStatusCodeIns, sipCommonStatusCodeOuts } STATUS current DESCRIPTION "Signifies that a specific status code was found to have been sent or received by the system enough to exceed the configured threshold. This notification can be used as an early warning mechanism in lieu of using sipStatusCodeNotif." ::= { sipCommonMIBNotifs 3 } Lingle/Maeng/Mule/Walker [Page 55] Internet-Draft SIP MIB February 2002 -- -- Conformance -- sipCommonMIBCompliances OBJECT IDENTIFIER ::= { sipCommonMIBConform 1 } sipCommonMIBGroups OBJECT IDENTIFIER ::= { sipCommonMIBConform 2 } -- -- Compliance Statements -- sipCommonCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SIP entities." MODULE -- this module MANDATORY-GROUPS { sipCommonConfigGroup, sipCommonStatsGroup } GROUP sipCommonConfigTimerGroup DESCRIPTION "This group is optional. A SIP entity can elect to not provide any timer configuration." GROUP sipCommonConfigTimerExtMethodGroup DESCRIPTION "This group is optional. A SIP entity can elect to not provide any extension method timer configuration. If implemented, the sipCommonConfigTimerGroup must also be implemented because of a dependency on sipCfgTimerT2." GROUP sipCommonConfigRetryGroup DESCRIPTION "This group is optional. A SIP entity can elect to not provide any retry configuration." GROUP sipCommonConfigRetryExtMethodGroup DESCRIPTION "This group is optional. A SIP entity can elect to not provide any extension method retry configuration." GROUP sipCommonStatsRetryGroup DESCRIPTION "This group is optional. A SIP entity can elect to not provide any retry statistics. If implemented, the sipCommonConfigRetryGroup must also be implemented." GROUP sipCommonStatsRetryExtMethodsGroup DESCRIPTION "This group is optional. A SIP entity can elect to not provide any extension method retry statistics. If implemented, the sipCommonConfigRetryExtMethodGroup must also be implemented." GROUP sipCommonNotifGroup Lingle/Maeng/Mule/Walker [Page 56] Internet-Draft SIP MIB February 2002 DESCRIPTION "This group is optional. A SIP entity can elect to not provide any notifications. If implemented, the sipCommonStatusCodeNotifGroup must also be implemented." GROUP sipCommonStatusCodeNotifGroup DESCRIPTION "This group is optional. A SIP entity can elect to not provide any notifications. If implemented, the sipCommonNotifGroup must also be implemented." GROUP sipCommonConfigExpiresGroup DESCRIPTION "This group is optional. A SIP entity can elect to not provide any Expires header configuration." ::= { sipCommonMIBCompliances 1 } -- -- Units of Conformance -- sipCommonConfigGroup OBJECT-GROUP OBJECTS { sipProtocolVersion, sipServiceOperStatus, sipServiceAdminStatus, sipServiceStartTime, sipServiceLastChange, sipTransportRcv, sipTransportSnd, sipPortStatus, sipUriSupported, sipFtrSupported, sipOrganization, sipMaxSessions, sipRequestUriHostMatching } STATUS current DESCRIPTION "A collection of objects providing configuration common to all SIP enities." ::= { sipCommonMIBGroups 1 } sipCommonConfigTimerGroup OBJECT-GROUP OBJECTS { sipCfgInitialTimerInvite, sipCfgTimerProv, sipCfgInitialTimerBye, sipCfgInitialTimerRegister, sipCfgInitialTimerOptions, sipCfgInitialTimerInfo, sipCfgInitialTimerRsp, sipCfgTimerT2 } STATUS current Lingle/Maeng/Mule/Walker [Page 57] Internet-Draft SIP MIB February 2002 DESCRIPTION "A collection of objects providing timer configuration common to all SIP enities." ::= { sipCommonMIBGroups 2 } sipCommonConfigTimerExtMethodGroup OBJECT-GROUP OBJECTS { sipCfgTimerExtMethodName, sipCfgTimerExtMethodTimer, sipCfgTimerExtMethodStatus } STATUS current DESCRIPTION "A collection of objects providing extension method timer configuration." ::= { sipCommonMIBGroups 3 } sipCommonConfigRetryGroup OBJECT-GROUP OBJECTS { sipCfgRetryInvite, sipCfgRetryBye, sipCfgRetryCancel, sipCfgRetryRegister, sipCfgRetryOptions, sipCfgRetryInfo, sipCfgRetryFinalResponse, sipCfgRetryNonFinalResponse } STATUS current DESCRIPTION "A collection of objects providing retry configuration common to all SIP enities." ::= { sipCommonMIBGroups 4 } sipCommonConfigRetryExtMethodGroup OBJECT-GROUP OBJECTS { sipCfgRetryExtMethodName, sipCfgRetryExtMethodRetry, sipCfgRetryExtMethodStatus } STATUS current DESCRIPTION "A collection of objects providing extension method retry configuration." ::= { sipCommonMIBGroups 5 } sipCommonStatsGroup OBJECT-GROUP OBJECTS { sipSummaryInRequests, sipSummaryOutRequests, sipSummaryInResponses, sipSummaryOutResponses, sipSummaryTotalTransactions, sipStatsInviteIns, sipStatsInviteOuts, sipStatsAckIns, sipStatsAckOuts, Lingle/Maeng/Mule/Walker [Page 58] Internet-Draft SIP MIB February 2002 sipStatsByeIns, sipStatsByeOuts, sipStatsCancelIns, sipStatsCancelOuts, sipStatsOptionsIns, sipStatsOptionsOuts, sipStatsRegisterIns, sipStatsRegisterOuts, sipStatsInfoIns, sipStatsInfoOuts, sipStatsExtMethodName, sipStatsExtMethodIns, sipStatsExtMethodOuts, sipStatsExtMethodStatus, sipStatsInfoClassIns, sipStatsInfoClassOuts, sipStatsSuccessClassIns, sipStatsSuccessClassOuts, sipStatsRedirClassIns, sipStatsRedirClassOuts, sipStatsReqFailClassIns, sipStatsReqFailClassOuts, sipStatsServerFailClassIns, sipStatsServerFailClassOuts, sipStatsGlobalFailClassIns, sipStatsGlobalFailClassOuts, sipStatsOtherClassesIns, sipStatsOtherClassesOuts, sipCommonStatusCodeIns, sipCommonStatusCodeOuts, sipCommonStatusCodeStatus, sipCurrentTransactions, sipTransTo, sipTransFrom, sipTransCallId, sipTransCSeq, sipTransState, sipTransNumOutstandingBranches, sipTransExpiry, sipTransMethod, sipTransActivityInfo, sipNumUnsupportedUris } STATUS current DESCRIPTION "A collection of objects providing statistics common toall SIP entities." ::= { sipCommonMIBGroups 6 } sipCommonStatsRetryGroup OBJECT-GROUP OBJECTS { sipStatsRetryInvites, sipStatsRetryByes, sipStatsRetryCancels, sipStatsRetryRegisters, sipStatsRetryOptions, sipStatsRetryInfos, Lingle/Maeng/Mule/Walker [Page 59] Internet-Draft SIP MIB February 2002 sipStatsRetryFinalResponses, sipStatsRetryNonFinalResponses } STATUS current DESCRIPTION "A collection of objects providing retry statistics." ::= { sipCommonMIBGroups 7 } sipCommonStatsRetryExtMethodsGroup OBJECT-GROUP OBJECTS { sipStatsRetryExtMethodName, sipStatsRetryExtMethodRetries, sipStatsRetryExtMethodStatus } STATUS current DESCRIPTION "A collection of objects providing extension method retry statistics." ::= { sipCommonMIBGroups 8 } sipCommonNotifGroup NOTIFICATION-GROUP NOTIFICATIONS { sipStatusCodeNotif, sipStatusCodeThreshExceededNotif } STATUS current DESCRIPTION "A collection of notifications common to all SIP entities." ::= { sipCommonMIBGroups 9 } sipCommonStatusCodeNotifGroup OBJECT-GROUP OBJECTS { sipCommonStatusCodeNotifSend, sipCommonStatusCodeNotifEmitMode, sipCommonStatusCodeNotifThresh, sipCommonStatusCodeNotifInterval, sipStatusCodeNotifTo, sipStatusCodeNotifFrom, sipStatusCodeNotifCallId, sipStatusCodeNotifCSeq, sipNotifApplIndex } STATUS current DESCRIPTION "A collection of objects related to controlling and attribution of notifications common to all SIP entities." ::= { sipCommonMIBGroups 10 } sipCommonConfigExpiresGroup OBJECT-GROUP OBJECTS { sipCfgExpiresInvite, sipCfgExpiresRegister, sipCfgExpiresHeaderMethod, sipCfgExpiresHeaderValue, sipCfgExpiresStatusCodeStatus } Lingle/Maeng/Mule/Walker [Page 60] Internet-Draft SIP MIB February 2002 STATUS current DESCRIPTION "A collection of objects providing configuration related to Expires header." ::= { sipCommonMIBGroups 11 } END 5.3. SIP User Agent SIP-UA-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, mib-2 FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF RowStatus FROM SNMPv2-TC applIndex FROM NETWORK-SERVICES-MIB InetAddressType, InetAddress FROM INET-ADDRESS-MIB; sipUAMIB MODULE-IDENTITY LAST-UPDATED "200202040000Z" ORGANIZATION "IETF SIP Working Group, SIP MIB Team" CONTACT-INFO "SIP MIB email: sip@ietf.org 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 ipDialog, Inc. postal: 7701 N. Lamar Blvd., Suite 304 Austin, TX 78752-1023 USA email: jmaeng@ipdialog.com phone: +1 512 371 1770 Lingle/Maeng/Mule/Walker [Page 61] Internet-Draft SIP MIB February 2002 Co-editor Dave Walker SS8 Networks, Inc. postal: 495 March Road Kanata, ON K2K 3G1 Canada email: drwalker@ss8.com phone: +1 613 592 2100 Co-editor Jean-Francois Mule CableLabs postal: 400 Centennial Parkway Louisville, CO 80027 USA email: jf.mule@cablelabs.com phone: +1 303 661 3708 " 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." ::= { mib-2 9992 } -- to be assigned by IANA -- Top-Level Components of this MIB. sipUAMIBObjects OBJECT IDENTIFIER ::= { sipUAMIB 1 } sipUAMIBConform OBJECT IDENTIFIER ::= { sipUAMIB 2 } -- -- This MIB contains objects related to SIP User Agents. -- sipUACfgSipServer OBJECT IDENTIFIER ::= { sipUAMIBObjects 1 } -- -- SIP Server Configuration -- sipUACfgSipServerTable OBJECT-TYPE SYNTAX SEQUENCE OF SipUACfgSipServerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains SIP server configuration objects applicable to each SIP user agent in this system." ::= { sipUACfgSipServer 1 } Lingle/Maeng/Mule/Walker [Page 62] Internet-Draft SIP MIB February 2002 sipUACfgSipServerEntry OBJECT-TYPE SYNTAX SipUACfgSipServerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of server configuration. Each row represents those objects for a particular SIP user agent present in this system. applIndex is used to uniquely identify these instances of SIP user agents and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788). The same value of applIndex used in the corresponding SIP-COMMON-MIB is used here." INDEX { applIndex, sipUACfgSipServerAddrIndex } ::= { sipUACfgSipServerTable 1 } SipUACfgSipServerEntry ::= SEQUENCE { sipUACfgSipServerAddrIndex Unsigned32, sipUACfgSipServerAddrType InetAddressType, sipUACfgSipServerAddr InetAddress, sipUACfgSipServerAddrStatus RowStatus } sipUACfgSipServerAddrIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique identifier of a server address when multiple addresses are configured by the SIP entity. If one address isn't reachable, then another can be tried." ::= { sipUACfgSipServerEntry 1 } sipUACfgSipServerAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the type of address contained in the associated instance of sipUACfgSipServerAddr." REFERENCE "INET-ADDRESS-MIB (RFC 2851)" DEFVAL { ipv4 } ::= { sipUACfgSipServerEntry 2 } sipUACfgSipServerAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the address of a SIP server this user agent will use to proxy/redirect calls." ::= { sipUACfgSipServerEntry 3 } Lingle/Maeng/Mule/Walker [Page 63] Internet-Draft SIP MIB February 2002 sipUACfgSipServerAddrStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This object is used to control rows in this table. 'active' : the row's information is completely populated and that information is being used by the user agent. 'notInService' : the row's address is not being used by the user agent, but will remain in the table. 'notReady' : key information is missing thus, preventing the row from being made 'active' (eg, no address specified). 'createAndGo' : only allowed if the manager also provides a varbind for sipUACfgSipServerAddr object in the same set operation. 'createAndWait' : not applicable. 'destroy' : the row's address will no longer be used by the user agent and the row will be removed from the table." ::= { sipUACfgSipServerEntry 4 } -- -- Conformance -- sipUAMIBCompliances OBJECT IDENTIFIER ::= { sipUAMIBConform 1 } sipUAMIBGroups OBJECT IDENTIFIER ::= { sipUAMIBConform 2 } -- -- Compliance Statements -- sipUACompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SIP entities." MODULE -- this module MANDATORY-GROUPS { sipUAConfigGroup } ::= { sipUAMIBCompliances 1 } -- -- Units of Conformance -- sipUAConfigGroup OBJECT-GROUP OBJECTS { sipUACfgSipServerAddrType, sipUACfgSipServerAddr, Lingle/Maeng/Mule/Walker [Page 64] Internet-Draft SIP MIB February 2002 sipUACfgSipServerAddrStatus } STATUS current DESCRIPTION "A collection of objects providing configuration for SIP User Agents." ::= { sipUAMIBGroups 1 } END 5.4. SIP Server (Registrar, Redirect & Proxy Server) SIP-SERVER-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Counter32, Integer32, Unsigned32, Gauge32, mib-2 FROM SNMPv2-SMI RowStatus, TruthValue, TimeStamp, DateAndTime FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF SnmpAdminString FROM SNMP-FRAMEWORK-MIB applIndex FROM NETWORK-SERVICES-MIB InetAddressType, InetAddress FROM INET-ADDRESS-MIB; sipServerMIB MODULE-IDENTITY LAST-UPDATED "200202040000Z" ORGANIZATION "IETF SIP Working Group, SIP MIB Team" CONTACT-INFO "SIP MIB email: sip@ietf.org Co-editor Kevin Lingle Cisco Systems, Inc. postal: 7025 Kit Creek Road P.O. Box 14987 Lingle/Maeng/Mule/Walker [Page 65] Internet-Draft SIP MIB February 2002 Research Triangle Park, NC 27709 USA email: klingle@cisco.com phone: +1 919 392 2029 Co-editor Joon Maeng ipDialog, Inc. postal: 7701 N. Lamar Blvd., Suite 304 Austin, TX 78752-1023 USA email: jmaeng@ipdialog.com phone: +1 512 371 1770 Co-editor Dave Walker SS8 Networks, Inc. postal: 495 March Road Kanata, ON K2K 3G1 Canada email: drwalker@ss8.com phone: +1 613 592 2100 Co-editor Jean-Francois Mule CableLabs postal: 400 Centennial Parkway Louisville, CO 80027 USA email: jf.mule@cablelabs.com phone: +1 303 661 3708 " 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, Redirect, and Registrar 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 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." ::= { mib-2 9991 } -- to be assigned by IANA Lingle/Maeng/Mule/Walker [Page 66] Internet-Draft SIP MIB February 2002 -- Top-Level Components of this MIB. sipServerMIBObjects OBJECT IDENTIFIER ::= { sipServerMIB 1 } sipServerMIBConform OBJECT IDENTIFIER ::= { sipServerMIB 2 } -- -- These groups contains objects common to all SIP servers. -- sipServerCfg OBJECT IDENTIFIER ::= { sipServerMIBObjects 1 } sipServerStats OBJECT IDENTIFIER ::= { sipServerMIBObjects 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." ::= { sipServerCfg 1 } sipServerCfgEntry OBJECT-TYPE SYNTAX SipServerCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of common configuration. Each row represents those objects for a particular SIP server present in this system. applIndex is used to uniquely identify these instances of SIP servers and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788). The same value of applIndex used in the corresponding SIP-COMMON-MIB is used here." INDEX { applIndex } ::= { sipServerCfgTable 1 } SipServerCfgEntry ::= SEQUENCE { sipServerHostAddrType InetAddressType, sipServerHostAddr InetAddress, sipPgpVersion SnmpAdminString, sipServerContactDfltAction INTEGER, sipServerRespectUAAction TruthValue } sipServerHostAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-write STATUS current DESCRIPTION "The type of Internet address by which the SIP server is reachable." REFERENCE "RFC 2543, Section 2" Lingle/Maeng/Mule/Walker [Page 67] Internet-Draft SIP MIB February 2002 ::= { sipServerCfgEntry 1 } sipServerHostAddr OBJECT-TYPE SYNTAX InetAddress (SIZE(1..254)) 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. The length of the value will depend on the type of address specified. sipServerHostAddrType formalizes the type of address given by this object. It is the users responsibility to maintain consistency between this object and the type specified by sipServerHostAddrType." REFERENCE "RFC 2543, Section 2" ::= { sipServerCfgEntry 2 } -- -- 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 3 } -- -- Additional Server Configuration -- sipServerContactDfltAction OBJECT-TYPE SYNTAX INTEGER { redirect(1), proxy(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies whether the default contact action of the server is to be a proxy 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" ::= { sipServerCfgEntry 4 } sipServerRespectUAAction OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION Lingle/Maeng/Mule/Walker [Page 68] Internet-Draft SIP MIB February 2002 "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 sipServerContactDfltAction is used." REFERENCE "RFC 2543, Section 6.13" ::= { sipServerCfgEntry 5 } -- -- This group contains MIB objects related to SIP Proxy Servers. -- sipProxyCfg OBJECT IDENTIFIER ::= { sipServerMIBObjects 3 } sipProxyStats OBJECT IDENTIFIER ::= { sipServerMIBObjects 4 } -- -- 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." ::= { sipProxyCfg 1 } sipProxyCfgEntry OBJECT-TYPE SYNTAX SipProxyCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of common proxy configuration. Each row represents those objects for a particular SIP server present in this system. applIndex is used to uniquely identify these instances of SIP servers and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788). The same value of applIndex used in the corresponding SIP-COMMON-MIB is used here." INDEX { applIndex } ::= { sipProxyCfgTable 1 } SipProxyCfgEntry ::= SEQUENCE { sipRequestMaxExpires Unsigned32, sipProxyStatefulness INTEGER, sipProxySendsCancel TruthValue, sipProxyForwardAll1xx TruthValue, sipProxyRecursion TruthValue, sipProxyProvideAlternatives TruthValue, sipProxyRecordRoute TruthValue, sipProxyStateTimeout Integer32, sipProxyAuthMethod BITS, sipProxyAuthPgpAlgorithm INTEGER, Lingle/Maeng/Mule/Walker [Page 69] Internet-Draft SIP MIB February 2002 sipProxyAuthRealm SnmpAdminString, sipProxyNonceLifeTime Integer32, sipPgpPrivateKey OCTET STRING } 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." ::= { sipProxyCfgEntry 1 } sipProxyStatefulness OBJECT-TYPE SYNTAX INTEGER { stateless(1), transactionStateful(2), callStateful(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the default mode of operation for the proxy server entity. A stateless proxy entity does not maintain state for a SIP transaction. A stateless proxy forwards every request it receives downstream and every response it receives upstream. If the value of this object is stateless(1), the proxy defaults to stateless operations. A transaction stateful proxy, or simply a 'stateful proxy', maintains state information for the duration of a SIP transaction. If the value if this object is transactionStateful(2), the proxy is stateful on a transaction basis. A call stateful proxy does retain state that persists for the duration of a call initiated through it. To properly manage that state, the proxy will normally need to receive the BYE requests that terminate the call. If the value of this object is callStateful(3), the proxy is call stateful." REFERENCE "RFC 2543, Section 12.3" ::= { sipProxyCfgEntry 2 } 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 Lingle/Maeng/Mule/Walker [Page 70] Internet-Draft SIP MIB February 2002 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 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 set to ĉtrueĈ." REFERENCE Lingle/Maeng/Mule/Walker [Page 71] Internet-Draft SIP MIB February 2002 "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 INVITE 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 BITS { none(0), basic(1), digest(2), pgp(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the authentication method that is used to authenticate request originators. bit 0 no authentication is performed bit 1 HTTP basic is used bit 2 HTTP digest is used Lingle/Maeng/Mule/Walker [Page 72] Internet-Draft SIP MIB February 2002 bit 3 PGP (Pretty Good Privacy) is used." ::= { 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 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 } Lingle/Maeng/Mule/Walker [Page 73] Internet-Draft SIP MIB February 2002 -- -- 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." ::= { sipProxyStats 1 } sipProxyStatsEntry OBJECT-TYPE SYNTAX SipProxyStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of summary statistics. Each row represents those objects for a particular SIP server present in this system. applIndex is used to uniquely identify these instances of SIP servers and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788). The same value of applIndex used in the corresponding SIP-COMMON-MIB is used here." INDEX { applIndex } ::= { sipProxyStatsTable 1 } 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 } -- -- This group contains MIB objects related to SIP Redirect Servers. -- sipRedirCfg OBJECT IDENTIFIER ::= { sipServerMIBObjects 5 } sipRedirStats OBJECT IDENTIFIER ::= { sipServerMIBObjects 6 } -- none at this time -- Lingle/Maeng/Mule/Walker [Page 74] Internet-Draft SIP MIB February 2002 -- This group contains MIB objects related to SIP Registrars. -- sipRegCfg OBJECT IDENTIFIER ::= { sipServerMIBObjects 7 } sipRegStats OBJECT IDENTIFIER ::= { sipServerMIBObjects 8 } -- -- Registrar Configuration -- sipRegCfgTable OBJECT-TYPE SYNTAX SEQUENCE OF SipRegCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains configuration objects applicable SIP registrars." ::= { sipRegCfg 1 } sipRegCfgEntry OBJECT-TYPE SYNTAX SipRegCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of common registrar configuration. Each row represents those objects for a particular SIP server present in this system. applIndex is used to uniquely identify these instances of SIP servers and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788). The same value of applIndex used in the corresponding SIP-COMMON-MIB is used here." INDEX { applIndex } ::= { sipRegCfgTable 1 } SipRegCfgEntry ::= SEQUENCE { sipRegAllowThirdParty TruthValue, sipRegMaxContactExpiryDate Unsigned32, sipRegMaxUsers Unsigned32, sipRegCurrentUsers Gauge32, sipRegDfltRegActiveInterval Unsigned32 } sipRegAllowThirdParty OBJECT-TYPE 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. Lingle/Maeng/Mule/Walker [Page 75] Internet-Draft SIP MIB February 2002 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 } 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 2 } sipRegMaxUsers OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the maximum number of users that the registrar supports. The current number of users is reflected by sipRegCurrentUsers." ::= { sipRegCfgEntry 3 } 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 4 } sipRegDfltRegActiveInterval OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the default time interval the Registrar considers registrations to be active. The value is used to compute the Expires header in the REGISTER response. If a user agent requests a time interval shorter than specified by this object, the Registrar should honor that request. If a Contact Lingle/Maeng/Mule/Walker [Page 76] Internet-Draft SIP MIB February 2002 entry does not have an 'expires' parameter, this object is used as the default value." REFERENCE "Expires header, section 6.20 RFC2543" ::= { sipRegCfgEntry 5 } -- -- 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." ::= { 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. Each row represents those objects for a particular SIP server present in this system. applIndex is used to uniquely identify these instances of SIP servers and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788). The same value of applIndex used in the corresponding SIP-COMMON-MIB is used here." INDEX { applIndex, sipUserIndex } ::= { sipRegUserTable 1 } SipRegUserEntry ::= SEQUENCE { sipUserIndex Unsigned32, sipUserUri SnmpAdminString, 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 } sipUserUri OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION Lingle/Maeng/Mule/Walker [Page 77] Internet-Draft SIP MIB February 2002 "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 } 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 3 } 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 4 } -- -- 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. the user has provided Contact information to each SIP Registrar in this system)." ::= { sipRegCfg 3 } 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. Each row represents those objects for a particular SIP server present in this system. applIndex is used to uniquely identify these instances of SIP servers and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788). The same value of applIndex used in the corresponding SIP-COMMON-MIB is used here." INDEX { applIndex, sipUserIndex, sipContactIndex } ::= { sipContactTable 1 } Lingle/Maeng/Mule/Walker [Page 78] Internet-Draft SIP MIB February 2002 SipContactEntry ::= SEQUENCE { sipContactIndex Unsigned32, sipContactDisplayName SnmpAdminString, sipContactURI SnmpAdminString, sipContactLastUpdated TimeStamp, sipContactExpiry DateAndTime, sipContactPreference SnmpAdminString, sipContactAction INTEGER, 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." ::= { 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 Lingle/Maeng/Mule/Walker [Page 79] Internet-Draft SIP MIB February 2002 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 SnmpAdminString 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 INTEGER { redirect(1), proxy(2) } 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 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 } Lingle/Maeng/Mule/Walker [Page 80] Internet-Draft SIP MIB February 2002 -- -- 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." ::= { sipRegStats 1 } sipRegStatsEntry OBJECT-TYPE SYNTAX SipRegStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of summary statistics. Each row represents those objects for a particular SIP server present in this system. applIndex is used to uniquely identify these instances of SIP servers and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788). The same value of applIndex used in the corresponding SIP-COMMON-MIB is used here." 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 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 } Lingle/Maeng/Mule/Walker [Page 81] Internet-Draft SIP MIB February 2002 -- -- Conformance -- sipServerMIBCompliances OBJECT IDENTIFIER ::= { sipServerMIBConform 1 } sipServerMIBGroups OBJECT IDENTIFIER ::= { sipServerMIBConform 2 } -- -- Compliance Statements -- sipProxyServerCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SIP entities acting as proxy servers." MODULE -- this module MANDATORY-GROUPS { sipServerConfigGroup, sipProxyConfigGroup, sipProxyStatsGroup } ::= { sipServerMIBCompliances 1 } sipRedirectServerCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SIP entities acting as redirect servers." MODULE -- this module MANDATORY-GROUPS { sipServerConfigGroup } ::= { sipServerMIBCompliances 2 } sipRegistrarServerCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SIP entities acting as registrars." MODULE -- this module MANDATORY-GROUPS { sipServerConfigGroup, sipRegistrarConfigGroup, sipRegistrarStatsGroup } ::= { sipServerMIBCompliances 3 } -- -- Units of Conformance -- sipServerConfigGroup OBJECT-GROUP OBJECTS { sipServerHostAddrType, sipServerHostAddr, sipPgpVersion, sipServerContactDfltAction, sipServerRespectUAAction } STATUS current DESCRIPTION "A collection of objects providing configuration common Lingle/Maeng/Mule/Walker [Page 82] Internet-Draft SIP MIB February 2002 to SIP Proxy and Redirect servers." ::= { sipServerMIBGroups 1 } sipProxyConfigGroup OBJECT-GROUP OBJECTS { sipRequestMaxExpires, sipProxyStatefulness, sipProxySendsCancel, sipProxyForwardAll1xx, sipProxyRecursion, sipProxyProvideAlternatives, sipProxyRecordRoute, sipProxyStateTimeout, sipProxyAuthMethod, sipProxyAuthPgpAlgorithm, sipProxyAuthRealm, sipProxyNonceLifeTime, sipPgpPrivateKey } STATUS current DESCRIPTION "A collection of objects providing configuration for SIP Proxy servers." ::= { sipServerMIBGroups 2 } sipProxyStatsGroup OBJECT-GROUP OBJECTS { sipNumProxyRequireFailures } STATUS current DESCRIPTION "A collection of objects providing statistics for SIP Proxy servers." ::= { sipServerMIBGroups 3 } sipRegistrarConfigGroup OBJECT-GROUP OBJECTS { sipRegAllowThirdParty, sipRegMaxContactExpiryDate, sipRegMaxUsers, sipRegCurrentUsers, sipRegDfltRegActiveInterval, sipUserUri, sipUserAuthenticationFailures, sipUserTableRowStatus, sipContactDisplayName, sipContactURI, sipContactLastUpdated, sipContactExpiry, sipContactPreference, sipContactAction, sipContactRetryAfter } STATUS current DESCRIPTION "A collection of objects providing configuration for SIP Registrars." Lingle/Maeng/Mule/Walker [Page 83] Internet-Draft SIP MIB February 2002 ::= { sipServerMIBGroups 4 } sipRegistrarStatsGroup OBJECT-GROUP OBJECTS { sipRegAcceptedRegistrations, sipRegRejectedRegistrations } STATUS current DESCRIPTION "A collection of objects providing statistics for SIP Registrars." ::= { sipServerMIBGroups 5 } END 6. Changes from previous drafts o Changes from draft-ietf-sip-mib-03 These are the specific draft-ietf-sip-mib-04 changes to the MIB modules based on what they looked like for draft-ietf-sip-mib-03. Front paper/Back paper o Rewrote parts of section 4.2 o Fixed minor editorial nits SIP-COMMON-MIB o CONTACT-INFO "SIP MIB email" changed to sip@ietf.org o sipInviteTimeout was removed from the MIB. See below regarding new sipCommonCfgExpires objects. They provide equivalent functionality with extensibility beyond INVITE. o sipCommonCfgExpires OID subtree added. Per method Expires configuration objects were added there. This new high-level OID was placed under the existing sipCommonCfgRetry OID and therefore, caused the OIDs for the subsequent groups to change (incrementing by one). o Objects from tables under sipCommonCfgExpires were added to a new OBJECT-GROUP sipCommonConfigExpiresGroup, and that group was listed as optional in sipCommonCompliance. o Minor DESCRIPTION change for sipCommonCfgEntry. No behavior change. o sipServiceOperStatus SYNTAX changed. New values added: congested & quiescing Old values removed: halted The order of the enumeration was altered as well. Lingle/Maeng/Mule/Walker [Page 84] Internet-Draft SIP MIB February 2002 o sipServiceAdminStatus SYNTAX changed. New values added: noop, up, down, quieseSessions, and quieseApplications Old values removed: shutdown, restart, stop, rts. These changes were made based on comments from last call reviewer and general known ambiguities in the previous design of the object. o Clarifying changes to the DESCRIPTION of sipServiceStartTime. o Clarifying changes to the DESCRIPTION of sipOrganization. o Clarification of behavior for sipPortStatus while row is 'active'. o Clarifying changes to the DESCRIPTION of sipUriSupportedTable o Clarifying changes to the DESCRIPTIONs of sipFtrSupportedTable, sipFtrSupportedEntry, and sipFtrSupported. Specifically, IETF standard features and non-standard features are now represented by this table. Only non-standard features were mentioned in prior revisions of the draft. o Reference to usage of RFC 2788 applIndex moved from sipCommonCfgTimerExtMethodTable to sipCommonCfgTimerExtMethodEntry. This was the convention for other table/entry definitions in the MIB, so these objects were previously unconventional. o DEFVAL removed from sipCfgTimerExtMethodTimer. The generic nature of the "extension" object does not lend itself to being able to specify a particular default value. o Since the removal of the DEFVAL clause from sipCfgTimerExtMethodTimer, a value for that object must be specified when creating a sipCommonCfgTimerExtMethodEntry. The description of sipCfgTimerExtMethodStatus was updated to reflect this. o sipCommonCfgRetryExtMethodTable is now properly defined under sipCommonCfgRetry OID space instead of under sipCommonCfgTimer OID space. o DEFVAL removed from sipCfgRetryExtMethodRetry. The generic nature of the "extension" object does not lend itself to being able to specify a particular default value. o Since the removal of the DEFVAL clause from sipCfgRetryExtMethodRetry, a value for that object must be specified when creating a sipCommonCfgRetryExtMethodEntry. The description of sipCfgRetryExtMethodStatus was updated to reflect this. o Clarifying changes to the DESCRIPTION of sipSummaryTotalTransactions. Lingle/Maeng/Mule/Walker [Page 85] Internet-Draft SIP MIB February 2002 Specifically, the object is not applicable to stateless SIP proxy servers and the object should always return a value of 0 if implemented by a stateless proxy. o Clarifying changes to the DESCRIPTION of sipStatsExtMethodStatus. o sipStatsOtherClassesIns and sipStatsOtherClassesOuts counter objects were added to sipStatusCodesTable to handle possible future classes of response status codes. o Text referring specifically to Redirect Server in sipStatsRedirClassIns and sipStatsRedirClassOuts was removed. o Text defining protocol behavior in sipStatsServerFailClassIns, sipStatsServerFailClassOuts, sipStatsGlobalFailClassIns, and sipStatsGlobalFailClassOuts was removed. o sipCommonStatusCodeNotifInterval SYNTAX changed from TimeTicks to Unsigned32 w/ a UNITS of "seconds" added to the definition. DEFVAL clause changed accordingly. o sipStatusCodeNotifTo, sipStatusCodeNotifFrom, sipStatusCodeNotifCallId, and sipStatusCodeNotifCSeq all had clarifying changes to their DESCRIPTIONs. Specifically, the header name will be part of the object value and example values were given. o Clarifying changes to the DESCRIPTION of sipCurrentTransTable and sipTransactionTable. Specifically, these tables are not applicable to transaction stateless SIP proxy servers. o Minor gramatical change to the DESCRIPTION of sipCurrentTransEntry. o sipTransMethod and sipTransActivityInfo objects were added to sipTransactionTable while sipTransCallingPartyContentType and sipTransCalledPartyContentType were removed. o Clarifying changes to the DESCRIPTION of sipTransState. Specifically, noting that not all values of the object are applicable to all transaction types. o sipTransTo, sipTransFrom, sipTransCallId, and sipTransCSeq all had clarifying changes to their DESCRIPTIONs. Specifically, the header name will be part of the object value and example values were given. o Minor gramatical change to the DESCRIPTION of sipOtherStatsEntry. o sipCommonStatusCodeIns and sipCommonStatusCodeOuts objects were added to the varbind of sipStatusCodeNotif. o Appropriate changes were made to sipCommonStatsGroup OBJECT-GROUP based on objects being added and/or removed from the MIB. Lingle/Maeng/Mule/Walker [Page 86] Internet-Draft SIP MIB February 2002 SIP-SERVER-MIB o CONTACT-INFO "SIP MIB email" changed to sip@ietf.org o The statement "Unlike a Proxy server it does not initiate requests." was removed from where a Redirect Server is defined in the MIB's DESCRIPTION. o sipServerMIBNotifs OID removed. No notifications were ever defined under this subtree. o Clarifying text added to all of the Table DESCRIPTIONS stating that the value of applIndex used in this MIB corresponds to the value of applIndex used in the SIP-COMMON-MIB. o Clarifying changes to the DESCRIPTION of sipProxyStatefulness. o sipContactPreference SYNTAX changed from OCTET STRING to SnmpAdminString. SIP-UA-MIB o CONTACT-INFO "SIP MIB email" changed to sip@ietf.org o sipUAMIBNotifs OID removed. No notifications were ever defined under this subtree. o sipUAStats OID removed. No notifications were ever defined under this subtree. o Clarifying text added to all of the Table DESCRIPTIONS stating that the value of applIndex used in this MIB corresponds to the value of applIndex used in the SIP-COMMON-MIB. SIP-TC o CONTACT-INFO "SIP MIB email" changed to sip@ietf.org o Changes from draft-ietf-sip-mib-02 The following changes were made based on review comments to the previous version of the draft. Lingle/Maeng/Mule/Walker [Page 87] Internet-Draft SIP MIB February 2002 In general o Eliminated the SIP-MIB-SMI modules. Each MIB module will now get it's own IANA OID. o Top-level OID subtrees restructured in each MIB. o General cleanup/removal of "placeholder" OID subtrees for object groups and notifications that never materialized. Regarding SIP-COMMON-MIB o Removed sipCfgInitialTimerAck. o Removed sipCfgRetryAck. o Removed sipStatsRetryAcks. o sipCommonStatsRetryExtMethodEntry was missing its INDEX clause. o sipNumUnsupportedUris OID was "5" when it was the only object in the table. OID is now "1". o High-level OID structure of the MIB is now sequential. o Incorrect object descriptor for sipCfgInitialTimerRsp inconsistent with reference in compliance section. o Inconsistencies between sipCommonStatsRetryGroup definition and SipCommonStatsRetryEntry OBJECT-TYPE corrected. o sipNotifApplIndex was not in any object group in the conformance section. Regarding SIP-SERVER-MIB o Removed sipInformationTryingInterval. o Removed sipRxProxyAuthTable. o Removed sipRegRespHasContacts. o Removed sipRegContactDfltExpiryDate. o Removed sipRegContactDfltExpiryDuration. o Removed sipUserPassword. o sipRequestMaxExpires DESCRIPTION changed to no longer specifically mention 400 response. o sipProxyStateful object descriptor changed to sipProxyStatefullness and the SYNTAX changed from TruthValue to an enumerated INTEGER. o sipProxyStateTimeout DESCRIPTION changed to now reflect only INVITE. o Gauge32 was not being IMPORTed. o sipServerContactDfltAction showed up in conformance and other object descriptions in an older form. o sipServerHost replaced with InetAddressType/InetAddress object pair (sipServerHostAddrType & sipServerHostAddr). Regarding SIP-UA-MIB o IMPORTed Unsigned32 to support sipUACfgSipServerAddrIndex. o sipUACfgSipServerEntry was referencing the wrong auxilliary object and listing that object in the conformance section. o sipUACfgSipServerEntry listed sipUACfgSipServerStatus when it should have been listing sipUACfgSipServerAddrStatus. o SIP-UA-MIB IMPORTed Counter32, but never used it. Removed the IMPORT of Counter32. Lingle/Maeng/Mule/Walker [Page 88] Internet-Draft SIP MIB February 2002 7. 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 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 entities 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 objects 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), 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 [12] and the View-based Access Control Model RFC 2575 [15] 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. 8. 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 Lingle/Maeng/Mule/Walker [Page 89] Internet-Draft SIP MIB February 2002 this standard. Please address the information to the IETF Executive Director. 9. Full Copyright Statement Copyright (C) The Internet Society (2002). 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. Lingle/Maeng/Mule/Walker [Page 90] Internet-Draft SIP MIB February 2002 10. References [1] Harrington, D., Presuhn, R. and B. Wijnen, "An Architecture for Describing SNMP Management Frameworks", RFC 2571, April 1999. [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. [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 2572, April 1999. [12] Blumenthal, U. and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2574, April 1999. [13] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, January 1996. [14] Levi, D., Meyer, P. and B. Stewart, "SNMPv3 Applications", RFC 2573, April 1999. Lingle/Maeng/Mule/Walker [Page 91] Internet-Draft SIP MIB February 2002 [15] Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)", RFC 2575, April 1999. [16] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [17] Handley, M., Schulzrinne, H., Schooler, E., and J. Rosenberg, "SIP: Session Initiation Protocol", RFC 2543, March 1999. [18] Freed, N. and S. Kille, "Network Services Monitor MIB", RFC 2788, March 2000 [19] Donavan, S., "The SIP INFO Method", RFC 2976, October 2000 [20] Case, J., Mundy, R., Partain, D. and B. Stewart, "Introduction to Version 3 of the Internet-standard Network Management Framework", RFC 2570, April 1999. 11. Author's 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 Joon Maeng ipDialog, Inc. 7701 N. Lamar Blvd., Suite 304 Austin, TX 78752-1023 USA email: jmaeng@ipdialog.com phone: +1 512 371 1770 Jean-Francois MuleĈ CableLabs 400 Centennial Parkway Louisville, CO 80027 USA email: jf.mule@cablelabs.com phone: +1 303 661 3708 Dave Walker SS8 Networks, Inc. 495 March Road Kanata, ON K2K 3G1 Canada email: drwalker@ss8.com phone: +1 613 592 2100 Lingle/Maeng/Mule/Walker [Page 92]