SIP RFCs and Drafts

Archive for drafts
Mailing list archive
HTML, through March 1998
All SIP-related drafts
SIP-related RFCs:
RFC 3524 Mapping of Media Streams to Resource Reservation Flows This document defines an extension to the Session Description Protocol (SDP) grouping framework. It allows requesting a group of media streams to be mapped into a single resource reservation flow. The SDP syntax needed is defined, as well as a new "semantics" attribute called Single Reservation Flow (SRF).
RFC 3515 The Session Initiation Protocol (SIP) Refer Method Defines the REFER method. This Session Initiation Protocol (SIP) extension requests that the recipient REFER to a resource provided in the request. It provides a mechanism allowing the party sending the REFER to be notified of the outcome of the referenced request. This can be used to enable many applications, including call transfer. In addition to the REFER method, this document defines the the refer event package and the Refer-To request header.
RFC 3487 Requirements for Resource Priority Mechanisms for the Session Initiation Protocol (SIP) Summarizes requirements for prioritizing access to circuit-switched network, end system and proxy resources for emergency preparedness communications using the Session Initiation Protocol (SIP).
RFC 3486 Compressing the Session Initiation Protocol (SIP) Describes a mechanism to signal that compression is desired for one or more Session Initiation Protocol (SIP) messages. It also states when it is appropriate to send compressed SIP messages to a SIP entity.
RFC 3485 The Session Initiation Protocol (SIP) and Session Description Protocol (SDP) Static Dictionary for Signaling Compression (SigComp) The Session Initiation Protocol (SIP) is a text-based protocol for initiating and managing communication sessions. The protocol can be compressed by using Signaling Compression (SigComp). Similarly, the Session Description Protocol (SDP) is a text-based protocol intended for describing multimedia sessions for the purposes of session announcement, session invitation, and other forms of multimedia session initiation. This memo defines the SIP/SDP-specific static dictionary that SigComp may use in order to achieve higher higher efficiency. The dictionary is compression algorithm independent.
RFC 3428 Session Initiation Protocol (SIP) Extension for Instant Messaging Instant Messaging (IM) refers to the transfer of messages between users in near real-time. These messages are usually, but not required to be, short. IMs are often used in a conversational mode, that is, the transfer of messages back and forth is fast enough for participants to maintain an interactive conversation. This document proposes the MESSAGE method, an extension to the Session Initiation Protocol (SIP) that allows the transfer of Instant Messages. Since the MESSAGE request is an extension to SIP, it inherits all the request routing and security features of that protocol. MESSAGE requests carry the content in the form of MIME body parts. MESSAGE requests do not themselves initiate a SIP dialog; under normal usage each Instant Message stands alone, much like pager messages. MESSAGE requests may be sent in the context of a dialog initiated by some other SIP request.
RFC 3420 Internet Media Type message/sipfrag This document registers the message/sipfrag Multipurpose Internet Mail Extensions (MIME) media type. This type is similar to message/sip, but allows certain subsets of well formed Session Initiation Protocol (SIP) messages to be represented instead of requiring a complete SIP message. In addition to end-to-end security uses, message/sipfrag is used with the REFER method to convey information about the status of a referenced request.
RFC 3388 Grouping of Media Lines in Session Description Protocol (SDP) Extensions to SDP that allow grouping of media streams for lip synchronization and to represent the same content on different network addresses
RFC 3361 Dynamic Host Configuration Protocol (DHCP-for-IPv4) Option for Session Initiation Protocol (SIP) Servers Defines a DHCP option for locating the outbound SIP proxy server
RFC 3319 Dynamic Host Configuration Protocol (DHCPv6) Options for Session Initiation Protocol (SIP) Servers Defines a DHCPv6 options for locating the outbound SIP proxy server
RFC 3327 Session Initiation Protocol (SIP) Extension Header Field for Registering Non-Adjacent Contacts Defines the Path header field that registers a list of proxies between the UA and the registrar
RFC 3326 The Reason Header Field for the Session Initiation Protocol (SIP) For creating services, it is often useful to know why a Session Initiation Protocol (SIP) request was issued. This document defines a header field, Reason, that provides this information. The Reason header field is also intended to be used to encapsulate a final status code in a provisional response. This functionality is needed to resolve the "Heterogeneous Error Response Forking Problem", or HERFP.
RFC 3325 Private Extensions to the Session Initiation Protocol (SIP) for Asserted Identity within Trusted Networks Defines P-Asserted-Identity and P-Preferred-Identity header fields, allowing SIP proxies to add user identity information and callers to request privacy
RFC 3324 Short Term Requirements for Network Asserted Identity Defines requirements for caller identities established by network entities
RFC 3323 A Privacy Mechanism for the Session Initiation Protocol (SIP) Describes SIP caller privacy issues and defines the Privacy header field
RFC 3329 Security Mechanism Agreement for the Session Initiation Protocol (SIP) This document defines new functionality for negotiating the security mechanisms used between a Session Initiation Protocol (SIP) user agent and its next-hop SIP entity. This new functionality supplements the existing methods of choosing security mechanisms between SIP entities.
RFC 3313 Private Session Initiation Protocol (SIP) Extensions for Media Authorization Describes the need for Quality of Service (QoS) and media authorization and defines a Session Initiation Protocol (SIP) extension that can be used to integrate QoS admission control with call signaling and help guard against denial of service attacks. The use of this extension is only applicable in administrative domains, or among federations of administrative domains with previously agreed-upon policies, where both the SIP proxy authorizing the QoS, and the policy control of the underlying network providing the QoS, belong to that administrative domain or federation of domains.
RFC 3312 PDF Integration of Resource Management and SIP Framework for preconditions
RFC 3311 The Session Initiation Protocol (SIP) UPDATE Method This specification defines the new UPDATE method for the Session Initiation Protocol (SIP). UPDATE allows a client to update parameters of a session (such as the set of media streams and their codecs) but has no impact on the state of a dialog. In that sense, it is like a re-INVITE, but unlike re-INVITE, it can be sent before the initial INVITE has been completed. This makes it very useful for updating session parameters within early dialogs.
RFC 3261 PDF (Bookmarks kindly provided by Alexandre Gilles) SIP: Session Initiation Protocol Core protocol specification; obsoletes RFC 2543.
RFC 3262 PDF Reliability of Provisional Responses in the Session Initiation Protocol (SIP) Making 1xx responses reliable; introduces PRACK method
RFC 3263 PDF Session Initiation Protocol (SIP): Locating SIP Servers Describes DNS mechanisms (NAPTR, SRV) for locating SIP servers
RFC 3264 PDF An Offer/Answer Model with the Session Description Protocol (SDP) How SDP is used within SIP to negotiate sessions
RFC 3265 PDF Session Initiation Protocol (SIP)-Specific Event Notification SIP event model; defines SUBSCRIBE and NOTIFY
RFC 3087 Control of Service Context using SIP Request-URI Defines how the SIP URI can be used to invoke services such as voicemail
RFC 3050 Common Gateway Interface for SIP sip-cgi, as scripting interface
RFC 2976 The SIP INFO Method Defines INFO method for carrying SIP-related information
RFC 2848 The PINT Service Protocol: Extensions to SIP and SDP for IP Access to Telephone Call Services Defines how SIP events can be used to invoke PSTN services such as Internet call waiting

