首页 › deep-tech › VoLTE到VoNR:语音通话的IMS密码

VoLTE到VoNR:语音通话的IMS密码

从拿起手机拨出一个电话,到对方听到"喂"——这短短几秒钟背后,藏着IMS注册、SIP信令、专用承载建立、媒体协商等数十个交互步骤。今天我们把这些步骤拆开,看看每一跳在做什么,以及为什么必须这样做。


一、为什么需要IMS来打电话?

1.1 从"电路交换"到"分组交换"的跨越

在2G/3G时代,语音通话走的是电路交换(Circuit Switched, CS)域——你拨电话时,网络为你建立一条端到端的专用物理通道,不管你说话还是沉默,这条通道的资源都为你独占。

这就像包了一整条高速公路,即使你的车上只有一个人,整条路也不让别人用。资源利用率极低。

4G LTE做了一个激进的决定:取消CS域,只保留分组交换(PS)域。所有业务——包括语音——都走IP包传输。但问题来了:语音是实时业务,对时延和抖动极其敏感,普通数据业务的"尽力而为(Best Effort)"传输模式根本满足不了通话质量要求。

解决方案就是IMS(IP Multimedia Subsystem,IP多媒体子系统)——一个专门为实时多媒体业务设计的信令控制框架。它不传输语音数据本身,而是负责呼叫建立、资源预留、会话管理等控制面的工作。

1.2 IMS不是4G的发明

一个常见误解是"IMS是4G才有的"。实际上,3GPP在R5版本(2002年)就定义了IMS,最初的愿景是让3G网络也能提供丰富的多媒体服务。只是当时3G的CS域语音已经很成熟,IMS在3G时代几乎没有商用。

直到4G LTE干掉了CS域,IMS才真正从"备胎"变成"主力",成为VoLTE(Voice over LTE)的核心基础设施。

1.3 三代语音技术对比

对比维度 CS语音(2G/3G) VoLTE(4G) VoNR(5G)
传输域 电路交换 分组交换(LTE) 分组交换(NR)
信令协议 NAS/CC Setup SIP/SDP SIP/SDP
语音编码 AMR(12.2kbps) AMR-WB(23.85kbps) AMR-WB/EVS
呼叫时延 3-5秒 1-3秒 0.5-2秒
语音+数据并发 不支持(部分3G支持) 支持 支持
核心控制网元 MSC Server IMS(CSCF) IMS(CSCF)
QoS保障 专用TCH信道 专用EPS承载(QCI=1) 专用QoS Flow(5QI=1)

关键理解:VoLTE和VoNR的IMS核心是同一套。从4G升级到5G,IMS不用推倒重来,只是无线接入网和核心网传输通道变了。这就是为什么运营商建了IMS之后,5G语音可以直接复用。


二、IMS架构:语音通话的"前台+后台"

把IMS想象成一家大型酒店,就能理解各网元的角色:

网元 类比 核心职责
P-CSCF 酒店前台 UE接入IMS的第一个接触点;负责SIP信令压缩、安全关联、QoS授权
I-CSCF 酒店总机 在注册时查询HSS,为用户分配S-CSCF;隐藏网络拓扑
S-CSCF 酒店大堂经理 注册管理、会话路由、业务触发(触发到AS);是IMS的核心控制点
HSS 酒店客户档案库 存储用户签约数据、鉴权向量、业务触发规则(iFC)
TAS/AS 酒店增值服务部 提供补充业务:呼叫前转、呼叫等待、多方通话等
PCRF/PCF 酒店资源调度中心 根据会话信息分配QoS资源,建立专用承载
MGCF/IM-MGW 翻译官 与传统CS网络互通时,完成SIP↔ISUP/BICC信令转换和媒体网关
graph TB
    UE["📱 UE(手机)"]
    P_CSCF["P-CSCF<br/>前台"]
    I_CSCF["I-CSCF<br/>总机"]
    S_CSCF["S-CSCF<br/>大堂经理"]
    HSS[("🗄️ HSS<br/>用户档案库")]
    TAS["TAS/AS<br/>增值服务"]
    PCRF["PCRF/PCF<br/>资源调度"]
    MGCF["MGCF<br/>CS互通翻译"]

    UE -->|"SIP信令"| P_CSCF
    P_CSCF -->|"REGISTER/INVITE"| I_CSCF
    I_CSCF -->|"查询/转发"| S_CSCF
    I_CSCF -.->|"UAR/UAA"| HSS
    S_CSCF -.->|"MAR/MAA, SAR/SAA"| HSS
    S_CSCF -->|"业务触发"| TAS
    P_CSCF -.->|"AAR/AAA<br/>QoS授权"| PCRF
    S_CSCF -.->|"SIP↔ISUP"| MGCF

    style UE fill:#4CAF50,color:white
    style P_CSCF fill:#2196F3,color:white
    style S_CSCF fill:#FF9800,color:white
    style HSS fill:#9C27B0,color:white

