One document matched: draft-rosenberg-sip-hitchhikers-guide-00.txt
SIP J. Rosenberg
Internet-Draft Cisco Systems
Expires: August 31, 2006 February 27, 2006
A Hitchhikers Guide to the Session Initiation Protocol (SIP)
draft-rosenberg-sip-hitchhikers-guide-00
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
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 Internet-Draft will expire on August 31, 2006.
Copyright Notice
Copyright (C) The Internet Society (2006).
Abstract
The Session Initiation Protocol (SIP) is the subject of numerous
specifications that have been produced by the IETF. It can be
difficult to locate the right document, or even to determine the set
of Request for Comments (RFC) about SIP. Don't Panic! This
specification serves as a guide to the SIP RFC series. It lists the
specifications under the SIP umbrella, briefly summarizes each, and
groups them into categories.
Rosenberg Expires August 31, 2006 [Page 1]
Internet-Draft Hitchhikers Guide to SIP February 2006
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Scope of this Document . . . . . . . . . . . . . . . . . . . . 3
3. Core SIP Specifications . . . . . . . . . . . . . . . . . . . 5
4. Public Switched Telephone Network (PSTN) Interworking . . . . 7
5. General Purpose Infrastructure Extensions . . . . . . . . . . 8
6. Minor Extensions . . . . . . . . . . . . . . . . . . . . . . . 10
7. Call Control Primitives . . . . . . . . . . . . . . . . . . . 10
8. Event Packages . . . . . . . . . . . . . . . . . . . . . . . . 11
9. Quality of Service . . . . . . . . . . . . . . . . . . . . . . 12
10. Operations and Management . . . . . . . . . . . . . . . . . 13
11. SIP Compression . . . . . . . . . . . . . . . . . . . . . . 13
12. SIP Service URIs . . . . . . . . . . . . . . . . . . . . . . 13
13. Security Mechanisms . . . . . . . . . . . . . . . . . . . . 14
14. Instant Messaging and Presence . . . . . . . . . . . . . . . 15
15. Emergency Services . . . . . . . . . . . . . . . . . . . . . 15
16. Security Considerations . . . . . . . . . . . . . . . . . . 15
17. IANA Considerations . . . . . . . . . . . . . . . . . . . . 16
18. Informative References . . . . . . . . . . . . . . . . . . . 16
Author's Address . . . . . . . . . . . . . . . . . . . . . . . 23
Intellectual Property and Copyright Statements . . . . . . . . 24
Rosenberg Expires August 31, 2006 [Page 2]
Internet-Draft Hitchhikers Guide to SIP February 2006
1. Introduction
The Session Initiation Protocol (SIP) [1] is the subject of numerous
specifications that have been produced by the IETF. It can be
difficult to locate the right document, or even to determine the set
of Request for Comments (RFC) about SIP. Don't Panic! This
specification serves as a guide to the SIP RFC series. It lists the
specifications under the SIP umbrella. For each specification, a
paragraph or so description is included that summarizes the purpose
of the specification. Each specification also includes a letter that
designates its category in the standards track [2]. These values
are:
S: Standards Track (Proposed Standard, Draft Standard, or Standard)
E: Experimental
B: Best Current Practice
I: Informational
The specifications are grouped together by topic. Typically, SIP
extensions fit naturally into topic areas, and implementations
interested in a particular topic often implement many or all of the
specifications in that area.
This document itself is not an update to RFC 3261 or an extension to
SIP. It is an informational document, meant to guide newcomers and
implementors to the SIP suite of specifications.
2. Scope of this Document
It is very difficult to enumerate the set of SIP specifications.
This is because there are many protocols that are intimately related
to SIP and used by nearly all SIP implementations, but are not
formally SIP extensions. As such, this document formally defines a
"SIP specification" as any specification that defines an extension to
SIP itself, where an extension is a mechanism that changes or updates
in some way a behavior specified in RFC 3261. This is in contrast to
the "SIP family of specifications", which represent the set of
specifications that define protocols that are integral parts of any
SIP deployment, but are not SIP extensions per se. The SIP family of
specifications includes the following specifications and their
respective extensions:
Rosenberg Expires August 31, 2006 [Page 3]
Internet-Draft Hitchhikers Guide to SIP February 2006
RFC 3550: Real Time Transport Protocol (RTP) RTP [4] is the
specification that started it all. It is the first in a long line
of IETF specifications related to multimedia communications. Its
initial version, RFC 1889 [3] was first specified in January of
1996. RTP is used to carry multimedia traffic, including voice,
video and text, and is set up by SIP. There are countless
extensions and payload formats (possibly as many as 42) defined
for RTP.
RFC 2327: The Session Description Protocol (SDP) RFC 2327 [5] defines
the payload carried in SIP messages for describing a multimedia
session. Closely related to SDP is the Offer/Answer mechanism,
defined in RFC 3264 [6]. This mechanism defines how SDP is
exchanged between a set of peers to agree on the makeup of a
session. SDP itself has numerous extensions, including
Interactive Connectivity Establishment (ICE) [7], which is the
primary mechanism for NAT traversal for RTP streams set up by SIP.
RFC 3320: Signaling Compression (Sigcomp) RFC 3320 [8] defines a
mechanism for compressing SIP messages over low bandwidth links.
Sigcomp is not specific to SIP, though it was designed explicitly
for SIP. Sigcomp has several extensions defined for improved
compression.
RFC 3761: Telephone Number Mapping (ENUM) RFC 3761 [9] defines a
mechanism to look up a phone number in DNS and obtain a URI, such
as a SIP URI. ENUM defines numerous enum services, which
represent particular types of information that can be obtained
from the DNS related to that phone number.
RFC 3966: The tel URI scheme RFC 3966 [10] defines the tel URI
scheme, used to identify phone numbers. The tel URI is carried
primarily in SIP messages, and has numerous extensions defined for
it.
RFC 3863: The Presence Information Data Format (PIDF) PIDF [11]
defines an XML-based format for representing presence information.
It is carried in SIP NOTIFY requests. Numerous extensions have
been defined to PIDF for conveying additional pieces of presence
information.
RFC XXXX: The Message Session Relay Protocol (MSRP) MSRP [12]
provides a way to carry instant messages between agents. MSRP is
to instant messages as RTP is to voice and video. It is a
transport that is set up by SIP.
Rosenberg Expires August 31, 2006 [Page 4]
Internet-Draft Hitchhikers Guide to SIP February 2006
RFC XXXX: Simple Traversal of UDP Through NAT (STUN) STUN [13]
defines a basic toolkit for facilitating NAT traversal for
protocols such as SIP. Extensions have been defined to STUN for
functions such as packet relaying.
RFC XXXX: XML Configuration Access Protocol (XCAP) XCAP [14] provides
a means for clients to read and write XML-based application data
in the network. It was originally conceived for managing buddy
lists and presence authorization lists.
RFC 3219: Telephony Routing over IP (TRIP) TRIP [15] defines a
mechanism for exchanging SIP routes between administrative
domains. Its derived from BGP.
Despite the importance of the SIP family of specifications, this
document concerns itself entirely with defining the set of
specifications that make up SIP itself. Excluded from this list are
requirements, architectures, registry definitions, non-normative
frameworks, and processes. Best Current Practices are included when
they are effectively standard mechanisms for accomplishing a task.
Also excluded are definitions of MIME objects that are used by SIP,
such as the Authenticated Identity Body (AIB) [16] and various XML
documents and extensions used by SIP. Though they are used by SIP,
they are not extensions to SIP. [[OPEN ISSUE: Is this arbitrary?
Maybe they should be included if they are specific to SIP.]]
The SIP change process [17] defines two types of extensions to SIP.
These are normal extensions and the so-called P-headers, which are
meant to be used in areas of limited applicability. P-headers cannot
be defined in the standards track. For the most part, P-headers are
not included in the listing here, with the exception of those which
have seen general usage despite their P-header status.
3. Core SIP Specifications
The core SIP specifications represent essential functionality for
almost any implementation.
RFC 3261: The Session Initiation Protocol (S) This is the core SIP
protocol itself. RFC 3261 is an update to RFC 2543 [18]. It is
the president of the galaxy as far as the suite of SIP
specifications is concerned.
RFC 3263: Locating SIP Servers (S) RFC 3263 [19] provides DNS
procedures for taking a SIP URI, and determining a SIP server that
is associated with that SIP URI. RFC 3263 is essential for any
implementation using SIP with DNS. RFC 3263 makes use of both DNS
Rosenberg Expires August 31, 2006 [Page 5]
Internet-Draft Hitchhikers Guide to SIP February 2006
SRV records [20] and NAPTR records [21].
RFC 3265: SIP-Specific Event Notification RFC 3265 defines the
SUBSCRIBE and NOTIFY methods. These two methods provide a general
event notification framework for SIP. To actually use the
framework, extensions need to be defined for specific event
packages. An event package defines a schema for the event data,
and describes other aspects of event processing specific to that
schema. An RFC 3265 implementation is required when any event
package is used.
RFC 3323: A Privacy Mechanism for the Session Initiation Protocol
(SIP) (S) RFC 3323 [23] defines the Privacy header field, used by
clients to request anonymity for their requests. Though it
defines numerous privacy services, the only one broadly used is
the one that supports privacy of the P-Asserted-ID header field
[24].
RFC 3325: Private Extensions to SIP for Asserted Identity within
Trusted Networks (I) Though its P-header status implies that it has
limited applicability, RFC 3325 [24], which defines the
P-Asserted-ID header field has been widely deployed. It is used
as the basic mechanism for providing secure caller ID services.
RFC 3327: SIP Extension Header Field for Registering Non-Adjacent
Contacts (S) RFC 3327 [25] defines the Path header field. This field
is inserted by proxies between a client and their registrar. It
allows inbound requests towards that client to traverse these
proxies prior to being delivered to the user agent. It is
essential in any SIP deployment that has edge proxies, which are
proxies between the client and the home proxy or SIP registrar.
It is also instrumental in the SIP NAT traversal specifications.
RFC 3581: An Extension to SIP for Symmetric Response Routing RFC 3581
[26] defines the rport parameter of the Via header. It is an
essential piece of getting SIP through NAT. NAT traversal for SIP
is considered a core part of the specifications.
RFC 4320: Actions Addressing Issues Identified with the Non-INVITE
Transaction in SIP (S) RFC 4320 [27] formally updates RFC 3261, and
modifies some of the behaviors associated with non-INVITE
transactions. These address some problems found in timeout and
failure cases.
RFC XXXX: Enhancements for Authenticated Identity Management in SIP
(S) RFC XXXX [28] defines a mechanism for providing a
cryptographically verifiable identity of the calling party in a
SIP request. Also known as "SIP Identity", this mechanism
Rosenberg Expires August 31, 2006 [Page 6]
Internet-Draft Hitchhikers Guide to SIP February 2006
provides an alternative to RFC 3325. It has seen little
deployment so far, but its importance as a key construct for
almost also anti-spam techniques makes it a core part of the SIP
specifications.
RFC XXXX: Obtaining and Using Globally Routable User Agent
Identifiers (GRUU) in SIP (S) RFC XXXX [29] defines a mechanism for
directing requests towards a specific UA instance. GRUU is
essential for features like transfer and provides another piece of
the SIP NAT traversal story.
RFC XXXX: Managing Client Initiated Connections through SIP (S) RFC
XXXX [30], also known as SIP outbound, defines important changes
to the SIP registration mechanism which enable delivery of SIP
messages towards a UA when it is behind a NAT. This specification
is the cornerstone of the SIP NAT traversal strategy.
4. Public Switched Telephone Network (PSTN) Interworking
Numerous extensions and usages of SIP related to interoperability and
communications with or through the PSTN.
RFC 2848: The PINT Service Protocol (P) This is one of the earliest
extensions to SIP. It defines procedures for using SIP to invoke
services that actually execute on the PSTN. Its main application
is for third party call control, allowing an IP host to set up a
call between two PSTN endpoints. PINT has a relatively narrow
focus and has not seen widespread deployment.
RFC 3910: The SPIRITS Protocol (P) Continuing the trend of naming
PSTN related extensions with alcohol references, SPIRITS [32]
defines the inverse of PINT. It allows a switch in the PSTN to
ask an IP element about how to proceed with call waiting. It was
developed primarily to support Internet Call Waiting (ICW).
Perhaps the next specification will be called the PGGB.
RFC 3372: SIP for Telephones (SIP-T): Context and Architectures
(I) SIP-T [33] defines a mechanism for using SIP between pairs of
PSTN gateways. Its essential idea is to tunnel ISUP signaling
between the gateways in the body of SIP messages. SIP-T motivated
the development of INFO [39]. SIP-T has seen widespread
implementation.
RFC 3398: ISUP to SIP Mapping (P) RFC 3398 [34] defines how to do
protocol mapping from the SS7 ISDN User Part (ISUP) signaling to
SIP. It is widely used in SS7 to SIP gateways and is part of the
SIP-T framework.
Rosenberg Expires August 31, 2006 [Page 7]
Internet-Draft Hitchhikers Guide to SIP February 2006
RFC 3578: Mapping of ISUP Overlap Signaling to SIP RFC 3578 [35]
defines a mechanism to map overlap dialing into SIP. This
specification is widely regarded as the ugliest SIP specification,
as the introduction to the specification itself advises that it
has many problems. Overlap signaling (the practice of sending
digits into the network as dialed instead of waiting for complete
collectoin of the called party number) is largely incompatible
with SIP at some fairly fundamental levels. That said, RFC 3578
is mostly harmless and has seen some usage.
RFC 3960: Early Media and Ringtone Generation in SIP (I) RFC 3960
defines some guidelines for handling early media - the practice of
sending media from the called party towards the caller - prior to
acceptance of the call. Early media is generated only from the
PSTN.
5. General Purpose Infrastructure Extensions
These extensions are general purpose enhancements to SIP that can
serve a wide variety of uses. However, they are not as widely used
or as essential as the core specifications.
RFC 3262: Reliability of Provisional Responses in SIP (S) SIP defines
two types of responses to a request - final and provisional.
Provisional responses are numbered from 100 to 199. In SIP, these
responses are not sent reliably. This choice was made in RFC 2543
since the messages were meant to just be truly informational, and
rendered to the user. However, subsequent work on PSTN
interworking demonstrated a need to map provisional responses to
PSTN messages that needed to be sent reliably. RFC 3262 [37] was
developed to allow reliability of provisional responses. The
specification defines the PRACK method, used for indicating that a
provisional response was received. Though it provides a generic
capability for SIP, RFC 3262 implementations have been most common
in PSTN interworking devices. However, PRACK brings a great deal
of complication for relatively small benefit. As such, it has
seen only mild levels of deployment.
RFC 3311: The SIP UPDATE Method (S) RFC 3311 [38] defines the UPDATE
method for SIP. This method is meant as a means for updating
session information prior to the completion of the initial INVITE
transaction. It was developed primarily to support RFC 3312 [68].
RFC 2976: The INFO Method (S) RFC 2976 [39] was defined as an
extension to RFC 2543. It defines a method, INFO, used to
transport mid-dialog information that has no impact on SIP itself.
Its driving application was the transport of PSTN related
Rosenberg Expires August 31, 2006 [Page 8]
Internet-Draft Hitchhikers Guide to SIP February 2006
information when using SIP between a pair of gateways. Though
originally conceived for broader use, it only found standardized
usage with SIP-T [33]. It has been used to support numerous
proprietary and non-interoperable extensions due to its poorly
defined scope.
RFC 3326: The Reason header field for SIP (S) RFC 3326 [40] defines
the Reason header field. It is used in requests, such as BYE, to
indicate the reason that the request is being sent.
RFC 3608: SIP Extension Header Field for Service Route Discovery
During Registration RFC 3608 [41] allows a client to determine, from
a REGISTER response, a path of proxies to use in requests it sends
outside of a dialog. In many respects, it is the inverse of the
Path header field, but has seen less usage since default outbound
proxies have been sufficient in many deployments.
RFC 3840: Indicating User Agent Capabilities in SIP (S) RFC 3840
defines a mechanism for carrying capability information about a
user agent in REGISTER requests and in dialog-forming requests
like INVITE. It has found use with conferencing (the isfocus
parameter declares that a user agent is a conference server) and
with applications like push-to-talk.
RFC 3841: Caller Preferences for SIP (S) RFC 3841 [43] defines a set
of headers that a client can include in a request to control the
way in which the request is routed downstream. It allows a client
to direct a request towards a UA with specific capabilities.
RFC 4028: Session Timers in SIP (S) RFC 4028 [44] defines a keepalive
mechanism for SIP signaling. It is primarily meant to provide a
way to cleanup old state in proxies that are holding call state
for calls from failed endpoints which were never terminated
normally. Despite its name, the session timer is not a mechanism
for detecting a network failure mid-call. Session timers
introduces a fair bit of complexity for relatively little gain,
and has thus seen little deployment.
RFC 4168: SCTP as a Transport for SIP RFC 4168 [45] defines how to
carry SIP messages over the Stream Control Transmission Protocol
(SCTP). SCTP has seen very limited usage for SIP transport.
RFC 4244: An Extension to SIP for Request History Information (S) RFC
4244 [46] defines the History-Info, which indicates information on
how a call came to be routed to a particular destination. Its
primary application was in support of voicemail services.
Rosenberg Expires August 31, 2006 [Page 9]
Internet-Draft Hitchhikers Guide to SIP February 2006
6. Minor Extensions
These SIP extensions don't fit easily into a single specific use
case. They have somewhat general applicability, but they solve a
relatively small problem or provide an optimization.
RFC XXXX: Suppression of the SIP REFER Implicit Subscription (S) RFC
XXXX [47] defines an enhancement to REFER. REFER normally creates
an implicit subscription to the target of the REFER. This
subscription is used to pass back updates on the progress of the
referral. This extension allows that implicit subscription to be
bypassed as an optimization.
RFC XXXX: Request Authorization through Dialog Identification in SIP
(S) RFC XXXX [48] provides a mechanism that allows a UAS to authorize
a request because the requestor proves it knows a dialog that is
in progress with the UAS. The specification is useful in
conjunction with the SIP application interaction framework [85].
RFC XXXX: Conveying Feature Tags with the REFER Method in SIP (S) RFC
XXXX [49] defines a mechanism for carrying RFC 3840 feature tags
in REFER. It is useful for informing the target of the REFER
about the characteristics of the REFER target.
RFC XXXX: Requesting Answer Modes for SIP (S) RFC XXXX [50] defines
an extension for indicating to the called party whether or not the
phone should ring and/or be answered immediately. This is useful
for push-to-talk and for diagnostic applications.
RFC XXXX: Rejecting Anonymous Requests in SIP (S) RFC XXXX [51]
defines a mechanism for a called party to indicate to the calling
party that a call was rejected since the caller was anonymous.
This is needed for implementation of the Anonymous Call Rejection
(ACR) feature in SIP.
RFC XXXX: Referring to Multiple Resources in SIP (S) RFC XXXX [52]
allows a UA sending a REFER to ask the recipient of the REFER to
generate multiple SIP requests, not just one. This is useful for
conferencing, where a client would like to ask a conference server
to eject multiple users.
7. Call Control Primitives
Numerous SIP extensions provide a toolkit of dialog and call
management techniques. These techniques have been combined together
to build many SIP-based services.
Rosenberg Expires August 31, 2006 [Page 10]
Internet-Draft Hitchhikers Guide to SIP February 2006
RFC 3515: The REFER Method (S) REFER [53] defines a mechanism for
asking a user agent to send a SIP request. Its a form of SIP
remote control, and is the primary tool used for call transfer in
SIP.
RFC 3725: Best Current Practices for Third Party Call Control (3pcc)
(B) RFC 3725 [54] defines a number of different call flows that allow
one SIP entity, called the controller, to create SIP sessions
amongst other SIP user agents.
RFC 3891: The SIP Replaces Header RFC 3891 [55] defines a mechanism
that allows a new dialog to replace an existing dialog. It is
useful for certain advanced transfer services.
RFC 3892: The SIP Referred-By Mechanism (S) RFC 3892 [56] defines the
Referred-By header field. It is used in requests triggered by
REFER, and provides the identity of the referring party to the
referred-to party.
RFC 3911: The SIP Join Header Field (S) RFC 3911 [57] defines the
Join header field. When sent in an INVITE, it causes the
recipient to join the resulting dialog into a conference with
another dialog in progress.
RFC 4117: Transcoding Services Invocation in SIP Using Third Party
Call Control (I) RFC 4117 [58] defines how to use 3pcc for the
purposes of invoking transcoding services for a call.
8. Event Packages
RFC 3265 defines a basic framework for event notification in SIP. It
introduces the notion of an event package, which is a collection of
related state and event information. Much of the state and events in
SIP systems have event packages, allowing other entities to learn
about changes in that state.
RFC 3903: SIP Extension for Event State Publication (S) RFC 3903 [59]
defines the PUBLISH method. It is not an event package, but is
used by all event packages as a mechanism for pushing an event
into the system.
RFC 3680: A SIP Event Package for Registrations (S) RFC 3680 [60]
defines an event package for finding out about changes in
registration state.
Rosenberg Expires August 31, 2006 [Page 11]
Internet-Draft Hitchhikers Guide to SIP February 2006
RFC 3842: A Message Summary and Message Waiting Indication Event
Package for SIP (S) RFC 3842 [73] defines a way for a user agent to
find out about voicemails and other messages that are waiting for
it. Its primary purpose is to enable the voicemail waiting lamp
on most business telephones.
RFC 3856: A Presence Event Package for SIP (S) RFC 3856 [62] defines
an event package for indicating user presence through SIP.
RFC 3857: A Watcher Information Event Template Package for SIP
(S) RFC 3857 [63], also known as winfo, provides a mechanism for a
user agent to find out what subscriptions are in place for a
particular event package. Its primary usage is with presence, but
it can be used with any event package.
RFC 4235: An INVITE Initiated Dialog Event Package for SIP (S) RFC
4235 [64] defines an event package for learning the state of the
dialogs in progress at a user agent.
RFC XXXX: A SIP Event Package for Conference State (S) RFC XXXX [65]
defines a mechanism for learning about changes in conference
state, including group membership.
RFC XXXX: A SIP Event Package for Keypress Stimulus (KPML) (S) RFC
XXXX [66] defines a way for an application in the network to
subscribe to the set of keypresses made on the keypad of a
traditional telephone.
RFC XXXX: SIP Event Package for Voice Quality Reporting (S) RFC XXXX
[67] defines a SIP event package that enables the collection and
reporting of metrics that measure the quality for Voice over
Internet Protocol (VoIP) sessions.
9. Quality of Service
Several specifications concern themselves with the interactions of
SIP with network Quality of Service (QoS) mechanisms.
RFC 3312:Integration of Resource Management and SIP (S) RFC 3312
[68], updated by RFC 4032 [69] defines a way to make sure that
the phone of the called party doesn't ring until a QoS reservation
has been installed in the network. It does so by defining a
general preconditions framework, which defines conditions that
must be true in order for a SIP session to proceed
Rosenberg Expires August 31, 2006 [Page 12]
Internet-Draft Hitchhikers Guide to SIP February 2006
RFC 3313: Private SIP Extensions for Media Authorization (I) RFC 3313
[70] defines a P-header that provides a mechanism for passing an
authorization token between SIP and a network QoS reservation
protocol like RSVP. Its purpose is to make sure network QoS is
only granted if a client has made a SIP call through the same
providers network. This specification is sometimes referred to as
the SIP walled garden specification by the truly paranoid androids
in the SIP community. This is because it requires coupling of
signaling and the underlying IP network.
10. Operations and Management
Several specifications have been defined to support operations and
management of SIP systems. These include mechanisms for
configuration and network diagnostics.
RFC XXXX: Diagnostic Responses for SIP Hop Limit Errors (S) RFC XXXX
defines a mechanism for including diagnostic information in a 483
response. This response is sent when the hop-count of a SIP
request was exceeded.
RFC XXXX: A Framework for SIP User Agent Profile Delivery (S) RFC
XXXX [71] defines a mechanism that allows a SIP user agent to
bootstrap its configuration from the network, and receive updates
to its configuration should it change. This is considered an
essential piece of deploying a usable SIP network.
RFC XXXX: SIP Event Package for Voice Quality Reporting (S) RFC XXXX
[67] defines a SIP event package that enables the collection and
reporting of metrics that measure the quality for Voice over
Internet Protocol (VoIP) sessions.
11. SIP Compression
Sigcomp [8] was defined to allow compression of SIP messages over low
bandwidth links. Sigcomp is not formally part of SIP. However,
usage of Sigcomp with SIP has required extensions to SIP.
RFC 3486: Compressing SIP (S) RFC 3486 [72] defines a SIP URI
parameter that can be used to indicate that a SIP server supports
Sigcomp.
12. SIP Service URIs
Several extensions define well-known services that can be invoked by
Rosenberg Expires August 31, 2006 [Page 13]
Internet-Draft Hitchhikers Guide to SIP February 2006
constructing requests with the specific structures for the Request
URI, resulting in specific behaviors at the UAS.
RFC 3087: Control of Service Context using Request URI (I) RFC 3087
[74] introduced the context of using Request URIs, encoded
appropriately, to invoke services.
RFC XXXX: A SIP Event Notification Extension for Resource Lists
(S) RFC XXXX [75] defines a resource called a Resource List
Server. A client can send a subscribe to this server. The server
will generate a series of subscriptions, and compile the resulting
information and send it back to the subscriber. The set of
resources that the RLS will subscribe to is a property of the
request URI in the SUBSCRIBE request.
RFC XXXX: Subscriptions To Request-Contained Resource Lists in SIP
(S) RFC XXXX [76] allows a client to subscribe to a resource called a
Resource List Server. This server will generate a series of
subscriptions, and compile the resulting information and send it
back to the subscriber. For this specification, the list of
things to subscribe to is in the body of the SUBSCRIBE request.
RFC XXXX: Multiple-Recipient MESSAGE Requests in SIP (S) RFC XXXX
[77] is similar to [76]. However, instead of subscribing to the
resource, a MESSAGE request is sent to the resource, and it will
send a copy to each recipient.
RFC XXXX: Conference Establishment Using Request-Contained Lists in
SIP (S) RFC XXXX [78] is similar to [76]. However, instead of
subscribing to the resource, an INVITE request is sent to the
resource, and it will act as a conference focus and generate an
invitation to each recipient in the list.
13. Security Mechanisms
Several extensions provide additional security features to SIP.
RFC 3853: S/MIME AES Requirement for SIP RFC 3853 [79] is a brief
specification that updates the cryptography mechanisms used in SIP
S/MIME. However, SIP S/MIME has seen very little deployment.
RFC 3329: Security Mechanism Agreement for SIP (S) RFC 3329 [80]
defines a mechanism to prevent bid-down attacks in conjunction
with SIP authentication. The mechanism has seen very limited
deployment. It was defined as part of the 3gpp IMS specification
suite, and is needed only when there are a multiplicity of
security mechanisms deployed at a particular server. In practice,
Rosenberg Expires August 31, 2006 [Page 14]
Internet-Draft Hitchhikers Guide to SIP February 2006
this has not been the case.
RFC XXXX: End-to-Middle Security in SIP (S) RFC XXXX [81] defines
mechanisms for encrypting content from user agents to specific
network intermediaries.
14. Instant Messaging and Presence
SIP provides extensions for instant messaging and presence.
RFC 3428: SIP Extension for Instant Messaging RFC 3428 [82] defines
the MESSAGE method, used for sending a page mode instant message.
RFC 3856: A Presence Event Package for SIP (S) RFC 3856 [62] defines
an event package for indicating user presence through SIP.
RFC 3857: A Watcher Information Event Template Package for SIP
(S) RFC 3857 [63], also known as winfo, provides a mechanism for a
user agent to find out what subscriptions are in place for a
particular event package. Its primary usage is with presence, but
it can be used with any event package.
15. Emergency Services
Emergency services here covers both emergency calling (for example,
911 in the United States), and pre-emption services, which allow
authorized individuals to gain access to network resources in time of
emergency.
RFC 4411: Extending the SIP Reason Header for Preemption Events
(S) RFC 4411 [83] defines an extension to the Reason header,
allowing a UA to know that its dialog was torn down because a
higher priority session came through.
RFC 4412: Communications Resource Priority for SIP (S) RFC 4412 [84]
defines a new header field, Resource-Priority, that allows a
session to get priority treatment from the network.
16. Security Considerations
This specification is an overview of existing specifications, and
does not introduce any security considerations on its own.
Rosenberg Expires August 31, 2006 [Page 15]
Internet-Draft Hitchhikers Guide to SIP February 2006
17. IANA Considerations
None.
18. Informative References
[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] Bradner, S., "The Internet Standards Process -- Revision 3",
BCP 9, RFC 2026, October 1996.
[3] Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson,
"RTP: A Transport Protocol for Real-Time Applications",
RFC 1889, January 1996.
[4] Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson,
"RTP: A Transport Protocol for Real-Time Applications",
RFC 3550, July 2003.
[5] Handley, M. and V. Jacobson, "SDP: Session Description
Protocol", RFC 2327, April 1998.
[6] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with
Session Description Protocol (SDP)", RFC 3264, June 2002.
[7] Rosenberg, J., "Interactive Connectivity Establishment (ICE): A
Methodology for Network Address Translator (NAT) Traversal for
Offer/Answer Protocols", draft-ietf-mmusic-ice-06 (work in
progress), October 2005.
[8] Price, R., Bormann, C., Christoffersson, J., Hannu, H., Liu,
Z., and J. Rosenberg, "Signaling Compression (SigComp)",
RFC 3320, January 2003.
[9] Faltstrom, P. and M. Mealling, "The E.164 to Uniform Resource
Identifiers (URI) Dynamic Delegation Discovery System (DDDS)
Application (ENUM)", RFC 3761, April 2004.
[10] Schulzrinne, H., "The tel URI for Telephone Numbers", RFC 3966,
December 2004.
[11] Sugano, H., Fujimoto, S., Klyne, G., Bateman, A., Carr, W., and
J. Peterson, "Presence Information Data Format (PIDF)",
RFC 3863, August 2004.
[12] Campbell, B., "The Message Session Relay Protocol",
Rosenberg Expires August 31, 2006 [Page 16]
Internet-Draft Hitchhikers Guide to SIP February 2006
draft-ietf-simple-message-sessions-13 (work in progress),
December 2005.
[13] Rosenberg, J., "Simple Traversal of UDP Through Network Address
Translators (NAT) (STUN)", draft-ietf-behave-rfc3489bis-02
(work in progress), July 2005.
[14] Rosenberg, J., "The Extensible Markup Language (XML)
Configuration Access Protocol (XCAP)",
draft-ietf-simple-xcap-08 (work in progress), October 2005.
[15] Rosenberg, J., Salama, H., and M. Squire, "Telephony Routing
over IP (TRIP)", RFC 3219, January 2002.
[16] Peterson, J., "Session Initiation Protocol (SIP) Authenticated
Identity Body (AIB) Format", RFC 3893, September 2004.
[17] Mankin, A., Bradner, S., Mahy, R., Willis, D., Ott, J., and B.
Rosen, "Change Process for the Session Initiation Protocol
(SIP)", BCP 67, RFC 3427, December 2002.
[18] Handley, M., Schulzrinne, H., Schooler, E., and J. Rosenberg,
"SIP: Session Initiation Protocol", RFC 2543, March 1999.
[19] Rosenberg, J. and H. Schulzrinne, "Session Initiation Protocol
(SIP): Locating SIP Servers", RFC 3263, June 2002.
[20] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for
specifying the location of services (DNS SRV)", RFC 2782,
February 2000.
[21] Mealling, M. and R. Daniel, "The Naming Authority Pointer
(NAPTR) DNS Resource Record", RFC 2915, September 2000.
[22] Roach, A., "Session Initiation Protocol (SIP)-Specific Event
Notification", RFC 3265, June 2002.
[23] Peterson, J., "A Privacy Mechanism for the Session Initiation
Protocol (SIP)", RFC 3323, November 2002.
[24] Jennings, C., Peterson, J., and M. Watson, "Private Extensions
to the Session Initiation Protocol (SIP) for Asserted Identity
within Trusted Networks", RFC 3325, November 2002.
[25] Willis, D. and B. Hoeneisen, "Session Initiation Protocol (SIP)
Extension Header Field for Registering Non-Adjacent Contacts",
RFC 3327, December 2002.
Rosenberg Expires August 31, 2006 [Page 17]
Internet-Draft Hitchhikers Guide to SIP February 2006
[26] Rosenberg, J. and H. Schulzrinne, "An Extension to the Session
Initiation Protocol (SIP) for Symmetric Response Routing",
RFC 3581, August 2003.
[27] Sparks, R., "Actions Addressing Identified Issues with the
Session Initiation Protocol's (SIP) Non-INVITE Transaction",
RFC 4320, January 2006.
[28] Peterson, J. and C. Jennings, "Enhancements for Authenticated
Identity Management in the Session Initiation Protocol (SIP)",
draft-ietf-sip-identity-06 (work in progress), October 2005.
[29] Rosenberg, J., "Obtaining and Using Globally Routable User
Agent (UA) URIs (GRUU) in the Session Initiation Protocol
(SIP)", draft-ietf-sip-gruu-06 (work in progress),
October 2005.
[30] Jennings, C. and R. Mahy, "Managing Client Initiated
Connections in the Session Initiation Protocol (SIP)",
draft-ietf-sip-outbound-01 (work in progress), October 2005.
[31] Petrack, S. and L. Conroy, "The PINT Service Protocol:
Extensions to SIP and SDP for IP Access to Telephone Call
Services", RFC 2848, June 2000.
[32] Gurbani, V., Brusilovsky, A., Faynberg, I., Gato, J., Lu, H.,
and M. Unmehopa, "The SPIRITS (Services in PSTN requesting
Internet Services) Protocol", RFC 3910, October 2004.
[33] Vemuri, A. and J. Peterson, "Session Initiation Protocol for
Telephones (SIP-T): Context and Architectures", BCP 63,
RFC 3372, September 2002.
[34] Camarillo, G., Roach, A., Peterson, J., and L. Ong, "Integrated
Services Digital Network (ISDN) User Part (ISUP) to Session
Initiation Protocol (SIP) Mapping", RFC 3398, December 2002.
[35] Camarillo, G., Roach, A., Peterson, J., and L. Ong, "Mapping of
Integrated Services Digital Network (ISDN) User Part (ISUP)
Overlap Signalling to the Session Initiation Protocol (SIP)",
RFC 3578, August 2003.
[36] Camarillo, G. and H. Schulzrinne, "Early Media and Ringing Tone
Generation in the Session Initiation Protocol (SIP)", RFC 3960,
December 2004.
[37] Rosenberg, J. and H. Schulzrinne, "Reliability of Provisional
Responses in Session Initiation Protocol (SIP)", RFC 3262,
Rosenberg Expires August 31, 2006 [Page 18]
Internet-Draft Hitchhikers Guide to SIP February 2006
June 2002.
[38] Rosenberg, J., "The Session Initiation Protocol (SIP) UPDATE
Method", RFC 3311, October 2002.
[39] Donovan, S., "The SIP INFO Method", RFC 2976, October 2000.
[40] Schulzrinne, H., Oran, D., and G. Camarillo, "The Reason Header
Field for the Session Initiation Protocol (SIP)", RFC 3326,
December 2002.
[41] Willis, D. and B. Hoeneisen, "Session Initiation Protocol (SIP)
Extension Header Field for Service Route Discovery During
Registration", RFC 3608, October 2003.
[42] Rosenberg, J., Schulzrinne, H., and P. Kyzivat, "Indicating
User Agent Capabilities in the Session Initiation Protocol
(SIP)", RFC 3840, August 2004.
[43] Rosenberg, J., Schulzrinne, H., and P. Kyzivat, "Caller
Preferences for the Session Initiation Protocol (SIP)",
RFC 3841, August 2004.
[44] Donovan, S. and J. Rosenberg, "Session Timers in the Session
Initiation Protocol (SIP)", RFC 4028, April 2005.
[45] 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.
[46] Barnes, M., "An Extension to the Session Initiation Protocol
(SIP) for Request History Information", RFC 4244,
November 2005.
[47] Levin, O., "Suppression of Session Initiation Protocol REFER
Method Implicit Subscription",
draft-ietf-sip-refer-with-norefersub-04 (work in progress),
January 2006.
[48] Rosenberg, J., "Request Authorization through Dialog
Identification in the Session Initiation Protocol (SIP)",
draft-ietf-sip-target-dialog-03 (work in progress),
December 2005.
[49] Levin, O. and A. Johnston, "Conveying Feature Tags with Session
Initiation Protocol REFER Method",
draft-ietf-sip-refer-feature-param-01 (work in progress),
January 2006.
Rosenberg Expires August 31, 2006 [Page 19]
Internet-Draft Hitchhikers Guide to SIP February 2006
[50] Willis, D. and A. Allen, "Requesting Answering Modes for the
Session Initiation Protocol (SIP)",
draft-ietf-sip-answermode-00 (work in progress), December 2005.
[51] Rosenberg, J., "Rejecting Anonymous Requests in the Session
Initiation Protocol (SIP)", draft-ietf-sip-acr-code-00 (work in
progress), January 2006.
[52] Camarillo, G., "Refering to Multiple Resources in the Session
Initiation Protocol (SIP)",
draft-ietf-sipping-multiple-refer-04 (work in progress),
October 2005.
[53] Sparks, R., "The Session Initiation Protocol (SIP) Refer
Method", RFC 3515, April 2003.
[54] Rosenberg, J., Peterson, J., Schulzrinne, H., and G. Camarillo,
"Best Current Practices for Third Party Call Control (3pcc) in
the Session Initiation Protocol (SIP)", BCP 85, RFC 3725,
April 2004.
[55] Mahy, R., Biggs, B., and R. Dean, "The Session Initiation
Protocol (SIP) "Replaces" Header", RFC 3891, September 2004.
[56] Sparks, R., "The Session Initiation Protocol (SIP) Referred-By
Mechanism", RFC 3892, September 2004.
[57] Mahy, R. and D. Petrie, "The Session Initiation Protocol (SIP)
"Join" Header", RFC 3911, October 2004.
[58] Camarillo, G., Burger, E., Schulzrinne, H., and A. van Wijk,
"Transcoding Services Invocation in the Session Initiation
Protocol (SIP) Using Third Party Call Control (3pcc)",
RFC 4117, June 2005.
[59] Niemi, A., "Session Initiation Protocol (SIP) Extension for
Event State Publication", RFC 3903, October 2004.
[60] Rosenberg, J., "A Session Initiation Protocol (SIP) Event
Package for Registrations", RFC 3680, March 2004.
[61] Mahy, R., "A Message Summary and Message Waiting Indication
Event Package for the Session Initiation Protocol (SIP)",
RFC 3842, August 2004.
[62] Rosenberg, J., "A Presence Event Package for the Session
Initiation Protocol (SIP)", RFC 3856, August 2004.
Rosenberg Expires August 31, 2006 [Page 20]
Internet-Draft Hitchhikers Guide to SIP February 2006
[63] Rosenberg, J., "A Watcher Information Event Template-Package
for the Session Initiation Protocol (SIP)", RFC 3857,
August 2004.
[64] Santesson, S. and R. Housley, "Internet X.509 Public Key
Infrastructure Authority Information Access Certificate
Revocation List (CRL) Extension", RFC 4325, December 2005.
[65] Rosenberg, J., "A Session Initiation Protocol (SIP) Event
Package for Conference State",
draft-ietf-sipping-conference-package-12 (work in progress),
July 2005.
[66] Burger, E., "A Session Initiation Protocol (SIP) Event Package
for Key Press Stimulus (KPML)", draft-ietf-sipping-kpml-07
(work in progress), December 2004.
[67] Pendleton, A., "SIP Service Quality Reporting Event",
draft-ietf-sipping-rtcp-summary-00 (work in progress),
December 2005.
[68] Camarillo, G., Marshall, W., and J. Rosenberg, "Integration of
Resource Management and Session Initiation Protocol (SIP)",
RFC 3312, October 2002.
[69] Camarillo, G. and P. Kyzivat, "Update to the Session Initiation
Protocol (SIP) Preconditions Framework", RFC 4032, March 2005.
[70] Marshall, W., "Private Session Initiation Protocol (SIP)
Extensions for Media Authorization", RFC 3313, January 2003.
[71] Petrie, D., "A Framework for Session Initiation Protocol User
Agent Profile Delivery", draft-ietf-sipping-config-framework-07
(work in progress), July 2005.
[72] Camarillo, G., "Compressing the Session Initiation Protocol
(SIP)", RFC 3486, February 2003.
[73] Foster, M., McGarry, T., and J. Yu, "Number Portability in the
Global Switched Telephone Network (GSTN): An Overview",
RFC 3482, February 2003.
[74] Campbell, B. and R. Sparks, "Control of Service Context using
SIP Request-URI", RFC 3087, April 2001.
[75] Roach, A., Rosenberg, J., and B. Campbell, "A Session
Initiation Protocol (SIP) Event Notification Extension for
Resource Lists", draft-ietf-simple-event-list-07 (work in
Rosenberg Expires August 31, 2006 [Page 21]
Internet-Draft Hitchhikers Guide to SIP February 2006
progress), January 2005.
[76] Camarillo, G., "Subscriptions to Request-Contained Resource
Lists in the Session Initiation Protocol (SIP)",
draft-ietf-sipping-uri-list-subscribe-04 (work in progress),
October 2005.
[77] Garcia-Martin, M. and G. Camarillo, "Multiple-Recipient MESSAGE
Requests in the Session Initiation Protocol (SIP)",
draft-ietf-sipping-uri-list-message-06 (work in progress),
January 2006.
[78] Camarillo, G. and A. Johnston, "Conference Establishment Using
Request-Contained Lists in the Session Initiation Protocol
(SIP)", draft-ietf-sipping-uri-list-conferencing-04 (work in
progress), October 2005.
[79] Peterson, J., "S/MIME Advanced Encryption Standard (AES)
Requirement for the Session Initiation Protocol (SIP)",
RFC 3853, July 2004.
[80] Arkko, J., Torvinen, V., Camarillo, G., Niemi, A., and T.
Haukka, "Security Mechanism Agreement for the Session
Initiation Protocol (SIP)", RFC 3329, January 2003.
[81] Ono, K. and S. Tachimoto, "End-to-middle Security in the
Session Initiation Protocol (SIP)", draft-ietf-sip-e2m-sec-01
(work in progress), October 2005.
[82] Campbell, B., Rosenberg, J., Schulzrinne, H., Huitema, C., and
D. Gurle, "Session Initiation Protocol (SIP) Extension for
Instant Messaging", RFC 3428, December 2002.
[83] Polk, J., "Extending the Session Initiation Protocol (SIP)
Reason Header for Preemption Events", RFC 4411, February 2006.
[84] Schulzrinne, H. and J. Polk, "Communications Resource Priority
for the Session Initiation Protocol (SIP)", RFC 4412,
February 2006.
[85] Rosenberg, J., "A Framework for Application Interaction in the
Session Initiation Protocol (SIP)",
draft-ietf-sipping-app-interaction-framework-05 (work in
progress), July 2005.
Rosenberg Expires August 31, 2006 [Page 22]
Internet-Draft Hitchhikers Guide to SIP February 2006
Author's Address
Jonathan Rosenberg
Cisco Systems
600 Lanidex Plaza
Parsippany, NJ 07054
US
Phone: +1 973 952-5000
Email: jdrosen@cisco.com
URI: http://www.jdrosen.net
Rosenberg Expires August 31, 2006 [Page 23]
Internet-Draft Hitchhikers Guide to SIP February 2006
Intellectual Property Statement
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.
Disclaimer of Validity
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 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.
Copyright Statement
Copyright (C) The Internet Society (2006). 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.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Rosenberg Expires August 31, 2006 [Page 24]
| PAFTECH AB 2003-2026 | 2026-04-23 15:20:06 |