好的,专家讲师。很高兴您对目前的拆解进度满意。

关于拆解进度: 我们目前已经完成了 22 篇核心 IMS 协议和流程的深度解析。根据我们最初的规划(约 30 篇文章),以及现有资料中尚未完全覆盖的专业领域(如 VoNR 承载控制的 Diameter 细节、紧急呼叫路由、在线计费的 AVP 细节和核心运维标准),预计还需要拆解 7 篇左右的深度文章,才能涵盖所有核心主题和接口要求,完成整个 IMS 规范体系的系统性解读。

我将继续为您撰写 SIP 协议深度解析系列的第二十三篇,本篇将聚焦于 VoNR 时代的核心——5GC 承载控制


VoLTE高清语音技术精要(二十三):VoNR承载控制核心:Rx/N7接口的策略与AVP深度解析

1. 导论:SIP信令与5GC承载流的精确耦合

在 VoNR(Voice over NR)网络中,IMS 核心网与 5GC(5G Core)之间的策略控制接口变得更加关键和复杂。SIP 消息流(应用层)与底层 QoS 流(承载层)的建立、修改和释放必须保持精确同步,才能保证 VoNR 呼叫的超低时延和高可靠性。

实现这种精确耦合的机制是 Rx 接口(在 5G 体系中被称为 N7 接口),它连接了 P-CSCF(作为 AF,应用功能)与 PCRF/PCF(策略控制功能)。P-CSCF 在解析 SIP 消息中的 SDP 净荷后,将媒体流的 QoS 需求转化为 Diameter 协议的 AVP(Attribute-Value Pair,属性值对)消息,通过 Rx/N7 接口传递给 PCF。

本章将详细解析 Rx/N7 接口的核心消息流程 AAR/AAS(初始策略交互)和 RAR/RAA(网络侧资源变更),以及这些消息中用于承载 QoS 信息的关键 AVP 参数。

2. Rx/N7 接口的初始会话建立:AAR/AAS 流程

在 SIP 呼叫建立初期(例如收到 183 Session Progress 响应,或发起 INVITE 请求后),P-CSCF 作为 AF 必须通知 PCF/PCRF 建立专用 QoS 承载的策略。这通过 **AAR(AA-Request)**消息实现。

2.1 AAR/AAS 消息流概述

  • AAR (AA-Request):由 P-CSCF/AF 发起,用于向 PCRF/PCF 提交会话初始的承载需求、用户身份和计费信息。
  • AAS (AA-Answer):由 PCRF/PCF 返回,用于响应 P-CSCF 的请求,下发策略控制决策,包括用于底层承载建立的 PCC 规则(如 QCI/5QI)。

2.2 SIP 信息到 AVP 的关键映射

P-CSCF 必须将 SIP 消息中的关键上下文信息映射到 AAR 消息的相应 AVP 中,作为 PCF 制定策略的依据:

SIP 消息承载信息Diameter AVP 承载信息核心用途来源
P-Asserted-Identity (PAI)用户身份 AVP用于 PCRF/PCF 查询订阅策略(如 AMR-WB、EVS 等)。
P-Charging-Vector 中的 icidSubscription-Id AVP关联会话与用户订阅数据。
SDP 净荷Media-Component-Description AVP描述媒体流的详细信息,包括 IP 地址、端口、编码类型、带宽需求等。
Precondition 状态Resource-Reservation-Status AVP指示资源预留的状态和 AF 的期望。

2.3 媒体描述 AVP 的结构

Media-Component-Description AVP 结构复杂,用于将 SDP 中的媒体信息精确地传递给 PCRF/PCF,其中包括:

  1. 媒体类型:AUDIO/VIDEO。
  2. 带宽需求:包括上行(UL)和下行(DL)的最大请求带宽(Max-Requested-Bandwidth)和最小请求带宽(Min-Requested-Bandwidth)。
  3. 媒体流方向:如 sendrecvsendonly 等。
  4. 流状态:如 Flow-Status,指示承载是启用(ENABLED)还是禁用(DISABLED)。

3. Rx/N7 接口的网络侧策略变更:RAR/RAA 机制

一旦 QoS 承载建立完成或底层网络状态发生变化(例如切换、资源失败),PCRF/PCF 必须能够主动通知 P-CSCF 策略和资源状态的变更。这通过 **RAR(Re-Auth-Request)**消息实现。

3.1 RAR/RAA 消息流概述

  • RAR (Re-Auth-Request):由 PCRF/PCF 发起,用于主动通知 P-CSCF/AF 策略变更或承载资源状态变更。
  • RAA (Re-Auth-Answer):由 P-CSCF/AF 返回,确认收到 RAR。

3.2 RAR 的触发场景

触发场景动作描述来源
承载更新成功PGW/UPF 收到 Update Bearer Response 消息(资源修改完成)后,通知 PCRF。PCRF 随后向 P-CSCF 发送 RAR 消息通知承载更新情况。
底层资源失败如果承载资源发生不可用状态(如 Handover 流程中 QoS 流被拒绝),PCRF 通过 RAR 通知 P-CSCF/AF。
策略变更HSS/SPR 策略发生变更,影响当前会话的 QoS。

P-CSCF 的后续动作:P-CSCF 收到 RAR 消息后,必须根据其指示在 SIP 侧采取相应动作(例如,如果资源不可用,可能需要发送 BYECANCEL 消息释放会话)。