三、IMS注册:打电话前的"报到"流程

IMS注册是VoLTE/VoNR通话的前提条件。没有完成IMS注册的手机,只能通过CSFB回退到2G/3G网络打电话。

IMS注册分两个阶段:底层网络附着 + IMS SIP注册。

3.1 阶段一:底层网络附着(让手机先上网)

在IMS注册之前,手机必须先完成底层网络的附着和数据连接建立。

VoLTE(4G)路径:

  1. LTE Attach → 建立默认EPS承载(QCI=8或9,用于普通上网)
  2. 建立IMS专用PDN连接 → 建立默认EPS承载(QCI=5,用于IMS SIP信令)

VoNR(5G)路径:

  1. 5G Registration → 通过AMF完成注册
  2. PDU Session Establishment → 建立IMS PDU会话(DNN=ims,S-NSSAI指向IMS切片)

工程师注意:QCI=5(4G)或5QI=5(5G)是IMS信令专用承载。如果这个承载建不起来,IMS注册就不可能成功。排查VoLTE问题时,第一步就是检查QCI=5承载是否正常建立。

3.2 阶段二:IMS SIP注册(向IMS报到)

底层通道建好后,手机通过SIP协议向IMS网络发起注册。整个过程涉及两次REGISTER(因为需要鉴权挑战)。

sequenceDiagram
    participant UE as 📱 UE
    participant PC as P-CSCF
    participant IC as I-CSCF
    participant HSS as 🗄️ HSS
    participant SC as S-CSCF

    Note over UE,SC: 第一次REGISTER(携带初始认证信息)
    UE->>PC: SIP REGISTER<br/>(IMPU, IMSI-derived IMPI)
    PC->>IC: SIP REGISTER(转发)
    IC->>HSS: Diameter UAR<br/>(User-Authorization-Request)
    HSS-->>IC: Diameter UAA<br/>(返回S-CSCF能力/名称)
    IC->>SC: SIP REGISTER(转发到S-CSCF)
    SC->>HSS: Diameter MAR<br/>(Media-Authorization-Request<br/>下载用户profile和鉴权向量)
    HSS-->>SC: Diameter MAA<br/>(返回鉴权向量RAND/AUTN)

    Note over UE,SC: S-CSCF发起鉴权挑战
    SC-->>IC: SIP 401 Unauthorized<br/>(携带nonce=RAND:AUTN)
    IC-->>PC: 401 Unauthorized(转发)
    PC-->>UE: 401 Unauthorized

    Note over UE,SC: 第二次REGISTER(携带鉴权响应)
    UE->>UE: ISIM/USIM计算RES<br/>(IMS-AKA算法)
    UE->>PC: SIP REGISTER<br/>(携带Authorization头,含RES)
    PC->>IC: REGISTER(转发)
    IC->>SC: REGISTER(转发)
    SC->>SC: 验证RES == XRES
    SC->>HSS: Diameter SAR<br/>(Server-Assignment-Request)
    HSS-->>SC: Diameter SAA<br/>(确认注册,下发完整用户profile含iFC)

    Note over UE,SC: 注册成功
    SC-->>IC: SIP 200 OK
    IC-->>PC: 200 OK(转发)
    PC-->>UE: 200 OK

    Note over UE,SC: S-CSCF触发第三方注册
    SC->>SC: 根据iFC规则<br/>向TAS/AS发起第三方REGISTER

