首页 › ims › VoNR EVS编解码协商信令拆解

VoNR EVS编解码协商信令拆解:SDP Offer/Answer五维参数博弈与CMR动态适配

一、为什么EVS编解码协商是VoNR最关键的信令环节

5G VoNR(Voice over New Radio)原生语音方案强制采用EVS(Enhanced Voice Services)编解码器,这不仅是AMR-WB的简单替代,而是一场从"固定参数语音管道"到"自适应多维协商"的范式转换。EVS支持5.9 kbps至128 kbps共13档编码速率、NB/WB/SWB/FB四档音频带宽、Primary与AMR-WB IO双模式——这些自由度全部需要在SIP INVITE的SDP Offer/Answer一次往返中锁定初始参数,再通过RTP层CMR帧级信令实现运行时动态适配。

本文聚焦 3GPP TS 26.114 Section 6.2(MTSI媒体处理与交互)和 TS 26.445 Section 5.2(EVS RTP净荷格式)定义的EVS SDP fmtp五维参数协商机制,逐步拆解从UE发起SDP Offer到最终EVS RTP流建立的完整信令链。

二、EVS编解码器架构:双模式三层的编解码能力模型

在分析SDP协商之前,必须理解EVS编解码器的内部架构。EVS并非单一编码算法,而是由两种工作模式组成的多层架构:

┌──────────────────────────────────────────────────┐
│              EVS Codec Architecture              │
├──────────────────────────────────────────────────┤
│                                                  │
│  ┌─────────────────────────────────────────────┐ │
│  │         EVS Primary Mode (Mode 0)           │ │
│  │  ┌───────┐  ┌───────┐  ┌──────┐  ┌──────┐  │ │
│  │  │  NB   │  │  WB   │  │ SWB  │  │  FB  │  │ │
│  │  │4 kHz  │  │8 kHz  │  │16kHz │  │20kHz │  │ │
│  │  │5.9-24.4│ │5.9-24.4│ │5.9-24.4│ │16.4-24.4│ │
│  │  └───────┘  └───────┘  └──────┘  └──────┘  │ │
│  └─────────────────────────────────────────────┘ │
│                                                  │
│  ┌─────────────────────────────────────────────┐ │
│  │     EVS AMR-WB IO Mode (Mode 1)             │ │
│  │  ┌──────────────────────────────────────┐   │ │
│  │  │  WB (8 kHz): 6.6, 8.85, 12.65,      │   │ │
│  │  │  14.25, 15.85, 18.25, 19.85,         │   │ │
│  │  │  23.05, 23.85 kbps                   │   │ │
│  │  └──────────────────────────────────────┘   │ │
│  └─────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────┘

EVS Primary Mode支持的编码速率与带宽对应关系

带宽模式 缩写 采样率 可用编码速率(kbps)
窄带 NB nb 8 kHz 5.9, 7.2, 8.0, 9.6, 13.2, 16.4, 24.4
宽带 WB wb 16 kHz 5.9, 7.2, 8.0, 9.6, 13.2, 16.4, 24.4
超宽带 SWB swb 32 kHz 5.9, 7.2, 8.0, 9.6, 13.2, 16.4, 24.4, 32.0, 48.0
全带 FB fb 48 kHz 16.4, 24.4, 32.0, 48.0, 64.0, 96.0, 128.0

关键设计意图:EVS Primary Mode的NB/WB/SWB共享5.9-24.4 kbps的低速率区间,而FB独占高速率区间。这意味着SDP协商时br和bw参数存在隐含约束——FB模式不可能协商出5.9 kbps的速率。

三、SDP fmtp五维参数:EVS协商的完整参数空间

根据 TS 26.114 Section 6.2.4 和 RFC 8791 Section 4.4,EVS在SDP中通过fmtp属性定义了五个核心协商维度:

表1:EVS SDP fmtp参数完整定义