Summary of SIP-Related Standardization Efforts

There are a number of extensions for adding features to SIP. Current drafts are listed below. Only drafts whose names start with draft-ietf-sip- and draft-ietf-sipping- are SIP (or SIPPING) working group work items, while others are individual submissions by their authors. Individual submissions may later become working group items. A draft does not have to be labeled as a WG item to be progressed.

Given the number of drafts, it may be hard to track which drafts are significant for different applications. Below, some of the efforts are summarized and pointers are provided to current drafts. All of these efforts are believed to be active. Some of the text below was contributed by Jonathan Rosenberg.

Core SIP Specification

The core SIP specification is RFC 3261, which obsoletes RFC 2543. Differences to the last Internet Draft version, bis09, are are minor. Related specifications are: RFC 3262 (Reliability of Provisional Responses in Session Initiation Protocol (SIP)), RFC 3263 (Session Initiation Protocol (SIP): Locating SIP Servers), RFC 3264 (An Offer/Answer Model with Session Description Protocol (SDP)), RFC 3265 (Session Initiation Protocol (SIP)-Specific Event Notification), and RFC 3266 (Support for IPv6 in Session Description Protocol (SDP)).

Informational Documents

Call Flows

To help implementors, a set of call flows has been published that give examples of common call setup and registration scenarios.

Guidelines for Writing SIP Extensions

A number of extensions are being proposed to add headers or methods to SIP. Extensions should follow a set of rules to maximize the chance that different extensions can coexist. The draft proposes criteria for evaluating what is and what is not a good SIP extension, and describes things all extensions need to discuss. It will eventually become a BCP RFC. This is a SIP WG work item.

SIP Through NATs and Firewalls

These drafts presents information on issues that arise in getting SIP and related multimedia services through NATs and firewalls. The work will result in an informational RFC.

SIP Enabled Services to Support the Hearing Impaired

This document outlines a set of services enabled by SIP that allow for access to voice services by people who are hearing impaired.

User Agent Configuration

SIP user agents need to determine whether to use an outbound proxy and where to send registration updates. The address of the outbound proxy can be configured manually and the registration can be sent via multicast. DHCP is an additional method for configuring this information. DHCP is used extensively to configure boot-time information in IP-connected hosts. (This is a SIP WG work item. It is currently in IESG review.)

