摘要

  • RFC 9878 更新 RFC 7315,因为后者关于多个 3GPP P-Header 可出现于哪些 SIP 请求和响应中的表述相互矛盾,或已不再符合 3GPP 用例。
  • 新规则是按字段、按消息制定的矩阵,不是普遍许可,也不证明收到的值真实。
  • 必须区分由 2xx 响应触发的 ACK 与由非 2xx 响应触发的 ACK。

RFC 7315 为私有 3GPP 网络定义了 P-Header 及其安全、隐私假设,但其适用性文字可能导致不同实现作出不同判断。RFC 9878 替换这些规则,并使 RFC 7976 过时。它删除 P-Associated-URI 在 REGISTER 请求中的使用,删除 P-Called-Party-ID 在响应中的使用,同时增加该字段在 REFER 请求中的使用。

P-Visited-Network-ID 可以出现在相关的非 100 响应中,但不得出现在 ACK、BYE、CANCEL、NOTIFY、PRACK、INFO 和 UPDATE 请求中。这把与 RFC 7976 相关的响应规则扩展到了注册响应之外。因此,接收方必须同时检查字段和消息上下文,不能只套用“响应允许”或“请求允许”的总规则。

ACK 的差别尤其重要。P-Access-Network-Info 可以出现在由 2xx 响应触发的 ACK 中,但不能出现在 CANCEL 或由非 2xx 响应触发的 ACK 中。它可能携带网络提供的、涉及隐私的位置信息,并用于 IMS 收费事件。字段出现得到允许,并不意味着可以越过 RFC 7315 的隐私边界披露位置数据。

P-Charging-Vector 可以出现在 2xx 触发的 ACK 和相关非 100 响应中,但不能出现在 CANCEL 或非 2xx 触发的 ACK 中。其 transit-ioi 可能标识按请求和方向独立选择的转接运营商。P-Charging-Function-Addresses 可以出现在相关非 100 响应中,但排除在 CANCEL 和 ACK 请求之外。

这些字段仍受 RFC 7315 关于私有网络和可信实体的假设约束。不能把这些假设扩展到开放互联网。RFC 9878 允许字段出现,也不等于字段真实、准确、安全,更不能证明任何运营商的计费正确性。RFC 9878 是信息性更新,不是互联网标准轨道上的规范。

来源