参数 类型 取值范围 默认值 协商角色 TS章节
evs-mode-switch 整数 0或1 0 声明性 TS 26.114 §6.2.4.1
br 字符串 单值或范围 5.9-24.4 Offer限定 TS 26.114 §6.2.4.2
bw 字符串 nb/wb/swb/fb组合 nb-wb-swb Offer限定 TS 26.114 §6.2.4.3
ch-recv 整数 1-2 1 Answer限定 TS 26.114 §6.2.4.4
cmr 字符串 单值或范围 无 声明性 TS 26.114 §6.2.4.5
max-red 整数 0-1000(ms) 0 声明性 TS 26.114 §6.2.4.6
dtx 字符串 on/off off 声明性 TS 26.114 §6.2.4.7
hf-only 整数 0或1 0 声明性 TS 26.114 §6.2.4.8

五维参数的博弈逻辑

┌───────────────────────────────────────────────────────────┐
│           SDP Offer/Answer 五维协商博弈空间                │
│                                                           │
│  Dim-1: evs-mode-switch ──→ 双模式开关                    │
│         0 = 仅EVS Primary                                 │
│         1 = Primary + AMR-WB IO                           │
│                                                           │
│  Dim-2: br (bitrate) ──→ 速率范围约束                     │
│         Offer: br=5.9-24.4 (允许范围)                      │
│         Answer: br=13.2 (锁定值)                          │
│                                                           │
│  Dim-3: bw (bandwidth) ──→ 带宽模式组合                   │
│         Offer: bw=nb-wb-swb (多选)                        │
│         Answer: bw=swb (单选)                             │
│                                                           │
│  Dim-4: cmr (codec mode request) ──→ 运行时适配范围       │
│         cmr=5.9-24.4 (允许CMR切换范围)                    │
│                                                           │
│  Dim-5: max-red + dtx ──→ 抗丢包策略                      │
│         max-red=220; dtx=on                               │
│                                                           │
│  约束: br范围 ∩ bw支持的速率 = 有效协商空间               │
└───────────────────────────────────────────────────────────┘

关键参数解析

evs-mode-switch=1的含义:这并非简单地"启用双模式",而是告知对端本端RTP栈可以在EVS Primary帧和AMR-WB IO帧之间逐帧切换。这在VoNR→VoLTE互操作场景中至关重要——当呼叫从NR覆盖区移动到仅LTE覆盖区时,编解码器可以无缝切换到AMR-WB IO模式而无需SIP re-INVITE。

br参数的范围语义:br=5.9-24.4表示Offer端可以在5.9到24.4 kbps之间接受任何EVS Primary速率。Answer端必须从这个范围内选择一个子集或单值返回。如果Answer返回br=13.2,则双方锁定在13.2 kbps;如果返回br=5.9-24.4,则双方可通过CMR在此范围内动态调整。

bw参数的组合语义:bw=nb-wb-swb表示Offer端同时支持NB、WB、SWB三种带宽模式。Answer端必须从中选择一个子集返回(不能添加新的带宽模式)。实际协商中,如果双方UE都支持SWB且NR无线条件允许,P-CSCF/SBC通常会引导选择SWB。

四、VoNR EVS SDP协商完整信令时序图

以下是基于 TS 24.229 Section 5.4.3.2(IMS SIP会话建立)和 TS 26.114 Section 6.2(MTSI媒体协商)的完整VoNR MO呼叫EVS编解码协商信令流:

