< draft-rosenberg-sipping-sip-arch-00.txt   draft-rosenberg-sipping-sip-arch-01.txt >
SIPPING J. Rosenberg SIPPING J. Rosenberg
Internet-Draft Cisco Systems Internet-Draft Cisco Systems
Expires: August 15, 2005 H. Schulzrinne Expires: January 18, 2006 H. Schulzrinne
Columbia University Columbia University
February 14, 2005 July 17, 2005
Architecture and Design Principles of the Session Initiation Protocol Architecture and Design Principles of the Session Initiation Protocol
(SIP) (SIP)
draft-rosenberg-sipping-sip-arch-00 draft-rosenberg-sipping-sip-arch-01
Status of this Memo Status of this Memo
This document is an Internet-Draft and is subject to all provisions By submitting this Internet-Draft, each author represents that any
of section 3 of RFC 3667. By submitting this Internet-Draft, each applicable patent or other IPR claims of which he or she is aware
author represents that any applicable patent or other IPR claims of have been or will be disclosed, and any of which he or she becomes
which he or she is aware have been or will be disclosed, and any of aware will be disclosed, in accordance with Section 6 of BCP 79.
which he or she become aware will be disclosed, in accordance with
RFC 3668.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as other groups may also distribute working documents as Internet-
Internet-Drafts. Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on August 15, 2005. This Internet-Draft will expire on January 18, 2006.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2005). Copyright (C) The Internet Society (2005).
Abstract Abstract
The Session Initiation Protocol (SIP) and its many extensions and The Session Initiation Protocol (SIP) and its many extensions and
supporting technologies define a solution for multimedia supporting technologies define a solution for multimedia
communications on the Internet. Much of the design and architecture communications on the Internet. Much of the design and architecture
skipping to change at page 3, line 8 skipping to change at page 3, line 8
5. Security Considerations . . . . . . . . . . . . . . . . . . . 13 5. Security Considerations . . . . . . . . . . . . . . . . . . . 13
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 14 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 14
8. Informative References . . . . . . . . . . . . . . . . . . . . 14 8. Informative References . . . . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 17 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 17
Intellectual Property and Copyright Statements . . . . . . . . 19 Intellectual Property and Copyright Statements . . . . . . . . 19
1. Introduction 1. Introduction
The Session Initiation Protocol (SIP) [1] and its many extensions and The Session Initiation Protocol (SIP) [1] and its many extensions and
supporting technologies (for example, [2][3][4][6]) define a solution supporting technologies (for example, [2] [3] [4] [6]) define a
for multimedia communications on the Internet. Much of the design solution for multimedia communications on the Internet. Much of the
and architecture for SIP is based on a key set of architectural design and architecture for SIP is based on a key set of
principles which, while commonly discussed on mailing lists and other architectural principles which, while commonly discussed on mailing
forums, have not been explicitly captured. lists and other forums, have not been explicitly captured.
Section 2 of RFC 3261 briefly mentions a few of the design principles Section 2 of RFC 3261 briefly mentions a few of the design principles
behind SIP. In particular, it mentions that SIP is not a vertically behind SIP. In particular, it mentions that SIP is not a vertically
integrated system, but rather a component of an overall solution. It integrated system, but rather a component of an overall solution. It
also mentions that SIP does not provide services, but rather, also mentions that SIP does not provide services, but rather,
provides primitives which can be used to build up more complex provides primitives which can be used to build up more complex
services. services.
The guidelines for authors of SIP extensions [7] provides additional The guidelines for authors of SIP extensions [7] provides additional
guidance in Section 3.2. In particular, it mentions session guidance in Section 3.2. In particular, it mentions session
skipping to change at page 5, line 15 skipping to change at page 5, line 15
common ground. common ground.
2.4 Client Multiplicity 2.4 Client Multiplicity
SIP was built under the assumption that users would have multiple SIP was built under the assumption that users would have multiple
clients at their disposal - softphones, hardphones, cell phones, clients at their disposal - softphones, hardphones, cell phones,
PDAs, and so on, and that these devices could be in use PDAs, and so on, and that these devices could be in use
simultaneously. Users can make multiple calls at the same time, each simultaneously. Users can make multiple calls at the same time, each
from a different user agent. Similarly, users can receive calls that from a different user agent. Similarly, users can receive calls that
"ring" each device at the same time or in sequence. Forking, which "ring" each device at the same time or in sequence. Forking, which
allows multiple devices to be wrong at once, is a key part of the allows multiple devices to be rung at once, is a key part of the
baseline SIP specification. baseline SIP specification.
2.5 Multimedia 2.5 Multimedia
Although much actual usage of SIP is in support of voice Although much actual usage of SIP is in support of voice
communications, SIP was designed to be media agnostic, and thus communications, SIP was designed to be media agnostic, and thus
facilitate the deployment of multimedia. Audio, video, text and facilitate the deployment of multimedia. Audio, video, text and
messaging are all possible with SIP. Nothing in SIP itself depends messaging are all possible with SIP. Nothing in SIP itself depends
on or assumes a particular media stream type. on or assumes a particular media stream type.
skipping to change at page 7, line 16 skipping to change at page 7, line 16
render based on that selection. Indeed, the way in which the user is render based on that selection. Indeed, the way in which the user is
"alerted" and the mechanism by which they select the stream to render "alerted" and the mechanism by which they select the stream to render
may vary widely depending on the type of endpoint. A dumb phone may may vary widely depending on the type of endpoint. A dumb phone may
do what is done today in the PSTN - provide an audio cue to alert the do what is done today in the PSTN - provide an audio cue to alert the
user, and then use the hookflash to switch between calls. However, user, and then use the hookflash to switch between calls. However,
on a PC-based softphone, a window pop can be used to alert the user on a PC-based softphone, a window pop can be used to alert the user
to an incoming call, and then the user can use a mouse to select the to an incoming call, and then the user can use a mouse to select the
call (perhaps represented as an object in a window) that they wish to call (perhaps represented as an object in a window) that they wish to
hear. The interface may be different once again for a television set hear. The interface may be different once again for a television set
top box, which may render information about an incoming call on the top box, which may render information about an incoming call on the
TV screen, and then use a button the remote to indicate that the call TV screen, and then use a button on the remote to indicate that the
should be taken. call should be taken.
In order to allow each of these endpoints to handle call waiting in In order to allow each of these endpoints to handle call waiting in
the way that is appropriate for that endpoint, the feature the way that is appropriate for that endpoint, the feature
intelligence needs to reside in the endpoint itself. In a intelligence needs to reside in the endpoint itself. In a
centralized switch type of architecture, such as those provided by centralized switch type of architecture, such as those provided by
the Media Gateway Control Protocol (MGCP) [13] and Megaco [14], the the Media Gateway Control Protocol (MGCP) [13] and Megaco [14], the
endpoint is a slave to the controller, and the feature intelligence endpoint is a slave to the controller, and the feature intelligence
resides in the controller based on an assumed model of the user resides in the controller based on an assumed model of the user
interface and capabilities of the devices. Those architectures interface and capabilities of the devices. Those architectures
fundamentally limit endpoint innovation because they provide no fundamentally limit endpoint innovation because they provide no
skipping to change at page 8, line 24 skipping to change at page 8, line 24
a feature requires some kind of communications with other elements in a feature requires some kind of communications with other elements in
the network. In those cases, SIP prefers to specify a generic the network. In those cases, SIP prefers to specify a generic
primitive that can support many features. primitive that can support many features.
3.4 Endpoint Fate Sharing 3.4 Endpoint Fate Sharing
A benefit of the smart endpoint model described in Section 3.2 is A benefit of the smart endpoint model described in Section 3.2 is
that call state and application state is co-located with the that call state and application state is co-located with the
endpoints of the call itself. This means that the only way in which endpoints of the call itself. This means that the only way in which
the call or application can fail is if the endpoints themselves fail. the call or application can fail is if the endpoints themselves fail.
Of course, if the endpoints fail, the call is over even in any case. Of course, if the endpoints fail, the call is over in any case. This
This allows for fate sharing, and it allows SIP systems to be highly allows for fate sharing, and it allows SIP systems to be highly
available. available.
3.5 Component Based Design 3.5 Component Based Design
Section 3.3 alludes to another important principle behind SIP design Section 3.3 alludes to another important principle behind SIP design
- the use of protocol components and primitives. Generally speaking, - the use of protocol components and primitives. Generally speaking,
SIP does not specify a vertical communications system. Rather, SIP SIP does not specify a vertical communications system. Rather, SIP
itself is just a component in any complete communications system. itself is just a component in any complete communications system.
SIP is designed to work hand-in-hand with other components, such as SIP is designed to work hand-in-hand with other components, such as
session descriptions like the Session Description Protocol (SDP) [6], session descriptions like the Session Description Protocol (SDP) [6],
skipping to change at page 9, line 49 skipping to change at page 9, line 49
As an example on the constraints, SIP signaling needs to be As an example on the constraints, SIP signaling needs to be
congestion controlled in order to run cooperatively on the Internet. congestion controlled in order to run cooperatively on the Internet.
The public Internet also means that SIP cannot assume a particular IP The public Internet also means that SIP cannot assume a particular IP
network topology, and needs to work in the face of packet loss and network topology, and needs to work in the face of packet loss and
delays. delays.
As an example of the benefits, SIP can make use of many of the core As an example of the benefits, SIP can make use of many of the core
Internet services. SIP uses the DNS for discovery of SIP servers Internet services. SIP uses the DNS for discovery of SIP servers
[3], load balancing and reliability, DHCP for client configuration [3], load balancing and reliability, DHCP for client configuration
[28][29], and a certificate infrastructure for SIP over TLS [1]. SIP [28] [29], and a certificate infrastructure for SIP over TLS [1].
does not require any of these to operate, but it leverages them when SIP does not require any of these to operate, but it leverages them
SIP runs on an IP network where they are available. when SIP runs on an IP network where they are available.
3.8 Generality over Efficiency 3.8 Generality over Efficiency
When designing network protocols, there is often a tradeoff between When designing network protocols, there is often a tradeoff between
efficiency (measured in terms of bandwidth, memory or processing) and efficiency (measured in terms of bandwidth, memory or processing) and
generality. SIP was designed under the assumption that continuous generality. SIP was designed under the assumption that continuous
improvements in CPU, memory and bandwidth availability, fueled by improvements in CPU, memory and bandwidth availability, fueled by
Moore's law and its related principles, would make efficiency a Moore's law and its related principles, would make efficiency a
transient benefit, while generality is a permanent one. As a result, transient benefit, while generality is a permanent one. As a result,
SIP generally prefers to build for generality at the expense of SIP generally prefers to build for generality at the expense of
efficiency. This is not an absolute truth, but it has served as a efficiency. This is not an absolute truth, but it has served as a
general guideline. general guideline.
As a specific example, SIP has not tried to parsimonious in its usage As a specific example, SIP has not tried to be parsimonious in its
of bits in message fields. Rather, in environments where message usage of bits in message fields. Rather, in environments where
overhead is an issue (such as wireless systems), message compression message overhead is an issue (such as wireless systems), message
is handled in a shim layer using Sigcomp so that it does not need to compression is handled in a shim layer using Sigcomp so that it does
pervade every extension that gets defined. not need to pervade every extension that gets defined.
3.9 Separation of Signaling and Media 3.9 Separation of Signaling and Media
It is fundamental to the design of SIP that the path followed by the It is fundamental to the design of SIP that the path followed by the
media packets is independent of the path followed by the signaling media packets is independent of the path followed by the signaling
packets. This separation allows for the IP network to deliver the packets. This separation allows for the IP network to deliver the
media packets using the most direct and appropriate route it can, media packets using the most direct and appropriate route it can,
while the signaling packets, which are not as latency sensitive, can while the signaling packets, which are not as latency sensitive, can
follow a series of proxy elements needed for the processing of the follow a series of proxy elements needed for the processing of the
request. By separating the two, more complex proxy topologies can be request. By separating the two, more complex proxy topologies can be
skipping to change at page 11, line 32 skipping to change at page 11, line 32
4.3 SIP URIs Identify Resources 4.3 SIP URIs Identify Resources
SIP URIs are an important part of SIPs design. The SIP URI is an SIP URIs are an important part of SIPs design. The SIP URI is an
identifier for a communications resource, and that resource can be a identifier for a communications resource, and that resource can be a
user, a device, a service or some combination thereof. Traditional user, a device, a service or some combination thereof. Traditional
SIP addresses-of-records (AOR) identify users, but URIs have been SIP addresses-of-records (AOR) identify users, but URIs have been
defined that identify user agent instances [31], and voicemail defined that identify user agent instances [31], and voicemail
services [32], for example. services [32], for example.
Genreally speaking, it is not (and should not) be possible to inspect Generally speaking, it is not (and should not) be possible to inspect
a URI and conclude whether or not the URI identifies a user, device, a URI and conclude whether or not the URI identifies a user, device,
or a specific type of service. Only the owner of the domain on the or a specific type of service. Only the owner of the domain on the
right hand side of the @ sign can interpret or define the meaning of right hand side of the @ sign can interpret or define the meaning of
the resource identified on the left hand side. The owner of a domain the resource identified on the left hand side. The owner of a domain
must be able to, at will, change the nature of the resource must be able to, at will, change the nature of the resource
identified by any specific token on the left hand side of the @ sign. identified by any specific token on the left hand side of the @ sign.
It is quite appropriate for a SIP URI to identify a fairly complex It is quite appropriate for a SIP URI to identify a fairly complex
resource, and to use the URI to parameterize the service that gets resource, and to use the URI to parameterize the service that gets
invoked [33]. Ideally, a SIP URI is handed out and discovered invoked [33]. Ideally, a SIP URI is handed out and discovered
skipping to change at page 12, line 43 skipping to change at page 12, line 43
SIP is meant to be used in an international setting. It supports SIP is meant to be used in an international setting. It supports
UTF-8 encoding of freeform text and declaration and negotiation of UTF-8 encoding of freeform text and declaration and negotiation of
languages. languages.
4.6 Explicit Intermediaries 4.6 Explicit Intermediaries
Proxies represent a form of intermediary that operates on requests on Proxies represent a form of intermediary that operates on requests on
behalf of users. However, unlike other intermediaries like NATs and behalf of users. However, unlike other intermediaries like NATs and
firewalls, which are invisible to participants in the protocol, firewalls, which are invisible to participants in the protocol,
proxies are visible. They declare themselves through Via and proxies are visible. They declare themselves through Via and Record-
Record-Route header fields, their roles are well defined and bounded, Route header fields, their roles are well defined and bounded, and
and they are meant to act in concert with user agents. A proxy is they are meant to act in concert with user agents. A proxy is
involved in request processing only by the explicit request of a user involved in request processing only by the explicit request of a user
agent or another proxy. An element which intercepts a SIP message agent or another proxy. An element which intercepts a SIP message
not addressed to can not ever be considered a compliant proxy. not addressed to can not ever be considered a compliant proxy.
Furthermore, when proxies need to provide additional functions on Furthermore, when proxies need to provide additional functions on
behalf of user agents, this is always best done by explicit behalf of user agents, this is always best done by explicit
communications with the endpoints, rather than implicit behaviors. communications with the endpoints, rather than implicit behaviors.
Explicit cooperation with endpoints guarantess that SIP can continue Explicit cooperation with endpoints guarantess that SIP can continue
to provide the end-to-end security features that are important to its to provide the end-to-end security features that are important to its
design. As an example of this, if a proxy needs to restrict the set design. As an example of this, if a proxy needs to restrict the set
skipping to change at page 13, line 21 skipping to change at page 13, line 21
message as it goes by. message as it goes by.
4.7 Guided Proxy Routing 4.7 Guided Proxy Routing
Many SIP capabilities are provided by having an entity, either a user Many SIP capabilities are provided by having an entity, either a user
agent or a proxy server, predetermine a set of downstream proxy agent or a proxy server, predetermine a set of downstream proxy
resource that must be visited prior to completion of the request. resource that must be visited prior to completion of the request.
This is known as loose routing, and is a key part of SIPs design. This is known as loose routing, and is a key part of SIPs design.
The main task in loose routing is the discovery of the URI to use. The main task in loose routing is the discovery of the URI to use.
SIP provides several techniques for that, including the Record-Route SIP provides several techniques for that, including the Record-Route
mechanism in RFC 3261, the Path header field [35], and the mechanism in RFC 3261, the Path header field [35], and the Service-
Service-Route header field [36]. Route header field [36].
4.8 Transport Protocol Independence 4.8 Transport Protocol Independence
Another design choice made by SIP is its ability to run over several Another design choice made by SIP is its ability to run over several
different transport protocols. These include, at the moment, UDP, different transport protocols. These include, at the moment, UDP,
TCP and SCTP. The transport protocol must be capable of providing TCP and SCTP. The transport protocol must be capable of providing
just a minimal set of capabilities - the transport of 8-bit messages just a minimal set of capabilities - the transport of 8-bit messages
of at least around 1500 bytes. [[EDITORS NOTE: In hindsight its not of at least around 1500 bytes. [[EDITORS NOTE: In hindsight its not
clear that this flexibility has been worth the cost of complexity. clear that this flexibility has been worth the cost of complexity.
Mention this?]] Mention this?]]
4.9 Protocol Reuse 4.9 Protocol Reuse
SIP has attempted to reuse many other protocol components as part of SIP has attempted to reuse many other protocol components as part of
its design. SIP uses MIME [37] for transport and encoding of body its design. SIP uses MIME [37] for transport and encoding of body
parts, reuses many of the HTTP [38] header fields and semantics, parts, reuses many of the HTTP [38] header fields and semantics,
makes use of the URI framework [39], including non-SIP URI like the makes use of the URI framework [39], including non-SIP URIs like the
tel URI [40], uses standardized transport protocols like SCTP [41] tel URI [40], uses standardized transport protocols like SCTP [41]
and existing security protocols, like TLS [42] and SMIME [43]. and existing security protocols, like TLS [42] and SMIME [43].
This reuse flattens the learning curve for SIP and eases This reuse flattens the learning curve for SIP and eases
implementation by allowing developers to use off-the-shelf implementation by allowing developers to use off-the-shelf
implementations of its component parts. implementations of its component parts.
5. Security Considerations 5. Security Considerations
This specification does not introduce any new security considerations This specification does not introduce any new security considerations
skipping to change at page 14, line 14 skipping to change at page 14, line 14
6. IANA Considerations 6. IANA Considerations
This specification does not introduce any IANA considerations. This specification does not introduce any IANA considerations.
7. Acknowledgements 7. Acknowledgements
The authors would like to thank Cary Fitzgerald for his "Tao of SIP" The authors would like to thank Cary Fitzgerald for his "Tao of SIP"
list. list.
8 Informative References 8. Informative References
[1] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., [1] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A.,
Peterson, J., Sparks, R., Handley, M. and E. Schooler, "SIP: Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP:
Session Initiation Protocol", RFC 3261, June 2002. Session Initiation Protocol", RFC 3261, June 2002.
[2] Rosenberg, J. and H. Schulzrinne, "Reliability of Provisional [2] Rosenberg, J. and H. Schulzrinne, "Reliability of Provisional
Responses in Session Initiation Protocol (SIP)", RFC 3262, June Responses in Session Initiation Protocol (SIP)", RFC 3262,
2002. June 2002.
[3] Rosenberg, J. and H. Schulzrinne, "Session Initiation Protocol [3] Rosenberg, J. and H. Schulzrinne, "Session Initiation Protocol
(SIP): Locating SIP Servers", RFC 3263, June 2002. (SIP): Locating SIP Servers", RFC 3263, June 2002.
[4] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with [4] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with
Session Description Protocol (SDP)", RFC 3264, June 2002. Session Description Protocol (SDP)", RFC 3264, June 2002.
[5] Roach, A., "Session Initiation Protocol (SIP)-Specific Event [5] Roach, A., "Session Initiation Protocol (SIP)-Specific Event
Notification", RFC 3265, June 2002. Notification", RFC 3265, June 2002.
[6] Handley, M. and V. Jacobson, "SDP: Session Description [6] Handley, M. and V. Jacobson, "SDP: Session Description
Protocol", RFC 2327, April 1998. Protocol", RFC 2327, April 1998.
[7] Rosenberg, J., "Guidelines for Authors of Extensions to the [7] Rosenberg, J., "Guidelines for Authors of Extensions to the
Session Initiation Protocol (SIP)", Session Initiation Protocol (SIP)",
draft-ietf-sip-guidelines-08 (work in progress), July 2004. draft-ietf-sip-guidelines-09 (work in progress), February 2005.
[8] Rosenberg, J., "A Presence Event Package for the Session [8] Rosenberg, J., "A Presence Event Package for the Session
Initiation Protocol (SIP)", RFC 3856, August 2004. Initiation Protocol (SIP)", RFC 3856, August 2004.
[9] Campbell, B., Rosenberg, J., Schulzrinne, H., Huitema, C. and [9] Campbell, B., Rosenberg, J., Schulzrinne, H., Huitema, C., and
D. Gurle, "Session Initiation Protocol (SIP) Extension for D. Gurle, "Session Initiation Protocol (SIP) Extension for
Instant Messaging", RFC 3428, December 2002. Instant Messaging", RFC 3428, December 2002.
[10] Campbell, B., "The Message Session Relay Protocol", [10] Campbell, B., "The Message Session Relay Protocol",
draft-ietf-simple-message-sessions-09 (work in progress), draft-ietf-simple-message-sessions-10 (work in progress),
October 2004. February 2005.
[11] Rosenberg, J., "A Framework for Application Interaction in the [11] Rosenberg, J., "A Framework for Application Interaction in the
Session Initiation Protocol (SIP)", Session Initiation Protocol (SIP)",
draft-ietf-sipping-app-interaction-framework-03 (work in draft-ietf-sipping-app-interaction-framework-04 (work in
progress), October 2004. progress), February 2005.
[12] Rosenberg, J., Schulzrinne, H. and P. Kyzivat, "Caller [12] Rosenberg, J., Schulzrinne, H., and P. Kyzivat, "Caller
Preferences for the Session Initiation Protocol (SIP)", RFC Preferences for the Session Initiation Protocol (SIP)",
3841, August 2004. RFC 3841, August 2004.
[13] Andreasen, F. and B. Foster, "Media Gateway Control Protocol [13] Andreasen, F. and B. Foster, "Media Gateway Control Protocol
(MGCP) Version 1.0", RFC 3435, January 2003. (MGCP) Version 1.0", RFC 3435, January 2003.
[14] Groves, C., Pantaleo, M., Anderson, T. and T. Taylor, "Gateway [14] Groves, C., Pantaleo, M., Anderson, T., and T. Taylor, "Gateway
Control Protocol Version 1", RFC 3525, June 2003. Control Protocol Version 1", RFC 3525, June 2003.
[15] Rosenberg, J., "An INVITE Inititiated Dialog Event Package for [15] Rosenberg, J., "An INVITE Inititiated Dialog Event Package for
the Session Initiation Protocol (SIP)", the Session Initiation Protocol (SIP)",
draft-ietf-sipping-dialog-package-05 (work in progress), draft-ietf-sipping-dialog-package-06 (work in progress),
November 2004. April 2005.
[16] Rosenberg, J., "A Session Initiation Protocol (SIP) Event [16] Rosenberg, J., "A Session Initiation Protocol (SIP) Event
Package for Conference State", Package for Conference State",
draft-ietf-sipping-conference-package-08 (work in progress), draft-ietf-sipping-conference-package-12 (work in progress),
December 2004. July 2005.
[17] Schulzrinne, H., Casner, S., Frederick, R. and V. Jacobson, [17] Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson,
"RTP: A Transport Protocol for Real-Time Applications", RFC "RTP: A Transport Protocol for Real-Time Applications",
3550, July 2003. RFC 3550, July 2003.
[18] Price, R., Bormann, C., Christoffersson, J., Hannu, H., Liu, Z. [18] Price, R., Bormann, C., Christoffersson, J., Hannu, H., Liu,
and J. Rosenberg, "Signaling Compression (SigComp)", RFC 3320, Z., and J. Rosenberg, "Signaling Compression (SigComp)",
January 2003. RFC 3320, January 2003.
[19] Rosenberg, J., "A Session Initiation Protocol (SIP) Event [19] Rosenberg, J., "A Session Initiation Protocol (SIP) Event
Package for Registrations", RFC 3680, March 2004. Package for Registrations", RFC 3680, March 2004.
[20] Mahy, R., "A Message Summary and Message Waiting Indication [20] Mahy, R., "A Message Summary and Message Waiting Indication
Event Package for the Session Initiation Protocol (SIP)", RFC Event Package for the Session Initiation Protocol (SIP)",
3842, August 2004. RFC 3842, August 2004.
[21] Rosenberg, J., "A Watcher Information Event Template-Package [21] Rosenberg, J., "A Watcher Information Event Template-Package
for the Session Initiation Protocol (SIP)", RFC 3857, August for the Session Initiation Protocol (SIP)", RFC 3857,
2004. August 2004.
[22] Sparks, R., "The Session Initiation Protocol (SIP) Refer [22] Sparks, R., "The Session Initiation Protocol (SIP) Refer
Method", RFC 3515, April 2003. Method", RFC 3515, April 2003.
[23] Mahy, R., Biggs, B. and R. Dean, "The Session Initiation [23] Mahy, R., Biggs, B., and R. Dean, "The Session Initiation
Protocol (SIP) "Replaces" Header", RFC 3891, September 2004. Protocol (SIP) "Replaces" Header", RFC 3891, September 2004.
[24] Mahy, R. and D. Petrie, "The Session Initiation Protocol (SIP) [24] Mahy, R. and D. Petrie, "The Session Initiation Protocol (SIP)
"Join" Header", RFC 3911, October 2004. "Join" Header", RFC 3911, October 2004.
[25] Johnston, A. and R. Sparks, "Session Initiation Protocol [25] Johnston, A. and R. Sparks, "Session Initiation Protocol
Service Examples", draft-ietf-sipping-service-examples-07 (work Service Examples", draft-ietf-sipping-service-examples-08 (work
in progress), July 2004. in progress), February 2005.
[26] Jennings, C., Peterson, J. and M. Watson, "Private Extensions [26] Jennings, C., Peterson, J., and M. Watson, "Private Extensions
to the Session Initiation Protocol (SIP) for Asserted Identity to the Session Initiation Protocol (SIP) for Asserted Identity
within Trusted Networks", RFC 3325, November 2002. within Trusted Networks", RFC 3325, November 2002.
[27] Peterson, J., "Enhancements for Authenticated Identity [27] Peterson, J. and C. Jennings, "Enhancements for Authenticated
Management in the Session Initiation Protocol (SIP)", Identity Management in the Session Initiation Protocol (SIP)",
draft-ietf-sip-identity-03 (work in progress), September 2004. draft-ietf-sip-identity-05 (work in progress), May 2005.
[28] Schulzrinne, H., "Dynamic Host Configuration Protocol [28] Schulzrinne, H., "Dynamic Host Configuration Protocol (DHCP-
(DHCP-for-IPv4) Option for Session Initiation Protocol (SIP) for-IPv4) Option for Session Initiation Protocol (SIP)
Servers", RFC 3361, August 2002. Servers", RFC 3361, August 2002.
[29] Schulzrinne, H. and B. Volz, "Dynamic Host Configuration [29] Schulzrinne, H. and B. Volz, "Dynamic Host Configuration
Protocol (DHCPv6) Options for Session Initiation Protocol (SIP) Protocol (DHCPv6) Options for Session Initiation Protocol (SIP)
Servers", RFC 3319, July 2003. Servers", RFC 3319, July 2003.
[30] Srisuresh, P., Kuthan, J., Rosenberg, J., Molitor, A. and A. [30] Srisuresh, P., Kuthan, J., Rosenberg, J., Molitor, A., and A.
Rayhan, "Middlebox communication architecture and framework", Rayhan, "Middlebox communication architecture and framework",
RFC 3303, August 2002. RFC 3303, August 2002.
[31] Rosenberg, J., "Obtaining and Using Globally Routable User [31] Rosenberg, J., "Obtaining and Using Globally Routable User
Agent (UA) URIs (GRUU) in the Session Initiation Protocol Agent (UA) URIs (GRUU) in the Session Initiation Protocol
(SIP)", draft-ietf-sip-gruu-02 (work in progress), July 2004. (SIP)", draft-ietf-sip-gruu-03 (work in progress),
February 2005.
[32] Jennings, C., "SIP Conventions for Voicemail URIs", [32] Jennings, C., "SIP Conventions for Voicemail URIs",
draft-jennings-sip-voicemail-uri-03 (work in progress), October draft-jennings-sip-voicemail-uri-03 (work in progress),
2004. October 2004.
[33] Campbell, B. and R. Sparks, "Control of Service Context using [33] Campbell, B. and R. Sparks, "Control of Service Context using
SIP Request-URI", RFC 3087, April 2001. SIP Request-URI", RFC 3087, April 2001.
[34] Hilt, V., "Session-Independent Session Initiation Protocol [34] Hilt, V., "Session Initiation Protocol (SIP) Session Policies -
(SIP) Policies - Mechanism and Policy Schema", Document Format and Session-Independent Delivery Mechanism",
draft-ietf-sipping-session-indep-policy-01 (work in progress), draft-ietf-sipping-session-indep-policy-02 (work in progress),
October 2004. February 2005.
[35] Willis, D. and B. Hoeneisen, "Session Initiation Protocol (SIP) [35] Willis, D. and B. Hoeneisen, "Session Initiation Protocol (SIP)
Extension Header Field for Registering Non-Adjacent Contacts", Extension Header Field for Registering Non-Adjacent Contacts",
RFC 3327, December 2002. RFC 3327, December 2002.
[36] Willis, D. and B. Hoeneisen, "Session Initiation Protocol (SIP) [36] Willis, D. and B. Hoeneisen, "Session Initiation Protocol (SIP)
Extension Header Field for Service Route Discovery During Extension Header Field for Service Route Discovery During
Registration", RFC 3608, October 2003. Registration", RFC 3608, October 2003.
[37] Freed, N. and N. Borenstein, "Multipurpose Internet Mail [37] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
Extensions (MIME) Part One: Format of Internet Message Bodies", Extensions (MIME) Part One: Format of Internet Message Bodies",
RFC 2045, November 1996. RFC 2045, November 1996.
[38] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., [38] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L.,
Leach, P. and T. Berners-Lee, "Hypertext Transfer Protocol -- Leach, P., and T. Berners-Lee, "Hypertext Transfer Protocol --
HTTP/1.1", RFC 2616, June 1999. HTTP/1.1", RFC 2616, June 1999.
[39] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform [39] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986,
January 2005. January 2005.
[40] Schulzrinne, H., "The tel URI for Telephone Numbers", RFC 3966, [40] Schulzrinne, H., "The tel URI for Telephone Numbers", RFC 3966,
December 2004. December 2004.
[41] Stewart, R., Xie, Q., Morneault, K., Sharp, C., Schwarzbauer, [41] Stewart, R., Xie, Q., Morneault, K., Sharp, C., Schwarzbauer,
H., Taylor, T., Rytina, I., Kalla, M., Zhang, L. and V. Paxson, H., Taylor, T., Rytina, I., Kalla, M., Zhang, L., and V.
"Stream Control Transmission Protocol", RFC 2960, October 2000. Paxson, "Stream Control Transmission Protocol", RFC 2960,
October 2000.
[42] Dierks, T. and C. Allen, "The TLS Protocol Version 1.0", RFC [42] Dierks, T. and C. Allen, "The TLS Protocol Version 1.0",
2246, January 1999. RFC 2246, January 1999.
[43] Ramsdell, B., "Secure/Multipurpose Internet Mail Extensions [43] Ramsdell, B., "Secure/Multipurpose Internet Mail Extensions
(S/MIME) Version 3.1 Message Specification", RFC 3851, July (S/MIME) Version 3.1 Message Specification", RFC 3851,
2004. July 2004.
Authors' Addresses Authors' Addresses
Jonathan Rosenberg Jonathan Rosenberg
Cisco Systems Cisco Systems
600 Lanidex Plaza 600 Lanidex Plaza
Parsippany, NJ 07054 Parsippany, NJ 07054
US US
Phone: +1 973 952-5000 Phone: +1 973 952-5000
EMail: jdrosen@cisco.com Email: jdrosen@cisco.com
URI: http://www.jdrosen.net URI: http://www.jdrosen.net
Henning Schulzrinne Henning Schulzrinne
Columbia University Columbia University
M/S 0401 M/S 0401
1214 Amsterdam Ave. 1214 Amsterdam Ave.
New York, NY 10027 New York, NY 10027
US US
EMail: schulzrinne@cs.columbia.edu Email: schulzrinne@cs.columbia.edu
URI: http://www.cs.columbia.edu/~hgs URI: http://www.cs.columbia.edu/~hgs
Intellectual Property Statement Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights 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 might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information made any independent effort to identify any such rights. Information
 End of changes. 48 change blocks. 
92 lines changed or deleted 93 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/