逐步解读

Step 1-3:REGISTER到达S-CSCF

手机发出REGISTER消息,经过P-CSCF(前台接待)→ I-CSCF(总机查号)→ S-CSCF(大堂经理)三级跳。I-CSCF在这个过程中向HSS查询"这个用户应该由哪个S-CSCF来服务"。

Step 4-6:鉴权挑战(401 Unauthorized)

S-CSCF从HSS下载鉴权向量(RAND和AUTN),通过401消息发给UE。这是IMS-AKA(Authentication and Key Agreement)机制——和4G/5G的NAS安全采用的AKA是同一个算法族,但运行在IMS应用层。

UE收到401后,用USIM/ISIM中的密钥K计算RES(Expected Response),然后把RES放进新的REGISTER消息的Authorization头中发回去。

Step 7-9:验证通过,200 OK

S-CSCF比对UE返回的RES和自己计算的XRES,一致则鉴权通过。然后S-CSCF向HSS发送SAR(Server-Assignment-Request),HSS确认注册并下发完整的用户Profile——其中最重要的是iFC(initial Filter Criteria),它定义了什么条件下需要触发到哪个应用服务器(AS)。

Step 10:第三方注册

S-CSCF根据iFC规则,自动向TAS(Telephony Application Server)发起第三方REGISTER,让TAS知道"这个用户已上线,为他准备好补充业务(呼叫前转、呼叫等待等)"。

调试陷阱:有时SIP 200 OK已经返回给UE,但第三方注册到TAS失败。这时用户虽然"注册成功",但补充业务不可用(比如呼叫前转不生效)。排查时不能只看UE侧信令,还要检查S-CSCF→TAS的第三方注册是否成功。


四、VoLTE主叫流程:拨出电话的完整旅程

IMS注册完成后,用户就可以拨打/接听电话了。我们以主叫(MO Call)为例,拆解完整流程。

4.1 整体分为六个阶段

graph LR
    A["① 主叫发起<br/>INVITE"] --> B["② 资源预留<br/>专用承载建立"]
    B --> C["③ 寻呼被叫<br/>Paging"]
    C --> D["④ 被叫振铃<br/>180 Ringing"]
    D --> E["⑤ 被叫应答<br/>200 OK+ACK"]
    E --> F["⑥ 通话进行<br/>RTP媒体流"]

    style A fill:#4CAF50,color:white
    style B fill:#FF9800,color:white
    style C fill:#2196F3,color:white
    style D fill:#9C27B0,color:white
    style E fill:#E91E63,color:white
    style F fill:#00BCD4,color:white

4.2 详细信令流程

阶段一:主叫发起 INVITE

UE → P-CSCF → S-CSCF → 被叫S-CSCF → 被叫P-CSCF → 被叫UE

INVITE消息中携带了SDP(Session Description Protocol)Offer,里面包含: - 语音编码格式(如AMR-WB, EVS) - 媒体传输地址和端口 - 带宽要求

阶段二:资源预留(QoS承载建立)

P-CSCF收到INVITE后,向PCRF发起AAR(AA-Request),PCRF触发网络侧建立专用语音承载(QCI=1, GBR保证比特速率)。

同时UE侧也需要触发建立专用承载。这个过程在4G中通过专有承载激活流程完成:

$$ GBR_{voice} = \text{AMR-WB bitrate} + \text{IP/UDP/RTP header overhead} \approx 23.85 + 8.8 \approx 32.65 \text{ kbps (uplink)} $$

为什么需要专用承载?因为默认承载是Non-GBR的,网络拥塞时语音包可能被丢弃或延迟。QCI=1的GBR承载保证即使在网络拥塞时,语音包也能获得足够的带宽和最低时延(Packet Delay Budget ≤ 100ms)。

