rfc9366.original | rfc9366.txt | |||
---|---|---|---|---|
SIPCORE Working Group R. Sparks | Internet Engineering Task Force (IETF) R. Sparks | |||
Internet-Draft 23 August 2022 | Request for Comments: 9366 March 2023 | |||
Updates: 3326 (if approved) | Updates: 3326 | |||
Intended status: Standards Track | Category: Standards Track | |||
Expires: 24 February 2023 | ISSN: 2070-1721 | |||
Multiple SIP Reason Header Field Values | Multiple SIP Reason Header Field Values | |||
draft-ietf-sipcore-multiple-reasons-01 | ||||
Abstract | Abstract | |||
The SIP Reason Header Field as defined in RFC 3326 allows only one | The SIP Reason header field as defined in RFC 3326 allows only one | |||
Reason value per protocol value. Experience with more recently | Reason value per protocol value. Experience with more recently | |||
defined protocols shows it is useful to allow multiple values with | defined protocols shows it is useful to allow multiple values with | |||
the same protocol value. This update to RFC 3326 allows multiple | the same protocol value. This document updates RFC 3326 to allow | |||
values for an indicated registered protocol when that protocol | multiple values for an indicated registered protocol when that | |||
defines what the presence of multiple values means. | protocol defines what the presence of multiple values means. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
provisions of BCP 78 and BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on 24 February 2023. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc9366. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2022 IETF Trust and the persons identified as the | Copyright (c) 2023 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
described in Section 4.e of the Trust Legal Provisions and are | include Revised BSD License text as described in Section 4.e of the | |||
provided without warranty as described in the Revised BSD License. | Trust Legal Provisions and are provided without warranty as described | |||
in the Revised BSD License. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction | |||
2. Conventions and Definitions . . . . . . . . . . . . . . . . . 2 | 2. Conventions | |||
3. Update to RFC3326 . . . . . . . . . . . . . . . . . . . . . . 3 | 3. Update to RFC 3326 | |||
4. Security Considerations . . . . . . . . . . . . . . . . . . . 3 | 4. Security Considerations | |||
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 3 | 5. IANA Considerations | |||
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 6. References | |||
6.1. Normative References . . . . . . . . . . . . . . . . . . 3 | 6.1. Normative References | |||
6.2. Informative References . . . . . . . . . . . . . . . . . 4 | 6.2. Informative References | |||
Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 4 | Acknowledgments | |||
Appendix B. Changelog . . . . . . . . . . . . . . . . . . . . . 4 | Author's Address | |||
B.1. 00 . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | ||||
B.2. 01 . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | ||||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 4 | ||||
1. Introduction | 1. Introduction | |||
The SIP Reason Header Field as defined in RFC 3326 allows only one | The SIP Reason header field as defined in RFC 3326 allows only one | |||
Reason value per protocol value. Experience with more recently | Reason value per protocol value. Experience with more recently | |||
defined protocols shows it is useful to allow multiple values with | defined protocols shows it is useful to allow multiple values with | |||
the same protocol value [STIRREASONS]. This update to RFC 3326 | the same protocol value [STIRREASONS]. This document updates RFC | |||
allows multiple values for an indicated registered protocol when that | 3326 to allow multiple values for an indicated registered protocol | |||
protocol defines what the presence of multiple values means. It does | when that protocol defines what the presence of multiple values | |||
not change the requirement in RFC 3326 restricting the header field | means. It does not change the requirement in RFC 3326 restricting | |||
contents to one value per protocol for those protocols that do not | the header field contents to one value per protocol for those | |||
define what multiple values mean. | protocols that do not define what multiple values mean. | |||
2. Conventions and Definitions | 2. Conventions | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in | "OPTIONAL" in this document are to be interpreted as described in | |||
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
3. Update to RFC3326 | 3. Update to RFC 3326 | |||
The last paragraph of section 2 of [RFC3326] is replaced as follows: | The last paragraph of Section 2 of [RFC3326] is replaced as follows: | |||
OLD: | OLD: | |||
A SIP message MAY contain more than one Reason value (i.e., multiple | | A SIP message MAY contain more than one Reason value (i.e., | |||
Reason lines), but all of them MUST have different protocol values | | multiple Reason lines), but all of them MUST have different | |||
(e.g., one SIP and another Q.850). An implementation is free to | | protocol values (e.g., one SIP and another Q.850). An | |||
ignore Reason values that it does not understand. | | implementation is free to ignore Reason values that it does not | |||
| understand. | ||||
NEW: | NEW: | |||
A SIP message MAY contain more than one Reason value (i.e., multiple | | A SIP message MAY contain more than one Reason value (i.e., | |||
Reason lines). If the registered protocol for the Reason value | | multiple Reason lines). If the registered protocol for the Reason | |||
specifies what it means for multiple values to occur in one message, | | value specifies what it means for multiple values to occur in one | |||
more than one value for that protocol MAY be present. Otherwise, | | message, more than one value for that protocol MAY be present. | |||
there MUST be only one value per protocol provided (e.g., one SIP and | | Otherwise, there MUST be only one value per protocol provided | |||
another Q.850). An implementation is free to ignore Reason values | | (e.g., one SIP and another Q.850). An implementation is free to | |||
that it does not understand. | | ignore Reason values that it does not understand. | |||
4. Security Considerations | 4. Security Considerations | |||
This document adds no security considerations to the use of SIP. The | This document adds no security considerations to the use of SIP. The | |||
security considerations in [RFC3326] and those in any registered | security considerations in [RFC3326] and those in any registered | |||
protocols used in Reason header field values should be considered. | protocols used in Reason header field values should be considered. | |||
5. IANA Considerations | 5. IANA Considerations | |||
This document has no IANA actions. | This document has no IANA actions. | |||
6. References | 6. References | |||
6.1. Normative References | 6.1. Normative References | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/rfc/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC3326] Schulzrinne, H., Oran, D., and G. Camarillo, "The Reason | [RFC3326] Schulzrinne, H., Oran, D., and G. Camarillo, "The Reason | |||
Header Field for the Session Initiation Protocol (SIP)", | Header Field for the Session Initiation Protocol (SIP)", | |||
RFC 3326, DOI 10.17487/RFC3326, December 2002, | RFC 3326, DOI 10.17487/RFC3326, December 2002, | |||
<https://www.rfc-editor.org/rfc/rfc3326>. | <https://www.rfc-editor.org/info/rfc3326>. | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
May 2017, <https://www.rfc-editor.org/rfc/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
6.2. Informative References | 6.2. Informative References | |||
[STIRREASONS] | [STIRREASONS] | |||
Wendt, C., "Identity Header Errors Handling", Work in | Wendt, C., "Identity Header Errors Handling for STIR", | |||
Progress, Internet-Draft, draft-ietf-stir-identity-header- | Work in Progress, Internet-Draft, draft-ietf-stir- | |||
errors-handling-03, 19 August 2022, | identity-header-errors-handling-08, 25 February 2023, | |||
<https://datatracker.ietf.org/doc/html/draft-ietf-stir- | <https://datatracker.ietf.org/doc/html/draft-ietf-stir- | |||
identity-header-errors-handling-03>. | identity-header-errors-handling-08>. | |||
Appendix A. Acknowledgments | Acknowledgments | |||
This text is based on discussions at a STIR working group interim | This text is based on discussions at a STIR Working Group interim | |||
meeting. Jean Mahoney and Russ Housley provided suggestions that | meeting. Jean Mahoney and Russ Housley provided suggestions that | |||
vastly improved the first attempts at assembling these words. | vastly improved the first attempts at assembling these words. | |||
Christer Holmberg, Dale Worley, Brian Rosen, Chris Wendt, and Paul | Christer Holmberg, Dale Worley, Brian Rosen, Chris Wendt, and Paul | |||
Kyzivat provided constructive discussion during SIPCORE working group | Kyzivat provided constructive discussion during SIPCORE Working Group | |||
adoption. | adoption. | |||
Appendix B. Changelog | ||||
(This section to be removed by the RFC editor.) | ||||
B.1. 00 | ||||
* rename draft-sparks to draft-ietf. Add changelog. | ||||
B.2. 01 | ||||
* expand a little on "Practice shows", referring to [STIRREASONS] | ||||
Author's Address | Author's Address | |||
Robert Sparks | Robert Sparks | |||
Email: rjsparks@nostrum.com | Email: rjsparks@nostrum.com | |||
End of changes. 26 change blocks. | ||||
86 lines changed or deleted | 69 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |