draft-ietf-sip-rfc3312-update-02.txt   draft-ietf-sip-rfc3312-update-03.txt 
SIP Working Group G. Camarillo SIP Working Group G. Camarillo
Internet-Draft Ericsson Internet-Draft Ericsson
Expires: March 19, 2005 P. Kyzivat Expires: March 30, 2005 P. Kyzivat
Cisco Systems Cisco Systems
September 18, 2004 September 29, 2004
Update to the Session Initiation Protocol (SIP) Preconditions Update to the Session Initiation Protocol (SIP) Preconditions
Framework Framework
draft-ietf-sip-rfc3312-update-02.txt draft-ietf-sip-rfc3312-update-03.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, I certify that any applicable This document is an Internet-Draft and is subject to all provisions
patent or other IPR claims of which I am aware have been disclosed, of section 3 of RFC 3667. By submitting this Internet-Draft, each
and any of which I become aware will be disclosed, in accordance with 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 become aware will be disclosed, in accordance with
RFC 3668. 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 other Task Force (IETF), its areas, and its working groups. Note that
groups may also distribute working documents as Internet-Drafts. other groups may also distribute working documents as
Internet-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 http:// The list of current Internet-Drafts can be accessed at
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 March 19, 2005. This Internet-Draft will expire on March 30, 2005.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2004). All Rights Reserved. Copyright (C) The Internet Society (2004).
Abstract Abstract
This document updates the framework for preconditions in SIP. We This document updates the framework for preconditions in SIP. We
provide guidelines for authors of new precondition types and describe provide guidelines for authors of new precondition types and describe
how to use SIP preconditions in situations that involve session how to use SIP preconditions in situations that involve session
mobility. mobility.
Table of Contents Table of Contents
skipping to change at page 2, line 18 skipping to change at page 2, line 18
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Defining New Precondition Types . . . . . . . . . . . . . . . 3 3. Defining New Precondition Types . . . . . . . . . . . . . . . 3
3.1 Precondition Type Tag . . . . . . . . . . . . . . . . . . 3 3.1 Precondition Type Tag . . . . . . . . . . . . . . . . . . 3
3.2 Status Type . . . . . . . . . . . . . . . . . . . . . . . 4 3.2 Status Type . . . . . . . . . . . . . . . . . . . . . . . 4
3.3 Precondition Strength . . . . . . . . . . . . . . . . . . 4 3.3 Precondition Strength . . . . . . . . . . . . . . . . . . 4
3.4 Suspending and Resuming Session Establishment . . . . . . 4 3.4 Suspending and Resuming Session Establishment . . . . . . 4
4. Issues Related to Session Mobility . . . . . . . . . . . . . . 5 4. Issues Related to Session Mobility . . . . . . . . . . . . . . 5
4.1 Update to RFC 3312 . . . . . . . . . . . . . . . . . . . . 6 4.1 Update to RFC 3312 . . . . . . . . . . . . . . . . . . . . 6
4.2 Desired Status . . . . . . . . . . . . . . . . . . . . . . 8 4.2 Desired Status . . . . . . . . . . . . . . . . . . . . . . 8
5. Security Considerations . . . . . . . . . . . . . . . . . . . 8 5. Security Considerations . . . . . . . . . . . . . . . . . . . 8
6. Acknowledges . . . . . . . . . . . . . . . . . . . . . . . . . 8 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8 7. Acknowledges . . . . . . . . . . . . . . . . . . . . . . . . . 8
7.1 Normative References . . . . . . . . . . . . . . . . . . . . 8 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7.2 Informational References . . . . . . . . . . . . . . . . . . 9 8.1 Normative References . . . . . . . . . . . . . . . . . . . . 8
8.2 Informational References . . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 9
Intellectual Property and Copyright Statements . . . . . . . . 10 Intellectual Property and Copyright Statements . . . . . . . . 10
1. Introduction 1. Introduction
RFC 3312 [3] defines the framework for SIP [2] preconditions, which RFC 3312 [3] defines the framework for SIP [2] preconditions, which
is a generic framework that allows SIP UAs (User Agents) to suspend is a generic framework that allows SIP UAs (User Agents) to suspend
the establishment of a session until a set of preconditions are met. the establishment of a session until a set of preconditions are met.
Although only Quality of Service (QoS) preconditions have been Although only Quality of Service (QoS) preconditions have been
defined so far, this framework supports different preconditions defined so far, this framework supports different preconditions
types. (QoS preconditions are defined by RFC 3312 [3] as well.) types. (QoS preconditions are defined by RFC 3312 [3] as well.)
This document updates RFC 3312 [3]. We provide guidelines for authors This document updates RFC 3312 [3]. We provide guidelines for
of new precondition types and explain which topics they need to authors of new precondition types and explain which topics they need
discuss when defining them. In addition, we update some of the to discuss when defining them. In addition, we update some of the
procedures in RFC 3312 to be able to use SIP preconditions in procedures in RFC 3312 to be able to use SIP preconditions in
situations that involve session mobility, as described below. situations that involve session mobility, as described below.
RFC 3312 [3] focuses on media sessions that do not move around. That RFC 3312 [3] focuses on media sessions that do not move around. That
is, media is sent between the same end-points throughout the duration is, media is sent between the same end-points throughout the duration
of the session. Nevertheless, media sessions established by SIP are of the session. Nevertheless, media sessions established by SIP are
not always static. not always static.
SIP offers mechanisms to provide session mobility, namely re-INVITEs SIP offers mechanisms to provide session mobility, namely re-INVITEs
and UPDATEs [5]. While existing implementations of RFC 3312 [3] can and UPDATEs [5]. While existing implementations of RFC 3312 [3] can
probably handle session mobility, there is a need to explicitly point probably handle session mobility, there is a need to explicitly point
out the issues involved and make a slight update to some of the out the issues involved and make a slight update to some of the
procedures defined there. With the updated procedures defined in this procedures defined there. With the updated procedures defined in
document, messages carrying precondition information become more this document, messages carrying precondition information become more
explicit about the current status of the preconditions. explicit about the current status of the preconditions.
2. Terminology 2. Terminology
In this document, the key words "MUST", "MUST NOT", "REQUIRED", In this document, the key words "MUST", "MUST NOT", "REQUIRED",
"SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as
described in BCP 14, RFC 2119 [1] and indicate requirement levels for described in BCP 14, RFC 2119 [1] and indicate requirement levels for
compliant implementations. compliant implementations.
3. Defining New Precondition Types 3. Defining New Precondition Types
Specifications defining new precondition types need to discuss the Specifications defining new precondition types need to discuss the
topics described in this section. Having clear definitions of new topics described in this section. Having clear definitions of new
precondition types is essential to ensure interoperability among precondition types is essential to ensure interoperability among
different implementations. different implementations.
3.1 Precondition Type Tag 3.1 Precondition Type Tag
New precondition types MUST have an associated precondition type tag New precondition types MUST have an associated precondition type tag
(e.g., "qos" is the tag for QoS preconditions). The IANA registry for (e.g., "qos" is the tag for QoS preconditions). The IANA registry
precondition types can be found at: for precondition types can be found at:
http://www.iana.org/assignments/sip-precond-types http://www.iana.org/assignments/sip-precond-types
Authors of new preconditions MUST register new precondition types, Authors of new preconditions MUST register new precondition types,
and their tags, with the IANA following the instructions in Section and their tags, with the IANA following the instructions in Section
15 of RFC 3312 [3]. 15 of RFC 3312 [3].
3.2 Status Type 3.2 Status Type
RFC 3312 [3] defines two status types: end-to-end and segmented. RFC 3312 [3] defines two status types: end-to-end and segmented.
skipping to change at page 4, line 39 skipping to change at page 4, line 39
Section 6 of RFC 3312 [3] describes the behavior of UAs from the Section 6 of RFC 3312 [3] describes the behavior of UAs from the
moment session establishment is suspended due to a set of moment session establishment is suspended due to a set of
preconditions until is resumed when these preconditions are met. In preconditions until is resumed when these preconditions are met. In
general, the called user is not alterted until the preconditions are general, the called user is not alterted until the preconditions are
met. met.
Still, in addition to not alerting the user, each precondition type Still, in addition to not alerting the user, each precondition type
MUST define any extra actions UAs should perform or refrain from MUST define any extra actions UAs should perform or refrain from
performing when session establishment is suspended. The behavior of performing when session establishment is suspended. The behavior of
media streams during session suspension is therefore part of the media streams during session suspension is therefore part of the
definition of a particular precondition type. Some precondition types definition of a particular precondition type. Some precondition
may allow media streams to send and receive packets during session types may allow media streams to send and receive packets during
suspension; others may not. Consequently, the following paragraph session suspension; others may not. Consequently, the following
from RFC 3312 only appplies to QoS preconditions: paragraph from RFC 3312 only appplies to QoS preconditions:
While session establishment is suspended, user agents SHOULD not While session establishment is suspended, user agents SHOULD not
send any data over any media stream. In the case of RTP, neither send any data over any media stream. In the case of RTP, neither
RTP nor RTCP packets are sent. RTP nor RTCP packets are sent.
As a clarification to the previous paragraph, the control messages As a clarification to the previous paragraph, the control messages
used to establish connections in connection-oriented transport used to establish connections in connection-oriented transport
protocols (e.g., TCP SYNs) are not affected by the previous rule. So, protocols (e.g., TCP SYNs) are not affected by the previous rule.
user agents follow standard rules (e.g., the SDP a:setup attribute So, user agents follow standard rules (e.g., the SDP a:setup
[7]) to decide when to establish the connection, regardless of the attribute [7]) to decide when to establish the connection, regardless
presence of QoS preconditions. of the presence of QoS preconditions.
New precondition types MUST also describe the behaviour of UAs on New precondition types MUST also describe the behaviour of UAs on
reception of a re-INVITE or an UPDATE with preconditions for an reception of a re-INVITE or an UPDATE with preconditions for an
ongoing session. ongoing session.
4. Issues Related to Session Mobility 4. Issues Related to Session Mobility
Section 5 oft RFC 3312 [3] describes how to use SIP [2] preconditions Section 5 oft RFC 3312 [3] describes how to use SIP [2] preconditions
with the offer/answer model [4]. RFC 3312 gives a set of rules that with the offer/answer model [4]. RFC 3312 gives a set of rules that
allow a user agent to communicate changes in the current status of allow a user agent to communicate changes in the current status of
skipping to change at page 6, line 31 skipping to change at page 6, line 31
| | | | | | | |
| | | | | | | |
Figure 1: Session mobility using 3pcc Figure 1: Session mobility using 3pcc
The 3pcc (Third Party Call Control) [6] controller in Figure 1 has The 3pcc (Third Party Call Control) [6] controller in Figure 1 has
established a session between A and B using dialog 1 towards A and established a session between A and B using dialog 1 towards A and
dialog 2 towards B. At that point, the controller wants A to have a dialog 2 towards B. At that point, the controller wants A to have a
session with C instead of B. To transfer A to C (configuration shown session with C instead of B. To transfer A to C (configuration shown
at the bottom of Figure 1, the controller sends an empty (no offer) at the bottom of Figure 1, the controller sends an empty (no offer)
re-INVITE to A. Since A does not know that the session will be moved, re-INVITE to A. Since A does not know that the session will be
its offer in the 200 OK states that the current status of the media moved, its offer in the 200 OK states that the current status of the
stream in the send direction is "Yes". The controller, after media stream in the send direction is "Yes". The controller, after
contacting C establishing dialog 3, sends back an answer to A. This contacting C establishing dialog 3, sends back an answer to A. This
answer contains a new destination for the media (C) and should have answer contains a new destination for the media (C) and should have
downgraded the current status of the media stream to "No", since downgraded the current status of the media stream to "No", since
there is no reservation of resources between A and C. there is no reservation of resources between A and C.
4.1 Update to RFC 3312 4.1 Update to RFC 3312
Below there are a set of new rules that update RFC 3312 [3] to Below there are a set of new rules that update RFC 3312 [3] to
address the issues above. address the issues above.
skipping to change at page 7, line 12 skipping to change at page 7, line 12
Note that for streams using segmented status (as opposed to Note that for streams using segmented status (as opposed to
end-to-end status), the fact that the address for the media stream at end-to-end status), the fact that the address for the media stream at
the local segment changes may or may not affect the status of the the local segment changes may or may not affect the status of the
preconditions at the remote segment. However, moving an existing preconditions at the remote segment. However, moving an existing
stream to a new location, from the preconditions point of view, is stream to a new location, from the preconditions point of view, is
like establishing a new stream. Therefore, it is appropriate to set like establishing a new stream. Therefore, it is appropriate to set
all the current status values to "No" and start a new precondition all the current status values to "No" and start a new precondition
negotiation from scratch. negotiation from scratch.
The updated table and the rules below applies to an answerer that is The updated table and the rules below applies to an answerer that is
moving a media stream. That is, the offerer was not aware of the move moving a media stream. That is, the offerer was not aware of the
when it generated the offer. move when it generated the offer.
Table 3 of RFC 3312 [3] needs to be updated to allow answers to Table 3 of RFC 3312 [3] needs to be updated to allow answers to
downgrade current status values. The following table shows the downgrade current status values. The following table shows the
result. result.
Transac. status table Local status table New values transac./local Transac. status table Local status table New values transac./local
____________________________________________________________________ ____________________________________________________________________
no no no/no no no no/no
yes yes yes/yes yes yes yes/yes
yes no depends on local info yes no depends on local info
skipping to change at page 8, line 30 skipping to change at page 8, line 30
answer.) answer.)
5. Security Considerations 5. Security Considerations
An attacker adding preconditions to a session description or An attacker adding preconditions to a session description or
modifying existing preconditions could keep sessions from being modifying existing preconditions could keep sessions from being
established. An attacker removing preconditions from a session established. An attacker removing preconditions from a session
description could force sessions to be established without meeting description could force sessions to be established without meeting
mandatory preconditions. mandatory preconditions.
It is thus STRONGLY RECOMMENDED that integrity protection be applied It is thus strongly RECOMMENDED that integrity protection be applied
to the SDP session descriptions. S/MIME is the natural choice to to the SDP session descriptions. S/MIME is the natural choice to
provide such end-to-end integrity protection, as described in RFC provide such end-to-end integrity protection, as described in RFC
3261 [2]. 3261 [2].
6. Acknowledges 6. IANA Considerations
This document has no IANA considerations.
7. Acknowledges
Dave Oran and Allison Mankin provided useful comments on this Dave Oran and Allison Mankin provided useful comments on this
document. document.
7. References 8. References
7.1 Normative References 8.1 Normative References
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997. Levels", BCP 14, RFC 2119, March 1997.
[2] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., [2] 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.
[3] Camarillo, G., Marshall, W. and J. Rosenberg, "Integration of [3] Camarillo, G., Marshall, W. and J. Rosenberg, "Integration of
Resource Management and Session Initiation Protocol (SIP)", RFC Resource Management and Session Initiation Protocol (SIP)", RFC
3312, October 2002. 3312, October 2002.
7.2 Informational References 8.2 Informational References
[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] Rosenberg, J., "The Session Initiation Protocol (SIP) UPDATE [5] Rosenberg, J., "The Session Initiation Protocol (SIP) UPDATE
Method", RFC 3311, October 2002. Method", RFC 3311, October 2002.
[6] Rosenberg, J., Peterson, J., Schulzrinne, H. and G. Camarillo, [6] Rosenberg, J., Peterson, J., Schulzrinne, H. and G. Camarillo,
"Best Current Practices for Third Party Call Control (3pcc) in "Best Current Practices for Third Party Call Control (3pcc) in
the Session Initiation Protocol (SIP)", BCP 85, RFC 3725, April the Session Initiation Protocol (SIP)", BCP 85, RFC 3725, April
2004. 2004.
[7] Yon, D., "Connection-Oriented Media Transport in SDP", [7] Yon, D., "Connection-Oriented Media Transport in the Session
draft-ietf-mmusic-sdp-comedia-05 (work in progress), March 2003. Description Protocol (SDP)", draft-ietf-mmusic-sdp-comedia-08
(work in progress), July 2004.
Authors' Addresses Authors' Addresses
Gonzalo Camarillo Gonzalo Camarillo
Ericsson Ericsson
Hirsalantie 11 Hirsalantie 11
Jorvas 02420 Jorvas 02420
Finland Finland
EMail: Gonzalo.Camarillo@ericsson.com EMail: Gonzalo.Camarillo@ericsson.com
skipping to change at page 10, line 13 skipping to change at page 10, line 13
EMail: pkyzivat@cisco.com EMail: pkyzivat@cisco.com
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
on the IETF's procedures with respect to rights in IETF Documents can on the procedures with respect to rights in RFC documents can be
be found in BCP 78 and BCP 79. found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an 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 attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr. http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary copyrights, patents or patent applications, or other proprietary
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/