好的,专家讲师。很高兴您对目前的拆解进度满意。
关于拆解进度: 我们目前已经完成了 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 中的 icid | Subscription-Id AVP | 关联会话与用户订阅数据。 | |
| SDP 净荷 | Media-Component-Description AVP | 描述媒体流的详细信息,包括 IP 地址、端口、编码类型、带宽需求等。 | |
| Precondition 状态 | Resource-Reservation-Status AVP | 指示资源预留的状态和 AF 的期望。 |
2.3 媒体描述 AVP 的结构
Media-Component-Description AVP 结构复杂,用于将 SDP 中的媒体信息精确地传递给 PCRF/PCF,其中包括:
- 媒体类型:AUDIO/VIDEO。
- 带宽需求:包括上行(UL)和下行(DL)的最大请求带宽(Max-Requested-Bandwidth)和最小请求带宽(Min-Requested-Bandwidth)。
- 媒体流方向:如
sendrecv,sendonly等。 - 流状态:如
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 侧采取相应动作(例如,如果资源不可用,可能需要发送 BYE 或 CANCEL 消息释放会话)。
4. 会话终止与承载同步释放:STR/STA
在 SIP 会话释放时,P-CSCF 必须通过 Rx/N7 接口发起会话终止请求,确保底层 QoS 资源的同步释放。
| Rx 消息 | Diameter Command Code | 触发 SIP 消息 | 核心作用 | 来源 |
|---|---|---|---|---|
| STR (Session-Termination-Request) | 275 | BYE | P-CSCF 通知 PCRF 终止承载会话。 | |
| STA (Session-Termination-Answer) | 275 | BYE 流程响应 | 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 Unavailable或CANCEL503)通知 UE。
5.2 P-CSCF 的 SIP 侧动作
如果 P-CSCF 申请资源失败(例如 NAT 端口申请失败、QoS 授权申请失败),P-CSCF 应向 UE 发送 CANCEL 消息以释放会话,并包含原因值为 503(Service Unavailable)。
6. 本章小结
Rx/N7 接口是 IMS 应用层与 5GC 承载层策略同步的桥梁:
- 初始策略建立:通过 AAR/AAS 消息,P-CSCF 将 SIP/SDP 中的媒体需求(如带宽、编解码)映射为 Diameter AVP 传递给 PCRF/PCF。
- 资源同步:STR/STA 确保 SIP
BYE消息驱动底层承载(QoS 流)的同步释放。 - 网络侧控制:ASR/ASA 允许 PCRF/PCF 在底层网络状态变化时(如资源丢失),主动通知 P-CSCF 终止或修改会话。
- 容灾和异常: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 如下:
- Media-Component-Description AVP:携带更新后的媒体信息,例如新的编解码器列表、新的 RTP/RTCP 端口,或变更后的带宽需求。
- Flow-Status AVP:在呼叫保持等场景中,用于指示媒体流方向的变更(例如从
sendrecv变为sendonly或recvonly)。 - 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 侧采取动作:
- 回复 ASA:P-CSCF 首先向 PCRF 返回 ASA (Abort-Session-Answer) 消息(Command-Code 274)。
- SIP 侧释放:P-CSCF 随后生成一个 SIP 消息(通常是
BYE或CANCEL),发送给终端或对端网元,以释放 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。