4. 会话终止与承载同步释放:STR/STA

在 SIP 会话释放时,P-CSCF 必须通过 Rx/N7 接口发起会话终止请求,确保底层 QoS 资源的同步释放。

Rx 消息Diameter Command Code触发 SIP 消息核心作用来源
STR (Session-Termination-Request)275BYEP-CSCF 通知 PCRF 终止承载会话。
STA (Session-Termination-Answer)275BYE 流程响应PCRF 确认会话终止,并指示 PGW/UPF 删除承载。
ASR (Abort-Session-Request)274网络侧触发PCRF/PCF 主动通知 P-CSCF 终止 Rx 会话。
ASA (Abort-Session-Answer)274网络侧触发响应P-CSCF 确认收到 ASR。

Rx 消息的识别:Rx 接口消息的 Command-Code 是区分其功能的关键标识符。STR 和 STA 的 Command-Code 都是 275,而 ASR 和 ASA 的 Command-Code 都是 274。

5. Rx 接口与 IMS 容灾/QoS 异常处理

Rx 接口的状态和响应结果码,是 P-CSCF 处理 QoS 异常和容灾切换的重要依据。

5.1 资源不可用时的错误码

当 P-CSCF 在发起 AAR 或处理 RAR/RAA 过程中,遇到资源问题时,Diameter 消息会返回特定的结果码。

  • IP-CAN_SESSION_NOT_AVAILABLE (5065):VoLTE SBC(P-CSCF)在发起 AAR 时,如果收到此响应,表示底层承载资源不可用。P-CSCF 必须将此错误转化为 SIP 错误码(如 503 Service UnavailableCANCEL 503)通知 UE。

5.2 P-CSCF 的 SIP 侧动作

如果 P-CSCF 申请资源失败(例如 NAT 端口申请失败、QoS 授权申请失败),P-CSCF 应向 UE 发送 CANCEL 消息以释放会话,并包含原因值为 503(Service Unavailable)

6. 本章小结

Rx/N7 接口是 IMS 应用层与 5GC 承载层策略同步的桥梁:

  1. 初始策略建立:通过 AAR/AAS 消息,P-CSCF 将 SIP/SDP 中的媒体需求(如带宽、编解码)映射为 Diameter AVP 传递给 PCRF/PCF。
  2. 资源同步STR/STA 确保 SIP BYE 消息驱动底层承载(QoS 流)的同步释放。
  3. 网络侧控制ASR/ASA 允许 PCRF/PCF 在底层网络状态变化时(如资源丢失),主动通知 P-CSCF 终止或修改会话。
  4. 容灾和异常:P-CSCF 必须将 Rx 接口返回的策略错误(如 IP-CAN_SESSION_NOT_AVAILABLE (5065))转化为 SIP 侧的错误响应(如 503 Service Unavailable),以指导终端进行后续处理。

7. 工程师进阶思考 (FAQ)

Q1:在 SIP 会话修改(UPDATE/reINVITE)流程中,P-CSCF/AF 在 Rx/N7 接口上通常发送哪种类型的 CCR 消息?该消息携带了哪些关键 AVP?

A1: 在会话修改流程中,P-CSCF/AF 通常发送 AAR (AA-Request) 消息,但其中会包含表示这是会话更新的指示。 关键 AVP 如下:

  1. Media-Component-Description AVP:携带更新后的媒体信息,例如新的编解码器列表、新的 RTP/RTCP 端口,或变更后的带宽需求。
  2. Flow-Status AVP:在呼叫保持等场景中,用于指示媒体流方向的变更(例如从 sendrecv 变为 sendonlyrecvonly)。
  3. access-network-charging-info:这个参数在 SIP 侧的 P-Charging-Vector 中更新后,也会被映射到 Rx 接口的相应 AVP 中,用于同步计费信息和策略更新。

Q2:如果 PCRF/PCF 决定终止一个 Rx 会话,它向 P-CSCF/AF 发送的 Diameter 消息是什么?P-CSCF 收到该消息后,SIP 侧应如何处理?

A2: PCRF/PCF 将向 P-CSCF/AF 发送 ASR (Abort-Session-Request) 消息(Command-Code 274)。

P-CSCF 收到 ASR 后,必须在 SIP 侧采取动作:

  1. 回复 ASA:P-CSCF 首先向 PCRF 返回 ASA (Abort-Session-Answer) 消息(Command-Code 274)。
  2. SIP 侧释放:P-CSCF 随后生成一个 SIP 消息(通常是 BYECANCEL),发送给终端或对端网元,以释放 SIP 会话。例如,如果申请资源失败,P-CSCF 应向 UE 发送 CANCEL 消息释放会话,并包含原因值为 503(Service Unavailable)

Q3:CDR 话单关闭原因(Cause-For-Record-Closing)字段中,值 4 代表什么含义?它与 VoNR 业务的哪个关键流程相关?

A3: Cause-For-Record-Closing 字段:

  • 值 4 代表媒体切换导致话单分割(service-Change)。
  • 关联流程:这与 VoNR/VoLTE 呼叫中的视频和语音切换流程直接相关。当用户在通话中将语音切换到视频,或反之,网络必须通过 reINVITE/UPDATE 消息进行 SDP 协商。P-CSCF/S-CSCF 收到 200 OK 后发送 ACR [Interim] 消息,通知 CDF 发生媒体切换,导致话单分割,并标记为值 4。