One document matched: draft-elwell-sip-state-update-01.txt
Differences from draft-elwell-sip-state-update-00.txt
Internet Engineering Task Force J. Elwell
Internet Draft Siemens
V. Venkataramanan
Sylantro Systems Corp
draft-elwell-sip-state-update-01.txt
Expires: October 2004 April 2004
State update during a SIP dialog
Status of this Memo
By submitting this Internet-Draft, I certify that any applicable
patent or other IPR claims of which I am aware have been disclosed,
and any of which I become aware will be disclosed, in accordance with
RFC 3667.
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.
Copyright Notice
Copyright (C) The Internet Society (2004). All Rights Reserved.
Abstract
This document examines the need for updating state information, such
as remote party identity, during a SIP dialog. It explores existing
mechanisms that might be appropriate and proposes minor
clarifications to existing RFCs and drafts to achieve this.
Elwell et alia Expires - October 2004 [Page 1]
State update during a SIP dialog April 2004
Table of Contents
1 Introduction....................................................3
2 State information subject to change during a dialog.............3
3 Applicability of existing mechanisms............................4
3.1 UPDATE........................................................4
3.2 re-INVITE.....................................................5
3.3 INVITE with Replaces header...................................6
4 Proposal........................................................6
5 Clarifications to RFC 3261[1]...................................7
6 Clarifications to RFC 3311 [2]..................................8
7 Clarification to RFC 3325 [4]..................................10
8 Clarification to draft-ietf-sip-authid-body-02 [6].............10
9 Author's Addresses.............................................10
10 Normative References..........................................11
Elwell et alia Expires - October 2004 [Page 2]
State update during a SIP dialog April 2004
1 Introduction
Certain information exchanged between SIP [1] UAs during an INVITE
transaction can be stored at a receiving UA for the lifetime of the
resulting dialog and/or made available to the user (e.g., via a
display in the case of a human user). One example is the identity of
the peer user (as supplied in the To or From header, the
Authenticated Identity Body (AIB) or the P-Asserted-Identity header).
Another example is the Subject header. This information forms part of
the state of a dialog at a UA.
Under certain circumstances some of this state information may need
to be changed. For example, when interworking with a PSTN, there may
be a change of party in the PSTN (e.g., because of call transfer).
The PSTN party identity sent to the peer SIP UA in the To or From
header, the AIB or the P-Asserted-Identity header during dialog
establishment normally reflects the identity of the PSTN user. If the
identity of the PSTN user changes during the lifetime of the dialog,
this information needs to be updated at the UA.
A second example involves 3rd party call control. A B2BUA performing
3rd party call control can perform actions such as call transfer that
cause a change of membership of the call. An existing UA that remains
involved in the call and retains its dialog with the B2BUA needs to
be updated with the identity of the new remote party.
A third example also involves 3rd party call control. In this case a
B2BUA forms a conference and acts as a conference focus. It therefore
needs to indicate this to any existing UA whose dialog is
"transferred" into that conference.
A fourth example is where a user changes the subject during a dialog.
The revised subject needs to be communicated to the remote UA.
Existing mechanisms for changing a session during a dialog (re-INVITE
and UPDATE transactions) may be a suitable basis for making other
state changes, but it is not at present clear if and how these
mechanisms are applicable.
2 State information subject to change during a dialog
The following information exchanged during the INVITE transaction can
change during the lifetime of the resulting dialog.
- Call-Info header.
- Alert-Info header (early dialogs only).
Elwell et alia Expires - October 2004 [Page 3]
State update during a SIP dialog April 2004
- Contact header (change of feature tags [3]).
- Reply-To header.
- Subject header.
- P-Asserted-Identity header [4].
- Privacy header [5] (for use in conjunction with updated identity
information).
- Authenticated Identity Body (AIB) [6].
In addition consideration should be given to the following headers:
Allowed, Supported, Required. These would not normally be expected to
change at a UA reporting a state change. However, there might be some
B2BUA arrangements where Allowed, Supported and Required are sent by
the B2BUA on behalf of another UA, and if that other UA changes,
these headers might change.
3 Applicability of existing mechanisms
3.1 UPDATE
The UPDATE mechanism [2] provides a means for updating the session
using a 2-message sequence (request/response) during an INVITE-
initiated dialog. Although one of the prime motivations for UPDATE is
use during an early dialog (in conjunction with the PRACK method),
where re-INVITE cannot be used, UPDATE can also be used during a
confirmed dialog. The RFCs concerned are unclear on the use of UPDATE
for updating the following state information:
Call-Info header. According to [2], this is optional in an UPDATE
request, but no semantics are given. It is unclear whether this is
allowed to differ from what was in the INVITE request or response,
and if so the meaning of this.
Alert-Info header. According to [2], this is not applicable in an
UPDATE request. However, a possible use during an early dialog would
be to change the alerting indication or ringback tone.
Contact header. According to [2], this is mandatory in an UPDATE
request. In [3] there is mention of updating feature parameters
during a dialog.
Reply-To header. This is not allowed in an UPDATE request.
Subject header. According to [2], this is not allowed in an UPDATE
request.
Elwell et alia Expires - October 2004 [Page 4]
State update during a SIP dialog April 2004
P-Asserted-Identity header. According to [4], this header is not
allowed in an UPDATE request.
Privacy header. There is no mention in [5] of using this header in an
UPDATE request.
AIB. [6] does provide for the use of AIB in a request within the
context of an existing dialog. However, it does not mention UPDATE
specifically. Also, it does not mention semantics, e.g., whether an
AIB in a request in an existing dialog overrides any AIB in the
original request or response.
3.2 re-INVITE
The re-INVITE mechanism [1] provides a means for updating the session
during an INVITE-initiated dialog. It differs from UPDATE in that it
uses a three message sequence (request, response, ACK), and this
takes account of possible delays while a user is consulted on the
proposed update. Therefore for updating the session on a confirmed
dialog, re-INVITE will often be preferred to UPDATE. If state
information needs to be updated at the same time as the session, re-
INVITE might be the preferred choice. At other times UPDATE might be
the preferred choice for updating state information. Another
consideration is that some SIP implementations do not currently
support UPDATE.
The RFCs concerned are unclear on the use of re-INVITE for updating
the following state information:
Call-Info header. According to [1], this is optional in an INVITE
request, but there is no specific mention of re-INVITE. It is unclear
whether this is allowed to differ from what was in the original
INVITE request or response, and if so the meaning of this.
Contact header. According to [1], this is mandatory in a re-INVITE
request. In [3] there is mention of updating feature parameters
during a dialog.
Reply-To header. According to [1], this is optional in an INVITE
request, but there is no specific mention of re-INVITE. It is unclear
whether this is allowed to differ from what was in the original
INVITE request or response, and if so the meaning of this.
Subject header. According to [2], this is optional in an INVITE
request, but there is no specific mention of re-INVITE. It is unclear
whether this is allowed to differ from what was in the original
INVITE request or response, and if so the meaning of this.
Elwell et alia Expires - October 2004 [Page 5]
State update during a SIP dialog April 2004
P-Asserted-Identity header. There is no mention in [4] of using this
header in a re-INVITE request.
Privacy header. There is no mention in [5] of using this header in a
re-INVITE request.
AIB. [6] does provide for the use of AIB in a request within the
context of an existing dialog. However, it does not mention re-INVITE
specifically. Also, it does not mention semantics, e.g., whether an
AIB in a request in an existing dialog overrides any AIB in the
original request or response.
3.3 INVITE with Replaces header
Rather than updating state information for the existing dialog, a new
dialog could be created using an INVITE addressed to the remote
contact (assuming this is a GRUU) and the Replaces header, thereby
causing the new dialog to replace the existing dialog. This is a
heavyweight method of achieving the desired results. In particular it
requires support of the Replaces header, support of GRUUs, and re-
negotiation of the session.
4 Proposal
It is proposed that the use of the UPDATE method for updating state
information during a confirmed or early dialog be endorsed. It is
also proposed that the use of the re-INVITE method be endorsed for
updating state information during a confirmed dialog for cases where
the peer UA does not support UPDATE or when the session is to be
updated at the same time.
In order to achieve this, clarifications are required to some
existing RFCs:
- RFC 3261: Clarify that a re-INVITE can be used to update dialog-
related information during a dialog, i.e., not just a target refresh
or a session description change.
- RFC 3311: Clarify that an UPDATE can be used without a session
description in order to update dialog-related information. This is
already implicit in some places, but a few places seem to require an
UPDATE request to contain an SDP offer.
- RFC 3323: This does not specify specific procedures for particular
methods and does not make any distinction between a request outside
of an existing dialog or a request within a dialog. Therefore as it
stands it is in theory equally applicable to UPDATE and re-INVITE as
it is to INVITE. However, certain privacy services may not be
possible to provide during a dialog if not already provided from the
Elwell et alia Expires - October 2004 [Page 6]
State update during a SIP dialog April 2004
start of the dialog. Its main usefulness seems to be to indicate
privacy for an updated P-Asserted-Identity header or an updated
Authenticated Identity Body. No changes are proposed.
- RFC 3325: Allow the use of the P-Asserted-Identity header with the
UPDATE method. The RFC does not specify specific procedures for
particular methods and does not make any distinction between a
request outside of an existing dialog or a request within a dialog.
Therefore as it stands it is equally applicable to UPDATE (with the
proposed change) and re-INVITE as it is to INVITE. Therefore no
procedural changes need to be made.
- draft-ietf-sip-authid-body-02: Add mention of use of AIB in re-
INVITE or UPDATE.
The remainder of this draft proposes detailed clarifications.
5 Clarifications to RFC 3261[1]
Add two new paragraphs to the end of 12.2 (prior to 12.2.1):
"A request, whether or not it is a target refresh request, MAY
update certain other information transmitted at the time of dialog
establishment. Examples include the following headers from this
RFC: Alert-Info, Call-Info, Reply-To and Subject. Other extensions
may define other headers that are appropriate for updating during a
dialog.
"In this RFC, the only request defined that is suitable for
updating information during a dialog is re-INVITE (see section 14).
Other extensions may define different requests suitable for
updating information during a dialog."
Add to the end of the first paragraph of 14.1:
"A UAC MAY send a session description that is unchanged, if the
purpose of the re-INVITE is solely for updating dialog-related
information."
OPEN ISSUE. Section 14.1 of RFC 3261 states that a UAC MUST NOT
initiate a new INVITE transaction within a dialog while another
INVITE transaction is in progress in either direction. What is the
reason for this? If it is just because of constraints of the
offer/answer model, then presumably it should not apply to a re-
INVITE that does not contain an offer. Other methods within dialogs
(e.g., UPDATE with no SDP, INFO and NOTIFY) do not seem to have
similar constraints.
Elwell et alia Expires - October 2004 [Page 7]
State update during a SIP dialog April 2004
6 Clarifications to RFC 3311 [2]
General
Call-Info
Alert-Info
Reply-To
Subject
Add to the end of the last paragraph of section 1:
"It can also be sent by a UA within a dialog (early or confirmed)
to update dialog-related information in addition to or instead of
updating session parameters."
Replace the last sentence of section 3:
Old text: "There are additional constraints on when UPDATE can be
used, based on the restrictions of the offer/answer model."
New text: "The UPDATE method can also be used without SDP
offer/answer in order to update only dialog-related information and
not the session. There are additional constraints on when UPDATE
can be used with SDP offer/answer, based on restrictions of the
offer/answer model."
Change "MAY" to "SHOULD" in the 2nd paragraph of section 4:
Old text: "An unreliable provisional response MAY contain an Allow
header field listing the UPDATE method ...
New text: "An unreliable provisional response SHOULD contain an
Allow header field listing the UPDATE method ...
Extend the last sentence of the 3rd paragraph of section 4:
Old text: "Creation of this dialog is necessary in order to receive
UPDATE requests from the callee."
New text: "Creation of this dialog is necessary in order to receive
UPDATE requests from the callee and in order to receive an SDP
offer in an UPDATE request from the caller."
Add the following paragraph at the end of section 4:
"Although a UAS for an INVITE request must use a reliable
provisional response in order to ensure that an early dialog is
created before issuing an UPDATE request towards the caller, a UAC
for an INVITE request will know that an early dialog is established
even if it receives an unreliable provisional response. The UAC for
Elwell et alia Expires - October 2004 [Page 8]
State update during a SIP dialog April 2004
the INVITE request MAY then issue an UPDATE request without an SDP
offer towards the callee, subject to having received an appropriate
Allow header field."
Replace the 3rd sentence of section 5.1:
Old text: "Although UPDATE can be used on confirmed dialogs, it is
RECOMMENDED that a re-INVITE be used instead."
New text: "Although UPDATE can be used on confirmed dialogs, it is
RECOMMENDED that a re-INVITE be used instead if there is a need to
seek user approval."
Replace the last sentence of the 2nd bullet of section 5.1:
Old text: "Of course, it can't send an UPDATE if it has not
received answers to any other offers it sent in either PRACK or
UPDATE, or has not generated answers for any other offers it
received in an UPDATE from the callee."
New text: "Of course, it can't send an UPDATE containing an offer
if it has not received answers to any other offers it sent in
either PRACK or UPDATE, or has not generated answers for any other
offers it received in an UPDATE from the callee."
Add a new paragraph at the end of section 5.2:
"If a UA receives an UPDATE request with no session description for
an existing dialog, the UA MUST NOT include a session description
in the response. In this case the UPDATE request is for the purpose
of target refresh or updating other dialog-related information".
Change the following row in table 1:
Old: Alert-Info -
New: Alert-Info o
Change the following rows in table 2:
Old: Reply-To -
New: Reply-To o
Old: Subject - -
New: Subject o
Elwell et alia Expires - October 2004 [Page 9]
State update during a SIP dialog April 2004
7 Clarification to RFC 3325 [4]
In section 9.1, change the additional entry to table 1 of RFC 3261 as
follows (to make UPDATE optional):
Old:
Header field where proxy ACK BYE CAN INV OPT REG
------------ ----- ----- --- --- --- --- --- ---
P-Asserted-Identity adr - o - o o -
SUB NOT REF INF UPD PRA
--- --- --- --- --- ---
o o o - - -
New:
Header field where proxy ACK BYE CAN INV OPT REG
------------ ----- ----- --- --- --- --- --- ---
P-Asserted-Identity adr - o - o o -
SUB NOT REF INF UPD PRA
--- --- --- --- --- ---
o o o - o -
8 Clarification to draft-ietf-sip-authid-body-02 [6]
Add the following to the first paragraph of section 5:
"An AIB in a request within the context of an existing dialog
(e.g., re-INVITE, UPDATE) can be used to replace the corresponding
identity transmitted at the start of the dialog."
9 Author's Addresses
John Elwell
Siemens Communications
Technology Drive
Beeston
Nottingham, UK, NG9 1LA
email: john.elwell@siemens.com
Venkatesh Venkataramanan
Sylantro Systems Corp
910 E Hamilton Ave,
Campbell, CA 95008
Sylantro inc.
Elwell et alia Expires - October 2004 [Page 10]
State update during a SIP dialog April 2004
email: Venkatesh.Venkataramanan@sylantro.com
10 Normative References
[1] J. Rosenberg, H. Schulzrinne, et al., "SIP: Session initiation
protocol", RFC 3261.
[2] J. Rosenberg, "The Session Initiation Protocol (SIP) UPDATE
method", RFC 3311.
[3]J. Rosenberg, H. Schulzrinne, P. Kyzivat, "Indicating User Agent
Capabilities in the Session Initiation Protocol (SIP)", draft-ietf-
sip-callee-caps-03.txt (work in progress).
[4] C. Jennings, J. Peterson, M. Watson, "Private Extensions to the
Session Initiation Protocol (SIP) for Asserted Identity within
Trusted Networks", RFC 3325.
[5] J. Peterson. "A Privacy Mechanism for the Session Initiation
Protocol (SIP)", RFC 3323.
[6] J. Peterson. "SIP Authenticated Identity Body (AIB) Format",
draft-ietf-sip-authid-body-02.txt (work in progress).
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 IETF's procedures with respect to rights in IETF 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
Elwell et alia Expires - October 2004 [Page 11]
State update during a SIP dialog April 2004
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 (2004). 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.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Elwell et alia Expires - October 2004 [Page 12]
| PAFTECH AB 2003-2026 | 2026-04-24 06:52:56 |