sequenceDiagram
    participant UE-A as 主叫UE-A<br/>(VoNR)
    participant gNB as gNB
    participant PCSCF_A as P-CSCF/SBC-A
    participant SCSCF as S-CSCF
    participant TAS as TAS/MMTel AS
    participant PCSCF_B as P-CSCF/SBC-B
    participant UE-B as 被叫UE-B<br/>(VoNR)

    Note over UE-A,UE-B: 阶段1: SDP Offer上行(EVS能力宣告)
    UE-A->>PCSCF_A: SIP INVITE<br/>SDP Offer: EVS Primary+AMR-WB IO<br/>a=rtpmap:96 EVS/16000/1<br/>a=fmtp:96 evs-mode-switch=1;<br/>br=5.9-24.4; bw=nb-wb-swb;<br/>cmr=5.9-24.4; max-red=220
    PCSCF_A->>PCSCF_A: ①P-CSCF策略检查<br/>授权b=AS带宽<br/>检查5QI=1 QoS Flow
    PCSCF_A->>SCSCF: INVITE(转发)<br/>SDP可能被SBC修改
    SCSCF->>TAS: INVITE(iFC触发)<br/>MMTel业务触发
    TAS->>SCSCF: INVITE(转发)
    SCSCF->>PCSCF_B: INVITE(路由)
    PCSCF_B->>PCSCF_B: ②被叫侧策略检查<br/>带宽授权
    PCSCF_B->>UE-B: INVITE(最终下发)<br/>SDP Offer可能被裁剪

    Note over UE-A,UE-B: 阶段2: SDP Answer下行(编解码锁定)
    UE-B->>PCSCF_B: 180 Ringing<br/>SDP Answer: 选择EVS SWB<br/>a=fmtp:96 evs-mode-switch=1;<br/>br=13.2; bw=swb;<br/>cmr=5.9-24.4; max-red=220
    PCSCF_B->>PCSCF_B: ③Answer策略验证<br/>确认QoS Flow建立
    PCSCF_B->>SCSCF: 180 Ringing(转发)
    SCSCF->>TAS: 180 Ringing(iFC路径)
    TAS->>SCSCF: 180 Ringing(转发)
    SCSCF->>PCSCF_A: 180 Ringing(路由)
    PCSCF_A->>PCSCF_A: ④主叫侧QoS确认<br/>触发N2 SMF/PCF交互
    PCSCF_A->>UE-A: 180 Ringing<br/>SDP Answer(最终确认)

    UE-A->>PCSCF_A: PRACK(可靠性确认)
    PCSCF_A->>UE-B: PRACK(端到端)

    Note over UE-A,UE-B: 阶段3: 200 OK与RTP流建立
    UE-B->>UE-A: 200 OK(INVITE确认)
    UE-A->>UE-B: ACK

    Note over UE-A,UE-B: 阶段4: RTP流建立+CMR动态适配
    UE-A->>UE-B: RTP EVS SWB 13.2kbps<br/>CMR=24.4(请求升速)
    UE-B->>UE-A: RTP EVS SWB 24.4kbps<br/>CMR=13.2(请求降速)
    UE-A->>UE-B: RTP EVS SWB 13.2kbps<br/>CMR=13.2(保持)

信令阶段详解

阶段1:SDP Offer上行——五维能力宣告

主叫UE-A构造SDP Offer时,遵循 TS 26.114 Section 6.2.4 的MTSI终端能力要求:

完整SDP Offer示例:

m=audio 49152 RTP/AVPF 96 97 98
a=rtpmap:96 EVS/16000/1
a=fmtp:96 evs-mode-switch=1; br=5.9-24.4; bw=nb-wb-swb;
    cmr=5.9-24.4; max-red=220; dtx=on; hf-only=0
a=rtpmap:97 AMR-WB/16000/1
a=fmtp:97 mode-set=0,1,2; mode-change-capability=2; max-red=220
a=rtpmap:98 telephone-event/16000
a=ptime:20
a=maxptime:240
b=AS:49
b=RS:0
b=RR:0
a=sendrecv

关键设计要点: 1. Payload Type 96 = EVS Primary,同时evs-mode-switch=1隐含支持AMR-WB IO模式 2. Payload Type 97 = AMR-WB,作为互操作回退方案 3. Payload Type 98 = telephone-event,用于DTMF透传 4. b=AS:49声明应用层总带宽需求(包含IP/UDP/RTP头开销约36kbps + EVS最高24.4kbps) 5. 使用RTP/AVPF(RFC 4585)而非RTP/AVP,支持RTCP反馈报告增强

②P-CSCF/SBC的策略干预——运营商控制点

P-CSCF/SBC是EVS协商中最关键的策略执行点。根据 TS 29.514 Section 4.2(P-CSCF与PCF的Rx接口交互),P-CSCF执行以下操作:

P-CSCF SDP裁剪逻辑:

场景 P-CSCF动作 SDP修改
运营商限制SWB 移除bw中的swb bw=nb-wb
运营商限制最大速率 收窄br范围 br=5.9-13.2
禁用EVS(回退AMR-WB) 删除PT=96行 仅保留AMR-WB
禁用AMR-WB IO模式 设置evs-mode-switch=0 evs-mode-switch=0
带宽策略 修改b=AS值 b=AS:32(降低)

