| rfc9878v1.txt | rfc9878.txt | |||
|---|---|---|---|---|
| skipping to change at line 19 ¶ | skipping to change at line 19 ¶ | |||
| October 2025 | October 2025 | |||
| Updates to Private Header (P-Header) Extension Usage in Session | Updates to Private Header (P-Header) Extension Usage in Session | |||
| Initiation Protocol (SIP) Requests and Responses | Initiation Protocol (SIP) Requests and Responses | |||
| Abstract | Abstract | |||
| The Third Generation Partnership Project (3GPP) has identified cases | The Third Generation Partnership Project (3GPP) has identified cases | |||
| where different SIP private header extensions referred to as "P-" | where different SIP private header extensions referred to as "P-" | |||
| header fields, and defined in RFC 7315, need to be included in SIP | header fields, and defined in RFC 7315, need to be included in SIP | |||
| requests and responses currently not allowed according to RFC 7315. | requests and responses where they were not allowed according to RFC | |||
| This document updates RFC 7315, in order to allow inclusion of the | 7315. This document updates RFC 7315, in order to allow inclusion of | |||
| affected "P-" header fields in such requests and responses. This | the affected "P-" header fields in such requests and responses. This | |||
| document obsoletes RFC 7976. The changes related to RFC 7976 involve | document obsoletes RFC 7976. The changes related to RFC 7976 involve | |||
| the inclusion of the P-Visited-Network-ID header field in SIP | the inclusion of the P-Visited-Network-ID header field in SIP | |||
| responses. | responses. | |||
| This document also makes updates to RFC 7315 in order to fix | This document also makes updates to RFC 7315 in order to fix | |||
| misalignments that occurred when RFC 3455 was updated and | misalignments that occurred when RFC 3455 was obsoleted by RFC 7315. | |||
| subsequently obsoleted by the publication of RFC 7315. | ||||
| Status of This Memo | Status of This Memo | |||
| This document is not an Internet Standards Track specification; it is | This document is not an Internet Standards Track specification; it is | |||
| published for informational purposes. | published for informational purposes. | |||
| This document is a product of the Internet Engineering Task Force | This document is a product of the Internet Engineering Task Force | |||
| (IETF). It represents the consensus of the IETF community. It has | (IETF). It represents the consensus of the IETF community. It has | |||
| received public review and has been approved for publication by the | received public review and has been approved for publication by the | |||
| Internet Engineering Steering Group (IESG). Not all documents | Internet Engineering Steering Group (IESG). Not all documents | |||
| skipping to change at line 87 ¶ | skipping to change at line 86 ¶ | |||
| 9. References | 9. References | |||
| 9.1. Normative References | 9.1. Normative References | |||
| 9.2. Informative References | 9.2. Informative References | |||
| Authors' Addresses | Authors' Addresses | |||
| 1. Introduction | 1. Introduction | |||
| The Third Generation Partnership Project (3GPP) has identified cases | The Third Generation Partnership Project (3GPP) has identified cases | |||
| where different Session Initiation Protocol (SIP) [RFC3261] private | where different Session Initiation Protocol (SIP) [RFC3261] private | |||
| header extensions referred to as "P-" header fields, and defined in | header extensions referred to as "P-" header fields, and defined in | |||
| [RFC7315], need to be included in SIP requests and responses | [RFC7315], need to be included in SIP requests and responses where | |||
| currently not allowed according to [RFC7315]. This document updates | they were not allowed according to [RFC7315]. This document updates | |||
| [RFC7315], in order to allow inclusion of the affected "P-" header | [RFC7315], in order to allow inclusion of the affected "P-" header | |||
| fields in such requests and responses. | fields in such requests and responses. | |||
| This document also makes updates to [RFC7315] in order to fix | This document also makes updates to [RFC7315] in order to fix | |||
| misalignments that occurred when [RFC3455] was updated and | misalignments that occurred when [RFC3455] was updated and | |||
| subsequently obsoleted by the publication of [RFC7315]. | subsequently obsoleted by the publication of [RFC7315]. | |||
| 2. Misalignments and 3GPP Use Cases | 2. Misalignments and 3GPP Use Cases | |||
| 2.1. General | 2.1. General | |||
| skipping to change at line 110 ¶ | skipping to change at line 109 ¶ | |||
| [RFC7315] contains contradictory statements regarding the usage of | [RFC7315] contains contradictory statements regarding the usage of | |||
| SIP "P-" header fields in SIP requests and responses, which leave the | SIP "P-" header fields in SIP requests and responses, which leave the | |||
| presence of the SIP "P-" header fields in the SIP requests and | presence of the SIP "P-" header fields in the SIP requests and | |||
| responses open to interpretation and different implementations. | responses open to interpretation and different implementations. | |||
| Statements in Section 5.7 of [RFC7315] are not aligned with the | Statements in Section 5.7 of [RFC7315] are not aligned with the | |||
| definitions and usage of the SIP "P-" header fields specified in | definitions and usage of the SIP "P-" header fields specified in | |||
| Section 4 of [RFC7315]. This section describes the misalignments | Section 4 of [RFC7315]. This section describes the misalignments | |||
| that occurred when [RFC3455] was updated and subsequently obsoleted | that occurred when [RFC3455] was updated and subsequently obsoleted | |||
| by the publication of [RFC7315], and how they are fixed. | by the publication of [RFC7315], and how they are fixed. | |||
| NOTE: In the case of the P-Called-Party-ID header field, allowing it | | NOTE: In the case of the P-Called-Party-ID header field, | |||
| in PUBLISH requests was done deliberately in [RFC7315]. Therefore, | | allowing it in PUBLISH requests was done deliberately in | |||
| it is not considered a misalignment. | | [RFC7315]. Therefore, it is not considered a misalignment. | |||
| Since [RFC7315] was published, 3GPP defined new use cases that | Since [RFC7315] was published, 3GPP defined new use cases that | |||
| require the RFC to be updated. This section describes the 3GPP use | require the RFC to be updated. This section describes the 3GPP use | |||
| cases behind the updates, and the updates needed to [RFC7315] in | cases behind the updates, and the updates needed to [RFC7315] in | |||
| order to support the use cases. | order to support the use cases. | |||
| Section 3 updates [RFC7315], based on the misalignments and 3GPP use | Section 3 updates [RFC7315], based on the misalignments and 3GPP use | |||
| cases. | cases. | |||
| 2.2. Misalignments | 2.2. Misalignments | |||
| skipping to change at line 190 ¶ | skipping to change at line 189 ¶ | |||
| A proxy in possession of appropriate information about the access | A proxy in possession of appropriate information about the access | |||
| technology might insert a P-Access-Network-Info header field with its | technology might insert a P-Access-Network-Info header field with its | |||
| own values. Such values are identified by the string "network- | own values. Such values are identified by the string "network- | |||
| provided" defined in [RFC7315]. Based on operator policy, roaming | provided" defined in [RFC7315]. Based on operator policy, roaming | |||
| agreement, or both, the local time of the visited network may be | agreement, or both, the local time of the visited network may be | |||
| included. | included. | |||
| The Call Data Records (CDRs) generated within the IP Multimedia | The Call Data Records (CDRs) generated within the IP Multimedia | |||
| Subsystem (IMS) have to contain the NPLI in order to guarantee | Subsystem (IMS) have to contain the NPLI in order to guarantee | |||
| correct billing. When an IMS session is modified, the NPLI also | correct billing. When an IMS session is modified, the NPLI also | |||
| needs to be stored as the location of the user at the time when the | needs to be stored, as the location of the user at the time when the | |||
| session is modified may generate a charging event. In case of a | session is modified may generate a charging event. In case of a | |||
| session modification event at IMS, the NPLI needs to be provided: | session modification event at IMS, the NPLI needs to be provided: | |||
| * when the bearer establishment is triggered, or | * when the bearer establishment is triggered, or | |||
| * at session release when the bearer deactivation is triggered, or | * at session release when the bearer deactivation is triggered, or | |||
| * when the bearer modification is triggered, e.g., a QoS | * when the bearer modification is triggered, e.g., a QoS | |||
| modification for the use of a newly negotiated codec. | modification for the use of a newly negotiated codec. | |||
| In some scenarios, the bearer modification may be triggered by the | In some scenarios, the bearer modification may be triggered by the | |||
| proxy upon reception of a Session Description Protocol (SDP) answer | proxy upon reception of a Session Description Protocol (SDP) answer | |||
| within SIP 2xx response to the SIP INVITE request. In such case, the | within the SIP 2xx response to the SIP INVITE request. In such case, | |||
| NPLI needs to be provided within the SIP ACK request. However, | the NPLI needs to be provided within the SIP ACK request. However, | |||
| [RFC7315] does not allow the usage of the P-Access-Network-Info | [RFC7315] does not allow the usage of the P-Access-Network-Info | |||
| header field in a SIP ACK request. | header field in a SIP ACK request. | |||
| Upon reception of the SDP answer within SIP 2xx response on the SIP | Upon reception of the SDP answer within a SIP 2xx response on the SIP | |||
| INVITE request, a proxy may initiate procedures to obtain the NPLI | INVITE request, a proxy may initiate procedures to obtain the NPLI | |||
| and may include the P-Access-Network-Info header field with the NPLI | and may include the P-Access-Network-Info header field with the NPLI | |||
| in the SIP ACK request. | in the SIP ACK request. | |||
| The P-Access-Network-Info header field shall not be included in SIP | The P-Access-Network-Info header field shall not be included in SIP | |||
| ACK requests triggered by non-2xx responses. | ACK requests triggered by non-2xx responses. | |||
| 2.3.3. P-Charging-Vector | 2.3.3. P-Charging-Vector | |||
| [RFC7315] defines an Inter Operator Identifier (IOI) to enable | [RFC7315] defines an Inter Operator Identifier (IOI) to enable | |||
| skipping to change at line 244 ¶ | skipping to change at line 243 ¶ | |||
| reason, it is necessary that the P-Charging-Vector header field, | reason, it is necessary that the P-Charging-Vector header field, | |||
| which carries the transit IOI information, is included in each SIP | which carries the transit IOI information, is included in each SIP | |||
| request and response. However, [RFC7315] does not allow the usage of | request and response. However, [RFC7315] does not allow the usage of | |||
| the P-Charging-Vector header field in the SIP ACK request. | the P-Charging-Vector header field in the SIP ACK request. | |||
| A SIP proxy that supports this extension and receives the SIP ACK | A SIP proxy that supports this extension and receives the SIP ACK | |||
| request may include a P-Charging-Vector header field in the SIP ACK | request may include a P-Charging-Vector header field in the SIP ACK | |||
| request. | request. | |||
| The P-Charging-Vector header field shall not be included in SIP ACK | The P-Charging-Vector header field shall not be included in SIP ACK | |||
| requests triggered by SIP non-2xx responses. | requests triggered by non-2xx responses. | |||
| 3. Updates to RFC 7315 | 3. Updates to RFC 7315 | |||
| This section contains the update to Section 5.7 of [RFC7315], in | This section contains the update to Section 5.7 of [RFC7315], in | |||
| order to implement the misalignment fixes and the 3GPP requirements | order to implement the misalignment fixes and the 3GPP requirements | |||
| described in Section 2. | described in Section 2. In the old text, blank lines have been added | |||
| for readability. | ||||
| Old text: | Old text: | |||
| | The P-Associated-URI header field can appear in SIP REGISTER | | The P-Associated-URI header field can appear in SIP REGISTER | |||
| | method and 2xx resonses [sic]. The P-Called-Party-ID header field | | method and 2xx resonses [sic]. | |||
| | can appear in SIP INVITE, OPTIONS, PUBLISH, SUBSCRIBE, and MESSAGE | | | |||
| | methods and all responses. The P-Visited-Network-ID header field | | The P-Called-Party-ID header field can appear in SIP INVITE, | |||
| | can appear in all SIP methods except ACK, BYE, and CANCEL and all | | OPTIONS, PUBLISH, SUBSCRIBE, and MESSAGE methods and all | |||
| | responses. The P-Access-Network-Info header field can appear in | | responses. | |||
| | all SIP methods except ACK and CANCEL. The P-Charging-Vector | | | |||
| | header field can appear in all SIP methods except CANCEL. The P- | | The P-Visited-Network-ID header field can appear in all SIP | |||
| | Charging-Function-Addresses header field can appear in all SIP | | methods except ACK, BYE, and CANCEL and all responses. | |||
| | | ||||
| | The P-Access-Network-Info header field can appear in all SIP | ||||
| | methods except ACK and CANCEL. | | methods except ACK and CANCEL. | |||
| | | ||||
| | The P-Charging-Vector header field can appear in all SIP methods | ||||
| | except CANCEL. | ||||
| | | ||||
| | The P-Charging-Function-Addresses header field can appear in all | ||||
| | SIP methods except ACK and CANCEL. | ||||
| New text: | New text: | |||
| | The P-Associated-URI header field can appear in SIP REGISTER 2xx | | The P-Associated-URI header field can appear in SIP REGISTER 2xx | |||
| | responses. | | responses. | |||
| | | | | |||
| | The P-Called-Party-ID header field can appear in the SIP INVITE, | | The P-Called-Party-ID header field can appear in the SIP INVITE, | |||
| | OPTIONS, PUBLISH, REFER, SUBSCRIBE, and MESSAGE requests. | | OPTIONS, PUBLISH, REFER, SUBSCRIBE, and MESSAGE requests. | |||
| | | | | |||
| | The P-Visited-Network-ID header field can appear in all SIP | | The P-Visited-Network-ID header field can appear in all SIP | |||
| skipping to change at line 354 ¶ | skipping to change at line 362 ¶ | |||
| A., Peterson, J., Sparks, R., Handley, M., and E. | A., Peterson, J., Sparks, R., Handley, M., and E. | |||
| Schooler, "SIP: Session Initiation Protocol", RFC 3261, | Schooler, "SIP: Session Initiation Protocol", RFC 3261, | |||
| DOI 10.17487/RFC3261, June 2002, | DOI 10.17487/RFC3261, June 2002, | |||
| <https://www.rfc-editor.org/info/rfc3261>. | <https://www.rfc-editor.org/info/rfc3261>. | |||
| [RFC7315] Jesske, R., Drage, K., and C. Holmberg, "Private Header | [RFC7315] Jesske, R., Drage, K., and C. Holmberg, "Private Header | |||
| (P-Header) Extensions to the Session Initiation Protocol | (P-Header) Extensions to the Session Initiation Protocol | |||
| (SIP) for the 3GPP", RFC 7315, DOI 10.17487/RFC7315, July | (SIP) for the 3GPP", RFC 7315, DOI 10.17487/RFC7315, July | |||
| 2014, <https://www.rfc-editor.org/info/rfc7315>. | 2014, <https://www.rfc-editor.org/info/rfc7315>. | |||
| [TS23.228] 3GPP, "IP Multimedia Subsystem (IMS); Stage 2", Version | [TS23.228] 3GPP, "IP Multimedia Subsystem (IMS); Stage 2", 3GPP | |||
| 13.6.0, Release 13, 3GPP TS 23.228, June 2016, | TS 23.228, | |||
| <https://www.3gpp.org/ftp//Specs/ | <https://portal.3gpp.org/desktopmodules/Specifications/ | |||
| archive/23_series/23.228/23228-g30.zip>. | SpecificationDetails.aspx?specificationId=821>. | |||
| [TS24.229] 3GPP, "IP multimedia call control protocol based on | [TS24.229] 3GPP, "IP multimedia call control protocol based on | |||
| Session Initiation Protocol (SIP) and Session Description | Session Initiation Protocol (SIP) and Session Description | |||
| Protocol (SDP); Stage 3", Version 13.6.0, Release 13, 3GPP | Protocol (SDP); Stage 3", 3GPP TS 24.229, | |||
| TS 24.229, June 2016, <https://www.3gpp.org/ftp/Specs/ | <https://portal.3gpp.org/desktopmodules/Specifications/ | |||
| archive/24_series/24.229/24229-d60.zip>. | SpecificationDetails.aspx?specificationId=1055>. | |||
| 9.2. Informative References | 9.2. Informative References | |||
| [RFC3455] Garcia-Martin, M., Henrikson, E., and D. Mills, "Private | [RFC3455] Garcia-Martin, M., Henrikson, E., and D. Mills, "Private | |||
| Header (P-Header) Extensions to the Session Initiation | Header (P-Header) Extensions to the Session Initiation | |||
| Protocol (SIP) for the 3rd-Generation Partnership Project | Protocol (SIP) for the 3rd-Generation Partnership Project | |||
| (3GPP)", RFC 3455, DOI 10.17487/RFC3455, January 2003, | (3GPP)", RFC 3455, DOI 10.17487/RFC3455, January 2003, | |||
| <https://www.rfc-editor.org/info/rfc3455>. | <https://www.rfc-editor.org/info/rfc3455>. | |||
| Authors' Addresses | Authors' Addresses | |||
| End of changes. 13 change blocks. | ||||
| 31 lines changed or deleted | 39 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||