阶段三-四:寻呼与振铃

被叫S-CSCF通过ENUM/DNS查询被叫号码对应的IMS路由信息,找到被叫的P-CSCF,进而找到被叫UE。被叫UE回复180 Ringing表示正在振铃。

阶段五-六:应答与通话

被叫用户接听电话,被叫UE发送200 OK(携带SDP Answer,确认最终使用的编码格式)。主叫UE回复ACK,双向RTP媒体流建立,通话正式开始。

4.3 信令与承载的配合时序

时刻 信令面事件 数据面状态
T0 UE发出INVITE 默认承载(QCI=5)上传输SIP信令
T1 P-CSCF→PCRF触发AAR 网络侧开始建立QCI=1专用承载
T2 专用承载建立完成 上下行GBR资源就绪
T3 180 Ringing 被叫开始振铃,主叫听到回铃音
T4 200 OK + ACK RTP语音包开始在专用承载上双向传输
T5 BYE + 200 OK 通话结束,专用承载释放

五、VoNR:5G时代的语音新范式

5.1 VoNR与VoLTE的本质区别

一句话概括:VoNR = VoLTE的IMS核心 + 5G无线接入 + 5G核心网传输通道。

IMS注册的信令流程(REGISTER → 401 → REGISTER → 200 OK)和通话流程(INVITE → 180 → 200 OK → ACK)在SIP层面几乎完全一样。区别在于底层管道:

维度 VoLTE VoNR
无线接入 LTE eNB NR gNB
核心网 EPC(MME/SGW/PGW) 5GC(AMF/SMF/UPF)
数据连接 EPS Bearer(QCI=5/1) PDU Session + QoS Flow(5QI=5/1)
QoS授权接口 P-CSCF ↔ PCRF(Diameter Gx) P-CSCF ↔ PCF(N5/HTTP)
信令压缩 SigComp(ROHC-based) 通常不压缩(5G带宽充裕)
语音编码 AMR-WB( mandatory) EVS(Enhanced Voice Services)

5.2 VoNR的五个阶段

一个完整的VoNR呼叫包括:

  1. 5G注册 — UE通过gNB向AMF完成5G NAS注册
  2. IMS PDU会话建立 — 建立DNN=ims的PDU会话,5QI=5的信令QoS Flow
  3. IMS SIP注册 — 与VoLTE完全相同的REGISTER流程
  4. 语音呼叫建立 — SIP INVITE → 5QI=1专用QoS Flow建立 → 180 Ringing → 200 OK → ACK
  5. 语音通话进行 — RTP over UDP over 5G NR
graph TB
    subgraph "VoNR完整流程"
        A["1. 5G NAS Registration<br/>UE → gNB → AMF"]
        B["2. PDU Session建立<br/>UE → SMF → UPF<br/>DNN=ims, 5QI=5"]
        C["3. IMS SIP注册<br/>REGISTER → 401 → REGISTER → 200 OK"]
        D["4. 语音呼叫<br/>INVITE → QoS Flow(5QI=1)<br/>→ 180 Ringing → 200 OK → ACK"]
        E["5. RTP语音通话<br/>双向媒体流通过UPF"]
    end

    A --> B --> C --> D --> E

    style A fill:#4CAF50,color:white
    style B fill:#2196F3,color:white
    style C fill:#FF9800,color:white
    style D fill:#9C27B0,color:white
    style E fill:#E91E63,color:white

5.3 EPS Fallback:5G语音的"备胎"方案

在实际部署中,很多运营商初期5G覆盖不够完善,NR基站的语音承载能力可能不足。这时就需要EPS Fallback——5G语音回退到4G。

EPS Fallback的原理是: - UE在5G网络发起IMS注册和INVITE - gNB判断当前无法提供VoNR(比如信号弱、负载高) - gNB触发切换(Handover)或重定向(Redirection)将UE移到4G LTE - UE在4G网络继续完成VoLTE通话

EPS Fallback的代价是呼叫建立时延增加(通常增加1-3秒),用户体验不如原生VoNR。