这就是为什么实际抓包中看到的SDP经常与UE原始Offer不同——P-CSCF根据运营商策略和当前无线资源状况做了中间裁剪。

阶段2:SDP Answer下行——编解码锁定

被叫UE-B收到SDP Offer后,执行 RFC 3264 Section 6.1 定义的Answer生成规则:

SDP Answer生成规则(TS 26.114 §6.2.5):

  1. br选择:Answer必须从Offer的br范围内选择。如果Offer是br=5.9-24.4,Answer可以选择br=13.2(锁定单速率)或br=5.9-24.4(保持范围,允许CMR动态调整)
  2. bw选择:Answer必须从Offer的bw集合中选择子集。Offer=bw=nb-wb-swb,Answer只能返回bw=swb(最优选)或bw=nb-wb等
  3. evs-mode-switch:如果Offer=1,Answer可以返回0(仅支持Primary)或1(支持双模式)
  4. max-red:Answer可以缩小但不能扩大

SDP Answer示例:

m=audio 49170 RTP/AVPF 96 98
a=rtpmap:96 EVS/16000/1
a=fmtp:96 evs-mode-switch=1; br=13.2; bw=swb;
    cmr=5.9-24.4; max-red=220; dtx=on
a=rtpmap:98 telephone-event/16000
a=ptime:20
b=AS:49
a=sendrecv

注意:Answer中Payload Type列表只保留了96(EVS)和98(telephone-event),删除了97(AMR-WB)——因为evs-mode-switch=1已经隐含了AMR-WB IO兼容能力。

五、CMR动态适配:帧级无信令速率切换

SDP协商锁定初始参数后,EVS通过CMR(Codec Mode Request)机制在RTP层实现无需SIP信令的动态速率调整。这是EVS相对于AMR-WB最重要的增强之一。

CMR工作原理(TS 26.445 Section 5.2.2)

flowchart TB
    subgraph RTP_Payload["EVS RTP Payload结构"]
        CMR_Field["CMR字段 (4 bits)"]
        TOC_Field["TOC字段 (Table of Contents)"]
        Frame_Data["EVS帧数据"]
    end

    subgraph CMR_Mapping["CMR值→速率映射"]
        CMR_0["CMR=0: 5.9 kbps"]
        CMR_1["CMR=1: 7.2 kbps"]
        CMR_2["CMR=2: 8.0 kbps"]
        CMR_3["CMR=3: 9.6 kbps"]
        CMR_4["CMR=4: 13.2 kbps"]
        CMR_5["CMR=5: 16.4 kbps"]
        CMR_6["CMR=6: 24.4 kbps"]
        CMR_7["CMR=7: 32.0 kbps"]
        CMR_8["CMR=8: 48.0 kbps"]
        CMR_15["CMR=15: 无请求/保持"]
    end

    subgraph Adaptation_Logic["CMR自适应决策逻辑"]
        PLR["丢包率↑ → 请求降速<br/>(更多冗余空间)"]
        BW_Avail["带宽充裕 → 请求升速<br/>(更高质量)"]
        Delay["时延敏感 → 请求降速<br/>(减小帧大小)"]
        Jitter["抖动增大 → 请求降速<br/>(降低缓冲压力)"]
    end

    RTP_Payload --> CMR_Mapping
    CMR_Mapping --> Adaptation_Logic

CMR速率映射表(EVS Primary Mode)

CMR值 编码速率(kbps) 适用带宽模式 典型场景
0 5.9 NB/WB/SWB 极差无线条件
1 7.2 NB/WB/SWB 差无线条件
2 8.0 NB/WB/SWB 一般无线条件
3 9.6 NB/WB/SWB 中等无线条件
4 13.2 NB/WB/SWB 良好无线条件(默认)
5 16.4 NB/WB/SWB/FB 优秀无线条件
6 24.4 NB/WB/SWB/FB 极佳无线条件
7 32.0 SWB/FB 超宽带高质量
8 48.0 SWB/FB 超宽带极高质量
9-14 64/96/128 FB 全带音乐级
15 无请求 全部 保持当前速率

