SIPPING Working Group J. Hautakorpi, Ed.
Internet-Draft G. Camarillo
Expires: December 1, 2006 Ericsson
May 30, 2006
A Method for URI-List Servers to Refuse the Handling of a URI-List
draft-hautakorpi-sipping-uri-list-handling-refused-00.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 December 1, 2006.
Copyright Notice
Copyright (C) The Internet Society (2006).
Abstract
This documents defines a new response code, namely 495 (URI-List
Handling Refused), for the Session Initiation Protocol (SIP). This
new response code can used by URI-list servers that do not want to
handle an incoming URI-list (e.g., due to local policy). For
example, a URI-list server may not want to handle a URI-list when an
incoming SIP request carries a URI-list inside a URI-list. The URI-
list server may not want to handle that particular embedded URI-list.
Hautakorpi & Camarillo Expires December 1, 2006 [Page 1]
Internet-Draft URI-List Handling Refused May 2006
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Syntax of 495 URI-List Handling Refused . . . . . . . . . . . 4
4. Example Scenario . . . . . . . . . . . . . . . . . . . . . . . 4
5. Security Considerations . . . . . . . . . . . . . . . . . . . 7
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7.1. Normative References . . . . . . . . . . . . . . . . . . . 8
7.2. Informative References . . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9
Intellectual Property and Copyright Statements . . . . . . . . . . 10
Hautakorpi & Camarillo Expires December 1, 2006 [Page 2]
Internet-Draft URI-List Handling Refused May 2006
1. Introduction
This document defines a new response code for Session Initiation
Protocol (SIP) [2]. This new response code is 495 (URI-List Handling
Refused) and can be used by the servers providing SIP Uniform
Resource List (URI)-list services [3] that do not want to handle a
incoming request. For example, a URI-list server might not want to
handle an incoming SIP request carrying a URI-list inside a URI-list.
Responses using the 495 (URI-List Handling Refused) response code can
carry a URI-List-Entry header field, which is also specified in this
document.
+---------+ SIP request +----------+
| |------------------------------>| |
| | [URI-list in a URI-list] | URI-list |
| UAC | | server |
| | 495 URI-List Handling Refused | |
| |<------------------------------| |
+---------+ +----------+
Figure 1: General overview
Figure 1 illustrates the usage of the 495 (URI-List Handling Refused)
response code. When a URI-list server receives a SIP request (e.g.,
INVITE), it can return a 495 (URI-List Handling Refused) response
back to the UA, if it does not want to fan out the received request.
The reason for not processing an incoming request might be, for
example, due to local policies. Proxies do not have to perform any
special processing for 495 responses, they just forward them to the
User Agent Client (UAC) as usual. When an UAC receives a 495
response, it knows that the URI-list server has not sent any outbound
request.
The 495 URI-List Handling Refused response code is useful in the Open
Mobile Alliance's (OMA) Push to talk over Cellular (PoC) system [7].
In a given PoC session, one of the PoC servers act as the controlling
PoC server while the rest act as participating PoC servers. The only
server allowed to handle URI-lists for the session is the controlling
PoC server. PoC servers can use the 495 response code to inform the
controlling PoC server that they cannot handle a particular URI-list.
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
Hautakorpi & Camarillo Expires December 1, 2006 [Page 3]
Internet-Draft URI-List Handling Refused May 2006
described in BCP 14, RFC 2119 [1] and indicate requirement levels for
compliant implementations.
3. Syntax of 495 URI-List Handling Refused
Responses using the 495 (URI-List Handling Refused) response code
SHOULD contain one or more URI-List-Entry entries. The URI-List-
Entry header field contains one or more URIs, which map to URI-lists.
The URI-List-Entry header field has two purposes. The first purpose
is to inform the UAC which URIs are actually URI-lists that cannot be
handled. The second purpose is to optionally give information about
the members of the associated URI-list. The Augmented Backus-Naur
Form (ABNF) [4] syntax of URI-List-Entry header field is the
following:
URI-List-Entry = "URI-List-Entry" HCOLON uri-list-entry-parm
*(COMMA uri-list-entry-parm)
uri-list-entry-parm = ( name-addr / addr-spec ) [ SEMI "members"
EQUAL "<" cid-url ">" ]
[ *( SEMI generic-param ) ]
The HCOLON, SEMI, EQUAL, and generic-param are defined in [2]. The
cid-url is defined in [5].
The 495 (URI-List Handling Refused) response MAY contain body parts
which have URI-lists. Those body parts are referenced from the URI-
List-Entry entries through their Content-IDs [5]. If there is a
Content-ID defined in the URI-List-Entry, then one of the body parts
MUST have an equivalent Content-ID. The syntax of a URI-list is
service specific. This kind of message structure enables UACs to
determine which SIP URI relates to which URI-list, if the URI-list
server is willing to disclose that information.
4. Example Scenario
In the following example scenario a UAC sends an INVITE request to a
URI-list server. The URI-list server refuses to process the INVITE
request and replies with 495 (URI-List Handling Refused).
Hautakorpi & Camarillo Expires December 1, 2006 [Page 4]
Internet-Draft URI-List Handling Refused May 2006
Alice URI-list server
| |
| INVITE |
|-------------------------------->|
| |
| 495 URI-List Handling Refused |
|<--------------------------------|
| |
Figure 2: Example flow chart
Alice is trying to establish a conference with the INVITE request.
The content of INVITE request shown in Figure 2 is the following (Via
header fields are not shown for simplicity):
INVITE sip:urilist-a@example.com SIP/2.0
Max-Forwards: 70
From: Alice <sip:alice@example.com>;tag=4fxaed73sl
To: URI-list server A <sip:urilist-a@example.com>
Call-ID: 7xTn9vxNit65XU7p4@example.com
CSeq: 1 INVITE
Contact: <sip:alice@machine1.example.com>
Require: recipient-list-invite
Content-Type: multipart/mixed;boundary="boundary1"
Content-Length: 538
--boundary1
Content-Type: application/sdp
(SDP not shown)
--boundary1
Content-Type: application/resource-lists+xml
Content-Disposition: recipient-list
<?xml version="1.0" encoding="UTF-8"?>
<resource-lists xmlns="urn:ietf:params:xml:ns:resource-lists">
<list>
<entry uri="sip:bob@example.com"/>
<entry uri="sip:friends-list@example.com"/>
<entry uri="sip:colleagues-list@example.com"/>
</list>
</resource-lists>
--boundary1--
The sip:friends-list@example.com and sip:colleagues-list@example.com
in the above example SIP request are actually references to URI-lists
Hautakorpi & Camarillo Expires December 1, 2006 [Page 5]
Internet-Draft URI-List Handling Refused May 2006
on the URI-list server. In this example message the URI-lists are in
XML resource list format [6].
The content of 495 reply in Figure 2 is the following (Via header
fields are not shown for simplicity):
SIP/2.0 495 URI-List Handling Refused
From: Alice <sip:alice@example.com>;tag=4fxaed73sl
To: URI-list server A <sip:urilist-a@example.com>;tag=814254
Call-ID: 7xTn9vxNit65XU7p4@example.com
CSeq: 1 INVITE
URI-List-Entry: sip:friends-list@example.com;
members=<cid:an3bt8jf03@example.com>
URI-List-Entry: sip:colleagues-list@example.com;
members=<cid:bn35n8jf04@example.com>
Conten-Type: multipart/mixed;boundary="boundary1"
Content-Length: 745
--boundary1
Content-Type: application/resource-lists+xml
Content-Disposition: uri-list
Content-ID: <an3bt8jf03@example.com>
<?xml version="1.0" encoding="UTF-8"?>
<resource-lists xmlns="urn:ietf:params:xml:ns:resource-lists">
<list>
<entry uri="sip:bill@example.com"/>
<entry uri="sip:randy@example.net"/>
<entry uri="sip:eddy@example.com"/>
</list>
</resource-lists>
--boundary1
Content-Type: application/resource-lists+xml
Content-Disposition: uri-list
Content-ID: <bn35n8jf04@example.com>
<?xml version="1.0" encoding="UTF-8"?>
<resource-lists xmlns="urn:ietf:params:xml:ns:resource-lists">
<list>
<entry uri="sip:joe@example.org"/>
<entry uri="sip:carol@example.net"/>
</list>
</resource-lists>
--boundary1--
From the above message an UAC can determine that
friend-list@example.com and colleagues-list@example.com are
Hautakorpi & Camarillo Expires December 1, 2006 [Page 6]
Internet-Draft URI-List Handling Refused May 2006
references to URI-lists, and their members are enumerated in the
first and second body part respectively.
5. Security Considerations
Because 495 (URI-List Handling Refused) is just an additional
response code to SIP [2], all the general security consideration of
SIP also apply to it. Implementors and administrators should also be
aware of two special security consideration related to 495 (URI-List
Handling Refused):
495 response is eavesdropped: 495 response code may contain
information about the members of a given URI-list (e.g.,
'buddylist'). Eavesdroppers can acquire this information if the
495 response is not encrypted. Therefore it is RECOMMENDED that
either hop-by-hop or end-to-end encryption is used.
URI-lists disclosed to rogue entity: A rogue entity may be able to
acquire information about the members of a given URI-list (e.g.,
'buddylist'), if the URI-list server sends information about those
URI-lists also to unauthorized users. Therefore it is RECOMMENDED
that URI-list server discloses the content of URI-list only to
authorized UACs.
6. IANA Considerations
The IANA is requested to make three additions to the Session
Initiation Protocol (SIP) Parameters registry. The first addition is
to add the following header field to the already existing Header
Fields sub-registry
Header Name compact Reference
----------------- ------- ---------
URI-List-Entry [RFCxxxx]
The second addition is to add the following header field parameter to
the already existing Header Field Parameters and Parameter Values
sub-registry.
Predefined
Header Field Parameter Name Values Reference
---------------------------- --------------- --------- ---------
URI-List-Entry members No [RFCxxxx]
The third addition is to add the following response code to the
already existing Methods and Response-Codes sub-registry.
Request Failure 4xx
Hautakorpi & Camarillo Expires December 1, 2006 [Page 7]
Internet-Draft URI-List Handling Refused May 2006
495 URI-List Handling Refused [RFCxxxx]
Note for the RFC Editor: The three occurrences of 'RFCxxxx' in the
above should be a reference to the coming RFC number of this draft.
7. References
7.1. Normative References
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[2] 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.
[3] Camarillo, G. and A. Roach, "Framework and Security
Considerations for Session Initiation Protocol (SIP) Uniform
Resource Identifier (URI)-List Services",
draft-ietf-sipping-uri-services-05 (work in progress),
January 2006.
[4] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", RFC 4234, October 2005.
[5] Levinson, E., "Content-ID and Message-ID Uniform Resource
Locators", RFC 2392, August 1998.
7.2. Informative References
[6] Rosenberg, J., "Extensible Markup Language (XML) Formats for
Representing Resource Lists",
draft-ietf-simple-xcap-list-usage-05 (work in progress),
February 2005.
[7] "OMA PoC System Description: Draft Versio 2.0", April 2006.
Hautakorpi & Camarillo Expires December 1, 2006 [Page 8]
Internet-Draft URI-List Handling Refused May 2006
Authors' Addresses
Jani Hautakorpi (editor)
Ericsson
Hirsalantie 11
Jorvas 02420
Finland
Email: Jani.Hautakorpi@ericsson.com
Gonzalo Camarillo
Ericsson
Hirsalantie 11
Jorvas 02420
Finland
Email: Gonzalo.Camarillo@ericsson.com
Hautakorpi & Camarillo Expires December 1, 2006 [Page 9]
Internet-Draft URI-List Handling Refused May 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.
Hautakorpi & Camarillo Expires December 1, 2006 [Page 10]