For more sophisticated selection of proxies, the Service Location Protocol allows proxies and registrars to advertise their capabilities. In large networks, users may have a choice about the SIP server they connect to. Different servers can provide different services to their users; for example, some may support CPL execution, and others may not. Some may support IPSec, and some may not. This work defines a way in which SIP end systems can discover SIP servers providing specific capabilities. It is done through the Service Location Protocol (SLP), specified in RFC2608. To enable SIP server discovery with SLP, a template needs to be defined which basically defines the schema for SIP servers. The work will be turned into an IANA registration, as per normal SLP procedures. This will allow existing SLP servers to provide SIP server discovery.

Network Management

A SIP SNMP MIB is under development. It provides monitoring of SIP message processing, configuration, and alarms for SIP enabled user agents, gateways, and proxies. The work is preliminary and scheduled to complete towards the end of 2000.

Infrastructure Improvements

Reliable Provisional Responses

In the base SIP specification, provisional responses (100 through 199, also called informational) are transmitted on a best-effort basis, i.e., without guarantee that the client will receive a particular response. However, applications, such as PSTN interworking and for establishing preconditions on call establishment, have arisen which derive state transitions from these messages. A new method, PRACK has been defined to allow clients to request that provisional responses are retransmitted by the server until received by the client. This is a SIP WG work item and nearly complete.

Supported Header

SIP allows for extensions whereby the client can mandate that the server understand the extension in order to process the response. However, there is no way for the server to determine what features are supported by the client, so that the server can use those features in a response. A new header called Supported provides this feature. The work is complete and currently under IESG review.

Session Timer

SIP sessions exist until either side tears them down. Some proxies and end systems, however, would like to be assured that both sides are still alive and interested in participating. A session timer extension provides a simple keep-alive, based on the soft-state refresh principle. This is a SIP WG work item and nearly complete.

Service Enablers

Several drafts are proposing new service enabling capabilities to SIP. These are not services themselves, but primitives that enable groups of services.

Third-Party Call Control

A SIP user agent can set up calls between two other SIP user agents. This third-party call control makes it easy to provide services such as click-to-dial, mid-call announcements and conferences. This service does not require any protocol additions.

Caller Preferences

Calls are typically routed by the callee's proxies and end systems. The caller preferences extension describes how the caller can indicate its preferences as to how requests should be handled. These advanced routing services are enabled through the addition of new parameters that can be registered by call recipients. This is a SIP WG work item and has been stable for quite some time.


In some cases, it is necessary to delay ringing the callee until a set of preconditions has been established. One examle is reservation-based quality-of-service. There, a separate resource reservation protocol determines whether sufficient network resources are available. Only when this step succeeds should the phone ring. Similarly, ringing may be conditional on being able to set up a secure media session. This extension adds preconditions to SDP, so that session establishment can be made conditional to QoS or security establishment. It adds a new SIP method, COMET, to confirm that conditions have been met. This is a SIP WG work item that is considered stable.

Call Transfer

Services such as call transfer require additional methods. This extension allows one entity to request another to make a call. It enables call transfer, in addition to other services such as conferencing. This is a SIP WG work item. The basic procedure and syntax is considered stable.

PSTN Interconnection

SIP-based systems are often going to be connected to PSTN gateways. For analog and ISDN circuits, no particular additions are required, but interconnection with Signaling System #7 (SS7) requires additional protocol support to transparently interwork and bridge. Among other tasks, this set of drafts describe a new SIP method, INFO, to carry non-call-state-changing mid-call ISUP and QSIG messages across a SIP cloud as MIME attachments. There is also a draft that describes how ISUP messages and SIP messages relate to each other at a gateway.

The PSTN uses pre-call tones and announcements to provide information on call progress. This draft proposes a new response code, 183, and a simple mechanism to enable them in SIP. The work is largely complete.

Internet telephony needs to provide emergency calling, i.e., 911 calling.

Quality of Service

SIP does not reserve network resources, but can be helpful in providing. authorization, authentication and accounting (AAA), possibly in conjunction with the Open Settlement Protocol.

Presence, Events and Instant Messaging

SIP can also be easily extended to support presence and instant messaging. Voice mail notification, also known as message waiting service, is an example of using the basic event mechanism to provide a classical telephony service.

This extension may also make SIP suitable to control home appliances.

Creating SIP Services

A number of APIs and other mechanisms to provide SIP-related services have been developed, including an interface similar to the web common gateway interface (CGI), called sip-cgi, a programming language, CPL, for a limited set of features in proxies and Java servlets. In addition, there are APIs, such as JAIN and Parlay, that provide programmable services.

Servers can be configured with CPL and SIP-CGI scripts in a variety of ways. One mechanism is to upload the scripts via ">REGISTER requests from SIP user agents.

Mobile Hosts

When SIP UAs visit networks, they have a number of choices of how to interact with the local network, if at all, and where to register. Such interaction may be necessary due to firewalls and authentication.

Other Efforts

Below is an incomplete list of other SIP standardization efforts; none of them are part of the SIP WG charter.

Current Documents

Last updated by Henning Schulzrinne