Internet Engineering Task Force K. Lingle Internet Draft Cisco Systems Document: draft-ietf-sip-mib-05.txt J. Maeng March 2003 ipDialog, Inc. Expires: August 2003 J-F. Mule CableLabs D. Walker SS8 Networks, Inc. Management Information Base for Session Initiation Protocol Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026 [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 March 2003 Table of Contents Abstract.........................................................1 1. Introduction..................................................2 2. The Internet-Standard Management Framework....................2 3. Overview......................................................3 4. Structure of SIP MIB..........................................3 4.1. Textual Conventions.............................4 4.2. Relationship to Other MIBs......................4 5. Definitions...................................................7 5.1. SIP Textual Conventions.........................7 5.2. SIP Common......................................9 5.3. SIP User Agent.................................63 5.4. SIP Server (Registrar, Redirect & Proxy Server)67 6. Changes from previous drafts.................................89 7. Security Considerations......................................93 8. Intellectual Property........................................94 9. Full Copyright Statement.....................................94 10. Normative References.......................................96 11. Informative References.....................................96 12. Acknowledgments............................................96 13. Author's Addresses.........................................96 1. Introduction This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes a set of managed objects that are used to manage Session Initiation Protocol (SIP) entities, which include User Agents, Proxy servers, Redirect servers and Registrars. Conventions used in this document 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 BCP 14, RFC 2119 [RFC2119]. 2. The Internet-Standard Management Framework For a detailed overview of the documents that describe the current Internet-Standard Management Framework, please refer to section 7 of RFC 3410 [RFC3410]. Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. MIB objects are generally accessed through the Simple Network Management Protocol (SNMP). Objects in the MIB are defined using the mechanisms defined in the Structure of Management Information (SMI). This memo specifies a MIB module that is compliant to the SMIv2, which is described in STD Lingle/Maeng/Mule/Walker [Page 2] Internet-Draft SIP MIB March 2003 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 [RFC2580]. 3. Overview The Session Initiation Protocol (SIP) [1] is an application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. These sessions include Internet telephone calls, multimedia distribution, and multimedia conferences. This MIB provides some managed objects for SIP entities defined in RFC 3261 - 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 [3]. 4. Structure of SIP MIB This memo specifies four MIB modules. They are SIP-COMMON-MIB, SIP- SERVER-MIB, SIP-UA-MIB and SIP-TC. SIP-COMMON-MIB contains common objects used in all the SIP entities. SIP-SERVER-MIB contains objects specific to Registrars, Proxies and Redirect servers, and SIP-UA-MIB includes objects specific to User Agents. SIP-TC defines the textual conventions used throughout MIB modules. The MIB Modules contain following groups of objects: -- SIP-COMMON-MIB: Common to all the SIP entities sipCommonConfigGroup, sipCommonStatsGroup, sipCommonConfigTimerGroup, sipCommonConfigTimerExtMethodGroup, sipCommonConfigRetryGroup, sipCommonConfigRetryExtMethodGroup, sipCommonStatsRetryGroup, sipCommonStatsRetryExtMethodsGroup, sipCommonNotifGroup, sipCommonStatusCodeNotifGroup. -- SIP-SERVER-MIB: Groups of objects for Registrars, Proxy and -- Redirect Servers sipServerConfigGroup, sipProxyConfigGroup, sipProxyStatsGroup, sipRegistrarConfigGroup, sipRegistrarStatsGroup. -- SIP-UA-MIB: Groups of objects for User Agents Lingle/Maeng/Mule/Walker [Page 3] Internet-Draft SIP MIB March 2003 sipUAConfigGroup To conform with this specification, an SNMP agent MUST implement SIP-TC, plus one instance of SIP-COMMON-MIB and one instance of the SIP entity-type-specific MIB (SIP-SERVER-MIB or SIP-UA-MIB) as applicable for each instance of a SIP entity being managed. If a device has more than one sip entity or multiple instances of the same entity, it SHOULD implement multiple SIP modules. Section 4.2 describes handling of multiple instances in detail. 4.1. Textual Conventions The data type SipTransportProtocol is used as textual conventions in this document. These textual conventions have NO effect on either the syntax or the semantics of any managed object. Objects defined using these conventions are always encoded by means of the rules that define their primitive type. Hence, no changes to the SMI or the SNMP are necessary to accommodate these textual conventions, which are adopted merely for the convenience of readers. 4.2. Relationship to Other MIBs There is a requirement to be able to support multiple instances of various SIP MIB modules in the context of a single system having a single SNMP agent. This requirement is solved by using the framework provided by the NETWORK-SERVICES-MIB, RFC 2788 [2]. A device implementing the SIP MIB MUST support the NETWORK-SERVICES-MIB and, at a minimum, it MUST support the applIndex and applName objects in applTable. The following applName conventions will be adopted: o for a SIP Proxy entity, applName MUST be equal to "sip_proxy" o for a SIP Redirect entity, applName MUST be equal to "sip_redirect" o for a SIP Registrar entity, applName MUST be equal to "sip_registrar" o for a SIP User Agent entity, applName MUST be equal to "sip_ua" o for any combination of Proxy, Registrar, or Redirect Server being managed as a single aggregate entity, the applName for the combined server entity MUST reflect the appropriate combination. For example, "sip_proxy_redirect" or "sip_proxy_registrar". The SNMP agent MAY support any combination of the other attributes in applTable. If the following objects are supported, the object values SHOULD be populated as follows: o applVersion: version of the SIP application; if the SIP protocol version is used, the value MUST be as defined in SIP [1], section 7.1. Lingle/Maeng/Mule/Walker [Page 4] Internet-Draft SIP MIB March 2003 o applUptime: value MUST be identical to sipServiceStartTime defined in the SIP-COMMON-MIB module, o applOperStatus: value SHOULD reflect the operational status defined in sipServiceOperStatus, at least by means of a mapping, o applLastChange: value MUST be identical to sipServiceLastChange defined in the SIP-COMMON module. Note: There are a number of other objects in the applTable. They are not included for the sake of brevity and for the fact that they do not enhance the concept being presented. Example 1: The tables below illustrate how a system acting as both Proxy and Registrar server might be configured to maintain separate SIP- COMMON-MIB instances. The NETWORK-SERVICES-MIB applTable might be populated as follows: applIndex | applName | applDescription ----------+-----------------+------------------------------ 1 | "sip_proxy" | "ACME SIP Proxy" ----------+-----------------+------------------------------ 2 | "sip_registrar" | "ACME SIP Registrar" ----------+-----------------+------------------------------ The SIP-COMMON-MIB sipCommonCfgTable would have two rows: one for the proxy (applIndex=1) and one for the registrar (applIndex=2). The SIP-SERVER-MIB tables would, however, only be populated with one row indexed by applIndex=1 and applIndex=2 respectively if the server provides either proxy or registrar. SIP-COMMON-MIB sipCommonCfgTable might be populated as: applIndex | sipProtocolVersion | sipServiceOperStatus | ... ----------+--------------------+----------------------+---- 1 | "SIP/2.0" | up(1) | ----------+--------------------+----------------------+---- 2 | "SIP/2.0" | restarting(4) | ----------+--------------------+----------------------+---- while sipProxyCfgTable in SIP-SERVER-MIB might be populated as: applIndex | sipRequestMaxExpires | sipProxyStatefulness | ... ----------+----------------------+----------------------+---- 1 | 3600 | stateless(1) | ----------+----------------------+----------------------+---- and sipRegUserTable in SIP-SERVER-MIB might be populated as: applIndex | sipUserIndex | sipUserUri | ... Lingle/Maeng/Mule/Walker [Page 5] Internet-Draft SIP MIB March 2003 ----------+--------------+--------------------------+---- 2 | 1 | drwalker@ss8.com | ----------+--------------+--------------------------+---- 2 | 2 | jmaeng@ipdialog.com | ----------+--------------+--------------------------+---- 2 | 3 | klingle@cisco.com | ----------+--------------+--------------------------+---- 2 | 4 | jfm@cablelabs.com | ----------+--------------+--------------------------+---- Example 2: This example illustrates how to represent a system acting as both Proxy and Registrar server, where the two entities share a single instance of SIP-COMMON-MIB. The NETWORK-SERVICES-MIB applTable might be populated as follows: applIndex | applName | applDescription ----------+----------------------+--------------------------- 1 | "sip_proxy_registrar"| "ACME SIP Proxy&Registrar" ----------+----------------------+--------------------------- The SIP-COMMON-MIB sipCommonCfgTable would have only one row to cover both the proxy and the registrar. SIP-COMMON-MIB sipCommonCfgTable might be populated as: applIndex | sipProtocolVersion | sipServiceOperStatus | ... ----------+--------------------+----------------------+---- 1 | "SIP/2.0" | up(1) | ----------+--------------------+----------------------+---- while sipProxyCfgTable in SIP-SERVER-MIB is populated as: applIndex | sipRequestMaxExpires | sipProxyStatefulness | ... ----------+----------------------+----------------------+---- 1 | 3600 | stateless(1) | ----------+----------------------+----------------------+---- and sipRegUserTable in SIP-SERVER-MIB might be populated as: applIndex | sipUserIndex | sipUserUri | ... ----------+--------------+--------------------------+---- 1 | 1 | drwalker@ss8networks.com | ----------+--------------+--------------------------+---- 1 | 2 | jmaeng@ipdialog.com | ----------+--------------+--------------------------+---- 1 | 3 | klingle@cisco.com | ----------+--------------+--------------------------+---- 1 | 4 | jfm@cablelabs.com | ----------+--------------+--------------------------+---- Lingle/Maeng/Mule/Walker [Page 6] Internet-Draft SIP MIB March 2003 The NETWORK-SERVICES-MIB assocTable is not considered a requirement for SIP systems. It is not a mandatory group for NETWORK-SERVICES- MIB compliance. 5. Definitions 5.1. SIP Textual Conventions SIP-TC DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, mib-2 FROM SNMPv2-SMI TEXTUAL-CONVENTION FROM SNMPv2-TC; sipTC MODULE-IDENTITY LAST-UPDATED "200302250000Z" ORGANIZATION "IETF SIP Working Group, SIP MIB Team" CONTACT-INFO "SIP MIB email: sip@ietf.org Co-editor Kevin Lingle Cisco Systems, Inc. postal: 7025 Kit Creek Road P.O. Box 14987 Research Triangle Park, NC 27709 USA email: klingle@cisco.com phone: +1 919 392 2029 Co-editor Joon Maeng ipDialog, Inc. postal: 7701 N. Lamar Blvd., Suite 304 Austin, TX 78752-1023 USA email: jmaeng@ipdialog.com phone: +1 512 371 1770 Co-editor Dave Walker SS8 Networks, Inc. postal: 495 March Road Lingle/Maeng/Mule/Walker [Page 7] Internet-Draft SIP MIB March 2003 Kanata, ON K2K 3G1 Canada email: drwalker@ss8.com phone: +1 613 592 2100 Co-editor Jean-Francois Mule CableLabs postal: 400 Centennial Parkway Louisville, CO 80027 USA email: jf.mule@cablelabs.com phone: +1 303 661 3708 " DESCRIPTION "Session Initiation Protocol (SIP) MIB Textual Conventions module used by other SIP-related MIB Modules. Copyright (C) The Internet Society (2003). This version of this MIB module is part of RFC XXXX; see the RFC itself for full legal notices." REVISION "200302250000Z" DESCRIPTION "Initial version of the IETF SIP-TC module. This version published as part of RFC XXXX." ::= { mib-2 xx } -- xx 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 selected transport protocol is in some way dependent on the context of the object using this convention. If a bit has value 0, then that transport protocol is not selected. Combinations of bits can be set when multiple transport protocols are selected. bit 0 : a protocol other than those defined here. bit 1 : User Datagram Protocol. bit 2 : Transmission Control Protocol. bit 3 : Stream Control Transmission Protocol. bit 4 : Transport Layer Security Protocol." SYNTAX BITS { other(0), -- none of the following udp(1), tcp(2), sctp(3), tls(4) } END Lingle/Maeng/Mule/Walker [Page 8] Internet-Draft SIP MIB March 2003 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 MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF SnmpAdminString FROM SNMP-FRAMEWORK-MIB SipTransportProtocol FROM SIP-TC applIndex FROM NETWORK-SERVICES-MIB InetPortNumber FROM INET-ADDRESS-MIB; sipCommonMIB MODULE-IDENTITY LAST-UPDATED "200302250000Z" ORGANIZATION "IETF SIP Working Group, SIP MIB Team" CONTACT-INFO "SIP MIB email: sip@ietf.org Co-editor Kevin Lingle Cisco Systems, Inc. postal: 7025 Kit Creek Road P.O. Box 14987 Research Triangle Park, NC 27709 USA email: klingle@cisco.com phone: +1 919 392 2029 Co-editor Joon Maeng ipDialog, Inc. postal: 7701 N. Lamar Blvd., Suite 304 Lingle/Maeng/Mule/Walker [Page 9] Internet-Draft SIP MIB March 2003 Austin, TX 78752-1023 USA email: jmaeng@ipdialog.com phone: +1 512 371 1770 Co-editor Dave Walker SS8 Networks, Inc. postal: 495 March Road Kanata, ON K2K 3G1 Canada email: drwalker@ss8.com phone: +1 613 592 2100 Co-editor Jean-Francois Mule CableLabs postal: 400 Centennial Parkway Louisville, CO 80027 USA email: jf.mule@cablelabs.com phone: +1 303 661 3708 " DESCRIPTION "Session Initiation Protocol (SIP) Common MIB module. This module defines objects which may be common to all SIP entities. SIP is an application-layer signalling protocol for creating, modifying and terminating multimedia sessions with one or more participants. These sessions include Internet multimedia conferences and Internet telephone calls. SIP is defined in RFC 3261 (June 2002). This MIB is defined for managing objects which are common to SIP User Agents (UAs), Proxy and Redirect Servers, and Registrars. Objects specific to each of these entities may be managed using entity specific MIBs defined in other modules. A User Agent is an application that contains both a User Agent Client (UAC) and a User Agent Server (UAS). A UAC is an application that initiates a SIP request. A UAS is an application that contacts the user when a SIP request is received and that returns a response on behalf of the user. The response accepts, rejects, or redirects the request. A Proxy Server acts as both a client and a server. It accepts requests from other clients, either responding to them or passing them on to other servers, possibly after modification. A Redirect Server accepts requests from clients and returns zero or more addresses to that client. Unlike a Proxy server it does not initiate requests. Unlike a User Agent Server it does not accept calls. A Registrar is a server that accepts REGISTER Lingle/Maeng/Mule/Walker [Page 10] Internet-Draft SIP MIB March 2003 requests. A Registrar is typically co-located with a Proxy or Redirect Server. Copyright (C) The Internet Society (2003). This version of this MIB module is part of RFC XXXX; see the RFC itself for full legal notices." REVISION "200302250000Z" DESCRIPTION "Initial version of the IETF SIP-COMMON-MIB module. This version published as part of RFC XXXX." ::= { mib-2 xx } -- xx to be assigned by IANA -- Top-Level Components of this MIB. sipCommonMIBNotifs OBJECT IDENTIFIER ::= { sipCommonMIB 0 } sipCommonMIBObjects OBJECT IDENTIFIER ::= { sipCommonMIB 1 } sipCommonMIBConform OBJECT IDENTIFIER ::= { sipCommonMIB 2 } -- -- This MIB contains objects that are common to all SIP entities. -- sipCommonCfgBase OBJECT IDENTIFIER ::= { sipCommonMIBObjects 1 } sipCommonCfgTimer OBJECT IDENTIFIER ::= { sipCommonMIBObjects 2 } sipCommonCfgRetry OBJECT IDENTIFIER ::= { sipCommonMIBObjects 3 } sipCommonCfgExpires OBJECT IDENTIFIER ::= { sipCommonMIBObjects 4 } sipCommonStatsSummary OBJECT IDENTIFIER ::= { sipCommonMIBObjects 5 } sipCommonStatsMethod OBJECT IDENTIFIER ::= { sipCommonMIBObjects 6 } sipCommonStatusCode OBJECT IDENTIFIER ::= { sipCommonMIBObjects 7 } sipCommonStatsTrans OBJECT IDENTIFIER ::= { sipCommonMIBObjects 8 } sipCommonStatsRetry OBJECT IDENTIFIER ::= { sipCommonMIBObjects 9 } sipCommonStatsOther OBJECT IDENTIFIER ::= { sipCommonMIBObjects 10 } -- -- Common Configuration Objects -- sipCommonCfgTable OBJECT-TYPE SYNTAX SEQUENCE OF SipCommonCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the common configuration objects applicable to all SIP entities." ::= { sipCommonCfgBase 1 } sipCommonCfgEntry OBJECT-TYPE SYNTAX SipCommonCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of common configuration. Each row represents objects for a particular SIP entity instance present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex } ::= { sipCommonCfgTable 1 } Lingle/Maeng/Mule/Walker [Page 11] Internet-Draft SIP MIB March 2003 SipCommonCfgEntry ::= SEQUENCE { sipProtocolVersion SnmpAdminString, sipServiceOperStatus INTEGER, sipServiceAdminStatus INTEGER, sipServiceStartTime TimeTicks, sipServiceLastChange TimeTicks, sipOrganization SnmpAdminString, sipMaxSessions Unsigned32, sipRequestUriHostMatching TruthValue } sipProtocolVersion OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object will reflect the version of SIP supported by this SIP entity. It will follow the same format as SIP version information contained in the SIP messages generated by this SIP entity. For example, entities supporting SIP version 2 will return 'SIP/2.0' as dictated by RFC 2543." ::= { sipCommonCfgEntry 1 } sipServiceOperStatus OBJECT-TYPE SYNTAX INTEGER { up(1), down(2), congested(3), restarting(4), quiescing(5), testing(6), unknown(7) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the current operational state of the SIP application. up : The application is operating normally, and is processing (receiving and possibly issuing) SIP requests and responses. down : The application is currently unable to process SIP messages. congested : The application is operational but no additional inbound transactions can be accommodated at the moment. restarting : The application is currently unavailable but it is in the process of restarting and will, presumably, soon be able to process SIP messages. quiescing : The application is currently operational but has been administratively put into quiesce mode. Additional inbound transactions Lingle/Maeng/Mule/Walker [Page 12] Internet-Draft SIP MIB March 2003 may be rejected. testing : The application is currently in test mode and may not be able to process SIP messages. unknown : The operational status cannot be determined for some reason." ::= { sipCommonCfgEntry 2 } sipServiceAdminStatus OBJECT-TYPE SYNTAX INTEGER { noop(1), up(2), down(3), reset(4), quiesceSessions(5), quiesceApplication(6) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object is used to affect the overall operational state of the SIP application. When read, this object always return a value of noop(1) since sipServiceOperStatus reflects the actual operational status. noop : Setting this object to a noop value has no effect; when read, this value is always returned. up : Enable the application. down : Abrupt shutdown. Immediately terminate. reset : Restart application, reinitialize data. quiesceSessions : Enable quiescence mode. Stop accepting any new SIP sessions. Stop processing new transactions except for transactions associated with an existing session or call. quiesceApplications : Enable quiescence mode. Stop processing new SIP transactions except for transactions associated with existing applications. The exact application behavior should be specified by the implementation." ::= { sipCommonCfgEntry 3 } sipServiceStartTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime at the time the SIP entity was last started. If started prior to the last re-initialization of the local network management subsystem, then this object contains a zero value." ::= { sipCommonCfgEntry 4 } sipServiceLastChange OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only Lingle/Maeng/Mule/Walker [Page 13] Internet-Draft SIP MIB March 2003 STATUS current DESCRIPTION "The value of sysUpTime at the time the SIP entity entered its current operational state. If the current state was entered prior to the last re-initialization of the local network management subsystem, then this object contains a zero value." ::= { sipCommonCfgEntry 5 } sipOrganization OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-write STATUS current DESCRIPTION "This object contains the organization name which the SIP entity inserts into Organization headers of SIP messages processed by this system. If the sting is empty, no Organization header is to be generated." REFERENCE "RFC 3261, Section 20.25" ::= { 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 } 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 Location Service may be used to obtain information about a callee's possible location(s) or a 404 Not Found status code is returned by the server. If the value is 'false', then no match is required." REFERENCE "RFC 3261, Section 8.1.1.1" ::= { sipCommonCfgEntry 8 } -- -- Support for multiple ports -- sipPortTable OBJECT-TYPE SYNTAX SEQUENCE OF SipPortEntry MAX-ACCESS not-accessible STATUS current Lingle/Maeng/Mule/Walker [Page 14] Internet-Draft SIP MIB March 2003 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 InetPortNumber, sipTransportRcv SipTransportProtocol, sipTransportSnd SipTransportProtocol, sipPortStatus RowStatus } sipPort OBJECT-TYPE SYNTAX InetPortNumber 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 Lingle/Maeng/Mule/Walker [Page 15] Internet-Draft SIP MIB March 2003 DESCRIPTION "This object will specify the transport protocol the SIP entity will use to send SIP messages. This object is a bit map. Each bit represents a transport protocol. If a bit has value 1, then that transport protocol is currently being used. If a bit has value 0, then that transport protocol is currently not being used." ::= { sipPortEntry 3 } sipPortStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The row status of the entry. This object is required to create or delete rows remotely by a manager. The row associated with port 5060 need not be created and cannot be deleted. It is always present in the table. It is implementation specific as to whether objects in this table can be set while a row is 'active'." ::= { sipPortEntry 4 } -- -- Support for multiple non-SIP URI schemes -- sipUriSupportedTable OBJECT-TYPE SYNTAX SEQUENCE OF SipUriSupportedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains a list of URI schemes supported by each SIP entity in this system. These are in addition to the SIP URL which must necessarily be supported. Normally the list of URI schemes supported by an entity is static (i.e. will not change over time). A URI is a Uniform Resource Identifier (as defined in RFC 2396). URI schemes could, for example, contain URLs for phones, fax, or irc (if they were defined) or a mailto: (RFC 2368) URL." REFERENCE "RFC 3261, Section 20.10" ::= { 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 Lingle/Maeng/Mule/Walker [Page 16] Internet-Draft SIP MIB March 2003 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" ::= { sipUriSupportedEntry 2 } -- -- Support for features which may be requested in Proxy-Require -- and Require headers -- sipFtrSupportedTable OBJECT-TYPE SYNTAX SEQUENCE OF SipFtrSupportedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains a list of the features supported by each SIP entity in this system, and which may be required by a peer. Definition of non-standard features is outside the scope of SIP, which only provides mechanisms whereby support for specific features may be signalled or requested. As and example of a non-standard feature, a user agent client may require that a server support the 'com.example.billing' feature, which it would indicate in a Require header. Such a client would have a row in its sipFtrSupportedTable containing the string 'com.example.billing'. Similarly, a server which is Lingle/Maeng/Mule/Walker [Page 17] Internet-Draft SIP MIB March 2003 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 3261, Section 19.2" ::= { sipCommonCfgBase 4 } sipFtrSupportedEntry OBJECT-TYPE SYNTAX SipFtrSupportedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A particular feature supported by the SIP entity, and which may be required by a peer. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex, sipFtrSupportedIndex } ::= { sipFtrSupportedTable 1 } SipFtrSupportedEntry ::= SEQUENCE { sipFtrSupportedIndex Unsigned32, sipFtrSupported SnmpAdminString } sipFtrSupportedIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object uniquely identifies a conceptual row in the table." ::= { sipFtrSupportedEntry 1 } sipFtrSupported OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates a particular feature which is supported by the SIP entity." ::= { sipFtrSupportedEntry 2 } -- -- Support for extension methods Lingle/Maeng/Mule/Walker [Page 18] Internet-Draft SIP MIB March 2003 -- sipExtMethodSupportedTable OBJECT-TYPE SYNTAX SEQUENCE OF SipExtMethodSupportedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains a list of extension methods supported by each SIP entity in this system. These are in addition to the standard set of SIP methods discussed in Section 7.1 of RFC 3261. Any additional methods that may be incorporated into the SIP protocol should be represented by this table without any requirement to update this MIB. The table is informational in nature; conveying to the NMS capabilities of the managed system." ::= { sipCommonCfgBase 5 } sipExtMethodSupportedEntry OBJECT-TYPE SYNTAX SipExtMethodSupportedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A particular extension method 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, sipExtMethodSupportedIndex } ::= { sipExtMethodSupportedTable 1 } SipExtMethodSupportedEntry ::= SEQUENCE { sipExtMethodSupportedIndex Unsigned32, sipExtMethodName SnmpAdminString } sipExtMethodSupportedIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object uniquely identifies a conceptual row in the table." ::= { sipExtMethodSupportedEntry 1 } sipExtMethodName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the supported extension method's name." ::= { sipExtMethodSupportedEntry 2 } -- -- SIP Timer Configuration Lingle/Maeng/Mule/Walker [Page 19] Internet-Draft SIP MIB March 2003 -- 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 { sipCfgTimerA Unsigned32, sipCfgTimerB Unsigned32, sipCfgTimerC Unsigned32, sipCfgTimerD Unsigned32, sipCfgTimerE Unsigned32, sipCfgTimerF Unsigned32, sipCfgTimerG Unsigned32, sipCfgTimerH Unsigned32, sipCfgTimerI Unsigned32, sipCfgTimerJ Unsigned32, sipCfgTimerK Unsigned32, sipCfgTimerT1 Unsigned32, sipCfgTimerT2 Unsigned32, sipCfgTimerT4 Unsigned32 } sipCfgTimerA 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." REFERENCE "RFC 3261, Section 17.1.1.2" Lingle/Maeng/Mule/Walker [Page 20] Internet-Draft SIP MIB March 2003 DEFVAL { 500 } ::= { sipCommonCfgTimerEntry 1 } sipCfgTimerB OBJECT-TYPE SYNTAX Unsigned32 (32000..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 transmission of the initial INVITE request." REFERENCE "RFC 3261, Section 17.1.1.2" DEFVAL { 32000 } ::= { sipCommonCfgTimerEntry 2 } sipCfgTimerC OBJECT-TYPE SYNTAX Unsigned32 (180000..300000) UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the maximum time a SIP proxy will wait to receive a provisional response to an INVITE. The Timer C MUST be set for each client transaction when an INVITE request is proxied. The timer MUST be larger than 3 minutes." REFERENCE "RFC 3261, Section 16.6" DEFVAL { 180000 } ::= { sipCommonCfgTimerEntry 3 } sipCfgTimerD OBJECT-TYPE SYNTAX Unsigned32 (0..300000) UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the amount of time that the server transaction can remain in the 'Completed' state when unreliable transports are used. The default value must be greater than 32000 for UDP transport and its value must be 0 for TCP/SCTP transport." REFERENCE "RFC 3261, Section 17.1.1.2" DEFVAL { 32000 } ::= { sipCommonCfgTimerEntry 4 } sipCfgTimerE OBJECT-TYPE SYNTAX Unsigned32 (100..1000) UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the initial value for the retransmit Lingle/Maeng/Mule/Walker [Page 21] Internet-Draft SIP MIB March 2003 timer for a non-INVITE method while in 'Trying State'. The retransmit timer doubles after each retransmission until it reaches T2 to ensure an exponential backoff in network traffic. This object represents the initial time a SIP entity will wait to receive a provisional response to the request before resending the non-INVITE request." REFERENCE "RFC 3261, Section 17.1.2.2" DEFVAL { 500 } ::= { sipCommonCfgTimerEntry 5 } sipCfgTimerF OBJECT-TYPE SYNTAX Unsigned32 (32000..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 a non-INVITE request. The timer is started upon transmission of the initial request." REFERENCE "RFC 3261, Section 17.1.2.2" DEFVAL { 32000 } ::= { sipCommonCfgTimerEntry 6 } sipCfgTimerG OBJECT-TYPE SYNTAX Unsigned32 (0..1000) UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the initial value for the retransmit timer for final responses to INVITE requests. If timer G fires, the response is passed to the transport layer once more for retransmission, and timer G is set to fire in MIN(2*T1, T2) seconds. From then on, when timer G fires, the response is passed to the transport again for transmission, and timer G is reset with a value that doubles, unless that value exceeds T2, in which case it is reset with the value of T2. The default value must be T1 for UDP transport and its value must be 0 for reliable transport like TCP/SCTP." REFERENCE "RFC 3261, Section 17.2.1" DEFVAL { 500 } ::= { sipCommonCfgTimerEntry 7 } sipCfgTimerH OBJECT-TYPE SYNTAX Unsigned32 (32000..300000) UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the maximum time a server will wait to receive an ACK before it abandons retransmitting the response. The timer is started upon entering the Lingle/Maeng/Mule/Walker [Page 22] Internet-Draft SIP MIB March 2003 'Completed' state." REFERENCE "RFC 3261, Section 17.2.1" DEFVAL { 32000 } ::= { sipCommonCfgTimerEntry 8 } sipCfgTimerI OBJECT-TYPE SYNTAX Unsigned32 (0..10000) UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the maximum time a SIP entity will wait to receive additional ACK message retransmissions. The timer is started upon entering the 'Confirmed' state. The default value must be T4 for UDP transport and its value must be 0 for reliable transport like TCP/SCTP." REFERENCE "RFC 3261, Section 17.2.1" DEFVAL { 5000 } ::= { sipCommonCfgTimerEntry 9 } sipCfgTimerJ OBJECT-TYPE SYNTAX Unsigned32 (32000..300000) UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the maximum time a SIP server will wait to receive retransmissions of non-INVITE request. The timer is started upon entering the 'Completed' state for non-INVITE transactions. When timer J fires, the server must transition to the 'Terminated' state." REFERENCE "RFC 3261, Section 17.2.2" DEFVAL { 32000 } ::= { sipCommonCfgTimerEntry 10 } sipCfgTimerK OBJECT-TYPE SYNTAX Unsigned32 (0..10000) UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the maximum time a SIP client will wait to receive retransmissions of responses to non-INVITE requests. The timer is started upon entering the 'Completed' state for non-INVITE transactions. When timer K fires, the server must transition to the 'Terminated' state. The default value must be T4 for UDP transport and its value must be 0 for reliable transport like TCP/SCTP." REFERENCE "RFC 3261, Section 17.1.2.2" DEFVAL { 5000 } ::= { sipCommonCfgTimerEntry 11 } Lingle/Maeng/Mule/Walker [Page 23] Internet-Draft SIP MIB March 2003 sipCfgTimerT1 OBJECT-TYPE SYNTAX Unsigned32 (200..10000) UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the T1 timer for a SIP entity. T1 is an estimate of the round-trip time (RTT) between the client and server transactions." REFERENCE "RFC 3261, Section 17" DEFVAL { 500 } ::= { sipCommonCfgTimerEntry 12 } sipCfgTimerT2 OBJECT-TYPE SYNTAX Unsigned32 (200..10000) UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the T2 timer for a SIP entity." REFERENCE "RFC 3261, Section 17" DEFVAL { 4000 } ::= { sipCommonCfgTimerEntry 13 } sipCfgTimerT4 OBJECT-TYPE SYNTAX Unsigned32 (200..10000) UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the T4 timer for a SIP entity." REFERENCE "RFC 3261, Section 17" DEFVAL { 5000 } ::= { sipCommonCfgTimerEntry 14 } -- -- Initial Timers Extensions: support for extension methods -- sipCommonCfgTimerExtMethodTable OBJECT-TYPE SYNTAX SEQUENCE OF SipCommonCfgTimerExtMethodEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains retransmit timers for each SIP extension method this entity supports. The applicable T2 timer value for timers configured in this table is that of the sipCfgTimerT2 object with the same applIndex value." ::= { sipCommonCfgTimer 2 } sipCommonCfgTimerExtMethodEntry OBJECT-TYPE SYNTAX SipCommonCfgTimerExtMethodEntry Lingle/Maeng/Mule/Walker [Page 24] Internet-Draft SIP MIB March 2003 MAX-ACCESS not-accessible STATUS current DESCRIPTION "This row contains timer value information for a particular extension method. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex, sipCfgTimerExtMethodIndex } ::= { sipCommonCfgTimerExtMethodTable 1 } SipCommonCfgTimerExtMethodEntry ::= SEQUENCE { sipCfgTimerExtMethodIndex Unsigned32, sipCfgTimerExtMethodName SnmpAdminString, sipCfgTimerExtMethodTimer Unsigned32, sipCfgTimerExtMethodStatus RowStatus } sipCfgTimerExtMethodIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object uniquely identifies a conceptual row in the table." ::= { sipCommonCfgTimerExtMethodEntry 1 } sipCfgTimerExtMethodName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION "This object contains the name of the particular extension method the SIP entity supports. For example, it may contain the string 'REFER' if the REFER method is supported." ::= { sipCommonCfgTimerExtMethodEntry 2 } sipCfgTimerExtMethodTimer OBJECT-TYPE SYNTAX Unsigned32 UNITS "milliseconds" MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the time a SIP entity will wait for a response to the extension method request before retransmitting. The retransmit timer doubles after each retransmission, ensuring an exponential backoff in network traffic." ::= { sipCommonCfgTimerExtMethodEntry 3 } sipCfgTimerExtMethodStatus OBJECT-TYPE Lingle/Maeng/Mule/Walker [Page 25] Internet-Draft SIP MIB March 2003 SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The row status of the entry. This object is required to create or delete rows remotely by a manager. A value for sipCfgTimerExtMethodName and sipCfgTimerExtMethodTimer must be set for row creation to be successful. If that method already exists for a particular applIndex, the row create operation will fail." ::= { sipCommonCfgTimerExtMethodEntry 4 } -- -- SIP Retry Configuration -- sipCommonCfgRetryTable OBJECT-TYPE SYNTAX SEQUENCE OF SipCommonCfgRetryEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains retry configuration objects applicable to SIP user agent and SIP proxies." ::= { sipCommonCfgRetry 1 } sipCommonCfgRetryEntry OBJECT-TYPE SYNTAX SipCommonCfgRetryEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of retry configuration. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex } ::= { sipCommonCfgRetryTable 1 } SipCommonCfgRetryEntry ::= SEQUENCE { sipCfgRetryInvite Unsigned32, sipCfgRetryBye Unsigned32, sipCfgRetryCancel Unsigned32, sipCfgRetryRegister Unsigned32, sipCfgRetryOptions Unsigned32, sipCfgRetryInfo Unsigned32, sipCfgRetryFinalResponse Unsigned32, sipCfgRetryNonFinalResponse Unsigned32 } sipCfgRetryInvite OBJECT-TYPE SYNTAX Unsigned32 (1..10) MAX-ACCESS read-write Lingle/Maeng/Mule/Walker [Page 26] Internet-Draft SIP MIB March 2003 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" 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 Lingle/Maeng/Mule/Walker [Page 27] Internet-Draft SIP MIB March 2003 "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 } -- -- Retry Extensions: support for extension methods -- sipCommonCfgRetryExtMethodTable OBJECT-TYPE SYNTAX SEQUENCE OF SipCommonCfgRetryExtMethodEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains retry configuration for each SIP extension method this entity supports." ::= { sipCommonCfgRetry 2 } sipCommonCfgRetryExtMethodEntry OBJECT-TYPE SYNTAX SipCommonCfgRetryExtMethodEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This row contains retry configuration information for a particular extension method. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex, sipCfgRetryExtMethodIndex } ::= { sipCommonCfgRetryExtMethodTable 1 } SipCommonCfgRetryExtMethodEntry ::= SEQUENCE { Lingle/Maeng/Mule/Walker [Page 28] Internet-Draft SIP MIB March 2003 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." ::= { sipCommonCfgRetryExtMethodEntry 2 } sipCfgRetryExtMethodRetry OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the number of times a SIP entity will retry sending its request for this particular extension method." ::= { sipCommonCfgRetryExtMethodEntry 3 } sipCfgRetryExtMethodStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The row status of the entry. This object is required to create or delete rows remotely by a manager. A value for sipCfgRetryExtMethodName and sipCfgRetryExtMethodRetry must be set for row creation to be successful. If that method already exists for a particular applIndex, the row create operation will fail." ::= { sipCommonCfgRetryExtMethodEntry 4 } -- -- Per Method Expires Configuration -- sipCommonCfgExpiresMethodTable OBJECT-TYPE SYNTAX SEQUENCE OF SipCommonCfgExpiresMethodEntry MAX-ACCESS not-accessible STATUS current Lingle/Maeng/Mule/Walker [Page 29] Internet-Draft SIP MIB March 2003 DESCRIPTION "This table contains Expires header value configuration objects applicable to SIP user agent and SIP stateful proxy entities." ::= { sipCommonCfgExpires 1 } sipCommonCfgExpiresMethodEntry OBJECT-TYPE SYNTAX SipCommonCfgExpiresMethodEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of Expires header configuration for SIP Methods. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex } ::= { sipCommonCfgExpiresMethodTable 1 } SipCommonCfgExpiresMethodEntry ::= SEQUENCE { sipCfgExpiresInvite Unsigned32, sipCfgExpiresRegister Unsigned32, sipCfgExpiresHeaderMethod BITS } sipCfgExpiresInvite OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "For user agent clients, this value is inserted into the Expires header. For proxy servers, if a received request contained an Expires header, then the value in the header takes precedence." ::= { sipCommonCfgExpiresMethodEntry 1 } sipCfgExpiresRegister OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "For user agent clients, this value is inserted into the Expires header. For registrar servers, if a received request contained an Expires header, then the value in the header takes precedence." ::= { sipCommonCfgExpiresMethodEntry 2 } sipCfgExpiresHeaderMethod OBJECT-TYPE SYNTAX BITS { invite(0), Lingle/Maeng/Mule/Walker [Page 30] Internet-Draft SIP MIB March 2003 register(1) } MAX-ACCESS read-write STATUS current DESCRIPTION "This convention is a bit map. Each bit represents a SIP method where the Expires header should be included. If a bit has value 1, then the requests corresponding to that SIP method must include an Expires header line. If a bit has value 0, then the Expires header line will not be added. Combinations of bits can be set when the Expires header line is required in multiple SIP methods. bit 0 : INVITE method. bit 1 : REGISTER Method." ::= { sipCommonCfgExpiresMethodEntry 3 } sipCommonCfgExpiresStatusCodeTable OBJECT-TYPE SYNTAX SEQUENCE OF SipCommonCfgExpiresStatusCodeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the Expires header configuration objects for the SIP responses." ::= { sipCommonCfgExpires 2 } sipCommonCfgExpiresStatusCodeEntry OBJECT-TYPE SYNTAX SipCommonCfgExpiresStatusCodeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This row contains information on the configuration of the Expires header value for a particular SIP status code. Examples of SIP responses that may include an Expires header are 302 and 504. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex, sipCfgExpiresStatusCodeValue } ::= { sipCommonCfgExpiresStatusCodeTable 1 } SipCommonCfgExpiresStatusCodeEntry ::= SEQUENCE { sipCfgExpiresStatusCodeValue INTEGER, sipCfgExpiresHeaderValue Unsigned32, sipCfgExpiresStatusCodeStatus RowStatus } sipCfgExpiresStatusCodeValue OBJECT-TYPE SYNTAX INTEGER (100..999) MAX-ACCESS not-accessible STATUS current Lingle/Maeng/Mule/Walker [Page 31] Internet-Draft SIP MIB March 2003 DESCRIPTION "This object contains a SIP status code value for which the Expires header value is configured. All of the other information in the row is related to this value." ::= { sipCommonCfgExpiresStatusCodeEntry 1 } sipCfgExpiresHeaderValue OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "This value is inserted into the Expires header for the specific status code." ::= { sipCommonCfgExpiresStatusCodeEntry 2 } sipCfgExpiresStatusCodeStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This object is required to create or delete rows remotely by a manager. A value for sipCfgExpiresHeaderValue must be specified when creating rows by setting this row status to 'createAndGo'. The row will automatically transition to 'active'. The configuration specified by an entry will be made active when this object is set to 'active'." ::= { sipCommonCfgExpiresStatusCodeEntry 3 } -- -- Common Statistics Objects -- -- -- Summary Statistics -- sipSummaryStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF SipSummaryStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the summary statistics objects applicable to all SIP entities. Each row represents those objects for a particular SIP entity present in this system." ::= { sipCommonStatsSummary 1 } sipSummaryStatsEntry OBJECT-TYPE SYNTAX SipSummaryStatsEntry MAX-ACCESS not-accessible STATUS current Lingle/Maeng/Mule/Walker [Page 32] Internet-Draft SIP MIB March 2003 DESCRIPTION "A row of summary statistics. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex } ::= { sipSummaryStatsTable 1 } SipSummaryStatsEntry ::= SEQUENCE { sipSummaryInRequests Counter32, 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 Lingle/Maeng/Mule/Walker [Page 33] Internet-Draft SIP MIB March 2003 "This object contains the total number of SIP response messages sent (originated and relayed) by the SIP entity including retransmissions." ::= { sipSummaryStatsEntry 4 } sipSummaryTotalTransactions OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains a count of the number of transactions that are in progress and transactions that have reached the terminated state. It is not applicable to stateless SIP proxy servers. 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. If the request is INVITE and the final response is a non-2xx, the transaction also include an ACK to the response. The ACK for a 2xx response to an INVITE request is a separate transaction. The branch ID parameter in the Via header field values serves as a transaction identifier. A transaction is identified by the CSeq sequence number within a single call leg. The ACK request has the same CSeq number as the corresponding INVITE request, but comprises a transaction of its own. In the case of a forked request, all branches count as a single transaction. For a transaction stateless proxy, this counter is always 0." ::= { sipSummaryStatsEntry 5 } -- -- SIP Method Statistics -- Total counts for each SIP method. -- sipMethodStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF SipMethodStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the per method statistics objects applicable to all SIP entities. Each row represents those objects for a particular SIP entity present in this system." ::= { sipCommonStatsMethod 1 } sipMethodStatsEntry OBJECT-TYPE SYNTAX SipMethodStatsEntry Lingle/Maeng/Mule/Walker [Page 34] Internet-Draft SIP MIB March 2003 MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of per method statistics. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex } ::= { sipMethodStatsTable 1 } SipMethodStatsEntry ::= SEQUENCE { sipStatsInviteIns Counter32, sipStatsInviteOuts Counter32, sipStatsAckIns Counter32, sipStatsAckOuts Counter32, sipStatsByeIns Counter32, sipStatsByeOuts Counter32, sipStatsCancelIns Counter32, sipStatsCancelOuts Counter32, 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 3261, Section 7.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 3261, Section 7.1" ::= { sipMethodStatsEntry 2 } sipStatsAckIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only Lingle/Maeng/Mule/Walker [Page 35] Internet-Draft SIP MIB March 2003 STATUS current DESCRIPTION "This object reflects the total number of ACK requests received by the SIP entity." REFERENCE "RFC 3261, Section 7.1" ::= { sipMethodStatsEntry 3 } sipStatsAckOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of ACK requests sent by the SIP entity." REFERENCE "RFC 3261, Section 7.1" ::= { 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 3261, Section 7.1" ::= { 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 3261, Section 7.1" ::= { 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 3261, Section 7.1" ::= { sipMethodStatsEntry 7 } sipStatsCancelOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION Lingle/Maeng/Mule/Walker [Page 36] Internet-Draft SIP MIB March 2003 "This object reflects the total number of CANCEL requests sent by the SIP entity including retransmissions." REFERENCE "RFC 3261, Section 7.1" ::= { 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 3261, Section 7.1" ::= { sipMethodStatsEntry 9 } sipStatsOptionsOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of OPTIONS requests sent by the SIP entity including retransmissions." REFERENCE "RFC 3261, Section 7.1" ::= { 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 3261, Section 7.1" ::= { 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 3261, Section 7.1" ::= { 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." Lingle/Maeng/Mule/Walker [Page 37] Internet-Draft SIP MIB March 2003 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 } -- -- 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) Lingle/Maeng/Mule/Walker [Page 38] Internet-Draft SIP MIB March 2003 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 network management station has requested that the SIP entity count the number of messages sent an received which containing a REFER method." ::= { sipStatsExtMethodEntry 2 } sipStatsExtMethodIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of requests received by the SIP entity which requested the method contained in the sipStatsExtMethodName column including retransmissions if appropriate for the method." ::= { sipStatsExtMethodEntry 3 } sipStatsExtMethodOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the total number of requests sent by the SIP entity which requested the method contained in the sipStatsExtMethodName column including retransmissions if appropriate for the method." ::= { sipStatsExtMethodEntry 4 } sipStatsExtMethodStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The row status of the entry. This object is required to create or delete rows remotely by a manager. If set to 'notInService', all counters will cease to increment and retain their last known value. If subsequently set to 'active' the counters will begin to increment again." ::= { sipStatsExtMethodEntry 5 } Lingle/Maeng/Mule/Walker [Page 39] Internet-Draft SIP MIB March 2003 -- -- 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. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex } ::= { sipStatusCodesTable 1 } SipStatusCodesEntry ::= SEQUENCE { sipStatsInfoClassIns Counter32, sipStatsInfoClassOuts Counter32, sipStatsSuccessClassIns Counter32, sipStatsSuccessClassOuts Counter32, sipStatsRedirClassIns Counter32, sipStatsRedirClassOuts Counter32, sipStatsReqFailClassIns Counter32, sipStatsReqFailClassOuts Counter32, sipStatsServerFailClassIns Counter32, sipStatsServerFailClassOuts Counter32, sipStatsGlobalFailClassIns Counter32, sipStatsGlobalFailClassOuts Counter32, sipStatsOtherClassesIns Counter32, sipStatsOtherClassesOuts Counter32 } sipStatsInfoClassIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 1xx class SIP responses received by the SIP entity. This class of responses relates to providing some information concerning the progress of processing a SIP request." REFERENCE "RFC 2543, Sections 5.1.1 & 7.1" Lingle/Maeng/Mule/Walker [Page 40] Internet-Draft SIP MIB March 2003 ::= { sipStatusCodesEntry 1 } sipStatsInfoClassOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 1xx class SIP responses sent by the SIP entity. This class of responses relates to providing some information concerning the progress of processing a SIP request." REFERENCE "RFC 2543, Sections 5.1.1 & 7.1" ::= { sipStatusCodesEntry 2 } sipStatsSuccessClassIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 2xx class SIP responses received by the SIP entity. This class of responses relate to successful completion of a SIP request." REFERENCE "RFC 2543, Sections 5.1.1 & 7.2" ::= { sipStatusCodesEntry 3 } sipStatsSuccessClassOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 2xx class SIP responses sent by the SIP entity. This class of responses relate to successful completion of a SIP request." REFERENCE "RFC 2543, Sections 5.1.1 & 7.2" ::= { sipStatusCodesEntry 4 } sipStatsRedirClassIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 3xx class SIP responses received by the SIP entity." REFERENCE "RFC 2543, Sections 5.1.1 & 7.3" ::= { sipStatusCodesEntry 5 } sipStatsRedirClassOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current Lingle/Maeng/Mule/Walker [Page 41] Internet-Draft SIP MIB March 2003 DESCRIPTION "This object reflects the number of 3xx class SIP responses sent by the SIP entity." REFERENCE "RFC 2543, Sections 5.1.1 & 7.3" ::= { sipStatusCodesEntry 6 } sipStatsReqFailClassIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 4xx class SIP responses received by the SIP entity. This class of responses reflect request failure by a SIP entity providing a client function." REFERENCE "RFC 2543, Sections 5.1.1 & 7.4" ::= { sipStatusCodesEntry 7 } sipStatsReqFailClassOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 4xx class SIP responses sent by the SIP entity. This class of responses reflect request failure by a SIP entity providing a server function." REFERENCE "RFC 2543, Sections 5.1.1 & 7.4" ::= { sipStatusCodesEntry 8 } sipStatsServerFailClassIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 5xx class SIP responses received by the SIP entity. This class of responses reflect failure responses received by a SIP entity providing a client function." REFERENCE "RFC 2543, Sections 5.1.1 & 7.5" ::= { sipStatusCodesEntry 9 } sipStatsServerFailClassOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 5xx class SIP responses sent by the SIP entity. This class of responses reflect failure responses sent by a SIP entity providing a server function." REFERENCE "RFC 2543, Sections 5.1.1 & 7.5" Lingle/Maeng/Mule/Walker [Page 42] Internet-Draft SIP MIB March 2003 ::= { sipStatusCodesEntry 10 } sipStatsGlobalFailClassIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 6xx class SIP responses received by the SIP entity. This class of responses reflect failure responses received by a SIP entity providing a client function. The responses generally indicate that a server has definitive information about a particular called party, not just the particular instance indicated in the Request-URI." REFERENCE "RFC 2543, Sections 5.1.1 & 7.6" ::= { sipStatusCodesEntry 11 } sipStatsGlobalFailClassOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of 6xx class SIP responses sent by the SIP entity. This class of responses reflect failure responses sent by a SIP entity providing a server function. The responses generally indicate that a server has definitive information about a particular called party, not just the particular instance indicated in the Request-URI." REFERENCE "RFC 2543, Sections 5.1.1 & 7.6" ::= { sipStatusCodesEntry 12 } sipStatsOtherClassesIns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of SIP responses received by the SIP entity for status code response classes other than 1xx, 2xx, 3xx, 4xx, 5xx, or 6xx." ::= { sipStatusCodesEntry 13 } sipStatsOtherClassesOuts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the number of SIP responses sent by the SIP entity for status code response classes other than 1xx, 2xx, 3xx, 4xx, 5xx, or 6xx." ::= { sipStatusCodesEntry 14 } Lingle/Maeng/Mule/Walker [Page 43] Internet-Draft SIP MIB March 2003 -- -- 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. 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." Lingle/Maeng/Mule/Walker [Page 44] Internet-Draft SIP MIB March 2003 ::= { 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. 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 Lingle/Maeng/Mule/Walker [Page 45] Internet-Draft SIP MIB March 2003 been requested to monitor." AUGMENTS { sipCommonStatusCodeEntry } ::= { sipCommonStatusCodeNotifTable 1 } SipCommonStatusCodeNotifEntry ::= SEQUENCE { sipCommonStatusCodeNotifSend TruthValue, sipCommonStatusCodeNotifEmitMode INTEGER, sipCommonStatusCodeNotifThresh Unsigned32, sipCommonStatusCodeNotifInterval Unsigned32 } sipCommonStatusCodeNotifSend OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "This object controls whether a sipStatusCodeNotif is emitted when the status code value specified in by sipCommonStatusCodeValue is sent or received. If the value of this object is 'true', then a notification is sent. If it is 'false', no notification is sent. Note well, that a notification may be emitted for every message 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 Lingle/Maeng/Mule/Walker [Page 46] Internet-Draft SIP MIB March 2003 will be emitted. It will be the next SIP response messages sent or received that contains the desired status code. No more notifications are emitted until this object is set to either 'oneShot' again or 'normal'. This option is provided as a means of quelling the potential promiscuous behavior that can be associated with the sipStatusCodeNotif. triggered : This value is only readable and cannot be set. It reflects when the 'oneShot' has occurred and indicates the mode needs to be reset to get further notifications. The mode is reset by setting this object to 'oneShot' or 'normal'." DEFVAL { normal } ::= { sipCommonStatusCodeNotifEntry 2 } sipCommonStatusCodeNotifThresh OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the number of response messages sent or received by this system that are considered excessive. Based on crossing that threshold, a sipStatusCodeExceededNotif notification will be sent. The sipStatusCodeExceededNotif can be used as an early warning mechanism in lieu of using sipStatusCodeNotif." DEFVAL { 500 } ::= { sipCommonStatusCodeNotifEntry 3 } sipCommonStatusCodeNotifInterval OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the time interval over which if sipCommonStatusCodeThresh is exceeded a sipCommonStatusCodeThresh notification will be sent." DEFVAL { 60 } ::= { sipCommonStatusCodeNotifEntry 4 } -- -- support for status code notification attributes. -- sipStatusCodeNotifTo OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "This object contains the value of the To header in the message containing the status code that caused the notification. The header name will be part of Lingle/Maeng/Mule/Walker [Page 47] Internet-Draft SIP MIB March 2003 this object value. For example, 'To: Watson ." ::= { 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. The header name will be part of this object value. For example, 'From: Watson '." ::= { sipCommonStatusCode 5 } sipStatusCodeNotifCallId OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "This object contains the value of the CallId in the message containing the status code that caused the notification. The header name will be part of this object value. For example, 'Call-ID: 5551212@information.com'." ::= { sipCommonStatusCode 6 } sipStatusCodeNotifCSeq OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "This object contains the CSeq value in the message containing the status code that caused the notification. The header name will be part of this object value. For example, 'CSeq: 1722 INVITE'." ::= { sipCommonStatusCode 7 } -- -- Transaction Statistics -- sipCurrentTransTable OBJECT-TYPE SYNTAX SEQUENCE OF SipCurrentTransEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains information on the transactions currently awaiting definitive responses by each SIP entity in this system. This table does not apply to transaction stateless proxy servers." ::= { sipCommonStatsTrans 1 } sipCurrentTransEntry OBJECT-TYPE Lingle/Maeng/Mule/Walker [Page 48] Internet-Draft SIP MIB March 2003 SYNTAX SipCurrentTransEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information on a particular SIP entity's current transactions. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex } ::= { sipCurrentTransTable 1 } SipCurrentTransEntry ::= SEQUENCE { sipCurrentTransactions Gauge32 } sipCurrentTransactions OBJECT-TYPE SYNTAX Gauge32 (0..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the number of transactions awaiting definitive (non-1xx) response. In the case of a forked request, all branches count as a single transaction. The value of this object will reflect the number of rows in sipTransactionTable." ::= { sipCurrentTransEntry 1 } sipTransactionTable OBJECT-TYPE SYNTAX SEQUENCE OF SipTransactionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains information on all of the transactions currently being processed (the count of such transactions is maintained in the sipCurrentTransactions object) by a particular SIP entity in this system. This table does not apply to transaction stateless proxy servers." ::= { sipCommonStatsTrans 2 } sipTransactionEntry OBJECT-TYPE SYNTAX SipTransactionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information on a particular current transaction. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the Lingle/Maeng/Mule/Walker [Page 49] Internet-Draft SIP MIB March 2003 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, sipTransMethod SnmpAdminString, sipTransActivityInfo SnmpAdminString, sipTransBranchID SnmpAdminString } sipTransIndex OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object uniquely identifies a conceptual row in the table." ::= { sipTransactionEntry 1 } sipTransTo OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the value of the To header in request message. The header name will be part of this object value. For example, 'To: Watson ." ::= { sipTransactionEntry 2 } sipTransFrom OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the value of the From header in the request message. The header name will be part of this object value. For example, 'From: Watson '." ::= { sipTransactionEntry 3 } sipTransCallId OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the value of the CallId value in the Lingle/Maeng/Mule/Walker [Page 50] Internet-Draft SIP MIB March 2003 request message. The header name will be part of this object value. For example, 'Call-ID: 5551212@information.com'." ::= { sipTransactionEntry 4 } sipTransCSeq OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the CSeq value for the current transaction. The header name will be part of this object value. For example, 'CSeq: 1722 INVITE'." ::= { sipTransactionEntry 5 } sipTransState OBJECT-TYPE SYNTAX INTEGER { null(1), initial(2), calling(3), ringing(4), completed(5), callProceeding(6), failure(7), success(8), confirmed(9) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the current state of the SIP transaction. Note that some of the object values may only be applicable to some transaction types (for example, INVITE and non-INVITE transaction states differ). null : The SIP entity is not active. initial : Prior to sending or receiving any request. calling : After sending the request and prior to receiving any response. ringing : After receiving one or more informational (1xx) responses. completed : After ACK has been sent following reception of definitive response. callProceeding : Entered on reception of an INVITE. failure : Entered when call fails(send status code>=300). success : Entered when user answers(send status code=200). confirmed : Entered on reception of an ACK in failure or success states." REFERENCE "RFC 2543, Figures 12 and 13" ::= { sipTransactionEntry 6 } sipTransNumOutstandingBranches OBJECT-TYPE Lingle/Maeng/Mule/Walker [Page 51] Internet-Draft SIP MIB March 2003 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 } sipTransMethod OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the SIP method which initiated the transaction." ::= { sipTransactionEntry 9 } sipTransActivityInfo OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an informational string about the latest activity on this transaction. The string is made up of 2 elements separated by a space character: the first element indicates the direction of the latest message (received or sent) and the second element is the SIP request name or SIP response code. Examples of valid strings are: sent 100 received INVITE sent BYE received 200" ::= { sipTransactionEntry 10 } sipTransBranchID OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the value of the branch parameter in the top Via header of the current transaction. This value uniquely identifies a transaction. The parameter name will be part of this object value. Lingle/Maeng/Mule/Walker [Page 52] Internet-Draft SIP MIB March 2003 For example, 'branch=z9hG4bK77ef4c2312983.1" ::= { sipTransactionEntry 11 } -- -- 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 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 } Lingle/Maeng/Mule/Walker [Page 53] Internet-Draft SIP MIB March 2003 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 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 Lingle/Maeng/Mule/Walker [Page 54] Internet-Draft SIP MIB March 2003 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 { sipStatsRetryExtMethodIndex Unsigned32, sipStatsRetryExtMethodName SnmpAdminString, sipStatsRetryExtMethodRetries Counter32, sipStatsRetryExtMethodStatus RowStatus } sipStatsRetryExtMethodIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible Lingle/Maeng/Mule/Walker [Page 55] Internet-Draft SIP MIB March 2003 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 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 Lingle/Maeng/Mule/Walker [Page 56] Internet-Draft SIP MIB March 2003 DESCRIPTION "Information on a particular SIP entity's other common statistics. Each row represents those objects for a particular SIP entity present in this system. applIndex is used to uniquely identify these instances of SIP entities and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788)." INDEX { applIndex } ::= { sipOtherStatsTable 1 } SipOtherStatsEntry ::= SEQUENCE { sipNumUnsupportedUris Counter32 } sipNumUnsupportedUris OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of RequestURIs received with unsupported scheme. A server normally responds to such requests with a 400 Bad Request status code." ::= { sipOtherStatsEntry 1 } -- -- Notifications -- sipNotifApplIndex OBJECT-TYPE SYNTAX INTEGER (1..2147483647) MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "This object contains the applIndex as described in RFC 2788. It is used to bind this notification with a specific instance of SIP entity." ::= { sipCommonMIBNotifs 1 } sipStatusCodeNotif NOTIFICATION-TYPE OBJECTS { sipNotifApplIndex, sipStatusCodeNotifTo, sipStatusCodeNotifFrom, sipStatusCodeNotifCallId, sipStatusCodeNotifCSeq, sipCommonStatusCodeIns, sipCommonStatusCodeOuts } STATUS current DESCRIPTION "Signifies that a specific status code has been sent or received by the system." ::= { sipCommonMIBNotifs 2 } sipStatusCodeThreshExceededNotif NOTIFICATION-TYPE Lingle/Maeng/Mule/Walker [Page 57] Internet-Draft SIP MIB March 2003 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 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." Lingle/Maeng/Mule/Walker [Page 58] Internet-Draft SIP MIB March 2003 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." GROUP sipCommonConfigExpiresGroup DESCRIPTION "This group is optional. A SIP entity can elect to not provide any Expires header configuration." ::= { sipCommonMIBCompliances 1 } -- -- Units of Conformance -- sipCommonConfigGroup OBJECT-GROUP OBJECTS { sipProtocolVersion, sipServiceOperStatus, sipServiceAdminStatus, sipServiceStartTime, sipServiceLastChange, sipTransportRcv, sipTransportSnd, sipPortStatus, sipUriSupported, sipFtrSupported, sipExtMethodName, sipOrganization, sipMaxSessions, sipRequestUriHostMatching } STATUS current DESCRIPTION "A collection of objects providing configuration common to all SIP enities." ::= { sipCommonMIBGroups 1 } Lingle/Maeng/Mule/Walker [Page 59] Internet-Draft SIP MIB March 2003 sipCommonConfigTimerGroup OBJECT-GROUP OBJECTS { sipCfgTimerA, sipCfgTimerB, sipCfgTimerC, sipCfgTimerD, sipCfgTimerE, sipCfgTimerF, sipCfgTimerG, sipCfgTimerH, sipCfgTimerI, sipCfgTimerJ, sipCfgTimerK, sipCfgTimerT1, sipCfgTimerT2, sipCfgTimerT4 } 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 60] Internet-Draft SIP MIB March 2003 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, sipStatsOtherClassesIns, sipStatsOtherClassesOuts, sipCommonStatusCodeIns, sipCommonStatusCodeOuts, sipCommonStatusCodeStatus, sipCurrentTransactions, sipTransTo, sipTransFrom, sipTransCallId, sipTransCSeq, sipTransState, sipTransNumOutstandingBranches, Lingle/Maeng/Mule/Walker [Page 61] Internet-Draft SIP MIB March 2003 sipTransExpiry, sipTransMethod, sipTransActivityInfo, sipTransBranchID, sipNumUnsupportedUris } STATUS current DESCRIPTION "A collection of objects providing statistics common to all 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, Lingle/Maeng/Mule/Walker [Page 62] Internet-Draft SIP MIB March 2003 sipStatusCodeNotifFrom, sipStatusCodeNotifCallId, sipStatusCodeNotifCSeq, sipNotifApplIndex } STATUS current DESCRIPTION "A collection of objects related to controlling and attribution of notifications common to all SIP entities." ::= { sipCommonMIBGroups 10 } sipCommonConfigExpiresGroup OBJECT-GROUP OBJECTS { sipCfgExpiresInvite, sipCfgExpiresRegister, sipCfgExpiresHeaderMethod, sipCfgExpiresHeaderValue, sipCfgExpiresStatusCodeStatus } STATUS current DESCRIPTION "A collection of objects providing configuration related to Expires header." ::= { sipCommonMIBGroups 11 } END 5.3. SIP User Agent SIP-UA-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, mib-2 FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF RowStatus FROM SNMPv2-TC applIndex FROM NETWORK-SERVICES-MIB InetAddressType, InetAddress FROM INET-ADDRESS-MIB; sipUAMIB MODULE-IDENTITY LAST-UPDATED "200302250000Z" ORGANIZATION "IETF SIP Working Group, SIP MIB Team" Lingle/Maeng/Mule/Walker [Page 63] Internet-Draft SIP MIB March 2003 CONTACT-INFO "SIP MIB email: sip@ietf.org Co-editor Kevin Lingle Cisco Systems, Inc. postal: 7025 Kit Creek Road P.O. Box 14987 Research Triangle Park, NC 27709 USA email: klingle@cisco.com phone: +1 919 392 2029 Co-editor Joon Maeng ipDialog, Inc. postal: 7701 N. Lamar Blvd., Suite 304 Austin, TX 78752-1023 USA email: jmaeng@ipdialog.com phone: +1 512 371 1770 Co-editor Dave Walker SS8 Networks, Inc. postal: 495 March Road Kanata, ON K2K 3G1 Canada email: drwalker@ss8.com phone: +1 613 592 2100 Co-editor Jean-Francois Mule CableLabs postal: 400 Centennial Parkway Louisville, CO 80027 USA email: jf.mule@cablelabs.com phone: +1 303 661 3708 " DESCRIPTION "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. Copyright (C) The Internet Society (2003). This version of this MIB module is part of RFC XXXX; see the RFC itself for full legal notices." Lingle/Maeng/Mule/Walker [Page 64] Internet-Draft SIP MIB March 2003 REVISION "200302250000Z" DESCRIPTION "Initial version of the IETF SIP-UA-MIB module. This version published as part of RFC XXXX." ::= { mib-2 xx } -- xx to be assigned by IANA -- Top-Level Components of this MIB. sipUAMIBObjects OBJECT IDENTIFIER ::= { sipUAMIB 1 } sipUAMIBConform OBJECT IDENTIFIER ::= { sipUAMIB 2 } -- -- This MIB contains objects related to SIP User Agents. -- sipUACfgSipServer OBJECT IDENTIFIER ::= { sipUAMIBObjects 1 } -- -- SIP Server Configuration -- sipUACfgSipServerTable OBJECT-TYPE SYNTAX SEQUENCE OF SipUACfgSipServerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains SIP server configuration objects applicable to each SIP user agent in this system." ::= { sipUACfgSipServer 1 } sipUACfgSipServerEntry OBJECT-TYPE SYNTAX SipUACfgSipServerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of server configuration. Each row represents those objects for a particular SIP user agent present in this system. applIndex is used to uniquely identify these instances of SIP user agents and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788). The same value of applIndex used in the corresponding SIP-COMMON-MIB is used here." INDEX { applIndex, sipUACfgSipServerAddrIndex } ::= { sipUACfgSipServerTable 1 } SipUACfgSipServerEntry ::= SEQUENCE { sipUACfgSipServerAddrIndex Unsigned32, sipUACfgSipServerAddrType InetAddressType, sipUACfgSipServerAddr InetAddress, sipUACfgSipServerAddrStatus RowStatus } sipUACfgSipServerAddrIndex OBJECT-TYPE SYNTAX Unsigned32 Lingle/Maeng/Mule/Walker [Page 65] Internet-Draft SIP MIB March 2003 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 3291)" DEFVAL { ipv4 } ::= { sipUACfgSipServerEntry 2 } sipUACfgSipServerAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the address of a SIP server this user agent will use to proxy/redirect calls." ::= { sipUACfgSipServerEntry 3 } 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 Lingle/Maeng/Mule/Walker [Page 66] Internet-Draft SIP MIB March 2003 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, 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 Lingle/Maeng/Mule/Walker [Page 67] Internet-Draft SIP MIB March 2003 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 "200302250000Z" ORGANIZATION "IETF SIP Working Group, SIP MIB Team" CONTACT-INFO "SIP MIB email: sip@ietf.org Co-editor Kevin Lingle Cisco Systems, Inc. postal: 7025 Kit Creek Road P.O. Box 14987 Research Triangle Park, NC 27709 USA email: klingle@cisco.com phone: +1 919 392 2029 Co-editor Joon Maeng ipDialog, Inc. postal: 7701 N. Lamar Blvd., Suite 304 Austin, TX 78752-1023 USA email: jmaeng@ipdialog.com phone: +1 512 371 1770 Co-editor Dave Walker SS8 Networks, Inc. postal: 495 March Road Kanata, ON K2K 3G1 Canada email: drwalker@ss8.com phone: +1 613 592 2100 Co-editor Jean-Francois Mule CableLabs postal: 400 Centennial Parkway Louisville, CO 80027 USA email: jf.mule@cablelabs.com phone: +1 303 661 3708 " Lingle/Maeng/Mule/Walker [Page 68] Internet-Draft SIP MIB March 2003 DESCRIPTION "Session Initiation Protocol (SIP) Server MIB module. SIP is an application-layer signaling protocol for creating, modifying and terminating multimedia sessions with one or more participants. These sessions include Internet multimedia conferences and Internet telephone calls. SIP is defined in RFC 2543 (March 1999). This MIB is defined for the management of SIP Proxy, Redirect, and Registrar Servers. A Proxy Server acts as both a client and a server. It accepts requests from other clients, either responding to them or passing them on to other servers, possibly after modification. A Redirect Server accepts requests from clients and returns zero or more addresses to that client. Unlike a User Agent Server it does not accept calls. A Registrar is a server that accepts REGISTER requests. A Registrar is typically co-located with a Proxy or Redirect Server. Copyright (C) The Internet Society (2003). This version of this MIB module is part of RFC XXXX; see the RFC itself for full legal notices." REVISION "200302250000Z" DESCRIPTION "Initial version of the IETF SIP-SERVER-MIB module. This version published as part of RFC XXXX." ::= { mib-2 xx } -- xx to be assigned by IANA -- Top-Level Components of this MIB. sipServerMIBObjects OBJECT IDENTIFIER ::= { sipServerMIB 1 } sipServerMIBConform OBJECT IDENTIFIER ::= { sipServerMIB 2 } -- -- These groups contains objects common to all SIP servers. -- sipServerCfg OBJECT IDENTIFIER ::= { sipServerMIBObjects 1 } sipServerStats OBJECT IDENTIFIER ::= { sipServerMIBObjects 2 } -- -- Common Server Configuration Objects -- sipServerCfgTable OBJECT-TYPE SYNTAX SEQUENCE OF SipServerCfgEntry Lingle/Maeng/Mule/Walker [Page 69] Internet-Draft SIP MIB March 2003 MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains configuration objects applicable to SIP redirect and proxy servers." ::= { sipServerCfg 1 } sipServerCfgEntry OBJECT-TYPE SYNTAX SipServerCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of common configuration. Each row represents those objects for a particular SIP server present in this system. applIndex is used to uniquely identify these instances of SIP servers and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788). The same value of applIndex used in the corresponding SIP-COMMON-MIB is used here." INDEX { applIndex } ::= { sipServerCfgTable 1 } SipServerCfgEntry ::= SEQUENCE { sipServerHostAddrType InetAddressType, sipServerHostAddr InetAddress, sipPgpVersion SnmpAdminString, sipServerContactDfltAction INTEGER, sipServerRespectUAAction TruthValue } sipServerHostAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-write STATUS current DESCRIPTION "The type of Internet address by which the SIP server is reachable." REFERENCE "RFC 2543, Section 2" ::= { sipServerCfgEntry 1 } sipServerHostAddr OBJECT-TYPE SYNTAX InetAddress (SIZE(1..254)) MAX-ACCESS read-write STATUS current DESCRIPTION "This is the host portion of a SIP URL that is assigned to the SIP server. It may contain a fully qualified domain name, or an IP address. The length of the value will depend on the type of address specified. sipServerHostAddrType formalizes the type of address Lingle/Maeng/Mule/Walker [Page 70] Internet-Draft SIP MIB March 2003 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 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 Lingle/Maeng/Mule/Walker [Page 71] Internet-Draft SIP MIB March 2003 the value contained in the sipServerContactDfltAction is used." REFERENCE "RFC 2543, Section 6.13" ::= { sipServerCfgEntry 5 } -- -- This group contains MIB objects related to SIP Proxy Servers. -- sipProxyCfg OBJECT IDENTIFIER ::= { sipServerMIBObjects 3 } sipProxyStats OBJECT IDENTIFIER ::= { sipServerMIBObjects 4 } -- -- Proxy Server Configuration -- sipProxyCfgTable OBJECT-TYPE SYNTAX SEQUENCE OF SipProxyCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains configuration objects applicable to SIP proxy servers." ::= { sipProxyCfg 1 } sipProxyCfgEntry OBJECT-TYPE SYNTAX SipProxyCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of common proxy configuration. Each row represents those objects for a particular SIP server present in this system. applIndex is used to uniquely identify these instances of SIP servers and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788). The same value of applIndex used in the corresponding SIP-COMMON-MIB is used here." INDEX { applIndex } ::= { sipProxyCfgTable 1 } SipProxyCfgEntry ::= SEQUENCE { sipRequestMaxExpires Unsigned32, sipProxyStatefulness INTEGER, sipProxySendsCancel TruthValue, sipProxyForwardAll1xx TruthValue, sipProxyRecursion TruthValue, sipProxyProvideAlternatives TruthValue, sipProxyRecordRoute TruthValue, sipProxyStateTimeout Integer32, sipProxyAuthMethod BITS, sipProxyAuthPgpAlgorithm INTEGER, sipProxyAuthRealm SnmpAdminString, Lingle/Maeng/Mule/Walker [Page 72] Internet-Draft SIP MIB March 2003 sipProxyNonceLifeTime Integer32, sipPgpPrivateKey OCTET STRING } sipRequestMaxExpires OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the maximum duration that a SIP proxy server will accept from a client in the Expires header." ::= { sipProxyCfgEntry 1 } sipProxyStatefulness OBJECT-TYPE SYNTAX INTEGER { stateless(1), transactionStateful(2), callStateful(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the default mode of operation for the proxy server entity. A stateless proxy entity does not maintain state for a SIP transaction. A stateless proxy forwards every request it receives downstream and every response it receives upstream. If the value of this object is stateless(1), the proxy defaults to stateless operations. A transaction stateful proxy, or simply a 'stateful proxy', maintains state information for the duration of a SIP transaction. If the value if this object is transactionStateful(2), the proxy is stateful on a transaction basis. A call stateful proxy does retain state that persists for the duration of a call initiated through it. To properly manage that state, the proxy will normally need to receive the BYE requests that terminate the call. If the value of this object is callStateful(3), the proxy is call stateful." REFERENCE "RFC 2543, Section 12.3" ::= { sipProxyCfgEntry 2 } sipProxySendsCancel OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write Lingle/Maeng/Mule/Walker [Page 73] Internet-Draft SIP MIB March 2003 STATUS current DESCRIPTION "This object specifies whether or not a forking proxy sends CANCEL on outstanding branch requests after receiving a 2xx or 6xx, or after the request times-out. If the value of this object is 'true', the server sends a CANCELs on branches where no definitive response has been received. If 'false', the proxy does not send CANCELs." REFERENCE "RFC 2543, Section 12.4" ::= { sipProxyCfgEntry 3 } sipProxyForwardAll1xx OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies whether or not the proxy forwards all 1xx responses, except the 100 Trying response, upstream towards the source of the request. If the value of this object is 'true', the 1xx responses are sent. If the value is 'false', duplicate 1xx responses are not sent upstream." ::= { sipProxyCfgEntry 4 } sipProxyRecursion OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies whether or not the Proxy performs recursive search on the Contacts provided in 3xx redirects. If the value of this object is 'true', a recursive search is performed. If the value is 'false', no search is performed, the 3xx response is sent upstream towards the source of the request." ::= { sipProxyCfgEntry 5 } sipProxyProvideAlternatives OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION Lingle/Maeng/Mule/Walker [Page 74] Internet-Draft SIP MIB March 2003 "The object specifies whether or not the Server provides alternative Contacts in 3xx and 485 responses. If the value of this object is 'true', the server inserts a list of alternative URLs into a Contact header where the request Originator may possibly find the desired called party. If the value is 'false', the server doesn't add Contact information to 3xx and 485 responses. Note that the policies of a server may limit the particular alternatives that are returned when this object is set to 'true'." REFERENCE "RFC 2543, Section 6.13" DEFVAL { false } ::= { sipProxyCfgEntry 6 } sipProxyRecordRoute OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies whether or not the proxy adds itself to the Record-Route header as a default action. This header is used to list the proxies that insist on being in the signaling 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 Lingle/Maeng/Mule/Walker [Page 75] Internet-Draft SIP MIB March 2003 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 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 } Lingle/Maeng/Mule/Walker [Page 76] Internet-Draft SIP MIB March 2003 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 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 Lingle/Maeng/Mule/Walker [Page 77] Internet-Draft SIP MIB March 2003 server present in this system. applIndex is used to uniquely identify these instances of SIP servers and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788). The same value of applIndex used in the corresponding SIP-COMMON-MIB is used here." INDEX { applIndex } ::= { sipProxyStatsTable 1 } SipProxyStatsEntry ::= SEQUENCE { sipNumProxyRequireFailures Counter32 } sipNumProxyRequireFailures OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the number of occurrences of unsupported options being specified in received Proxy- Require headers. Such occurrences result in a 420 Bad Extension status code being returned." ::= { sipProxyStatsEntry 1 } -- -- This group contains MIB objects related to SIP Redirect Servers. -- sipRedirCfg OBJECT IDENTIFIER ::= { sipServerMIBObjects 5 } sipRedirStats OBJECT IDENTIFIER ::= { sipServerMIBObjects 6 } -- none at this time -- -- This group contains MIB objects related to SIP Registrars. -- sipRegCfg OBJECT IDENTIFIER ::= { sipServerMIBObjects 7 } sipRegStats OBJECT IDENTIFIER ::= { sipServerMIBObjects 8 } -- -- Registrar Configuration -- sipRegCfgTable OBJECT-TYPE SYNTAX SEQUENCE OF SipRegCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains configuration objects applicable SIP registrars." ::= { sipRegCfg 1 } sipRegCfgEntry OBJECT-TYPE Lingle/Maeng/Mule/Walker [Page 78] Internet-Draft SIP MIB March 2003 SYNTAX SipRegCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of common registrar configuration. Each row represents those objects for a particular SIP server present in this system. applIndex is used to uniquely identify these instances of SIP servers and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788). The same value of applIndex used in the corresponding SIP-COMMON-MIB is used here." INDEX { applIndex } ::= { sipRegCfgTable 1 } SipRegCfgEntry ::= SEQUENCE { sipRegAllowThirdParty TruthValue, sipRegMaxContactExpiryDate Unsigned32, sipRegMaxUsers Unsigned32, sipRegCurrentUsers Gauge32, sipRegDfltRegActiveInterval Unsigned32 } sipRegAllowThirdParty OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies whether or not the Registrar should allows third party registrations. In third-party registration, the entity issuing the request (in the From header) is different from the entity being registered (in the To header) to whom the provided Contact information applies. 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 requester." REFERENCE "RFC 2543, Section 4.2.6" ::= { sipRegCfgEntry 1 } sipRegMaxContactExpiryDate OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) UNITS "seconds" Lingle/Maeng/Mule/Walker [Page 79] Internet-Draft SIP MIB March 2003 MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the maximum expiry that may be requested by a User Agent for a particular Contact. User Agents can specify expiry using either an Expiry header in a REGISTER request, or using an Expires parameter in a Contact header in a REGISTER request. If the value requested by the User Agent is greater than the value of this object, then the contact information is given the duration specified by this object, and that duration is indicated to the User Agent in the response." DEFVAL { 4294967295 } ::= { sipRegCfgEntry 2 } sipRegMaxUsers OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the maximum number of users that the registrar supports. The current number of users is reflected by sipRegCurrentUsers." ::= { sipRegCfgEntry 3 } sipRegCurrentUsers OBJECT-TYPE SYNTAX Gauge32 (0..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the number of users currently configured on the registrar." ::= { sipRegCfgEntry 4 } sipRegDfltRegActiveInterval OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the default time interval the Registrar considers registrations to be active. The value is used to compute the Expires header in the REGISTER response. If a user agent requests a time interval shorter than specified by this object, the Registrar should honor that request. If a Contact entry does not have an 'expires' parameter, this object is used as the default value." REFERENCE "Expires header, section 6.20 RFC2543" ::= { sipRegCfgEntry 5 } Lingle/Maeng/Mule/Walker [Page 80] Internet-Draft SIP MIB March 2003 -- -- Per User Information -- sipRegUserTable OBJECT-TYPE SYNTAX SEQUENCE OF SipRegUserEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains information on all users registered to each Registrar in this system." ::= { sipRegCfg 2 } sipRegUserEntry OBJECT-TYPE SYNTAX SipRegUserEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This entry contains information for a single user registered to this Registrar. Each row represents those objects for a particular SIP server present in this system. applIndex is used to uniquely identify these instances of SIP servers and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788). The same value of applIndex used in the corresponding SIP-COMMON-MIB is used here." INDEX { applIndex, sipUserIndex } ::= { sipRegUserTable 1 } SipRegUserEntry ::= SEQUENCE { sipUserIndex Unsigned32, sipUserUri SnmpAdminString, sipUserAuthenticationFailures Counter32, sipUserTableRowStatus RowStatus } sipUserIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object uniquely identifies a conceptual row in the table." ::= { sipRegUserEntry 1 } sipUserUri OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current Lingle/Maeng/Mule/Walker [Page 81] Internet-Draft SIP MIB March 2003 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 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 Lingle/Maeng/Mule/Walker [Page 82] Internet-Draft SIP MIB March 2003 server present in this system. applIndex is used to uniquely identify these instances of SIP servers and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788). The same value of applIndex used in the corresponding SIP-COMMON-MIB is used here." INDEX { applIndex, sipUserIndex, sipContactIndex } ::= { sipContactTable 1 } SipContactEntry ::= SEQUENCE { sipContactIndex Unsigned32, sipContactDisplayName SnmpAdminString, sipContactURI SnmpAdminString, sipContactLastUpdated TimeStamp, sipContactExpiry DateAndTime, sipContactPreference SnmpAdminString, sipContactAction INTEGER, sipContactRetryAfter DateAndTime } sipContactIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Along with the sipUserIndex, this object uniquely identifies a conceptual row in the table." ::= { sipContactEntry 1 } sipContactDisplayName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the display name for the Contact. For example, 'Santa at Home', or 'Santa on his Sled', corresponding to contact URLs of sip:BigGuy@sip.northpole.ca or sip:sclaus817@sip.mobile.com, respectively." ::= { sipContactEntry 2 } sipContactURI OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains either a SIP URL or a URI where the user can be contacted. This URI is normally returned to a client from a redirect server, or is used as the RequestURI in a SIP request line for requests forwarded by Lingle/Maeng/Mule/Walker [Page 83] Internet-Draft SIP MIB March 2003 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 SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the preference for this contact relative to all other active contacts for same user. A registering user may provide this preference as a 'qvalue' parameter in the Contact header. The format of this item is a decimal number between 0 and 1 (for example 0.9). Higher values indicate locations preferred by the user." REFERENCE "RFC 2543, Section 6.13" ::= { sipContactEntry 6 } sipContactAction OBJECT-TYPE SYNTAX INTEGER { redirect(1), proxy(2) Lingle/Maeng/Mule/Walker [Page 84] Internet-Draft SIP MIB March 2003 } 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 STATUS current DESCRIPTION "A row of summary statistics. Each row represents those objects for a particular SIP server present in this system. applIndex is used to uniquely identify these instances of SIP servers and correlate them through the common framework of the NETWORK-SERVICES-MIB (RFC 2788). The same value of Lingle/Maeng/Mule/Walker [Page 85] Internet-Draft SIP MIB March 2003 applIndex used in the corresponding SIP-COMMON-MIB is used here." INDEX { applIndex } ::= { sipRegStatsTable 1 } SipRegStatsEntry ::= SEQUENCE { sipRegAcceptedRegistrations Counter32, sipRegRejectedRegistrations Counter32 } sipRegAcceptedRegistrations OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains a count of the number of REGISTER requests that have been accepted (status code 200) by the Registrar. This includes additions of new contact information, refreshing contact information, as well as requests for deletion of contact information." ::= { sipRegStatsEntry 1 } sipRegRejectedRegistrations OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains a count of the number REGISTER requests that have been rejected by the Registrar." ::= { sipRegStatsEntry 2 } -- -- Conformance -- sipServerMIBCompliances OBJECT IDENTIFIER ::= { sipServerMIBConform 1 } sipServerMIBGroups OBJECT IDENTIFIER ::= { sipServerMIBConform 2 } -- -- Compliance Statements -- sipProxyServerCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SIP entities acting as proxy servers." MODULE -- this module MANDATORY-GROUPS { sipServerConfigGroup, sipProxyConfigGroup, sipProxyStatsGroup } Lingle/Maeng/Mule/Walker [Page 86] Internet-Draft SIP MIB March 2003 ::= { 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 87] Internet-Draft SIP MIB March 2003 } 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 88] Internet-Draft SIP MIB March 2003 6. Changes from previous drafts o Changes from draft-ietf-sip-mib-04 Started realignment with SIP RFC3261. o Changes from draft-ietf-sip-mib-03 These are the specific draft-ietf-sip-mib-04 changes to the MIB modules based on what they looked like for draft-ietf-sip-mib-03. Front paper/Back paper o Rewrote parts of section 4.2 o Fixed minor editorial nits SIP-COMMON-MIB o CONTACT-INFO "SIP MIB email" changed to sip@ietf.org o sipInviteTimeout was removed from the MIB. See below regarding new sipCommonCfgExpires objects. They provide equivalent functionality with extensibility beyond INVITE. o sipCommonCfgExpires OID subtree added. Per method Expires configuration objects were added there. This new high-level OID was placed under the existing sipCommonCfgRetry OID and therefore, caused the OIDs for the subsequent groups to change (incrementing by one). o Objects from tables under sipCommonCfgExpires were added to a new OBJECT-GROUP sipCommonConfigExpiresGroup, and that group was listed as optional in sipCommonCompliance. o Minor DESCRIPTION change for sipCommonCfgEntry. No behavior change. o sipServiceOperStatus SYNTAX changed. New values added: congested & quiescing Old values removed: halted The order of the enumeration was altered as well. o sipServiceAdminStatus SYNTAX changed. New values added: noop, up, down, quieseSessions, and quieseApplications Old values removed: shutdown, restart, stop, rts. These changes were made based on comments from last call reviewer and general known ambiguities in the previous design of the object. o Clarifying changes to the DESCRIPTION of sipServiceStartTime. o Clarifying changes to the DESCRIPTION of sipOrganization. o Clarification of behavior for sipPortStatus while row is Lingle/Maeng/Mule/Walker [Page 89] Internet-Draft SIP MIB March 2003 'active'. o Clarifying changes to the DESCRIPTION of sipUriSupportedTable o Clarifying changes to the DESCRIPTIONs of sipFtrSupportedTable, sipFtrSupportedEntry, and sipFtrSupported. Specifically, IETF standard features and non-standard features are now represented by this table. Only non-standard features were mentioned in prior revisions of the draft. o Reference to usage of RFC 2788 applIndex moved from sipCommonCfgTimerExtMethodTable to sipCommonCfgTimerExtMethodEntry. This was the convention for other table/entry definitions in the MIB, so these objects were previously unconventional. o DEFVAL removed from sipCfgTimerExtMethodTimer. The generic nature of the "extension" object does not lend itself to being able to specify a particular default value. o Since the removal of the DEFVAL clause from sipCfgTimerExtMethodTimer, a value for that object must be specified when creating a sipCommonCfgTimerExtMethodEntry. The description of sipCfgTimerExtMethodStatus was updated to reflect this. o sipCommonCfgRetryExtMethodTable is now properly defined under sipCommonCfgRetry OID space instead of under sipCommonCfgTimer OID space. o DEFVAL removed from sipCfgRetryExtMethodRetry. The generic nature of the "extension" object does not lend itself to being able to specify a particular default value. o Since the removal of the DEFVAL clause from sipCfgRetryExtMethodRetry, a value for that object must be specified when creating a sipCommonCfgRetryExtMethodEntry. The description of sipCfgRetryExtMethodStatus was updated to reflect this. o Clarifying changes to the DESCRIPTION of sipSummaryTotalTransactions. Specifically, the object is not applicable to stateless SIP proxy servers and the object should always return a value of 0 if implemented by a stateless proxy. o Clarifying changes to the DESCRIPTION of sipStatsExtMethodStatus. o sipStatsOtherClassesIns and sipStatsOtherClassesOuts counter objects were added to sipStatusCodesTable to handle possible future classes of response status codes. o Text referring specifically to Redirect Server in sipStatsRedirClassIns and sipStatsRedirClassOuts was removed. Lingle/Maeng/Mule/Walker [Page 90] Internet-Draft SIP MIB March 2003 o Text defining protocol behavior in sipStatsServerFailClassIns, sipStatsServerFailClassOuts, sipStatsGlobalFailClassIns, and sipStatsGlobalFailClassOuts was removed. o sipCommonStatusCodeNotifInterval SYNTAX changed from TimeTicks to Unsigned32 w/ a UNITS of "seconds" added to the definition. DEFVAL clause changed accordingly. o sipStatusCodeNotifTo, sipStatusCodeNotifFrom, sipStatusCodeNotifCallId, and sipStatusCodeNotifCSeq all had clarifying changes to their DESCRIPTIONs. Specifically, the header name will be part of the object value and example values were given. o Clarifying changes to the DESCRIPTION of sipCurrentTransTable and sipTransactionTable. Specifically, these tables are not applicable to transaction stateless SIP proxy servers. o Minor gramatical change to the DESCRIPTION of sipCurrentTransEntry. o sipTransMethod and sipTransActivityInfo objects were added to sipTransactionTable while sipTransCallingPartyContentType and sipTransCalledPartyContentType were removed. o Clarifying changes to the DESCRIPTION of sipTransState. Specifically, noting that not all values of the object are applicable to all transaction types. o sipTransTo, sipTransFrom, sipTransCallId, and sipTransCSeq all had clarifying changes to their DESCRIPTIONs. Specifically, the header name will be part of the object value and example values were given. o Minor gramatical change to the DESCRIPTION of sipOtherStatsEntry. o sipCommonStatusCodeIns and sipCommonStatusCodeOuts objects were added to the varbind of sipStatusCodeNotif. o Appropriate changes were made to sipCommonStatsGroup OBJECT-GROUP based on objects being added and/or removed from the MIB. SIP-SERVER-MIB o CONTACT-INFO "SIP MIB email" changed to sip@ietf.org o The statement "Unlike a Proxy server it does not initiate requests." was removed from where a Redirect Server is defined in the MIB's DESCRIPTION. o sipServerMIBNotifs OID removed. No notifications were Lingle/Maeng/Mule/Walker [Page 91] Internet-Draft SIP MIB March 2003 ever defined under this subtree. o Clarifying text added to all of the Table DESCRIPTIONS stating that the value of applIndex used in this MIB corresponds to the value of applIndex used in the SIP-COMMON-MIB. o Clarifying changes to the DESCRIPTION of sipProxyStatefulness. o sipContactPreference SYNTAX changed from OCTET STRING to SnmpAdminString. SIP-UA-MIB o CONTACT-INFO "SIP MIB email" changed to sip@ietf.org o sipUAMIBNotifs OID removed. No notifications were ever defined under this subtree. o sipUAStats OID removed. No notifications were ever defined under this subtree. o Clarifying text added to all of the Table DESCRIPTIONS stating that the value of applIndex used in this MIB corresponds to the value of applIndex used in the SIP-COMMON-MIB. SIP-TC o CONTACT-INFO "SIP MIB email" changed to sip@ietf.org o Changes from draft-ietf-sip-mib-02 The following changes were made based on review comments to the previous version of the draft. 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. Lingle/Maeng/Mule/Walker [Page 92] Internet-Draft SIP MIB March 2003 o sipCommonStatsRetryExtMethodEntry was missing its INDEX clause. o sipNumUnsupportedUris OID was "5" when it was the only object in the table. OID is now "1". o High-level OID structure of the MIB is now sequential. o Incorrect object descriptor for sipCfgInitialTimerRsp inconsistent with reference in compliance section. o Inconsistencies between sipCommonStatsRetryGroup definition and SipCommonStatsRetryEntry OBJECT-TYPE corrected. o sipNotifApplIndex was not in any object group in the conformance section. Regarding SIP-SERVER-MIB o Removed sipInformationTryingInterval. o Removed sipRxProxyAuthTable. o Removed sipRegRespHasContacts. o Removed sipRegContactDfltExpiryDate. o Removed sipRegContactDfltExpiryDuration. o Removed sipUserPassword. o sipRequestMaxExpires DESCRIPTION changed to no longer specifically mention 400 response. o sipProxyStateful object descriptor changed to sipProxyStatefullness and the SYNTAX changed from TruthValue to an enumerated INTEGER. o sipProxyStateTimeout DESCRIPTION changed to now reflect only INVITE. o Gauge32 was not being IMPORTed. o sipServerContactDfltAction showed up in conformance and other object descriptions in an older form. o sipServerHost replaced with InetAddressType/InetAddress object pair (sipServerHostAddrType & sipServerHostAddr). Regarding SIP-UA-MIB o IMPORTed Unsigned32 to support sipUACfgSipServerAddrIndex. o sipUACfgSipServerEntry was referencing the wrong auxilliary object and listing that object in the conformance section. o sipUACfgSipServerEntry listed sipUACfgSipServerStatus when it should have been listing sipUACfgSipServerAddrStatus. o SIP-UA-MIB IMPORTed Counter32, but never used it. Removed the IMPORT of Counter32. 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 Lingle/Maeng/Mule/Walker [Page 93] Internet-Draft SIP MIB March 2003 SIP entities and provide information of their connection characteristics. It is thus important to control even GET access to these objects and possibly to even encrypt the values of these objects when sending them over the network via SNMP. Not all versions of SNMP provide features for such a secure environment. SNMPv1 by itself is not a secure environment. Even if the network itself is secure (for example by using IPSec), there is no control as to who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB. It is recommended that the implementers consider the security features as provided by the SNMPv3 framework. Specifically, the use of the User-based Security Model RFC 2574 [RFC2574] and the View- based Access Control Model RFC 2575 [RFC2575] is recommended. It is then a customer/user responsibility to ensure that the SNMP entity giving access to an instance of this MIB, is properly configured to give access to the objects only to those principals (users) that have legitimate rights to indeed GET or SET (change/create/delete) them. 8. Intellectual Property The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification can be obtained from the IETF Secretariat. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director. 9. Full Copyright Statement Copyright (C) The Internet Society (2003). 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 Lingle/Maeng/Mule/Walker [Page 94] Internet-Draft SIP MIB March 2003 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 95] Internet-Draft SIP MIB March 2003 10. Normative References [RFC2026] Bradner, S., "The Internet Standards Process - - Revision 3", BCP 9, RFC 2026, October 1996. [RFC2578] 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. [RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999. [RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999. [1] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M. and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, June 2002. [2] Freed, N. and S. Kille, "Network Services Monitor MIB", RFC 2788, March 2000 [3] Donavan, S., "The SIP INFO Method", RFC 2976, October 2000 11. Informative References [RFC3410] Case, J., Mundy, R., Partain, D. and B. Stewart, "Introduction and Applicability Statements for Internet- Standard Management Framework", RFC 3410, December 2002. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. 12. Acknowledgments We wish to thank the members of the IETF SIP & SIPPING WGs & the SIP- MIB Design team for their comments and suggestions. Detailed comments were provided by Tom Taylor and Kavitha Patchayappan. 13. 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 Lingle/Maeng/Mule/Walker [Page 96] Internet-Draft SIP MIB March 2003 phone: +1 919 392 2029 Joon Maeng ipDialog, Inc. 7701 N. Lamar Blvd., Suite 304 Austin, TX 78752-1023 USA email: jmaeng@ipdialog.com phone: +1 512 371 1770 Jean-Francois Mule’ CableLabs 400 Centennial Parkway Louisville, CO 80027 USA email: jfm@cablelabs.com mibs@cablelabs.com phone: +1 303 661 9100 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 97]