| 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. | ||||