One document matched: draft-ietf-sipping-multiple-refer-03.txt
Differences from draft-ietf-sipping-multiple-refer-02.txt
SIPPING Working Group G. Camarillo
Internet-Draft Ericsson
Expires: August 27, 2005 A. Niemi
M. Isomaki
M. Garcia-Martin
Nokia
H. Khartabil
Telio
February 23, 2005
Refering to Multiple Resources in the Session Initiation Protocol (SIP)
draft-ietf-sipping-multiple-refer-03.txt
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 August 27, 2005.
Copyright Notice
Copyright (C) The Internet Society (2005).
Abstract
This document defines extensions to the SIP REFER method so that this
method can be used to refer servers to multiple resources. These
extensions include the use of pointers to Uniform Resource Identifier
Camarillo, et al. Expires August 27, 2005 [Page 1]
Internet-Draft Multiple REFER February 2005
(URI)-lists in the Refer-To header field and the "multiple-refer" SIP
option-tag.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Overview of operation . . . . . . . . . . . . . . . . . . . 3
4. The multiple-refer SIP Option-Tag . . . . . . . . . . . . . 4
5. Suppressing REFER's Implicit Subscription . . . . . . . . . 4
6. Behavior of SIP REFER-Issuers . . . . . . . . . . . . . . . 5
7. Behavior of REFER-Recipients . . . . . . . . . . . . . . . . 5
8. Default URI-List Format . . . . . . . . . . . . . . . . . . 5
9. Example . . . . . . . . . . . . . . . . . . . . . . . . . . 6
10. Security Considerations . . . . . . . . . . . . . . . . . . 9
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . 9
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 9
12.1 Normative References . . . . . . . . . . . . . . . . . . 9
12.2 Informational References . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 10
Intellectual Property and Copyright Statements . . . . . . . 12
Camarillo, et al. Expires August 27, 2005 [Page 2]
Internet-Draft Multiple REFER February 2005
1. Introduction
The SIP [3] REFER method [5] allows a user agent to request a server
to send a request to a third party. Still, a number of applications
need to request a server to initiate transactions towards a set of
destinations. In one example, the moderator of a conference may want
the conference server to send BYE requests to a group of
participants. In another example, the same moderator may want the
conference server to INVITE a set of new participants.
We define an extension to REFER so that REFER can be used to refer
servers to multiple destinations. In addition, we use the REFER
extension defined in [7] which suppresses REFER's implicit
subscription.
2. Terminology
In this document, the key words "MUST", "MUST NOT", "REQUIRED",
"SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as
described in BCP 14, RFC 2119 [1] and indicate requirement levels for
compliant implementations.
We define the following three new terms:
REFER-Issuer: the user agent issuing the REFER request.
REFER-Recipient: the user agent receiving the REFER request.
REFER-Target: the intended final recipient of the request to be
generated by the REFER-Recipient.
3. Overview of operation
This document defines an extension to the SIP REFER method [5] that
allows a SIP User Agent Client (UAC) to include a list of REFER-
Targets in a REFER request and send it to a server. The server will
create a new request for each entry in the list of REFER-Target URIs.
We represent the multiple REFER-Targets of a REFER using a URI-list.
A UAC (User Agent Client) that wants to refer a server to a set of
destinations creates a SIP REFER request. The Refer-To header
contains a pointer to a URI-list, which is included in a body part,
and an option-tag in the Required header field: "multiple-refer".
This option-tag indicates the requirement to support the
functionality described in this specification.
When the server receives such request it creates a new request per
destination and sends them.
Camarillo, et al. Expires August 27, 2005 [Page 3]
Internet-Draft Multiple REFER February 2005
This document does not provide any mechanism for UACs to find out
about the results of a REFER with multiple REFER-Targets.
Furthermore, it does not provide support for the implicit
subscription mechanism that is part of the SIP REFER method. The way
UACs are kept informed about the results of a REFER is service
specific. For example, a UAC sending a REFER to INVITE a set of
participants to a conference may discover which participants were
successfully brought into the conference by subscribing to the
conference state event [9].
4. The multiple-refer SIP Option-Tag
We define a new SIP option-tag for the Require and Supported header
fields: "multiple-refer".
A user agent including the "multiple-refer" option-tag in a Supported
header indicates compliance with this specification.
A user agent generating a REFER with a pointer to a URI-list in its
Refer-To header field MUST include the "multiple-refer" option-tag in
the Require header field of the REFER.
5. Suppressing REFER's Implicit Subscription
REFER requests with a single REFER-Target establish implicitly a
subscription to the refer event. The REFER-Issuer is informed about
the result of the transaction towards the REFER-Target through this
implicit subscription. As described in RFC 3515 [5], NOTIFY requests
sent as a result of an implicit subscription created by a REFER
request contain a body of type "message/sipfrag" [4] that describes
the status of the transaction initiated by the REFER-Recipient.
In the case of a REFER-Issuer that generates a REFER with multiple
REFER-targets, the REFER-Issuer is typically already subscribed to
other event package that can provide the information about the result
of the transactions towards the REFER-Targets. For example, a
moderator instructing a conference server to send a BYE request to a
set of participants is usually subscribed to the conference state
event package for the conference. Notifications to this event
package will keep the moderator and the rest of the subscribers
informed of the current list of conference participants.
Most of the applications using multiple REFER do not need its
implicit subscription. Consequently, a SIP REFER-Issuer generating a
REFER request with multiple REFER-Targets SHOULD include the
"norefersub" option-tag in a Require header field to indicate that no
notifications about the requests should be sent to the REFER-Issuer.
The "norefersub" SIP option-tag is defined in [7] and suppresses the
Camarillo, et al. Expires August 27, 2005 [Page 4]
Internet-Draft Multiple REFER February 2005
REFER's implicit subscription.
At the time of writing, there is no extension that allows to report
the status of several transactions over a REFER's implicit
subscription. That is the motivation for this document to recommend
the usage of the "norefersub" option-tag. If in the future such an
extension is defined, REFER-Issuers using it could refrain from using
the "norefersub" option-tag and use the new extension instead.
6. Behavior of SIP REFER-Issuers
As indicated in Section 4 and Section 5 a SIP REFER-Issuer that
creates a REFER request with multiple REFER-Targets includes a
"multiple-refer" and a "norefersub" option-tags in the Require header
field.
The Refer-To header field of a REFER request with multiple REFER-
Targets MUST contain a pointer (i.e., a Content-ID Uniform Resource
Locator (URL) [2]) that points to the body part that carries the URI-
list. The REFER-Issuer SHOULD NOT include any particular URI more
than once in the URI-list.
7. Behavior of REFER-Recipients
The REFER-Recipient follows the rules in Section 2.4.2 of RFC 3515
[5] to determine the status code of the response to the REFER.
If the URI-list contains a URI more than once, the REFER-Recipient
MUST behave as if that URI appeared in the URI-list only once. The
REFER-Recipient uses the comparison rules specific to the URI scheme
of each of the URIs in the URI-list to determine if there is any URI
which appears more than once.
The REFER-Recipient follows the rules in RFC 3515 [5] to generate the
necessary requests towards the REFER-Targets, acting as if it had
received a regular (no URI-list) REFER per each URI in the URI-list.
8. Default URI-List Format
The default format for URI-list bodies used in a multiple REFER
request is the resource list document specified in [6]. User agents
able to generate or receive REFERs with multiple REFER-Targets MUST
support this format as specified in [6] and MAY support other
formats.
Nevertheless, the Extensible Markup Language (XML) Configuration
Access Protocol (XCAP) resource list document provides features, such
as hierarchical lists and the ability to include entries by reference
Camarillo, et al. Expires August 27, 2005 [Page 5]
Internet-Draft Multiple REFER February 2005
relative to the XCAP root URI, that are not needed by the multiplet
REFER service defined in this document. Therefore, when using the
default resource list document, SIP REFER-Issuers generating REFERs
with multiple REFER-Targets SHOULD use flat lists (i.e., no
hierarchical lists) and SHOULD NOT use <entry-ref> elements.
A REFER-Recipient receiving a URI-list with more information than
what has just been described MAY discard all the extra information.
Figure 1 shows an example of a flat list that follows the resource
list document.
<?xml version="1.0" encoding="UTF-8"?>
<resource-lists xmlns="urn:ietf:params:xml:ns:resource-lists"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<list>
<entry uri="sip:bill@example.com" />
<entry uri="sip:joe@example.org" />
<entry uri="sip:ted@example.net" />
</list>
</resource-lists>
Figure 1: URI List
9. Example
Figure 2 shows an example flow where a REFER-Issuer sends a multiple-
REFER request to the focus of a conference, which acts as the REFER-
Recipient. The REFER-Recipient generates a BYE request per REFER-
Target. (How to use REFER to remove participants from a conference
is specified in [10].)
Camarillo, et al. Expires August 27, 2005 [Page 6]
Internet-Draft Multiple REFER February 2005
+--------+ +---------+ +--------+ +--------+ +--------+
| REFER | | REFER | | REFER | | REFER | | REFER |
| issuer | |recipient| |target 1| |target 2| |target 3|
+--------+ +---------+ +--------+ +--------+ +--------+
| 1. REFER | | | |
| ---------------->| | | |
| 2. 202 Accepted | | | |
|<---------------- | 3. BYE | | |
| | ----------->| | |
| | 4. BYE | | |
| | ----------------------->| |
| | 5. BYE | | |
| | ----------------------------------->|
| | 6. 200 OK | | |
| |<----------- | | |
| | 7. 200 OK | | |
| |<----------------------- | |
| | 8. 200K OK| | |
| |<----------------------------------- |
| | | | |
| | | | |
| | | | |
Figure 2: Example flow or a REFER request containin multiple REFER-
Targets
The REFER request (1) contains a Refer-To header field that includes
a pointer to the message body, which carries a list with the URIs of
the REFER-Targets. The REFER's Require header field carries both the
"multiple-refer" and the "norefersub" option-tags. Figure 3 shows an
example of this REFER request. The resource list document contains
the list of REFER-Target URIs along with the method of the SIP
request that the REFER-Recipient generates.
Camarillo, et al. Expires August 27, 2005 [Page 7]
Internet-Draft Multiple REFER February 2005
REFER sip:conf-123@example.com SIP/2.0
Via: SIP/2.0/TCP client.chicago.example.com
;branch=z9hG4bKhjhs8ass83
Max-Forwards: 70
To: "Conference 123" <sip:conf-123@example.com>
From: Carol <sip:carol@chicago.example.com>;tag=32331
Call-ID: d432fa84b4c76e66710
CSeq: 2 REFER
Contact: <sip:carol@client.chicago.example.com>
Refer-To: <cid:cn35t8jf02@example.com>
Require: multiple-refer, norefersub
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Allow-Events: dialog
Accept: application/sdp, message/sipfrag
Content-Type: application/resource-lists+xml
Content-Disposition: uri-list
Content-Length: 307
Content-ID: <cn35t8jf02@example.com>
<?xml version="1.0" encoding="UTF-8"?>
<resource-lists xmlns="urn:ietf:params:xml:ns:resource-lists"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<list>
<entry uri="sip:bill@example.com?method=BYE" />
<entry uri="sip:joe@example.org?method=BYE" />
<entry uri="sip:ted@example.net?method=BYE" />
</list>
</resource-lists>
Figure 3: REFER request with multiple REFER-Targets
Figure 4 shows an example of the BYE request (3) that the REFER-
Recipient sends to the first REFER-Target.
BYE sip:bill@example.com SIP/2.0
Via: SIP/2.0/TCP conference.example.com
;branch=z9hG4bKhjhs8assmm
Max-Forwards: 70
From: "Conference 123" <sip:conf-123@example.com>;tag=88734
To: <sip:bill@example.com>;tag=29872
Call-ID: d432fa84b4c34098s812
CSeq: 34 BYE
Content-Length: 0
Figure 4: BYE request
Camarillo, et al. Expires August 27, 2005 [Page 8]
Internet-Draft Multiple REFER February 2005
10. Security Considerations
The Framework and Security Considerations for SIP URI-List Services
[8] discusses issues related to SIP URI-list services. Given that a
server accepting REFERs with multiple REFER-targets acts as an URI-
list service, implementations of this type of server MUST follow the
security-related rules in [8]. These rules include mandatory
authentication and authorization of clients, and opt-in lists.
Additionally, servers SHOULD only accept REFER requests within the
context of an application the server understands (e.g., a
conferencing application). This implies that servers MUST NOT accept
REFERs for methods they do not understand. The idea behind these two
rules is that servers are not used as dumb servers whose only
function is to fan-out random messages they do not understand.
11. IANA Considerations
This document defines a new SIP option-tag: "multiple-refer". This
option-tag should be registered in the SIP Parameters registry.
SIP user agents that place the "multiple-refer" option-tag in a
Supported header field understand REFER requests that contain
resource list document describing multiple REFER-Targets.
12. References
12.1 Normative References
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[2] Levinson, E., "Content-ID and Message-ID Uniform Resource
Locators", RFC 2392, August 1998.
[3] 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.
[4] Sparks, R., "Internet Media Type message/sipfrag", RFC 3420,
November 2002.
[5] Sparks, R., "The Session Initiation Protocol (SIP) Refer
Method", RFC 3515, April 2003.
[6] Rosenberg, J., "Extensible Markup Language (XML) Formats for
Representing Resource Lists",
draft-ietf-simple-xcap-list-usage-05 (work in progress),
Camarillo, et al. Expires August 27, 2005 [Page 9]
Internet-Draft Multiple REFER February 2005
February 2005.
[7] Levin, O., "Suppression of Session Initiation Protocol REFER
Method Implicit Subscription",
draft-ietf-sip-refer-with-norefersub-01 (work in progress),
February 2005.
[8] Camarillo, G. and A. Roach, "Requirements and Framework for
Session Initiation Protocol (SIP)Uniform Resource Identifier
(URI)-List Services", draft-ietf-sipping-uri-services-02 (work
in progress), December 2004.
12.2 Informational References
[9] Rosenberg, J., "A Session Initiation Protocol (SIP) Event
Package for Conference State",
draft-ietf-sipping-conference-package-10 (work in progress),
March 2005.
[10] Johnston, A. and O. Levin, "Session Initiation Protocol Call
Control - Conferencing for User Agents",
draft-ietf-sipping-cc-conferencing-06 (work in progress),
November 2004.
Authors' Addresses
Gonzalo Camarillo
Ericsson
Hirsalantie 11
Jorvas 02420
Finland
Email: Gonzalo.Camarillo@ericsson.com
Aki Niemi
Nokia
P.O. Box 321
NOKIA GROUP, FIN 00045
Finland
Email: Aki.Niemi@nokia.com
Camarillo, et al. Expires August 27, 2005 [Page 10]
Internet-Draft Multiple REFER February 2005
Markus Isomaki
Nokia
Itamerenkatu 11-13
Helsinki 00180
Finland
Email: Markus.Isomaki@nokia.com
Miguel A. Garcia-Martin
Nokia
P.O.Box 407
NOKIA GROUP, FIN 00045
Finland
Email: miguel.an.garcia@nokia.com
Hisham Khartabil
Telio
P.O. Box 1203
Oslo 0110
Norway
Email: Hisham.Khartabil@telio.no
Camarillo, et al. Expires August 27, 2005 [Page 11]
Internet-Draft Multiple REFER February 2005
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 (2005). 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.
Camarillo, et al. Expires August 27, 2005 [Page 12]
| PAFTECH AB 2003-2026 | 2026-04-23 11:00:30 |