Internet Engineering Task Force K. Lingle Internet Draft Cisco Systems Document: draft-ietf-sip-mib-03.txt J. Maeng June 2001 ipDialog, Inc. Expires: December 2001 J-F. Mule Clarent Corp. 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 June 2001 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 MIB....................................5 5. Definitions....................................................8 5.1. SIP Textual Conventions......................................8 5.2. SIP Common...................................................9 5.3. SIP User Agent..............................................57 5.4. SIP Server (Registrar, Redirect & Proxy Server).............61 6. Changes from previous drafts..................................80 7. Security Considerations.......................................81 8. Intellectual Property.........................................81 9. Full Copyright Statement......................................82 10. References..................................................83 11. Author's Addresses..........................................84 1. Introduction This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes a set of managed objects that are used to schedule management operations periodically or at specified dates and times. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [16]. 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 June 2001 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 five MIB modules. They are SIP-MIB-SMI, SIP- COMMON-MIB, SIP-SERVER-MIB, SIP-UA-MIB and SIP-TC. SIP-MIB-SMI Lingle/Maeng/Mule/Walker [Page 3] Internet-Draft SIP MIB June 2001 indicates the root OID of SIP MIB modules. SIP-COMMON-MIB contains common objects used in all the SIP entities such as Registrars, Proxy Servers, Redirect Servers and User Agents. SIP-SERVER-MIB and SIP-UA-MIB includes objects defined for Registrars, Proxy Redirect servers and User Agents, respectively. SIP-TC defines the textual conventions used throughout MIB modules. Each MIB Module contains 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 It is required to implement SIP-COMMON-MIB together with its own MIB module in Registrars, Proxy Servers, Redirect Servers and User Agents. For instance, a SIP Registrar will need four MIB modules, SIP-MIB-SMI, SIP-COMMON-MIB, SIP-SERVER-MIB, and SIP-TC in order to provide a complete set of objects. If a device has more than one sip entity or multiple instances of the same entity, it 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 June 2001 4.2. Relationship to Other MIB There is a requirement to be able to support multiple instances of SIP MIB modules in the context of a single system having a single SNMP agent. It is also possible to have multiple instances of a particular type of SIP entity running on the same system. For example, there may be Registrars for different domains with completely different behaviors. While there are separate MIB modules defined for SIP User Agents and SIP servers, there is also a "common" MIB module expected to be supported by every SIP entity. Further, all SIP entities are either acting as a UAC, UAS or perhaps both. So a SIP Proxy Server must support the SIP-SERVER-MIB and SIP-COMMON-MIB modules. Likewise, the Registrar must support the SIP-SERVER-MIB and SIP-COMMON-MIB modules. Here we have the requirement for supporting multiple instances of a particular MIB module in one system. 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 a SIP entity acting in any combination of Proxy, Redirect, or Registrar, AND wishing to support only a single instance of the SIP-COMMON-MIB, the applName for the combined server entity must reflect the appropriate combination. For example, "sip_proxy_redirect" or "sip_proxy_registrar". Additionally, the following objects may be supported in applTable. If they are, 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 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. Lingle/Maeng/Mule/Walker [Page 5] Internet-Draft SIP MIB June 2001 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 table below illustrates how it would conceptually appear in a system acting as both, a Proxy and Registrar server and wishing to maintain separate SIP-COMMON-MIB instances. The NETWORK-SERVICES-MIB applTable would be populated as follows: 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(6) | ----------+--------------------+----------------------+---- while sipProxyCfgTable in SIP-SERVER-MIB is populated as: applIndex | sipRequestMaxExpires | sipProxyStateful | ... ----------+----------------------+------------------+---- 1 | 3600 | false | ----------+----------------------+------------------+---- and sipRegUserTable in SIP-SERVER-MIB is populated as: applIndex | sipUserIndex | sipUserUri | ... ----------+--------------+--------------------------+---- 2 | 1 | drwalker@ss8.com | ----------+--------------+--------------------------+---- 2 | 2 | jmaeng@ipdialog.com | ----------+--------------+--------------------------+---- 2 | 3 | klingle@cisco.com | ----------+--------------+--------------------------+---- 2 | 4 | jfm@clarent.com | ----------+--------------+--------------------------+---- Lingle/Maeng/Mule/Walker [Page 6] Internet-Draft SIP MIB June 2001 Example 2: The next table illustrates how it would conceptually appear in a system acting as both, a Proxy and Registrar server and wishing to share a single instance of SIP-COMMON-MIB. The NETWORK-SERVICES-MIB applTable would be populated as follows: applIndex | applName | applDescription ----------+----------------------+--------------------------- 1 | "sip_proxy_registrar"| "ACME SIP Proxy&Registrar" ----------+----------------------+--------------------------- 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 | sipProxyStateful | ... ----------+----------------------+------------------+---- 1 | 3600 | false | ----------+----------------------+------------------+---- and sipRegUserTable in SIP-SERVER-MIB is populated as: applIndex | sipUserIndex | sipUserUri | ... ----------+--------------+--------------------------+---- 1 | 1 | drwalker@ss8networks.com | ----------+--------------+--------------------------+---- 1 | 2 | jmaeng@ipdialog.com | ----------+--------------+--------------------------+---- 1 | 3 | klingle@cisco.com | ----------+--------------+--------------------------+---- 1 | 4 | jfm@clarent.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 June 2001 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 "200106060000Z" ORGANIZATION "IETF SIP Working Group, SIP MIB Team" CONTACT-INFO "SIP MIB Team email: sip-mib@yahoogroups.com Co-editor Kevin Lingle Cisco Systems, Inc. postal: 7025 Kit Creek Road P.O. Box 14987 Research Triangle Park, NC 27709 USA email: klingle@cisco.com phone: +1 919 392 2029 Co-editor Joon Maeng 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 Clarent Corporation 700 Chesapeake Drive Redwood City, CA 94063 USA email: jfm@clarent.com phone: +1 650 481 2835" Lingle/Maeng/Mule/Walker [Page 8] Internet-Draft SIP MIB June 2001 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 -- -- 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 transport protocol selected 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 June 2001 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 "200106060000Z" ORGANIZATION "IETF SIP Working Group, SIP MIB Team" CONTACT-INFO "SIP MIB Team email: sip-mib@yahoogroups.com Co-editor Kevin Lingle Cisco Systems, Inc. postal: 7025 Kit Creek Road P.O. Box 14987 Research Triangle Park, NC 27709 USA email: klingle@cisco.com phone: +1 919 392 2029 Co-editor Joon Maeng 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 Clarent Corporation 700 Chesapeake Drive Redwood City, CA 94063 USA email: jfm@clarent.com phone: +1 650 481 2835" 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 June 2001 may be common to all SIP entities. SIP is an application-layer signalling protocol for creating, modifying and terminating multimedia sessions with one or more participants. These sessions include Internet multimedia conferences and Internet telephone calls. SIP is defined in RFC 2543 (March 1999). This MIB is defined for the managing objects which are common to SIP User Agents (UAs), Proxy and Redirect Servers, and Registrars. Objects specific to each of these entities may be managed using entity specific MIBs defined in other modules. A User Agent is an application that contains both a User Agent Client (UAC) and a User Agent Server (UAS). A UAC is an application that initiates a SIP request. A UAS is an application that contacts the user when a SIP request is received and that returns a response on behalf of the user. The response accepts, rejects, or redirects the request. A Proxy Server acts as both a client and a server. It accepts requests from other clients, either responding to them or passing them on to other servers, possibly after modification. A Redirect Server accepts requests from clients and returns zero or more addresses to that client. Unlike a Proxy server it does not initiate requests. Unlike a User Agent Server it does not accept calls. A Registrar is a server that accepts REGISTER requests. A Registrar is typically co-located with a Proxy or Redirect Server." ::= { 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 } sipCommonStatsSummary OBJECT IDENTIFIER ::= { sipCommonMIBObjects 4 } sipCommonStatsMethod OBJECT IDENTIFIER ::= { sipCommonMIBObjects 5 } sipCommonStatusCode OBJECT IDENTIFIER ::= { sipCommonMIBObjects 6 } sipCommonStatsTrans OBJECT IDENTIFIER ::= { sipCommonMIBObjects 7 } sipCommonStatsRetry OBJECT IDENTIFIER ::= { sipCommonMIBObjects 8 } sipCommonStatsOther OBJECT IDENTIFIER ::= { sipCommonMIBObjects 9 } -- Lingle/Maeng/Mule/Walker [Page 11] Internet-Draft SIP MIB June 2001 -- 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 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 } ::= { sipCommonCfgTable 1 } SipCommonCfgEntry ::= SEQUENCE { sipProtocolVersion SnmpAdminString, sipServiceOperStatus INTEGER, sipServiceAdminStatus INTEGER, sipServiceStartTime TimeTicks, sipServiceLastChange TimeTicks, sipOrganization SnmpAdminString, sipMaxSessions Unsigned32, sipInviteTimeout 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 } sipServiceOperStatus OBJECT-TYPE SYNTAX INTEGER { up(1), Lingle/Maeng/Mule/Walker [Page 12] Internet-Draft SIP MIB June 2001 down(2), testing(3), unknown(4), halted(5), restarting(6) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the current operational state of the SIP application. up(1) : The application is operating normally, and is processing (receiving and possibly issuing) SIP requests and responses. down(2) : The application is currently unable to process SIP messages. testing(3) : The application is currently in test mode and may not be able to process SIP messages. unknown(4) : The operational status of the application cannot be determined for some reason. halted(5) : The application has been manually prevented from processing SIP messages. restarting(6) : The application is booting and will soon be able to process SIP messages." ::= { sipCommonCfgEntry 2 } sipServiceAdminStatus OBJECT-TYPE SYNTAX INTEGER { shutdown(1), reset(2), restart(3), stop(4), rts(5) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object is used to affect the overall operational state of the SIP server application. shutdown(1) : Immediately kill the application, don't restart. reset(2) : Restart application, reinitialize data, requires rts. restart(3) : Restart application, no data loss, requires rts. stop(4) : Stop processing new requests, requires rts. rts(5) : Return to service." ::= { sipCommonCfgEntry 3 } sipServiceStartTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current Lingle/Maeng/Mule/Walker [Page 13] Internet-Draft SIP MIB June 2001 DESCRIPTION "The value of sysUpTime at the time the SIP entity was last started. If the current state was entered prior to the last re-initialization of the local network management subsystem, then this object contains a zero value." ::= { sipCommonCfgEntry 4 } sipServiceLastChange OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime at the time the SIP entity entered its current operational state. If the current state was entered prior to the last re-initialization of the local network management subsystem, then this object contains a zero value." ::= { sipCommonCfgEntry 5 } sipOrganization OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-write STATUS current DESCRIPTION "This object contains the name of the organization issuing the request or response. It may also be inserted by a proxy at a boundary of an organization. If the object exists, it is inserted into requests and responses." REFERENCE "RFC 2543, Section 6.24" ::= { sipCommonCfgEntry 6 } 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 } sipInviteTimeout 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. The server returns a 408 Request Timeout if no response is received before expiration of the request timer." ::= { sipCommonCfgEntry 8 } Lingle/Maeng/Mule/Walker [Page 14] Internet-Draft SIP MIB June 2001 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 9 } -- -- 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 } SipPortEntry ::= SEQUENCE { sipPort INTEGER, sipTransportRcv SipTransportProtocol, sipTransportSnd SipTransportProtocol, sipPortStatus RowStatus } Lingle/Maeng/Mule/Walker [Page 15] Internet-Draft SIP MIB June 2001 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." ::= { sipPortEntry 4 } -- -- Support for multiple non-SIP URI schemes -- sipUriSupportedTable OBJECT-TYPE SYNTAX SEQUENCE OF SipUriSupportedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION Lingle/Maeng/Mule/Walker [Page 16] Internet-Draft SIP MIB June 2001 "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 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" Lingle/Maeng/Mule/Walker [Page 17] Internet-Draft SIP MIB June 2001 ::= { sipUriSupportedEntry 2 } -- -- Support for features which may be requested in Proxy-Require -- and Require headers -- sipFtrSupportedTable OBJECT-TYPE SYNTAX SEQUENCE OF SipFtrSupportedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains a list of the non-standard features supported by each SIP entity in this system, and which may be required by a peer. Definition of such features is outside the scope of SIP, which only provides mechanisms whereby support for specific features may be signalled or requested. For example, a user agent client may require that a server support the 'com.example.billing' feature, which it would indicate in a Require header. Such a client would have a row in its sipFtrSupportedTable containing the string 'com.example.billing'. Similarly, a server which is capable of handling requests for such features would list the string in its sipFtrSupportedTable. If a server does not support the required feature (indicated in a Require header to a UAS, or in a Proxy- Require to a proxy server), the server returns a 420 Bad Extension listing the feature in an Unsupported header. Normally the list of such features supported by an entity is static (i.e. will not change over time)." 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 non-standard feature supported by the SIP entity, and which may be required by a peer. 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, Lingle/Maeng/Mule/Walker [Page 18] Internet-Draft SIP MIB June 2001 sipFtrSupported SnmpAdminString } sipFtrSupportedIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object uniquely identifies a conceptual row in the table." ::= { sipFtrSupportedEntry 1 } sipFtrSupported OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates a particular non-standard feature which is supported by the SIP entity." ::= { sipFtrSupportedEntry 2 } -- -- 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 NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex } ::= { sipCommonCfgTimerTable 1 } SipCommonCfgTimerEntry ::= SEQUENCE { sipCfgInitialTimerInvite Unsigned32, sipCfgTimerProv Unsigned32, sipCfgInitialTimerBye Unsigned32, Lingle/Maeng/Mule/Walker [Page 19] Internet-Draft SIP MIB June 2001 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 } ::= { 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 Lingle/Maeng/Mule/Walker [Page 20] Internet-Draft SIP MIB June 2001 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." REFERENCE "Section 10.5.1 RFC2543" DEFVAL { 500 } ::= { sipCommonCfgTimerEntry 7 } sipCfgTimerT2 OBJECT-TYPE SYNTAX Unsigned32 (200..10000) Lingle/Maeng/Mule/Walker [Page 21] Internet-Draft SIP MIB June 2001 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. 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). 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." INDEX { applIndex, sipCfgTimerExtMethodIndex } ::= { sipCommonCfgTimerExtMethodTable 1 } SipCommonCfgTimerExtMethodEntry ::= SEQUENCE { sipCfgTimerExtMethodIndex Unsigned32, sipCfgTimerExtMethodName SnmpAdminString, sipCfgTimerExtMethodTimer Unsigned32, sipCfgTimerExtMethodStatus RowStatus } sipCfgTimerExtMethodIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object uniquely identifies a conceptual row in the Lingle/Maeng/Mule/Walker [Page 22] Internet-Draft SIP MIB June 2001 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." DEFVAL { 500 } ::= { 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 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 STATUS current DESCRIPTION "This table contains retry configuration objects applicable to SIP user agent and SIP proxies." ::= { sipCommonCfgRetry 1 } Lingle/Maeng/Mule/Walker [Page 23] Internet-Draft SIP MIB June 2001 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) 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" Lingle/Maeng/Mule/Walker [Page 24] Internet-Draft SIP MIB June 2001 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) 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 } Lingle/Maeng/Mule/Walker [Page 25] Internet-Draft SIP MIB June 2001 -- -- 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." ::= { sipCommonCfgTimer 3 } 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 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." Lingle/Maeng/Mule/Walker [Page 26] Internet-Draft SIP MIB June 2001 ::= { 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." DEFVAL { 6 } ::= { 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 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 } -- -- 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 Lingle/Maeng/Mule/Walker [Page 27] Internet-Draft SIP MIB June 2001 NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex } ::= { sipSummaryStatsTable 1 } SipSummaryStatsEntry ::= SEQUENCE { sipSummaryInRequests Counter32, sipSummaryOutRequests Counter32, sipSummaryInResponses Counter32, sipSummaryOutResponses Counter32, sipSummaryTotalTransactions Counter32 } sipSummaryInRequests OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the total number of SIP request messages received by the SIP entity including retransmissions." ::= { sipSummaryStatsEntry 1 } sipSummaryOutRequests OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the total number of SIP request messages sent out (originated and relayed) by the SIP entity. Where a particular message is sent more than once, for example as a retransmission, or as a result of forking, each transmission is counted separately." ::= { sipSummaryStatsEntry 2 } sipSummaryInResponses OBJECT-TYPE 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 } Lingle/Maeng/Mule/Walker [Page 28] Internet-Draft SIP MIB June 2001 sipSummaryTotalTransactions OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains a count of the number of transactions completed or in progress. A SIP transaction occurs between a client and a server and comprises all messages from the first request sent from the client to the server up to a final (non-1xx) response sent from the server to the client. A transaction is identified by the CSeq sequence number within a single call leg. The ACK request has the same CSeq number as the corresponding INVITE request, but comprises a transaction of its own. In the case of a forked request, all branches count as a single transaction." ::= { sipSummaryStatsEntry 5 } -- -- SIP Method Statistics -- Total counts for each SIP method. -- sipMethodStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF SipMethodStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the per method statistics objects applicable to all SIP entities. Each row represents those objects for a particular SIP entity present in 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, Lingle/Maeng/Mule/Walker [Page 29] Internet-Draft SIP MIB June 2001 sipStatsInviteOuts Counter32, sipStatsAckIns Counter32, sipStatsAckOuts Counter32, sipStatsByeIns Counter32, sipStatsByeOuts Counter32, sipStatsCancelIns Counter32, sipStatsCancelOuts Counter32, 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 Lingle/Maeng/Mule/Walker [Page 30] Internet-Draft SIP MIB June 2001 "RFC 2543, Section 4.2.2" ::= { sipMethodStatsEntry 4 } sipStatsByeIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of BYE requests received by the SIP entity 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 } Lingle/Maeng/Mule/Walker [Page 31] Internet-Draft SIP MIB June 2001 sipStatsOptionsOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of OPTIONS requests sent by the SIP entity 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 32] Internet-Draft SIP MIB June 2001 -- -- 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 33] Internet-Draft SIP MIB June 2001 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." ::= { sipStatsExtMethodEntry 5 } -- -- SIP Response Status Codes -- sipStatusCodesTable OBJECT-TYPE SYNTAX SEQUENCE OF SipStatusCodesEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains statistics on response status code classes for each SIP entity in this system." ::= { sipCommonStatusCode 1 } sipStatusCodesEntry OBJECT-TYPE SYNTAX SipStatusCodesEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This row contains statistics on response status codes. Lingle/Maeng/Mule/Walker [Page 34] Internet-Draft SIP MIB June 2001 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 } sipStatsInfoClassIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 1xx class SIP responses received by the SIP entity. This class of responses relates to providing some information concerning the progress of processing a SIP request." REFERENCE "RFC 2543, Sections 5.1.1 & 7.1" ::= { sipStatusCodesEntry 1 } sipStatsInfoClassOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 1xx class SIP responses sent by the SIP entity. This class of responses relates to providing some information concerning the progress of processing a SIP request." REFERENCE "RFC 2543, Sections 5.1.1 & 7.1" ::= { sipStatusCodesEntry 2 } sipStatsSuccessClassIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only Lingle/Maeng/Mule/Walker [Page 35] Internet-Draft SIP MIB June 2001 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. This class of responses relate to call redirection actions taken by a Redirect Server." REFERENCE "RFC 2543, Sections 5.1.1 & 7.3" ::= { sipStatusCodesEntry 5 } sipStatsRedirClassOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 3xx class SIP responses sent by the SIP entity. This class of responses relate to call redirection actions taken by a Redirect Server." REFERENCE "RFC 2543, Sections 5.1.1 & 7.3" ::= { sipStatusCodesEntry 6 } sipStatsReqFailClassIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 4xx class SIP responses received by the SIP entity. This class of Lingle/Maeng/Mule/Walker [Page 36] Internet-Draft SIP MIB June 2001 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. These responses are not definite failures and must not terminate a search if other possible locations remain untried." REFERENCE "RFC 2543, Sections 5.1.1 & 7.5" ::= { sipStatusCodesEntry 9 } sipStatsServerFailClassOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 5xx class SIP responses sent by the SIP entity. This class of responses reflect failure responses sent by a SIP entity providing a server function. These responses are not definite failures and must not terminate a search if other possible locations remain untried." REFERENCE "RFC 2543, Sections 5.1.1 & 7.5" ::= { sipStatusCodesEntry 10 } sipStatsGlobalFailClassIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION Lingle/Maeng/Mule/Walker [Page 37] Internet-Draft SIP MIB June 2001 "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. All further searches for this user are doomed to failure and pending searches should be terminated." REFERENCE "RFC 2543, Sections 5.1.1 & 7.6" ::= { sipStatusCodesEntry 11 } sipStatsGlobalFailClassOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 6xx class SIP responses sent by the SIP entity. This class of responses reflect failure responses sent by a SIP entity providing a server function. The responses generally indicate that a server has definitive information about a particular called party, not just the particular instance indicated in the Request-URI. All further searches for this user are doomed to failure and pending searches should be terminated." REFERENCE "RFC 2543, Sections 5.1.1 & 7.6" ::= { sipStatusCodesEntry 12 } -- -- support for specific status codes -- sipCommonStatusCodeTable OBJECT-TYPE SYNTAX SEQUENCE OF SipCommonStatusCodeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the list of SIP status codes which each SIP entity in this system has been requested to monitor. 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. Lingle/Maeng/Mule/Walker [Page 38] Internet-Draft SIP MIB June 2001 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 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. Lingle/Maeng/Mule/Walker [Page 39] Internet-Draft SIP MIB June 2001 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 } SipCommonStatusCodeNotifEntry ::= SEQUENCE { sipCommonStatusCodeNotifSend TruthValue, sipCommonStatusCodeNotifEmitMode INTEGER, sipCommonStatusCodeNotifThresh Unsigned32, sipCommonStatusCodeNotifInterval TimeTicks } 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 Lingle/Maeng/Mule/Walker [Page 40] Internet-Draft SIP MIB June 2001 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. 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 Lingle/Maeng/Mule/Walker [Page 41] Internet-Draft SIP MIB June 2001 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 TimeTicks 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 { 6000 } -- 60 seconds ::= { 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." ::= { sipCommonStatusCode 4 } 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." ::= { 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." ::= { sipCommonStatusCode 6 } Lingle/Maeng/Mule/Walker [Page 42] Internet-Draft SIP MIB June 2001 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." ::= { 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." ::= { sipCommonStatsTrans 1 } sipCurrentTransEntry OBJECT-TYPE SYNTAX SipCurrentTransEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information on a particular SIP entities' 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 } Lingle/Maeng/Mule/Walker [Page 43] Internet-Draft SIP MIB June 2001 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." ::= { 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 } SipTransactionEntry ::= SEQUENCE { sipTransIndex Unsigned32, sipTransTo SnmpAdminString, sipTransFrom SnmpAdminString, sipTransCallId SnmpAdminString, sipTransCSeq Unsigned32, sipTransState INTEGER, sipTransNumOutstandingBranches Integer32, sipTransExpiry DateAndTime, sipTransCallingPartyContentType SnmpAdminString, sipTransCalledPartyContentType SnmpAdminString } sipTransIndex OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object uniquely identifies a conceptual row in the table." ::= { sipTransactionEntry 1 } sipTransTo OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the value of the To header in request Lingle/Maeng/Mule/Walker [Page 44] Internet-Draft SIP MIB June 2001 message." ::= { 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." ::= { sipTransactionEntry 3 } sipTransCallId OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the value of the CallId value in the request message." ::= { sipTransactionEntry 4 } sipTransCSeq OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the CSeq value for the current transaction." ::= { sipTransactionEntry 5 } sipTransState OBJECT-TYPE SYNTAX INTEGER { null(1), initial(2), calling(3), ringing(4), completed(5), callProceeding(6), failure(7), success(8), confirmed(9) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the current state of the SIP transaction. null(1) : The SIP entity is not active. initial(2) : Prior to sending or receiving any request. calling(3) : After sending the request and prior to receiving any response. ringing(4) : After receiving one or more informational (1xx) responses. completed(5) : After ACK has been sent following Lingle/Maeng/Mule/Walker [Page 45] Internet-Draft SIP MIB June 2001 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 a value greater than one." ::= { sipTransactionEntry 7 } sipTransExpiry OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an indication of when the transaction will be considered to have timed out. This value is based on the value in the Expires header, or the value of the sipInviteTimeout object if no Expires value was specified in the original request." ::= { sipTransactionEntry 8 } sipTransCallingPartyContentType OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the content type of the transaction, including parameters, as indicated by the session initiator. All optional white space is removed from subfields in the media-type specification. It may indicate mime multipart, in which case the multiple entries are separated by spaces." REFERENCE "RFC 2543, Section 6.16 and RFC 2068 section 3.7" ::= { sipTransactionEntry 9 } sipTransCalledPartyContentType OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the content type of the transaction, including parameters, as indicated by the session Lingle/Maeng/Mule/Walker [Page 46] Internet-Draft SIP MIB June 2001 respondant. All optional white space is removed from subfields in the media-type specification. It may indicate mime multipart, in which case the multiple entries are separated by spaces." REFERENCE "RFC 2543, Section 6.16 and RFC 2068, Section 3.7" ::= { sipTransactionEntry 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 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 Lingle/Maeng/Mule/Walker [Page 47] Internet-Draft SIP MIB June 2001 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 "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 Lingle/Maeng/Mule/Walker [Page 48] Internet-Draft SIP MIB June 2001 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 } -- -- 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 { Lingle/Maeng/Mule/Walker [Page 49] Internet-Draft SIP MIB June 2001 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 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 Lingle/Maeng/Mule/Walker [Page 50] Internet-Draft SIP MIB June 2001 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 entities' 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 } 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, Lingle/Maeng/Mule/Walker [Page 51] Internet-Draft SIP MIB June 2001 sipStatusCodeNotifCSeq } 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 } -- -- 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 Lingle/Maeng/Mule/Walker [Page 52] Internet-Draft SIP MIB June 2001 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 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." ::= { sipCommonMIBCompliances 1 } -- -- Units of Conformance -- sipCommonConfigGroup OBJECT-GROUP OBJECTS { sipProtocolVersion, sipServiceOperStatus, sipServiceAdminStatus, sipServiceStartTime, sipServiceLastChange, sipTransportRcv, sipTransportSnd, sipPortStatus, sipUriSupported, sipFtrSupported, sipOrganization, sipMaxSessions, sipInviteTimeout, sipRequestUriHostMatching } Lingle/Maeng/Mule/Walker [Page 53] Internet-Draft SIP MIB June 2001 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 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, Lingle/Maeng/Mule/Walker [Page 54] Internet-Draft SIP MIB June 2001 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, 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, sipCommonStatusCodeIns, sipCommonStatusCodeOuts, sipCommonStatusCodeStatus, sipCurrentTransactions, sipTransTo, sipTransFrom, sipTransCallId, sipTransCSeq, sipTransState, sipTransNumOutstandingBranches, sipTransExpiry, sipTransCallingPartyContentType, Lingle/Maeng/Mule/Walker [Page 55] Internet-Draft SIP MIB June 2001 sipTransCalledPartyContentType, 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, 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, Lingle/Maeng/Mule/Walker [Page 56] Internet-Draft SIP MIB June 2001 sipStatusCodeNotifCSeq, sipNotifApplIndex } STATUS current DESCRIPTION "A collection of objects related to controlling and attribution of notifications common to all SIP entities." ::= { sipCommonMIBGroups 10 } 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 "200106060000Z" ORGANIZATION "IETF SIP Working Group, SIP MIB Team" CONTACT-INFO "SIP MIB Team email: sip-mib@yahoogroups.com Co-editor Kevin Lingle Cisco Systems, Inc. postal: 7025 Kit Creek Road P.O. Box 14987 Research Triangle Park, NC 27709 USA email: klingle@cisco.com phone: +1 919 392 2029 Co-editor Joon Maeng ipDialog, Inc. postal: 7701 N. Lamar Blvd., Suite 304 Austin, TX 78752-1023 Lingle/Maeng/Mule/Walker [Page 57] Internet-Draft SIP MIB June 2001 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 Clarent Corporation 700 Chesapeake Drive Redwood City, CA 94063 USA email: jfm@clarent.com phone: +1 650 481 2835" 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. sipUAMIBNotifs OBJECT IDENTIFIER ::= { sipUAMIB 0 } sipUAMIBObjects OBJECT IDENTIFIER ::= { sipUAMIB 1 } sipUAMIBConform OBJECT IDENTIFIER ::= { sipUAMIB 2 } -- -- This MIB contains objects related to SIP User Agents. -- sipUACfgSipServer OBJECT IDENTIFIER ::= { sipUAMIBObjects 1 } sipUAStats OBJECT IDENTIFIER ::= { sipUAMIBObjects 2 } -- -- SIP Server Configuration -- sipUACfgSipServerTable OBJECT-TYPE SYNTAX SEQUENCE OF SipUACfgSipServerEntry MAX-ACCESS not-accessible STATUS current Lingle/Maeng/Mule/Walker [Page 58] Internet-Draft SIP MIB June 2001 DESCRIPTION "This table contains SIP server configuration objects applicable to each SIP user agent in this system." ::= { sipUACfgSipServer 1 } 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)." 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." Lingle/Maeng/Mule/Walker [Page 59] Internet-Draft SIP MIB June 2001 ::= { sipUACfgSipServerEntry 3 } 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 60] Internet-Draft SIP MIB June 2001 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 "200106060000Z" ORGANIZATION "IETF SIP Working Group, SIP MIB Team" CONTACT-INFO "SIP MIB Team email: sip-mib@yahoogroups.com Co-editor Kevin Lingle Cisco Systems, Inc. postal: 7025 Kit Creek Road P.O. Box 14987 Research Triangle Park, NC 27709 USA Lingle/Maeng/Mule/Walker [Page 61] Internet-Draft SIP MIB June 2001 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 Clarent Corporation 700 Chesapeake Drive Redwood City, CA 94063 USA email: jfm@clarent.com phone: +1 650 481 2835" 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 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 9991 } -- to be assigned by IANA -- Top-Level Components of this MIB. Lingle/Maeng/Mule/Walker [Page 62] Internet-Draft SIP MIB June 2001 sipServerMIBNotifs OBJECT IDENTIFIER ::= { sipServerMIB 0 } 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)." 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" ::= { sipServerCfgEntry 1 } Lingle/Maeng/Mule/Walker [Page 63] Internet-Draft SIP MIB June 2001 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 "This object specifies whether the server should respect Lingle/Maeng/Mule/Walker [Page 64] Internet-Draft SIP MIB June 2001 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)." 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, sipProxyAuthRealm SnmpAdminString, sipProxyNonceLifeTime Integer32, sipPgpPrivateKey OCTET STRING Lingle/Maeng/Mule/Walker [Page 65] Internet-Draft SIP MIB June 2001 } 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 does maintain state information for the duration of a SIP transaction. Also known as a stateful proxy. 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 2xx or 6xx, or after the request times-out. If the value of this object is TRUE, the server sends a Lingle/Maeng/Mule/Walker [Page 66] Internet-Draft SIP MIB June 2001 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 TRUE." REFERENCE "RFC 2543, Section 6.13" DEFVAL { false } ::= { sipProxyCfgEntry 6 } Lingle/Maeng/Mule/Walker [Page 67] Internet-Draft SIP MIB June 2001 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 bit 3 PGP (Pretty Good Privacy) is used." ::= { sipProxyCfgEntry 9 } sipProxyAuthPgpAlgorithm OBJECT-TYPE Lingle/Maeng/Mule/Walker [Page 68] Internet-Draft SIP MIB June 2001 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 } -- -- Proxy Server Statistics -- sipProxyStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF SipProxyStatsEntry MAX-ACCESS not-accessible Lingle/Maeng/Mule/Walker [Page 69] Internet-Draft SIP MIB June 2001 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)." 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 -- -- 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 Lingle/Maeng/Mule/Walker [Page 70] Internet-Draft SIP MIB June 2001 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)." 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. 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 Lingle/Maeng/Mule/Walker [Page 71] Internet-Draft SIP MIB June 2001 "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 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 Lingle/Maeng/Mule/Walker [Page 72] Internet-Draft SIP MIB June 2001 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)." 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 "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 Lingle/Maeng/Mule/Walker [Page 73] Internet-Draft SIP MIB June 2001 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)." INDEX { applIndex, sipUserIndex, sipContactIndex } ::= { sipContactTable 1 } SipContactEntry ::= SEQUENCE { sipContactIndex Unsigned32, sipContactDisplayName SnmpAdminString, sipContactURI SnmpAdminString, sipContactLastUpdated TimeStamp, sipContactExpiry DateAndTime, sipContactPreference OCTET STRING, 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 Lingle/Maeng/Mule/Walker [Page 74] Internet-Draft SIP MIB June 2001 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 SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the date and time when the contact information will no longer be valid. Such times may be specified by the user at registration (Expires header or expiry parameter in the Contact information), or a system default can be applied." ::= { sipContactEntry 5 } sipContactPreference OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the preference for this contact Lingle/Maeng/Mule/Walker [Page 75] Internet-Draft SIP MIB June 2001 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 } -- -- 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 Lingle/Maeng/Mule/Walker [Page 76] Internet-Draft SIP MIB June 2001 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)." 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 } -- -- 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, Lingle/Maeng/Mule/Walker [Page 77] Internet-Draft SIP MIB June 2001 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 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 } Lingle/Maeng/Mule/Walker [Page 78] Internet-Draft SIP MIB June 2001 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." ::= { sipServerMIBGroups 4 } sipRegistrarStatsGroup OBJECT-GROUP OBJECTS { sipRegAcceptedRegistrations, sipRegRejectedRegistrations } STATUS current DESCRIPTION "A collection of objects providing statistics for SIP Registrars." ::= { sipServerMIBGroups 5 } END Lingle/Maeng/Mule/Walker [Page 79] Internet-Draft SIP MIB June 2001 6. Changes from previous drafts o Changes from draft-ietf-sip-mib-02.txt The following changes were made based on review comments to the previous version of the draft. 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 Lingle/Maeng/Mule/Walker [Page 80] Internet-Draft SIP MIB June 2001 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. 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), even then, there is no control as to who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB. It is recommended that the implementers consider the security features as provided by the SNMPv3 framework. Specifically, the use of the User-based Security Model RFC 2574 [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 Lingle/Maeng/Mule/Walker [Page 81] Internet-Draft SIP MIB June 2001 claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification can be obtained from the IETF Secretariat. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director. 9. Full Copyright Statement Copyright(C) The Internet Society (2001). 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 82] Internet-Draft SIP MIB June 2001 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 83] Internet-Draft SIP MIB June 2001 [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] M. Handley, H. Schulzrinne, E. Schooler, and J. Rosenberg, "SIP: Session Initiation Protocol", RFC 2543, March 1999. [18] N. Freed, and S, Killle, ŸNetwork Services Monitor MIB÷, RFC 2788, March 2000 [19] S. Donavan, "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Ë Clarent Corporation 700 Chesapeake Drive, MS 101 Redwood City, CA 94063 USA email: jfm@clarent.com phone: +1 650 481 2835 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 84] Internet-Draft SIP MIB June 2001 Lingle/Maeng/Mule/Walker [Page 85]