关键约束:CMR请求的速率必须在SDP协商的cmr参数范围内。如果SDP Answer锁定cmr=5.9-24.4,则UE只能发出CMR 0-6的请求,CMR 7-8将被忽略。

六、EVS RTP打包格式:Header-Full与Compact双模式

根据 TS 26.445 Section 5.1 和 RFC 8791 Section 3,EVS定义了两种RTP净荷格式:

表2:EVS RTP打包格式对比

特性 Header-Full格式 Compact格式
用途 EVS Primary + AMR-WB IO 仅EVS Primary
CMR字段 4 bits (TOC前) 3 bits (帧头)
TOC字段 有(每帧一个) 无
帧大小指示 TOC中明确编码 由帧大小推断
兼容性 与AMR-WB RTP格式兼容 更高带宽效率
多帧打包 支持 支持
开销 较大(~2-3字节/帧) 较小(~1字节/帧)
SDP指示 hf-only=0 hf-only=1

Header-Full格式RTP净荷结构:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  CMR (4bits)  |R|  TOC (7bits)|   EVS Frame Data ...          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Compact格式RTP净荷结构:

 0                   1
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  CMR (3bits)  |  EVS Frame   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

设计意图:Header-Full格式保留了与AMR-WB相同的TOC结构,使得在网络设备(如Transcoder-Free Operation, TrFO)中可以无需解帧就判断编码模式。Compact格式减少了开销,更适合VoNR的带宽敏感场景。

七、P-CSCF与5G QoS的联动:Rx/N7接口策略注入

EVS编解码协商不仅是IMS层面的SDP交换,还涉及5G核心网的QoS资源预留。这是VoNR相对于VoLTE新增的关键差异点。

QoS联动信令时序

sequenceDiagram
    participant UE as UE
    participant PCSCF as P-CSCF
    participant PCF as PCF
    participant SMF as SMF
    participant UPF as UPF
    participant gNB as gNB

    UE->>PCSCF: SIP INVITE(SDP Offer)<br/>b=AS:49, EVS SWB
    PCSCF->>PCF: N7/Rx: AAR<br/>Media-Type=Audio<br/>Bandwidth=49kbps<br/>Codec=EVS SWB 24.4kbps
    PCF->>PCF: 策略决策:<br/>5QI=1(GBR)<br/>ARP=优先级<br/>MBR=49kbps<br/>GBR=32kbps
    PCF->>SMF: N7: PCC Rule<br/>5QI=1, Flow=RTP
    SMF->>SMF: QoS Flow创建:<br/>QFI=1, GBR=32kbps
    SMF->>UPF: N4: PDR/FAR<br/>QoS Flow规则
    SMF->>gNB: N2: PDU Session<br/>Resource Setup<br/>5QI=1, GBR
    gNB->>gNB: DRB配置:<br/>RLC-UM, PDCP<br/>逻辑信道优先级
    gNB-->>SMF: N2: Resource Setup Response
    SMF-->>PCF: N7: 确认
    PCF-->>PCSCF: N7/Rx: AAA<br/>QoS授权确认
    PCSCF->>UE: 180 Ringing(SDP Answer)

5QI=1 QoS参数与EVS的对应关系

QoS参数 取值 与EVS的关系
5QI 1 对话语音,GBR,默认对应EVS
GBR-UL 32 kbps 覆盖EVS SWB 24.4kbps + 开销
GBR-DL 32 kbps 同上
MBR-UL 49 kbps b=AS值
MBR-DL 49 kbps b=AS值
ARP 优先级 语音会话高优先级
PDB 100ms 分组时延预算
PER 10^-2 误包率要求

当P-CSCF收到SDP Answer确认最终编解码参数后,会通过Rx接口向PCF发送AAR(AF-Application-Request)更新授权带宽。如果SDP协商结果是EVS SWB 13.2kbps,则GBR可能降低到约24kbps(含开销),释放的无线资源可供其他UE使用。

八、实战抓包分析:如何识别EVS协商问题

典型SDP抓包特征

正常EVS协商(成功):

