One document matched: draft-camarillo-sip-consent-method-00.txt
SIP G. Camarillo
Internet-Draft Ericsson
Expires: August 29, 2006 February 25, 2006
The Session Initiation Protocol (SIP) CONSENT Method
draft-camarillo-sip-consent-method-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 August 29, 2006.
Copyright Notice
Copyright (C) The Internet Society (2006).
Abstract
This document defines the SIP CONSENT method. SIP relays use CONSENT
requests to ask the recipient of a particular translation for
permission to perform that translation. In addition, this document
defines the Permission-Upload and the Trigger-Consent header fields,
and the 470 (Consent Needed) status code.
Camarillo Expires August 29, 2006 [Page 1]
Internet-Draft The CONSENT Method February 2006
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Generating a CONSENT request . . . . . . . . . . . . . . . . . 3
3.1. Processing CONSENT Responses . . . . . . . . . . . . . . . 4
4. Processing CONSENT Requests . . . . . . . . . . . . . . . . . 4
5. Handling of OPTIONS Requests . . . . . . . . . . . . . . . . . 4
6. The Permission-Upload Header Field . . . . . . . . . . . . . . 5
7. Permission Upload . . . . . . . . . . . . . . . . . . . . . . 5
7.1. Permission Revocation . . . . . . . . . . . . . . . . . . 5
8. The Trigger-Consent Header Field . . . . . . . . . . . . . . . 6
9. The 470 (Consent Needed) Status Code . . . . . . . . . . . . . 7
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
11. Security Considerations . . . . . . . . . . . . . . . . . . . 8
12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8
13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8
13.1. Normative References . . . . . . . . . . . . . . . . . . . 8
13.2. Informative References . . . . . . . . . . . . . . . . . . 9
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 10
Intellectual Property and Copyright Statements . . . . . . . . . . 11
Camarillo Expires August 29, 2006 [Page 2]
Internet-Draft The CONSENT Method February 2006
1. Introduction
The framework for consent-based communications in SIP [4] identifies
the need for relays to ask the recipient of a particular translation
for permission to perform that translation. Relays request
permission from recipients by sending them CONSENT requests, which
are specified in this document.
CONSENT requests carry in their bodies permission documents, which
describe the translation for which permissions are needed.
Additionally, CONSENT requests carry Permission-Upload header fields,
which carry a URI where the recipient of the CONSENT request needs to
upload a permission document granting or denying permission to
perform a particular translation.
This document also defines the 470 (Consent Needed) status code.
This response is returned by relays that do not have permissions to
perform a particular translation.
The Trigger-Consent header field contains a URI where a user agent
can send a REFER that will trigger a CONSENT request, as described in
[4].
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.
3. Generating a CONSENT request
A relay wishing to ask a recipient of a translation for permission to
perform that translation generates a CONSENT requests towards the
recipient. The relay SHOULD include in its CONSENT request a a body
with a permission document and a Permission-Upload header field.
The permission document describes the translation for which
permissions are being requested. Entities that support the CONSENT
method MUST support the format for permission documents defined in
[5] and MAY support other formats.
The Permission-Upload header field carries a URI that the recipient
of the CONSENT request will use to upload a permission document
granting or denying permission to perform a particular translation.
Camarillo Expires August 29, 2006 [Page 3]
Internet-Draft The CONSENT Method February 2006
That URI SHOULD remain valid as long as the translation exists at the
relay so that user agents can revoke permissions at a later point.
Entities that support the CONSENT method MUST support the Permission-
Upload header field.
Except as noted, the construction of the CONSENT request and the
behavior of clients sending a CONSENT request are identical to the
general UAC (User Agent Client) behavior described in Section 8.1 and
Section 17.1 of RFC 3261 [3].
A CONSENT request does not establish a dialog. A UAC MAY include a
Route header field in a CONSENT request based on a pre-existing route
set as described in Section 8.1 of RFC 3261 [3]. The Record-Route
header field has no meaning in CONSENT requests or responses, and is
ignored if present.
The CONSENT request MAY contain a Contact header field. A client MAY
send a CONSENT request within an existing dialog, but the fact that a
CONSENT request is received within a dialog does not have any special
meaning.
3.1. Processing CONSENT Responses
When processing responses to CONSENT requests, the steps in Section
8.1.2 of RFC 3261 [3] apply.
As indicated earlier, the UAC MUST NOT create a new route set based
on the presence or absence of a Record-Route header field in any
response to a CONSENT request.
4. Processing CONSENT Requests
When receiving a PUBLISH request, the ESC follows the steps defining
general UAS behavior in Section 8.2 of RFC 3261 [3]. As indicated
earlier, a UAS receiving a CONSENT request MUST NOT create a new
route set based on the presence or absence of a Record-Route header
field in the CONSENT request.
5. Handling of OPTIONS Requests
If necessary, clients may probe for the support of CONSENT using the
OPTIONS request defined in SIP [3]. The presence of 'CONSENT' in the
Allow header field in a response to an OPTIONS request indicates
support for the CONSENT method.
UAS (User Agent Servers) process OPTIONS requests as defined in
Camarillo Expires August 29, 2006 [Page 4]
Internet-Draft The CONSENT Method February 2006
Section 11.2 of RFC 3261 [3]. In the response to an OPTIONS request,
the UAS SHOULD include 'CONSENT' in the list of allowed methods in
the Allow header field.
6. The Permission-Upload Header Field
The following is the augmented Backus-Naur Form (BNF) [2] syntax of
the Permission-Upload header field. Some of its elements are defined
in RFC 3261 [3].
Permission-Upload = "Permission-Upload" HCOLON perm-up-spec
perm-up-spec = ( name-addr / addr-spec )
*( SEMI generic-param )
A Permission-Upload header field in a CONSENT request carries a URI
that the recipient of the CONSENT request will use to upload a
permission document granting or denying permission to perform a the
translation described by the permission document in the CONSENT
request.
7. Permission Upload
A user agent receiving a CONSENT request is requested to generate a
permission document that describes the same translation as the
permission document in the CONSENT request did and that allows or
denies its execution at the relay. The user agent is requested to
upload such a permission document to the URI received in the
Permission-Upload header field of the CONSENT request.
When the URI in the Permission-Upload header field is a SIP or a SIPS
URI, the user agent MUST send a PUBLISH request containing the
generated permission document to that URI.
The use of other types of URIs to upload permission documents is
for further study. However, note that any upload mechanism used
in this context needs to meet the authentication criteria
described in the framework for consent-based communications in SIP
[4].
7.1. Permission Revocation
A user agent that wants to revoke a permission that was given in the
past generates a permission document that describes the translation
for which permission was given and that denies its execution at the
relay. The user agent uploads the permission document to the same
Camarillo Expires August 29, 2006 [Page 5]
Internet-Draft The CONSENT Method February 2006
URI as the user agent uploaded the original permission document
granting the permission.
Consequently, user agents MAY store the URIs used to upload
permission documents in order to revoke permissions at a later point.
If the user agent loses the URI associated to a permission or a
PUBLISH request sent to that URI is rejected, the user agent can
obtain a new URI following the procedures discussed in [4].
8. The Trigger-Consent Header Field
The Trigger-Consent header field contains a URI where a user agent
can send a REFER that will trigger a CONSENT request, as described in
[4].
Relays performing a translation for which they previously obtained
permission MUST add a Trigger-Consent header field to the outgoing
request that is the result of the translation. The URI in this
header field can be used by recipients that want to revoke their
permission but lost the URI to do so. Sending a REFER request to the
URI in the Trigger-Consent header field will provide them with a new
CONSENT request that will carry a Permission-Upload header field.
The Permission-Upload header field will contain a URI the recipient
can use to revoke permissions.
Registrars that require consent before installing a translation MUST
include a Trigger-Consent header field in their responses to incoming
REGISTER requests, as described in [4].
Relays generating 470 (Consent Needed) responses MUST include a
Trigger-Consent header field in those responses, as described in [4].
The following is the augmented Backus-Naur Form (BNF) [2] syntax of
the Trigger-Consent header field. Some of its elements are defined
in RFC 3261 [3].
Trigger-Consent = "Trigger-Consent" HCOLON trigger-cons-spec
trigger-cons-spec = ( name-addr / addr-spec )
*( SEMI generic-param )
Trigger-Consent header fields MUST contain a URI with an escaped
(using the '?' mechanism) Refer-To header field. The URI in the
escaped Refer-To header field is the recipient URI of the
translation. This ensures that a REFER sent to the URI in the
Trigger-Consent header field will trigger a CONSENT towards the
recipient URI. The following is an example of a Trigger-Consent
Camarillo Expires August 29, 2006 [Page 6]
Internet-Draft The CONSENT Method February 2006
header field:
sip:relay@example.com?Refer-To=<sip:recipient%40example.net>
9. The 470 (Consent Needed) Status Code
This status code is returned by relays that do not have permissions
to perform a particular translation, as described in [4].
10. IANA Considerations
This document defines a new SIP method (CONSENT), two new SIP header
fields (Permission-Upload and Trigger-Consent), and new status code
(470).
The IANA is instructed to add the following new SIP method to the
Methods and Response Codes subregistry under the SIP Parameters
registry.
Method Name: CONSENT
Reference: [RFCxxxx]
Note to the RFC editor: substitute xxxx with the RFC number of this
document.
The IANA is instructed to add the following new SIP header field to
the Header Fields subregistry under the SIP Parameters registry.
Header Name: Permission-Upload
Compact Form: (none)
Reference: [RFCxxxx]
Note to the RFC editor: substitute xxxx with the RFC number of this
document.
The IANA is instructed to add the following new SIP header field to
the Header Fields subregistry under the SIP Parameters registry.
Header Name: Trigger-Consent
Compact Form: (none)
Reference: [RFCxxxx]
Camarillo Expires August 29, 2006 [Page 7]
Internet-Draft The CONSENT Method February 2006
Note to the RFC editor: substitute xxxx with the RFC number of this
document.
The IANA is instructed to add the following new response code to the
Methods and Response Codes subregistry under the SIP Parameters
registry.
Response Code Number: 470
Default Reason Phrase: Consent Needed
Reference: [RFCxxxx]
Note to the RFC editor: substitute xxxx with the RFC number of this
document.
11. Security Considerations
TBD.
12. Acknowledgements
TBD.
13. References
13.1. Normative References
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[2] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", RFC 2234, November 1997.
[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] Rosenberg, J., "A Framework for Consent-Based Communications in
the Session Initiation Protocol (SIP)",
draft-ietf-sipping-consent-framework-03 (work in progress),
October 2005.
[5] Camarillo, G., "A Document Format for Expressing Consent",
draft-camarillo-sipping-consent-format-00 (work in progress),
February 2006.
Camarillo Expires August 29, 2006 [Page 8]
Internet-Draft The CONSENT Method February 2006
13.2. Informative References
Camarillo Expires August 29, 2006 [Page 9]
Internet-Draft The CONSENT Method February 2006
Author's Address
Gonzalo Camarillo
Ericsson
Hirsalantie 11
Jorvas 02420
Finland
Email: Gonzalo.Camarillo@ericsson.com
Camarillo Expires August 29, 2006 [Page 10]
Internet-Draft The CONSENT Method February 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.
Camarillo Expires August 29, 2006 [Page 11]
| PAFTECH AB 2003-2026 | 2026-04-23 08:34:13 |