-- extracted from draft-ietf-sip-mib-01.txt -- at Sat Jul 15 07:08:00 2000 SIP-REGISTRAR-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32, Unsigned32 FROM SNMPv2-SMI DateAndTime, RowStatus, TimeStamp, TruthValue FROM SNMPv2-TC Lingle/Maeng/Walker 61 Internet Draft SIP-MIB July, 2000 MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF SnmpAdminString FROM SNMP-FRAMEWORK-MIB SipServerActions FROM SIP-TC sipMIB FROM SIP-MIB-SMI applIndex FROM NETWORK-SERVICES-MIB; sipRegistrarMIB MODULE-IDENTITY LAST-UPDATED "200007080000Z" ORGANIZATION "IETF SIP Working Group, SIP MIB Team" CONTACT-INFO "SIP MIB Team email: sip-mib@egroups.com Co-editor Kevin Lingle Cisco Systems, Inc. postal: 7025 Kit Creek Road P.O. Box 14987 Research Triangle Park, NC 27709 USA email: klingle@cisco.com phone: +1-919-392-2029 Co-editor Joon Maeng VTEL Corporation postal: 108 Wild Basin Rd. Austin, TX 78746 USA email: joon_maeng@vtel.com phone: +1-512-437-4567 Co-editor Dave Walker SS8 Networks, Inc. postal: 80 Hines Road Kanata, ON K2K 2T8 Canada email: drwalker@ss8networks.com phone: +1 613 592 2100" DESCRIPTION "Initial version of Session Initiation Protocol (SIP) Registrar MIB module. SIP is an application-layer signalling protocol for creating, modifying and terminating multimedia sessions with one or more participants. These sessions Lingle/Maeng/Walker 62 Internet Draft SIP-MIB July, 2000 include Internet multimedia conferences and Internet telephone calls. SIP is defined in RFC 2543 (March 1999). A Registrar is a server that accepts REGISTER requests. A Registrar is typically co-located with a Proxy or Redirect Server." ::= { sipMIB 5 } -- -- sipReg group -- This group contains MIB objects related to SIP Registrars. -- sipRegCfg OBJECT IDENTIFIER ::= { sipRegistrarMIB 1 } sipRegStats OBJECT IDENTIFIER ::= { sipRegistrarMIB 2 } -- -- Registrar Configuration -- sipRegCfgTable OBJECT-TYPE SYNTAX SEQUENCE OF SipRegCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains configuration objects applicable SIP registrars. Each row represents those objects for a particular SIP registrar present in this system. The instances of SIP registrars are uniquely identified by applIndex." ::= { sipRegCfg 1 } sipRegCfgEntry OBJECT-TYPE SYNTAX SipRegCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of common configuration." INDEX { applIndex } ::= { sipRegCfgTable 1 } SipRegCfgEntry ::= SEQUENCE { sipRegAllowThirdParty TruthValue, sipRegContactDfltExpiryDuration Unsigned32, sipRegContactDfltExpiryDate DateAndTime, sipRegMaxContactExpiryDate Unsigned32, sipRegRespHasContacts TruthValue, sipRegMaxUsers Unsigned32, sipRegCurrentUsers Gauge32 } sipRegAllowThirdParty OBJECT-TYPE Lingle/Maeng/Walker 63 Internet Draft SIP-MIB July, 2000 SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies whether or not the Registrar should allows third party registrations. In third-party registration, the entity issuing the request (in the From header) is different from the entity being registered (in the To header) to whom the provided Contact information applies. If the value of this object is TRUE, the Registrar allows third party registrations. If the value is FALSE, third party registrations are rejected: a 403 Forbidden status code is returned to the requestor." REFERENCE "RFC 2543, Section 4.2.6" ::= { sipRegCfgEntry 1 } sipRegContactDfltExpiryDuration OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the default expiration (time-to- live) of Contact information that is provided by User Agents when registering with this Registrar. This value is only used when no expiration has been specified by the user in the REGISTER request. If the value is applied to a registration and is different from the default (one hour), the server must return the value to the registered User Agent. The value contained in this object only applies if the value of the sipContactDfltExpiryDate object is NULL. If the value of this object applies, and is zero, then no default expiry is applied to registered contact information." REFERENCE "RFC 2543, Section 4.2.6" DEFVAL { 3600 } ::= { sipRegCfgEntry 2 } sipRegContactDfltExpiryDate OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the default expiration date (time- to-live) of Contact information that is provided by User Agents when registering with this Registrar. This value Lingle/Maeng/Walker 64 Internet Draft SIP-MIB July, 2000 is only used when no expiration has been specified by the user in the REGISTER request. If this value is applied to a registration, the server must return the value to the registered User Agent. The value contained in this object only applies if the value of the sipContactDfltExpiryDuration object is zero. If the value of this object applies, and is NULL, then no default expiry is applied to registered contact information." REFERENCE "RFC 2543, Section 4.2.6" ::= { sipRegCfgEntry 3 } sipRegMaxContactExpiryDate OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the maximum expiry that may be requested by a User Agent for a particular Contact. User Agents can specify expiry using either an Expiry header in a REGISTER request, or using an Expires parameter in a Contact header in a REGISTER request. If the value requested by the User Agent is greater than the value of this object, then the contact information is given the duration specified by this object, and that duration is indicated to the User Agent in the response." DEFVAL { 4294967295 } ::= { sipRegCfgEntry 4 } sipRegRespHasContacts OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies whether or not the Registrar should return all currently reachable locations for a successfully registering party in the REGISTER response message. If the value of this object is TRUE, the Registrar returns the locations in the REGISTER response. If the value is FALSE, no location information is provided." ::= { sipRegCfgEntry 5 } sipRegMaxUsers OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the maximum number of users that the Lingle/Maeng/Walker 65 Internet Draft SIP-MIB July, 2000 registrar supports. The current number of users is reflected by sipRegCurrentUsers." ::= { sipRegCfgEntry 6 } sipRegCurrentUsers OBJECT-TYPE SYNTAX Gauge32 (0..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the number of users currently configured on the registrar." ::= { sipRegCfgEntry 7 } -- -- Per User Information -- sipRegUserTable OBJECT-TYPE SYNTAX SEQUENCE OF SipRegUserEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains information on all users registered to each Registrar in this system. The instances of SIP Registrar are uniquely identified by applIndex." ::= { sipRegCfg 2 } sipRegUserEntry OBJECT-TYPE SYNTAX SipRegUserEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This entry contains information for a single user registered to this Registrar." INDEX { applIndex, sipUserIndex } ::= { sipRegUserTable 1 } SipRegUserEntry ::= SEQUENCE { sipUserIndex Unsigned32, sipUserUri SnmpAdminString, sipUserPassword OCTET STRING, sipUserAuthenticationFailures Counter32, sipUserTableRowStatus RowStatus } sipUserIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object uniquely identifies a conceptual row in the table." ::= { sipRegUserEntry 1 } Lingle/Maeng/Walker 66 Internet Draft SIP-MIB July, 2000 sipUserUri OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION "This object contains the user's address-of-record. It is the main form by which the registrar knows the user. The format is typically 'user@domain'. It is contained in the To header for all REGISTER requests." ::= { sipRegUserEntry 2 } sipUserPassword OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..255)) MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the password that the user must enter when being authenticated." ::= { sipRegUserEntry 3 } sipUserAuthenticationFailures OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains a count of the number of times the user has failed authentication." ::= { sipRegUserEntry 4 } sipUserTableRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The row status of the entry. This object is required to create or delete rows remotely by a manager." ::= { sipRegUserEntry 5 } -- -- Per Contact Information -- sipContactTable OBJECT-TYPE SYNTAX SEQUENCE OF SipContactEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains information on every location where a registered user (specified by sipUserIndex) wishes to be found (i.e. has provided Contact information) to each SIP Registrar in this system. The instances of SIP Registrar are uniquely identified by applIndex." ::= { sipRegCfg 3 } Lingle/Maeng/Walker 67 Internet Draft SIP-MIB July, 2000 sipContactEntry OBJECT-TYPE SYNTAX SipContactEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This entry contains information for a single Contact. Multiple contacts may exist for a single user." INDEX { applIndex, sipUserIndex, sipContactIndex } ::= { sipContactTable 1 } SipContactEntry ::= SEQUENCE { sipContactIndex Unsigned32, sipContactDisplayName SnmpAdminString, sipContactURI SnmpAdminString, sipContactLastUpdated TimeStamp, sipContactExpiry DateAndTime, sipContactAction SipServerActions, sipContactPreference OCTET STRING, sipContactRetryAfter DateAndTime } sipContactIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Along with the sipUserIndex, this object uniquely identifies a conceptual row in the table." ::= { sipContactEntry 1 } sipContactDisplayName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the display name for the Contact. For example, 'Santa at Home', or 'Santa on his Sled', corresponding to contact URLs of sip:BigGuy@sip.northpole.ca or sip:sclaus817@sip.mobile.com, respectively." ::= { sipContactEntry 2 } sipContactURI OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains either a SIP URL or a URI where the user can be contacted. This URI is normally returned to a client from a redirect server, or is used as the RequestURI in a SIP request line for requests forwarded by a proxy." Lingle/Maeng/Walker 68 Internet Draft SIP-MIB July, 2000 ::= { sipContactEntry 3 } sipContactLastUpdated OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the time when this contact information was accepted. If the contact information is updated via a subsequent REGISTER of the same information, this object is also updated." ::= { sipContactEntry 4 } sipContactExpiry OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the date and time when the contact information will no longer be valid. Such times may be specified by the user at registration (Expires header or expiry parameter in the Contact information), or a system default can be applied." ::= { sipContactEntry 5 } sipContactPreference OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the preference for this contact relative to all other active contacts for same user. A registering user may provide this preference as a 'qvalue' parameter in the Contact header. The format of this item is a decimal number between 0 and 1 (for example 0.9). Higher values indicate locations preferred by the user." REFERENCE "RFC 2543, Section 6.13" ::= { sipContactEntry 6 } sipContactAction OBJECT-TYPE SYNTAX SipServerActions MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates whether the user wanted the server to act as a redirect server or as a proxy server. It is specified by the optional 'action' parameter in the Contact header." ::= { sipContactEntry 7 } sipContactRetryAfter OBJECT-TYPE Lingle/Maeng/Walker 69 Internet Draft SIP-MIB July, 2000 SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates that the contact information is currently inactive, and that it should only be activated after the date and time specified by the object. This value is provided by a user when deleting contact information using a REGISTER request containing a Retry- After header." REFERENCE "RFC 2543, Section 6.32" ::= { sipContactEntry 8 } -- -- Registrar Statistics -- sipRegStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF SipRegStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the summary statistics objects applicable to all SIP Registrars in this system. Each row represents those objects for a particular SIP Registrar. The instances of SIP Registrars are uniquely identified by applIndex." ::= { sipRegStats 1 } sipRegStatsEntry OBJECT-TYPE SYNTAX SipRegStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of summary statistics." INDEX { applIndex } ::= { sipRegStatsTable 1 } SipRegStatsEntry ::= SEQUENCE { sipRegAcceptedRegistrations Counter32, sipRegRejectedRegistrations Counter32 } sipRegAcceptedRegistrations OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains a count of the number of REGISTER requests that have been accepted (status code 200) by the Lingle/Maeng/Walker 70 Internet Draft SIP-MIB July, 2000 Registrar. This includes additions of new contact information, refreshing contact information, as well as requests for deletion of contact information." ::= { sipRegStatsEntry 1 } sipRegRejectedRegistrations OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains a count of the number REGISTER requests that have been rejected by the Registrar." ::= { sipRegStatsEntry 2 } -- -- Notifications -- sipRegMIBNotif OBJECT IDENTIFIER ::= { sipRegistrarMIB 3 } -- none at this time -- -- Conformance -- sipRegMIBConformance OBJECT IDENTIFIER ::= { sipRegistrarMIB 4 } sipRegMIBCompliances OBJECT IDENTIFIER ::= { sipRegMIBConformance 1 } sipRegMIBGroups OBJECT IDENTIFIER ::= { sipRegMIBConformance 2 } -- -- Compliance Statements -- sipRegCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SIP entities." MODULE -- this module MANDATORY-GROUPS { sipRegistrarConfigGroup, sipRegistrarStatsGroup } -- sipRegistrarNotifGroup } ::= { sipRegMIBCompliances 1 } sipRegistrarConfigGroup OBJECT-GROUP OBJECTS { sipRegAllowThirdParty, Lingle/Maeng/Walker 71 Internet Draft SIP-MIB July, 2000 sipRegContactDfltExpiryDuration, sipRegContactDfltExpiryDate, sipRegMaxContactExpiryDate, sipRegRespHasContacts, sipRegMaxUsers, sipRegCurrentUsers, sipUserUri, sipUserPassword, sipUserAuthenticationFailures, sipUserTableRowStatus, sipContactDisplayName, sipContactURI, sipContactLastUpdated, sipContactExpiry, sipContactPreference, sipContactAction, sipContactRetryAfter } STATUS current DESCRIPTION "A collection of objects providing configuration for SIP Registrars." ::= { sipRegMIBGroups 1 } sipRegistrarStatsGroup OBJECT-GROUP OBJECTS { sipRegAcceptedRegistrations, sipRegRejectedRegistrations } STATUS current DESCRIPTION "A collection of objects providing statistics for SIP Registrars." ::= { sipRegMIBGroups 2 } --sipRegistrarNotifGroup NOTIFICATION-GROUP -- OBJECTS { -- none at this time -- } -- STATUS current -- DESCRIPTION -- "A collection of notifications defined for SIP -- Registrars." -- ::= { sipRegMIBGroups 3 } END -- -- -- -- -- Lingle/Maeng/Walker 73 -- Internet Draft SIP-MIB July, 2000 -- -- Copyright(C) The Internet Society (2000). All Rights Reserved. This -- document and translations of it may be copied and furnished to -- others, and derivative works that comment on or otherwise explain it -- or assist in its implementation may be prepared, copied, published -- and distributed, in whole or in part, without restriction of any -- kind, provided that the above copyright notice and this paragraph -- are included on all such copies and derivative works. However, this -- document itself may not be modified in any way, such as by removing -- the copyright notice or references to the Internet Society or other -- Internet organizations, except as needed for the purpose of -- developing Internet standards in which case the procedures for -- copyrights defined in the Internet Standards process must be -- followed, or as required to translate it into languages other than -- English. -- -- The limited permissions granted above are perpetual and will not be -- revoked by the Internet Society or its successors or assigns. -- -- This document and the information contained herein is provided on an -- "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING -- TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING -- BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION -- HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF -- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. --