# INVITE中的SDP Offer
m=audio 49152 RTP/AVPF 96 97 98
a=rtpmap:96 EVS/16000/1          ← EVS Payload Type
a=fmtp:96 evs-mode-switch=1; br=5.9-24.4; bw=nb-wb-swb; max-red=220

# 180 Ringing中的SDP Answer
m=audio 49170 RTP/AVPF 96 98
a=rtpmap:96 EVS/16000/1          ← 确认选择EVS
a=fmtp:96 evs-mode-switch=1; br=13.2; bw=swb; max-red=220
                                  ← 锁定SWB 13.2kbps

EVS协商失败回退AMR-WB:

# INVITE中的SDP Offer(包含EVS)
m=audio 49152 RTP/AVPF 96 97 98
a=rtpmap:96 EVS/16000/1
a=fmtp:96 evs-mode-switch=1; br=5.9-24.4; bw=nb-wb-swb
a=rtpmap:97 AMR-WB/16000/1       ← 回退候选

# 200 OK中的SDP Answer(选择AMR-WB)
m=audio 49170 RTP/AVPF 97 98
a=rtpmap:97 AMR-WB/16000/1        ← 被叫选了AMR-WB!
a=fmtp:97 mode-set=0,1,2; max-red=220
# EVS PT=96被移除 → 协商失败

常见故障场景与排错

故障现象 可能原因 排错方法
双方SDP都有EVS但实际使用AMR-WB P-CSCF裁剪了EVS行 检查P-CSCF策略配置和SDP日志
EVS协商成功但语音质量差 CMR范围被SDP过度限制 检查cmr参数范围是否过窄
仅NB编码,无法SWB bw参数被裁剪或UE能力不足 检查UE的MMTel能力指示
通话中速率不切换 CMR=15(保持)或SDP锁定单速率 检查Answer中br是否为范围值
互操作失败(EPS Fallback) evs-mode-switch=0禁用IO模式 检查UE和P-CSCF的mode-switch设置

Wireshark过滤技巧

# 过滤SIP INVITE中的SDP
sip.Request-Line contains "INVITE" && sdp.payload_type == "96"

# 过滤EVS RTP流
rtp.payload_type == 96

# 检查CMR变化(需要解析EVS payload)
rtp.payload_type == 96 && frame.len > 100

# 过滤SDP fmtp参数
sdp.fmtp contains "evs-mode-switch"

九、EVS vs AMR-WB协商对比

表3:EVS与AMR-WB SDP协商关键差异

对比维度 EVS AMR-WB
SDP fmtp复杂度 8个参数 3个参数
速率范围 5.9-128 kbps 6.6-23.85 kbps
带宽模式 NB/WB/SWB/FB 仅WB
动态切换 CMR+SDP双机制 仅mode-set
互操作模式 AMR-WB IO(evolutionary) 原生
RTP打包 HF+Compact双格式 单一格式
默认编码速率 13.2 kbps 12.65 kbps
DTX支持 EVS DTX(2.8kbps SID) AMR-WB SID
冗余机制 max-red + CMR联合 max-red
SDP典型b=AS 49 kbps 38 kbps

EVS的fmtp参数复杂度是AMR-WB的近3倍,这意味着IMS网络设备(P-CSCF/SBC/IBCF)需要更强大的SDP解析和策略处理能力。

十、EVS编解码协商状态机

stateDiagram-v2
    [*] --> Idle: UE空闲态
    Idle --> SDP_Offer_Sent: SIP INVITE<br/>(构造SDP Offer)
    SDP_Offer_Sent --> Wait_Answer: P-CSCF转发

    Wait_Answer --> EVS_Negotiated: 180/200 OK<br/>SDP Answer选择EVS
    Wait_Answer --> AMRWB_Fallback: SDP Answer<br/>选择AMR-WB
    Wait_Answer --> Codec_Mismatch: 488 Not Acceptable<br/>无公共编解码
    Wait_Answer --> SDP_Offer_Sent: 重发INVITE<br/>(超时重试)

    EVS_Negotiated --> RTP_Active: ACK确认<br/>RTP流建立
    AMRWB_Fallback --> RTP_Active: ACK确认<br/>AMR-WB RTP流

    RTP_Active --> CMR_Adaptation: RTP流中<br/>CMR动态调整
    CMR_Adaptation --> CMR_Adaptation: 速率升降<br/>(在SDP范围内)
    CMR_Adaptation --> Mode_Switch: EVS Primary↔<br/>AMR-WB IO切换
    Mode_Switch --> CMR_Adaptation: 继续适配

    RTP_Active --> Reinvite: SIP re-INVITE/<br/>UPDATE<br/>(重大参数变更)
    Reinvite --> EVS_Negotiated: 新SDP协商
    Reinvite --> AMRWB_Fallback: 降级协商

    RTP_Active --> Session_End: BYE
    Codec_Mismatch --> Idle: 会话终止
    Session_End --> Idle: 回到空闲

