Internet DRAFT - draft-worley-sip-many-refers
draft-worley-sip-many-refers
SIP D. R. Worley
Internet-Draft Pingtel
Expires: December 20, 2006 June 18, 2006
The Five Meanings of the REFER Method
draft-worley-sip-many-refers-00
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on December 20, 2006.
Copyright Notice
Copyright (C) The Internet Society (2006).
Abstract
The REFER method is defined in RFC 3515. That RFC defines the syntax
of the REFER request and some of the machinery involved in its
execution, but it defines the semantics of the method only so far as
to specify that the recipient will initiate a request to the target
specified in the Refer-To header. But since almost all requests that
can be sent by the recipient are inherently part of an encompassing
UA action that affects the state of the recipient in ways that are
not directly reflected in SIP protocol actions, the standardized
action of initiating a request implicitly has further consequences
Worley Expires December 20, 2006 [Page 1]
Internet-Draft The Five Meanings of the REFER Method June 2006
which are often not clearly specified. As a result, various SIP
call-control proposals assume that a UA receiving a REFER will
perform the UA operation that is needed at that moment without
specifying clearly how the UA recognizes which UA operation is
needed. As a result there are now five semantically distinct defined
uses of REFER. All five uses bear a family resemblance, and each
involves sending a SIP request, but the exact meaning of each use is
logically independent of the others, and the rules by which a UA
distinguishes the five cases are at best implicit.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. The Meanings . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1. Remote Dial . . . . . . . . . . . . . . . . . . . . . . . 4
2.2. Transfer . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3. Third-Party Conference Departure . . . . . . . . . . . . . 4
2.4. Remote Hangup . . . . . . . . . . . . . . . . . . . . . . 5
2.5. Remotely Induced Response . . . . . . . . . . . . . . . . 5
3. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4. Security Considerations . . . . . . . . . . . . . . . . . . . 8
5. Informative References . . . . . . . . . . . . . . . . . . . . 8
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 9
Intellectual Property and Copyright Statements . . . . . . . . . . 10
Worley Expires December 20, 2006 [Page 2]
Internet-Draft The Five Meanings of the REFER Method June 2006
1. Introduction
The REFER method is defined in [1]. That RFC defines the syntax of
the REFER request, that its recipient is expected to "contact" the
resource designated by the Refer-To URI, and some of the machinery
involved in its execution. But the RFC does not specify what the
request causes the recipient to do in relationship to other SIP
dialogs, its users, etc. This allows a SIP call-control process to
assume that a REFER will cause the UA to perform the operation that
would be convenient for that particular call-control process - an
operation which would naturally be implemented by sending the SIP
request specified, but unfortunately, the implementing SIP request
does not uniquely determine the UA operation. As a result, there are
now five defined uses of REFER. All five uses bear a family
resemblance, but the exact meaning of each use is logically
independent of the others.
The purpose of this document is to enumerate all semantically
distinct uses of REFER, expose the logic that is used to determine
which use is implied by any particular REFER request, and to make
people aware of the need to clearly specify any additional uses they
desire to create. The reader is expected to be familiar with the
machinery of the REFER request as described in [1].
Worley Expires December 20, 2006 [Page 3]
Internet-Draft The Five Meanings of the REFER Method June 2006
2. The Meanings
2.1. Remote Dial
The simplest application of REFER can be called "remote dial" [2].
In this usage, a REFER is sent out-of-dialog to a recipient UA. The
recipient UA sends a dialog-initiating INVITE to the Refer-To URI, to
establish a dialog for its user.
At first sight, this use may appear unlikely in practice, but sending
such a REFER to a UA can be used to induce it to join a conference
[4]. (That is feasible because each conference has a unique
"conference URI".) Similarly, a remote dial REFER can be sent to a
conference focus to induce it to send an INVITE to a UA that one
wishes to have join the conference. This is a natural way to
implement "click-to-dial" functionality.
2.2. Transfer
The most popular use of REFER is for transferring calls [3]. From a
user perspective, there are several different kinds of call transfer,
but in all cases, the crucial step is performed by a REFER request.
Using the terminology of [3], there is an existing dialog between
Transferor and Transferee. Transferor wants to terminate that
dialog, changing Transferee's focus from the existing dialog to a new
dialog with Transfer Target.
This action is done by Transferor sending a REFER in the existing
dialog to Transferee. Transferee sends a dialog-initiating INVITE to
Transfer Target. If and when the INVITE receives a successful
response, Transferee terminates the original dialog and changes its
focus to the new dialog.
2.3. Third-Party Conference Departure
Another envisioned use of REFER is to delete a third party from a
conference [5]. In this use, the executor sends a REFER with a
Refer-To containing the header parameter "method=BYE" to a conference
focus, causing it to send a BYE to the participant.
In this use of REFER, the recipient UA is requested to insert a BYE
request into an existing dialog, rather than sending an out-of-dialog
request. The dialog in question is implicitly identified by the
Refer-To URI, which is expected to be the URI of a participant in the
conference. Of course, this requires that there be only one
participant in the conference that entered using that URI.
Worley Expires December 20, 2006 [Page 4]
Internet-Draft The Five Meanings of the REFER Method June 2006
2.4. Remote Hangup
REFER can also be used more generally to terminate a dialog by
causing one UA in the dialog to send a BYE request. The dialog to be
terminated is specified by using Call-ID, To, and From header
parameters in the Refer-To URI [2] to specify that the BYE should be
sent within the specified dialog. The example given in [2] is (after
correcting the escaping):
sip:bob@babylon.biloxi.example.com;method=BYE
?Call-ID=13413098
&To=%3Csip:bob%40biloxi.com%3E%3Btag%3D879738
&From=%3Csip:alice%40atlanta.example.com%3E%3Btag%3D023214
Beware that using header parameters to specify Call-ID and From
headers contravenes section 19.1.5 of RFC 3261 [8]. We interpret
this contradiction to mean that the values specified must be
validated by the UA to match one of its dialogs (and that the REFER
requester is allowed to manipulate that dialog).
2.5. Remotely Induced Response
The Internet-Draft [6] proposes a URI parameter "response" to be used
in the Refer-To URI. Its presence indicates that the recipient of
the REFER should send a response to one of its existing early
dialogs, using the value of the "response" URI parameter as the
response code. The early dialog in question is identified by the
Target-Dialog header in the REFER request.
However, it is not clear (to this author) whether this use of Target-
Dialog is semantically compatible with the definition given in [7],
which specifies that Target-Dialog is to be used to authorize a
request because "it indicates to the recipient that the sender is
aware of an existing dialog with the recipient".
Worley Expires December 20, 2006 [Page 5]
Internet-Draft The Five Meanings of the REFER Method June 2006
3. Summary
+----------+--------------------+-----------------------------------+
| Meaning | Distinguishing | Action |
| | features | |
+----------+--------------------+-----------------------------------+
| Remote | Out-of-dialog, | UA sends a dialog-initiating |
| Dial | method=INVITE | INVITE to Refer-To URI. |
| | | |
| Transfer | In-dialog, | UA sends a dialog-initiating |
| #1 | method=INVITE | INVITE to Refer-To URI. When new |
| | | dialog is confirmed, UA |
| | | terminates the original dialog |
| | | transfers its focus to the new |
| | | dialog. |
| | | |
| Transfer | Out-of-dialog, | (Same implementation as Transfer |
| #2 | method=INVITE, | #1.) UA sends a dialog- |
| | Replaces header | initiating INVITE with a Replaces |
| | parameter | header to Refer-To URI. when new |
| | | dialog is conformed (thus |
| | | replacing the specified dialog |
| | | at the Refer-To URI), UA |
| | | terminates the original dialog |
| | | and transfers its focus to the |
| | | new dialog. |
| | | |
| Transfer | Out-of-dialog, | (Same implementation as Remote |
| #3 | method=INVITE, | Dial.) UA sends a dialog- |
| | Replaces header | initiating INVITE with a Replaces |
| | parameter | header to Refer-To URI. New |
| | | dialog replaces the specified |
| | | dialog at the Refer-To UA. |
| | | |
| Third- | recipient is conf. | Conference focus uses Refer-To |
| Party | URI, method=BYE | URI to look up a dialog currently |
| Conf. | | in the conference, then |
| Depart. | | terminates it by sending BYE on |
| | | it. |
| | | |
| Remote | method-BYE, | UA terminates the specified |
| Hangup | Call-ID, To, and | dialog by sending BYE on it. |
| | From header | |
| | parameters | |
| | | |
Worley Expires December 20, 2006 [Page 6]
Internet-Draft The Five Meanings of the REFER Method June 2006
+----------+--------------------+-----------------------------------+
| Meaning | Distinguishing | Action |
| | features | |
+----------+--------------------+-----------------------------------+
| (cont'd.) |
| | | |
| Remotely | response URI | UA sends the specified response |
| Induced | parameter, Target- | to the early dialog identified by |
| Response | Dialog header | the Target-Dialog header. |
+----------+--------------------+-----------------------------------+
Worley Expires December 20, 2006 [Page 7]
Internet-Draft The Five Meanings of the REFER Method June 2006
4. Security Considerations
None.
5. Informative References
[1] Sparks, R., "The Session Initiation Protocol (SIP) Refer
Method", RFC 3515, April 2003.
[2] Mahy, R., Campbell, B., Sparks, R., Rosenberg, J., Petrie, D.,
and A. Johnston, "A Call Control and Multi-party usage framework
for the Session Initiation Protocol (SIP)", March 2006.
[3] Sparks, R., Johnston, A., and D. Petrie, "Session Initiation
Protocol Call Control - Transfer", March 2006.
[4] Rosenberg, J., "A Framework for Conferencing with the Session
Initiation Protocol (SIP)", RFC 4353, February 2006.
[5] Johnston, A. and O. Levin, "Session Initiation Protocol Call
Control - Conferencing for User Agents", June 2005.
[6] Mahy, R. and C. Jennings, "Remote Call Control in SIP using the
REFER method and the session-oriented dialog package",
October 2005.
[7] Rosenberg, J., "Request Authorization through Dialog
Identification in the Session Initiation Protocol (SIP)",
December 2005.
[8] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A.,
Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP:
Session Initiation Protocol", RFC 3261, June 2002.
Worley Expires December 20, 2006 [Page 8]
Internet-Draft The Five Meanings of the REFER Method June 2006
Author's Address
Dale R. Worley
Pingtel Corp.
400 West Cummings Park, Suite 2200
Woburn, MA 01801
US
Phone: +1 781 938 5306 x173
Email: dworley@pingtel.com
URI: http://www.pingtel.com
Worley Expires December 20, 2006 [Page 9]
Internet-Draft The Five Meanings of the REFER Method June 2006
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2006). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Worley Expires December 20, 2006 [Page 10]