从拿起手机拨出一个电话,到对方听到"喂"——这短短几秒钟背后,藏着IMS注册、SIP信令、专用承载建立、媒体协商等数十个交互步骤。今天我们把这些步骤拆开,看看每一跳在做什么,以及为什么必须这样做。
在2G/3G时代,语音通话走的是电路交换(Circuit Switched, CS)域——你拨电话时,网络为你建立一条端到端的专用物理通道,不管你说话还是沉默,这条通道的资源都为你独占。
这就像包了一整条高速公路,即使你的车上只有一个人,整条路也不让别人用。资源利用率极低。
4G LTE做了一个激进的决定:取消CS域,只保留分组交换(PS)域。所有业务——包括语音——都走IP包传输。但问题来了:语音是实时业务,对时延和抖动极其敏感,普通数据业务的"尽力而为(Best Effort)"传输模式根本满足不了通话质量要求。
解决方案就是IMS(IP Multimedia Subsystem,IP多媒体子系统)——一个专门为实时多媒体业务设计的信令控制框架。它不传输语音数据本身,而是负责呼叫建立、资源预留、会话管理等控制面的工作。
一个常见误解是"IMS是4G才有的"。实际上,3GPP在R5版本(2002年)就定义了IMS,最初的愿景是让3G网络也能提供丰富的多媒体服务。只是当时3G的CS域语音已经很成熟,IMS在3G时代几乎没有商用。
直到4G LTE干掉了CS域,IMS才真正从"备胎"变成"主力",成为VoLTE(Voice over LTE)的核心基础设施。
| 对比维度 | 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想象成一家大型酒店,就能理解各网元的角色:
| 网元 | 类比 | 核心职责 |
|---|---|---|
| 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注册是VoLTE/VoNR通话的前提条件。没有完成IMS注册的手机,只能通过CSFB回退到2G/3G网络打电话。
IMS注册分两个阶段:底层网络附着 + IMS SIP注册。
在IMS注册之前,手机必须先完成底层网络的附着和数据连接建立。
VoLTE(4G)路径:
VoNR(5G)路径:
工程师注意:QCI=5(4G)或5QI=5(5G)是IMS信令专用承载。如果这个承载建不起来,IMS注册就不可能成功。排查VoLTE问题时,第一步就是检查QCI=5承载是否正常建立。
底层通道建好后,手机通过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的第三方注册是否成功。
IMS注册完成后,用户就可以拨打/接听电话了。我们以主叫(MO Call)为例,拆解完整流程。
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
阶段一:主叫发起 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媒体流建立,通话正式开始。
| 时刻 | 信令面事件 | 数据面状态 |
|---|---|---|
| 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 = 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) |
一个完整的VoNR呼叫包括:
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
在实际部署中,很多运营商初期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。
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 | ① 检查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是否续接 |
陷阱一:只看SIP层忽略底层
很多工程师抓包只看SIP信令,发现REGISTER发出去没有响应,就判断是IMS网络问题。实际上,如果底层的QCI=5承载没建好(比如APN=ims的PDN连接被拒绝),SIP包根本到不了P-CSCF。排查IMS问题要从底层往上查:无线→NAS→IP→SIP。
陷阱二:混淆IMPI和IMPU
user@realm,用于鉴权,不对外暴露sip:[email protected],用于呼叫路由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。
完整的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侧:策略控制和承载建立日志
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/>沉浸式语音/视频通话
运营商的典型演进路线是:
这种渐进式策略的核心优势是: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机制会自动选择最优的公共编码格式。
本文由「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 等场景全覆盖。