常见问题

Q1: evs-mode-switch=1和evs-mode-switch=0在实际部署中有什么区别?

A: evs-mode-switch=1允许UE在EVS Primary和AMR-WB IO模式之间逐帧切换,这是VoNR→VoLTE互操作的关键能力。当evs-mode-switch=0时,UE只能使用EVS Primary模式,如果对端仅支持AMR-WB,则必须回退到独立的AMR-WB编码器(通过SDP中的另一个m=audio行协商),而不能利用EVS的AMR-WB IO兼容模式。实际部署中,运营商通常要求UE默认设置evs-mode-switch=1以确保互操作兼容性。

Q2: SDP Answer中br=13.2(单值)和br=5.9-24.4(范围)有什么影响?

A: br=13.2锁定固定编码速率,双方在整个通话过程中始终使用13.2kbps,CMR的速率切换功能实际被禁用(因为SDP Answer只允许一个速率值)。br=5.9-24.4则保持范围,允许通过CMR在5.9-24.4kbps之间动态调整。前者简化了QoS管理(固定GBR),后者提供了更好的无线适应能力但要求5GC支持动态GBR调整。部分运营商策略倾向于锁定br=13.2以简化资源管理。

Q3: 为什么有时P-CSCF会修改SDP中的bw参数?

A: P-CSCF根据运营商策略和当前网络负载状况可能裁剪bw参数。例如,当NR小区负载高时,P-CSCF可能将bw=nb-wb-swb修改为bw=nb-wb,强制降级到WB模式以节省空口资源(SWB的32kHz采样率比WB的16kHz需要更多空口资源)。这通过与PCF的N7/Rx接口交互获得授权——PCF根据当前小区负载和AMF报告的用户数信息决定是否限速。

Q4: VoNR中EVS的CMR适配与NR物理层的AMBR/GBR有什么关系?

A: CMR适配工作在应用层(EVS编码器内部),而5QI=1的GBR/MBR工作在5GC QoS层。两者是协同关系:CMR在SDP协商的速率范围内微调编码速率(如从13.2kbps调到24.4kbps),而5QI=1的GBR确保空口有足够资源承载这个速率范围。如果CMR请求升速但GBR资源不足,gNB会通过MAC层调度限制实际上行速率,UE编码器端会感知到发送缓冲区积压,从而触发CMR降速——形成一个闭环的自适应机制。

Q5: Header-Full格式和Compact格式什么时候用哪个?

A: 根据 TS 26.114 Section 6.2.3,当evs-mode-switch=1(即支持AMR-WB IO模式)时必须使用Header-Full格式,因为需要在TOC中标识当前帧是EVS Primary还是AMR-WB IO。当evs-mode-switch=0且hf-only=1时可以使用Compact格式以节省带宽。实际VoNR部署中,由于大多数运营商要求evs-mode-switch=1以支持互操作,因此Header-Full格式是主流选择。

参考来源

  1. 3GPP TS 26.114 V18.7.0 — MTSI媒体处理与交互,Section 6.2定义EVS SDP参数
  2. 3GPP TS 26.445 V18.0.0 — EVS编解码器详细比特流规范,Section 5定义RTP净荷格式与CMR
  3. RFC 8791 — RTP Payload Format for the EVS Codec
  4. ShareTechnote: IMS SIP EVS — EVS SDP参数图解与抓包示例
  5. 3GPP TS 24.229 — IMS SIP/SDP会话建立流程

本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入