六、EVS编码:让5G通话"听得更清楚"

VoNR相比VoLTE的一个重要升级是EVS(Enhanced Voice Services)编码。EVS是AMR-WB的下一代语音编码标准,特别为VoNR设计。

参数 AMR-WB EVS
采样率 16 kHz 16/32/48 kHz
音频带宽 50Hz-7kHz(宽带) 50Hz-14.4kHz(超宽带)甚至全带
比特率范围 6.6-23.85 kbps 5.9-128 kbps(Speech)/ 16-128 kbps(Music)
抗丢包能力 一般 更强(自带JBM抖动缓冲管理)
音乐还原能力 差 优秀

EVS的"超宽带"模式可以还原14.4kHz的声音,这意味着通话中能听到更多的高频细节——比如对方说话时的气息声、背景音乐的高音部分。很多用户反馈"5G打电话声音更清晰",主要功劳就是EVS编码。

从工程师角度看,EVS引入了一个新的QoS参数:

$$ 5QI_{EVS} = 1, \quad GBR_{EVS} = \begin{cases} 32.65 \text{ kbps} & \text{AMR-WB 23.85 mode} \ 32.65 \text{ kbps} & \text{EVS Primary mode} \end{cases} $$

实际部署中EVS和AMR-WB的GBR需求相近,因此QoS Flow配置基本可以复用。


七、工程师实战:IMS问题排查要点

7.1 VoLTE/VoNR问题排查决策树

现象 排查方向 关键信令/日志
无法注册IMS ① 检查QCI=5/5QI=5承载是否建立 NAS: Bearer Resource Command / PDU Session Establishment
SIP REGISTER无响应 ② P-CSCF地址是否正确下发 NAS: PDN Connectivity Response中的PCSCF地址
REGISTER后收到403/404 ③ HSS用户数据是否正确签约IMS HSS: 检查IMPI/IMPU是否已注册
鉴权失败(循环401) ④ ISIM/USIM中的IMS密钥是否正确 USIM: 检查IMS相关的Ki/OPC
INVITE后无180 Ringing ⑤ 被叫是否完成IMS注册 被叫S-CSCF: 查注册状态和iFC触发
通话建立后单通 ⑥ 专用承载(QCI=1/5QI=1)是否双向建立 EPC/5GC: 检查上下行GBR资源
通话中掉话 ⑦ 切换时专用承载是否保持 X2/N2 Handover: 检查QoS Flow是否续接

7.2 常见陷阱

陷阱一:只看SIP层忽略底层

很多工程师抓包只看SIP信令,发现REGISTER发出去没有响应,就判断是IMS网络问题。实际上,如果底层的QCI=5承载没建好(比如APN=ims的PDN连接被拒绝),SIP包根本到不了P-CSCF。排查IMS问题要从底层往上查:无线→NAS→IP→SIP。

陷阱二:混淆IMPI和IMPU

REGISTER消息中必须同时携带正确的IMPI和IMPU。如果手机从USIM推导的IMPU和HSS中签约的不一致,注册会失败。

陷阱三:忘记检查SRVCC

如果终端在VoLTE通话中移动到LTE覆盖边缘,需要通过SRVCC(Single Radio Voice Call Continuity)将通话切换到2G/3G CS域。SRVCC需要MSC Server和MME/AMF之间的Sv/N26接口配合。如果这个接口配置有问题,通话会在切换时直接掉话,而不是平滑转移到CS。

7.3 关键日志采集点

完整的VoLTE/VoNR问题排查需要采集:
├── UE侧:QXDM/diag日志(NAS + SIP + RRC)
├── 无线侧:eNB/gNB信令跟踪(RRC + S1AP/NGAP)
├── 核心网侧:MME/AMF + SMF日志(NAS + GTP/HTTP)
├── IMS侧:P-CSCF + S-CSCF + HSS信令跟踪(SIP + Diameter)
└── PCRF/PCF侧:策略控制和承载建立日志

