7.3. SIP User Agent MIB Module
SIP-UA-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, mib-2 FROM SNMPv2-SMI -- RFC 2578 MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF -- RFC 2580 applIndex FROM NETWORK-SERVICES-MIB -- RFC 2788 InetAddressType, InetAddress FROM INET-ADDRESS-MIB -- RFC 4001 SipTCEntityRole FROM SIP-TC-MIB; -- RFC 4780 sipUAMIB MODULE-IDENTITY LAST-UPDATED "200704200000Z" ORGANIZATION "IETF Session Initiation Protocol Working Group" CONTACT-INFO "SIP WG 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 476 2029
Co-editor Joon Maeng
email: jmaeng@austin.rr.com
Co-editor Jean-Francois Mule
CableLabs
postal: 858 Coal Creek Circle
Louisville, CO 80027
USA
email: jf.mule@cablelabs.com
phone: +1 303 661 9100
Co-editor Dave Walker
email: drwalker@rogers.com"
DESCRIPTION
"Session Initiation Protocol (SIP) User Agent (UA) 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 3261 (June 2002).
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 IETF Trust (2007). This version of
this MIB module is part of RFC 4780; see the RFC itself for
full legal notices."
REVISION "200704200000Z"
DESCRIPTION
"Initial version of the IETF SIP-UA-MIB module. This version
published as part of RFC 4780."
::= { mib-2 150 }
-- Top-Level Components of this MIB.
sipUAMIBObjects OBJECT IDENTIFIER ::= { sipUAMIB 1 }
sipUAMIBConformance OBJECT IDENTIFIER ::= { sipUAMIB 2 }
--
-- This MIB contains objects related to SIP User Agents.
--
sipUACfgServer OBJECT IDENTIFIER ::= { sipUAMIBObjects 1 }
--
-- SIP Server Configuration
--
sipUACfgServerTable OBJECT-TYPE
SYNTAX SEQUENCE OF SipUACfgServerEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains SIP server configuration objects applicable
to each SIP user agent in this system."
::= { sipUACfgServer 1 }
sipUACfgServerEntry OBJECT-TYPE
SYNTAX SipUACfgServerEntry
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, sipUACfgServerIndex }
::= { sipUACfgServerTable 1 }
SipUACfgServerEntry ::= SEQUENCE {
sipUACfgServerIndex Unsigned32,
sipUACfgServerAddressType InetAddressType,
sipUACfgServerAddress InetAddress,
sipUACfgServerRole SipTCEntityRole
}
sipUACfgServerIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
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."
::= { sipUACfgServerEntry 1 }
sipUACfgServerAddressType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object reflects the type of address contained in the
associated instance of sipUACfgServerAddress."
REFERENCE
"INET-ADDRESS-MIB (RFC 4001)"
::= { sipUACfgServerEntry 2 }
sipUACfgServerAddress OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object reflects the address of a SIP server this user
agent will use to proxy/redirect calls. The type of this
address is determined by the value of the
sipUACfgServerAddressType object."
REFERENCE "INET-ADDRESS-MIB (RFC 4001)"
::= { sipUACfgServerEntry 3 }
sipUACfgServerRole OBJECT-TYPE
SYNTAX SipTCEntityRole
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object reflects the function of the SIP server this user
agent should communicate with: registrar, proxy (outbound
proxy), etc."
::= { sipUACfgServerEntry 4 }
--
-- Conformance
--
sipUAMIBCompliances OBJECT IDENTIFIER ::= { sipUAMIBConformance 1 }
sipUAMIBGroups OBJECT IDENTIFIER ::= { sipUAMIBConformance 2 }
--
-- Compliance Statements
--
sipUACompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for SIP entities that implement the
SIP-UA-MIB module."
MODULE -- this module
MANDATORY-GROUPS { sipUAConfigGroup }
::= { sipUAMIBCompliances 1 }
--
-- Units of Conformance
--
sipUAConfigGroup OBJECT-GROUP
OBJECTS {
sipUACfgServerAddressType,
sipUACfgServerAddress,
sipUACfgServerRole
}
STATUS current
DESCRIPTION
"A collection of objects providing information about the
configuration of SIP User Agents."
::= { sipUAMIBGroups 1 }
END
7.4. SIP Server MIB Module (Proxy, Redirect, and Registrar Servers)
SIP-SERVER-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY,
OBJECT-TYPE,
Counter32,
Unsigned32,
Gauge32,
mib-2
FROM SNMPv2-SMI -- RFC 2578
TruthValue,
TimeStamp, DateAndTime
FROM SNMPv2-TC -- RFC 2579
MODULE-COMPLIANCE,
OBJECT-GROUP
FROM SNMPv2-CONF -- RFC 2580
SnmpAdminString
FROM SNMP-FRAMEWORK-MIB -- RFC 3411
applIndex
FROM NETWORK-SERVICES-MIB -- RFC 2788
InetAddressType,
InetAddress
FROM INET-ADDRESS-MIB; -- RFC 4001
sipServerMIB MODULE-IDENTITY
LAST-UPDATED "200704200000Z"
ORGANIZATION "IETF Session Initiation Protocol
Working Group"
CONTACT-INFO
"SIP WG 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 476 2029
Co-editor: Joon Maeng
email: jmaeng@austin.rr.com
Co-editor: Jean-Francois Mule
CableLabs
postal: 858 Coal Creek Circle
Louisville, CO 80027
USA
email: jf.mule@cablelabs.com
phone: +1 303 661 9100
Co-editor: Dave Walker
email: drwalker@rogers.com
"
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 3261 (June 2002).
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 IETF Trust (2007). This version of
this MIB module is part of RFC 4780; see the RFC itself for
full legal notices."
REVISION "200704200000Z"
DESCRIPTION
"Initial version of the IETF SIP-SERVER-MIB module. This
version published as part of RFC 4780."
::= { mib-2 151 }
-- Top-Level Components of this MIB.
sipServerMIBObjects OBJECT IDENTIFIER ::= { sipServerMIB 1 }
sipServerMIBConformance OBJECT IDENTIFIER ::= { sipServerMIB 2 }
--
-- These groups contain objects common to all SIP servers.
--
sipServerCfg OBJECT IDENTIFIER ::= { sipServerMIBObjects 1 }
--
-- Common Server Configuration Objects
--
sipServerCfgTable OBJECT-TYPE
SYNTAX SEQUENCE OF SipServerCfgEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains configuration objects applicable to SIP
Redirect and Proxy Servers."
::= { sipServerCfg 1 }
sipServerCfgEntry OBJECT-TYPE
SYNTAX SipServerCfgEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A row of common configuration.
Each row represents those objects for a particular SIP server
present in this system. applIndex is used to uniquely identify
these instances of SIP servers and correlate them through
the common framework of the NETWORK-SERVICES-MIB (RFC 2788).
The same value of applIndex used in the corresponding
SIP-COMMON-MIB is used here."
INDEX { applIndex }
::= { sipServerCfgTable 1 }
SipServerCfgEntry ::=
SEQUENCE {
sipServerCfgHostAddressType InetAddressType,
sipServerCfgHostAddress InetAddress
}
sipServerCfgHostAddressType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of Internet address by which the SIP server is
reachable."
REFERENCE
"RFC 3261, Section 19.1.1"
::= { sipServerCfgEntry 1 }
sipServerCfgHostAddress OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is the host portion of a SIP URI 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. The type of address given by this object
is controlled by sipServerCfgHostAddressType."
REFERENCE
"RFC 3261, Section 19.1.1"
::= { sipServerCfgEntry 2 }
--
-- This group contains MIB objects
-- related to SIP Proxy Servers.
--
sipServerProxyCfg OBJECT IDENTIFIER ::= { sipServerMIBObjects 3 }
sipServerProxyStats OBJECT IDENTIFIER ::= { sipServerMIBObjects 4 }
--
-- Proxy Server Configuration
--
sipServerProxyCfgTable OBJECT-TYPE
SYNTAX SEQUENCE OF SipServerProxyCfgEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains configuration objects applicable to SIP
Proxy Servers."
::= { sipServerProxyCfg 1 }
sipServerProxyCfgEntry OBJECT-TYPE
SYNTAX SipServerProxyCfgEntry
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 }
::= { sipServerProxyCfgTable 1 }
SipServerProxyCfgEntry ::=
SEQUENCE {
sipServerCfgProxyStatefulness INTEGER,
sipServerCfgProxyRecursion TruthValue,
sipServerCfgProxyRecordRoute TruthValue,
sipServerCfgProxyAuthMethod BITS,
sipServerCfgProxyAuthDefaultRealm SnmpAdminString
}
sipServerCfgProxyStatefulness OBJECT-TYPE
SYNTAX INTEGER {
stateless(1),
transactionStateful(2),
callStateful(3)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object reflects the default mode of operation for the
Proxy Server entity.
A stateless proxy is a logical entity that does not maintain
the client or server transaction state machines when it
processes requests. 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', is
a logical entity that maintains the client and server
transaction state machines during the processing of a request.
A (transaction) stateful proxy is not the same as a call
stateful proxy. If the value of this object is
transactionStateful(2), the proxy is stateful on a transaction
basis.
A call stateful proxy is a logical entity if it retains state
for a dialog from the initiating INVITE to the terminating BYE
request. A call stateful proxy is always transaction stateful,
but the converse is not necessarily true. If the value of this
object is callStateful(3), the proxy is call stateful."
REFERENCE
"RFC 3261, Section 16"
::= { sipServerProxyCfgEntry 1 }
sipServerCfgProxyRecursion OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object reflects whether or not the Proxy performs a
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,
and the 3xx response is sent upstream towards the source of
the request."
REFERENCE
"RFC 3261 Sections 16.5 and 16.6"
::= { sipServerProxyCfgEntry 2 }
sipServerCfgProxyRecordRoute OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object reflects 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 does not add
itself to the Record-Route header."
REFERENCE
"RFC 3261, Section 20.30"
::= { sipServerProxyCfgEntry 3 }
--
-- Security
--
sipServerCfgProxyAuthMethod OBJECT-TYPE
SYNTAX BITS {
none(0),
tls(1),
digest(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object reflects the authentication methods that MAY be
used to authenticate request originators.
bit 0 no authentication is performed
bit 1 TLS is used
bit 2 HTTP Digest is used."
REFERENCE
"RFC 3261 Sections 22, 23, 26, 26.2.3"
::= { sipServerProxyCfgEntry 4 }
sipServerCfgProxyAuthDefaultRealm OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object reflects the default realm value used in
Proxy-Authenticate headers. Note that this MAY need to be
stored per user, in which case, this default value is ignored.
"
REFERENCE
"RFC 3261, Section 22.1"
::= { sipServerProxyCfgEntry 5 }
--
-- Proxy Server Statistics
--
sipServerProxyStatsTable OBJECT-TYPE
SYNTAX SEQUENCE OF SipServerProxyStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains the statistics objects applicable to all
SIP Proxy Servers in this system."
::= { sipServerProxyStats 1 }
sipServerProxyStatsEntry OBJECT-TYPE
SYNTAX SipServerProxyStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A row of summary statistics.
Each row represents those objects for a particular SIP server
present in this system. applIndex is used to uniquely identify
these instances of SIP servers and correlate them through the
common framework of the NETWORK-SERVICES-MIB (RFC 2788). The
same value of applIndex used in the corresponding
SIP-COMMON-MIB is used here."
INDEX { applIndex }
::= { sipServerProxyStatsTable 1 }
SipServerProxyStatsEntry ::=
SEQUENCE {
sipServerProxyStatProxyReqFailures Counter32,
sipServerProxyStatsDisconTime TimeStamp
}
sipServerProxyStatProxyReqFailures 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.
Discontinuities in the value of this counter can occur at
re-initialization of the SIP entity or service. A Management
Station can detect discontinuities in this counter by
monitoring the sipServerProxyStatsDisconTime object in the same
row."
::= { sipServerProxyStatsEntry 1 }
sipServerProxyStatsDisconTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of the sysUpTime object when the counters for the server
statistics objects in this row last experienced a discontinuity."
::= { sipServerProxyStatsEntry 2 }
--
-- This group contains MIB objects related to SIP Registrars.
--
sipServerRegCfg OBJECT IDENTIFIER ::= { sipServerMIBObjects 5 }
sipServerRegStats OBJECT IDENTIFIER ::= { sipServerMIBObjects 6 }
--
-- Registrar Configuration
--
sipServerRegCfgTable OBJECT-TYPE
SYNTAX SEQUENCE OF SipServerRegCfgEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains configuration objects applicable to SIP
Registrars."
::= { sipServerRegCfg 1 }
sipServerRegCfgEntry OBJECT-TYPE
SYNTAX SipServerRegCfgEntry
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 }
::= { sipServerRegCfgTable 1 }
SipServerRegCfgEntry ::=
SEQUENCE {
sipServerRegMaxContactExpiryDuration Unsigned32,
sipServerRegMaxUsers Unsigned32,
sipServerRegCurrentUsers Gauge32,
sipServerRegDfltRegActiveInterval Unsigned32
}
sipServerRegMaxContactExpiryDuration OBJECT-TYPE
SYNTAX Unsigned32 (0..4294967295)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object reflects 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."
::= { sipServerRegCfgEntry 1 }
sipServerRegMaxUsers OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object reflects the maximum number of users that the
Registrar supports. The current number of users is reflected
by sipServerRegCurrentUsers."
::= { sipServerRegCfgEntry 2 }
sipServerRegCurrentUsers OBJECT-TYPE
SYNTAX Gauge32 (0..4294967295)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object reflects the number of users currently registered
with the Registrar."
::= { sipServerRegCfgEntry 3 }
sipServerRegDfltRegActiveInterval OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object reflects 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, the value of the
Expires header field is used instead. If a Contact entry has no
'expires' parameter and no Expires header field is present,
the value of this object is used as the default value."
REFERENCE
"RFC 3261, Section 10.2"
::= { sipServerRegCfgEntry 4 }
--
-- Per User Information
--
sipServerRegUserTable OBJECT-TYPE
SYNTAX SEQUENCE OF SipServerRegUserEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains information on all users registered to each
Registrar in this system."
::= { sipServerRegCfg 2 }
sipServerRegUserEntry OBJECT-TYPE
SYNTAX SipServerRegUserEntry
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, sipServerRegUserIndex }
::= { sipServerRegUserTable 1 }
SipServerRegUserEntry ::=
SEQUENCE {
sipServerRegUserIndex Unsigned32,
sipServerRegUserUri SnmpAdminString,
sipServerRegUserAuthenticationFailures Counter32,
sipServerRegUserDisconTime TimeStamp
}
sipServerRegUserIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This object uniquely identifies a conceptual row in the table."
::= { sipServerRegUserEntry 1 }
sipServerRegUserUri OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
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."
::= { sipServerRegUserEntry 2 }
sipServerRegUserAuthenticationFailures 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.
Discontinuities in the value of this counter can occur due to
successful user authentications and at re-initialization of
the SIP entity or service. A Management Station can detect
discontinuities in this counter by monitoring the
sipServerRegUserDisconTime object in the same row."
::= { sipServerRegUserEntry 3 }
sipServerRegUserDisconTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of the sysUpTime object when the counters for the
user registration statistics objects in this row last
experienced a discontinuity."
::= { sipServerRegUserEntry 4 }
--
-- Per Contact Information
--
sipServerRegContactTable OBJECT-TYPE
SYNTAX SEQUENCE OF SipServerRegContactEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains information on every location where a
registered user (specified by sipServerRegUserIndex) wishes to
be found (i.e., the user has provided contact information to
each SIP Registrar in this system)."
::= { sipServerRegCfg 3 }
sipServerRegContactEntry OBJECT-TYPE
SYNTAX SipServerRegContactEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This entry contains information for a single Contact. Multiple
contacts may exist for a single user.
Each row represents those objects for a particular SIP server
present in this system. applIndex is used to uniquely identify
these instances of SIP servers and correlate them through the
common framework of the NETWORK-SERVICES-MIB (RFC 2788). The
same value of applIndex used in the corresponding
SIP-COMMON-MIB is used here."
INDEX { applIndex,
sipServerRegUserIndex,
sipServerRegContactIndex
}
::= { sipServerRegContactTable 1 }
SipServerRegContactEntry ::=
SEQUENCE {
sipServerRegContactIndex Unsigned32,
sipServerRegContactDisplayName SnmpAdminString,
sipServerRegContactURI SnmpAdminString,
sipServerRegContactLastUpdated TimeStamp,
sipServerRegContactExpiry DateAndTime,
sipServerRegContactPreference SnmpAdminString
}
sipServerRegContactIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Along with the sipServerRegUserIndex, this object uniquely
identifies a conceptual row in the table."
::= { sipServerRegContactEntry 1 }
sipServerRegContactDisplayName 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 URIs of sip:BigGuy@example.com or
sip:sclaus817@example.com, respectively."
::= { sipServerRegContactEntry 2 }
sipServerRegContactURI OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object contains either a SIP 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."
::= { sipServerRegContactEntry 3 }
sipServerRegContactLastUpdated 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."
::= { sipServerRegContactEntry 4 }
sipServerRegContactExpiry 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 (i.e., Expires header or
expiry parameter in the Contact information), or a system
default can be applied."
::= { sipServerRegContactEntry 5 }
sipServerRegContactPreference OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates a relative preference for the particular
Contact header field value compared to other bindings for this
address-of-record. 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 3261, Section 10.2.1.2, 16.6, and 20.10"
::= { sipServerRegContactEntry 6 }
--
-- Registrar Statistics
--
sipServerRegStatsTable OBJECT-TYPE
SYNTAX SEQUENCE OF SipServerRegStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains the summary statistics objects applicable
to all SIP Registrars in this system."
::= { sipServerRegStats 1 }
sipServerRegStatsEntry OBJECT-TYPE
SYNTAX SipServerRegStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A row of summary statistics.
Each row represents those objects for a particular SIP server
present in this system. applIndex is used to uniquely identify
these instances of SIP servers and correlate them through the
common framework of the NETWORK-SERVICES-MIB (RFC 2788). The
same value of applIndex used in the corresponding
SIP-COMMON-MIB is used here."
INDEX { applIndex }
::= { sipServerRegStatsTable 1 }
SipServerRegStatsEntry ::=
SEQUENCE {
sipServerRegStatsAcceptedRegs Counter32,
sipServerRegStatsRejectedRegs Counter32,
sipServerRegStatsDisconTime TimeStamp
}
sipServerRegStatsAcceptedRegs 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.
Discontinuities in the value of this counter can occur at
re-initialization of the SIP entity or service. A Management
Station can detect discontinuities in this counter by
monitoring the sipServerRegStatsDisconTime object in the same
row."
::= { sipServerRegStatsEntry 1 }
sipServerRegStatsRejectedRegs 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.
Discontinuities in the value of this counter can occur at
re-initialization of the SIP entity or service. A Management
Station can detect discontinuities in this counter by
monitoring the sipServerRegStatsDisconTime object in the same
row."
::= { sipServerRegStatsEntry 2 }
sipServerRegStatsDisconTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of the sysUpTime object when the counters for the
registrar statistics objects in this row last experienced a
discontinuity."
::= { sipServerRegStatsEntry 3 }
--
-- Conformance
--
sipServerMIBCompliances
OBJECT IDENTIFIER ::= { sipServerMIBConformance 1 }
sipServerMIBGroups
OBJECT IDENTIFIER ::= { sipServerMIBConformance 2 }
--
-- Compliance Statements
--
sipServerProxyServerCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for SIP entities acting as Proxy
Servers."
MODULE -- this module
MANDATORY-GROUPS { sipServerConfigGroup,
sipServerProxyConfigGroup,
sipServerProxyStatsGroup
}
::= { 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 }
sipServerRegistrarServerCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for SIP entities acting as
Registrars."
MODULE -- this module
MANDATORY-GROUPS { sipServerConfigGroup,
sipServerRegistrarConfigGroup,
sipServerRegistrarStatsGroup }
GROUP sipServerRegistrarUsersGroup
DESCRIPTION
"This is an optional group."
::= { sipServerMIBCompliances 3 }
--
-- Units of Conformance
--
sipServerConfigGroup OBJECT-GROUP
OBJECTS {
sipServerCfgHostAddressType,
sipServerCfgHostAddress
}
STATUS current
DESCRIPTION
"A collection of objects providing configuration common to SIP
Proxy and Redirect servers."
::= { sipServerMIBGroups 1 }
sipServerProxyConfigGroup OBJECT-GROUP
OBJECTS {
sipServerCfgProxyStatefulness,
sipServerCfgProxyRecursion,
sipServerCfgProxyRecordRoute,
sipServerCfgProxyAuthMethod,
sipServerCfgProxyAuthDefaultRealm
}
STATUS current
DESCRIPTION
"A collection of objects providing configuration for SIP Proxy
servers."
::= { sipServerMIBGroups 2 }
sipServerProxyStatsGroup OBJECT-GROUP
OBJECTS {
sipServerProxyStatProxyReqFailures,
sipServerProxyStatsDisconTime
}
STATUS current
DESCRIPTION
"A collection of objects providing statistics for SIP Proxy
servers."
::= { sipServerMIBGroups 3 }
sipServerRegistrarConfigGroup OBJECT-GROUP
OBJECTS {
sipServerRegMaxContactExpiryDuration,
sipServerRegMaxUsers,
sipServerRegCurrentUsers,
sipServerRegDfltRegActiveInterval
}
STATUS current
DESCRIPTION
"A collection of objects providing configuration for SIP
Registrars."
::= { sipServerMIBGroups 4 }
sipServerRegistrarStatsGroup OBJECT-GROUP
OBJECTS {
sipServerRegStatsAcceptedRegs,
sipServerRegStatsRejectedRegs,
sipServerRegStatsDisconTime
}
STATUS current
DESCRIPTION
"A collection of objects providing statistics for SIP
Registrars."
::= { sipServerMIBGroups 5 }
sipServerRegistrarUsersGroup OBJECT-GROUP
OBJECTS {
sipServerRegUserUri,
sipServerRegUserAuthenticationFailures,
sipServerRegUserDisconTime,
sipServerRegContactDisplayName,
sipServerRegContactURI,
sipServerRegContactLastUpdated,
sipServerRegContactExpiry,
sipServerRegContactPreference
}
STATUS current
DESCRIPTION
"A collection of objects related to registered users."
::= { sipServerMIBGroups 6 }
END
8. IANA Considerations
The MIB modules defined in this document use the following IANA-
assigned OBJECT IDENTIFIER values recorded in the SMI Numbers
registry:
+--------------+-------------------------+
| Descriptor | OBJECT IDENTIFIER value |
+--------------+-------------------------+
| sipTC | { mib-2 148 } |
| sipCommonMIB | { mib-2 149 } |
| sipUAMIB | { mib-2 150 } |
| sipServerMIB | { mib-2 151 } |
+--------------+-------------------------+
9. Security Considerations
There are a number of management objects defined in the SIP-COMMON- MIB MIB module with 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 following read-create object in SIP-COMMON-MIB is used to configure the status code statistics that will be monitored by the SIP entity: sipCommonStatusCodeRowStatus: If this object is SET maliciously, it may result in an over- allocation of resources in a system for the purpose of accumulating and maintaining statistics. The following read-write objects in SIP-COMMON-MIB are used to configure the behavior of certain SNMP notifications potentially generated by a SIP entity: sipCommonStatusCodeNotifSend, sipCommonStatusCodeNotifEmitMode, sipCommonStatusCodeNotifThresh, sipCommonStatusCodeNotifInterval, sipCommonCfgServiceNotifEnable: If these objects are SET maliciously, it may result in a system and/or network performance impact due to the generation of SNMP notifications. Some of the readable objects in the MIB modules (i.e., objects with a MAX-ACCESS other than not-accessible) may be considered sensitive or vulnerable in some network environments. It is thus important to control even GET and/or NOTIFY access to these objects and possibly to even encrypt the values of these objects when sending them over the network via SNMP. The following object values may contain private or confidential customer information like first name, last name, customer identification, location, company affiliation, the time the information was updated, etc. sipServerRegContactDisplayName, sipServerRegContactURI, sipServerRegContactLastUpdated and sipCommonCfgOrganization.
The sipCommonCfgTable table contains some objects that may help attackers gain knowledge about the status and operations of the SIP service. In particular, the object value of sipCommonCfgServiceOperStatus may indicate that the SIP entity is in congested state and may lead attackers to build additional service attacks to overload the system. The sipCommonCfgEntityType object indicates the type of SIP entity, and the sipCommonMethodSupportedTable table contains in the SIP- COMMON-MIB MIB module list of SIP methods supported by each entity in the system. Gaining access to this information may allow attackers to build method-specific attacks or use unsupported methods to create denial-of-service attack scenarios. In the SIP-UA-MIB MIB module, the sipUACfgServerTable contains the address of the SIP servers providing services to the UA, and obtaining this information may disclose some private or sensitive information about the SIP service usage. In the SIP-SERVER-MIB MIB module, the sipServerCfgProxyAuthMethod object defines the authentication methods supported by the server and may be used to build specific denial-of-service attackers targeted at the security mechanisms employed by the SIP entity. SNMP versions prior to SNMPv3 did not include adequate security. Even if the network itself is secure (for example by using IPsec), even then, there is no control as to who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this set of MIB modules. It is RECOMMENDED that implementers consider the security features as provided by the SNMPv3 framework (see RFC 3410 [RFC3410]), including full support for the SNMPv3 cryptographic mechanisms (for authentication and privacy). Further, deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to enable cryptographic security. It is then a customer/operator responsi when bility to ensure that the SNMP entity giving access to an instance of this MIB module 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.
10. Contributor Acknowledgments
We wish to thank the members of the IETF SIP and SIPPING working groups, and the SIP-MIB Design team for their comments and suggestions. Detailed comments were provided by Tom Taylor, Kavitha Patchayappan, Dan Romascanu, Cullen Jennings, Orit Levin, AC Mahendran, Mary Barnes, Rohan Mahy, Bob Penfield, Charles Eckel, and Dean Willis. Special thanks to Bert Wijnen for his expert reviews, which have greatly improved the SIP MIB modules.11. References
11.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3261] 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. [RFC2578] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. [RFC2579] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999. [RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999. [RFC2788] Freed, N. and S. Kille, "Network Services Monitoring MIB", RFC 2788, March 2000. [RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks", STD 62, RFC 3411, December 2002. [RFC4001] Daniele, M., Haberman, B., Routhier, S., and J. Schoenwaelder, "Textual Conventions for Internet Network Addresses", RFC 4001, February 2005.
11.2. 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. [RFC3262] Rosenberg, J. and H. Schulzrinne, "Reliability of Provisional Responses in Session Initiation Protocol (SIP)", RFC 3262, June 2002. [RFC4168] Rosenberg, J., Schulzrinne, H., and G. Camarillo, "The Stream Control Transmission Protocol (SCTP) as a Transport for the Session Initiation Protocol (SIP)", RFC 4168, October 2005.
Authors' Addresses
Kevin Lingle Cisco Systems, Inc. 7025 Kit Creek Road P.O. Box 14987 Research Triangle Park, NC 27709 US Phone: +1 919 476 2029 EMail: klingle@cisco.com Jean-Francois Mule CableLabs 858 Coal Creek Circle Louisville, CO 80027 US Phone: +1 303 661 9100 EMail: jf.mule@cablelabs.com Joon Maeng 5612 Sedona Drive Austin, TX 78759 US Phone: +1 512 418 0590 EMail: jmaeng@austin.rr.com Dave Walker EMail: drwalker@rogers.com
Full Copyright Statement Copyright (C) The IETF Trust (2007). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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. Intellectual Property The IETF takes no position regarding the validity or scope of any Intellectual Property Rights 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; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat 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 implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society.