八、从VoLTE到VoNR的演进路线

timeline
    title 语音技术演进时间线
    2010 : VoLTE标准确立<br/>IMS架构定义完成
    2012 : 韩国SK Telecom<br/>全球首次VoLTE商用
    2014 : 中国移动启动<br/>VoLTE试商用
    2016 : 中国移动VoLTE<br/>全国商用
    2019 : VoNR标准完成<br/>3GPP R15定义5G语音
    2021 : 中国5G SA商用<br/>EPS Fallback为主
    2023 : VoNR开始规模部署<br/>EVS编码普及
    2025-2026 : VoNR+ (ViNR)<br/>沉浸式语音/视频通话

运营商的典型演进路线是:

  1. 4G VoLTE先行 — 建设IMS核心网,在4G网络提供高清语音
  2. 5G NSA + VoLTE — 5G NSA组网下,语音仍走4G VoLTE
  3. 5G SA + EPS Fallback — 5G SA初期,语音回退到4G
  4. 5G SA + VoNR — 5G覆盖和容量成熟后,开启原生5G语音

这种渐进式策略的核心优势是:IMS只建一次,4G/5G共用。


常见问题

Q: VoLTE和VoWiFi是什么关系?

A: VoWiFi(WiFi Calling)的IMS注册和呼叫流程与VoLTE完全相同,区别仅在于底层IP通道从LTE变成了WiFi。UE通过ePDG(evolved Packet Data Gateway)或5G N3IWF接入EPC/5GC,然后在WiFi通道上完成IMS注册和通话。运营商通常将VoWiFi作为室内覆盖的补充手段。

Q: 为什么IMS注册需要两次REGISTER?

A: 这是IMS-AKA鉴权机制的设计。第一次REGISTER携带用户身份(IMPI/IMPU),S-CSCF从HSS获取鉴权向量后通过401消息挑战UE。UE用USIM中的密钥计算应答,在第二次REGISTER中携带应答值。这种"挑战-应答"机制确保了密钥K永远不会在网络上明文传输,与4G/5G的NAS AKA鉴权原理一脉相承。

Q: EPS Fallback和CSFB有什么区别?

A: CSFB(CS Fallback)是4G初期方案——LTE不支持语音时,UE回退到2G/3G CS域打电话,语音走的是传统电路交换。EPS Fallback是5G方案——5G NR不支持语音时,UE回退到4G LTE网络打VoLTE,语音仍然走IMS分组交换。两者回退的网络和技术都不同,EPS Fallback的用户体验明显优于CSFB。

Q: 为什么有的手机显示5G信号但打电话会断网?

A: 这说明该区域5G仅覆盖了NSA(Non-Standalone)模式,或者SA模式下语音走EPS Fallback回退到了4G。如果是NSA,语音本身走4G VoLTE,如果4G覆盖不好就会出现问题。如果是EPS Fallback,UE切换到4G过程中可能出现短暂数据中断。只有VoNR才能实现真正的"5G语音+数据并发"。

Q: 5G VoNR的语音编码AMR-WB和EVS可以互相协商吗?

A: 可以。EVS标准定义了与AMR-WB的模式兼容性——EVS编码器可以在AMR-WB兼容模式下工作,输出AMR-WB格式的比特流。这意味着VoNR终端和VoLTE终端通话时,可以通过SDP协商选择双方都支持的编码格式。实际部署中,SDP Offer/Answer机制会自动选择最优的公共编码格式。


参考来源

  1. VoNR信令流程深度解析 - 百度文库 — VoNR完整呼叫流程图解
  2. 图解5G信令流程:VoNR流程 - 豆丁网 — 以漫画形式讲解5G VoNR流程
  3. VoLTE信令系列--注册流程 - 腾讯云 — IMS注册流程详细分析
  4. 5G NR语音呼叫流程 - 电子发烧友网 — 5G语音网络架构和呼叫流程
  5. IMS注册流程深入分析 - vzkoo — IMS注册信令交互到关键技术解析

本文由「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学通信知识星球海报-扫码加入