☰
IMS核心网解析:从4G VoLTE到5G VoNR语音通话全流程
2026/9/28 5:29:57 网站建设 项目流程

手机状态栏那个“HD”或者“VoLTE”图标,看着不起眼,背后却牵着一整张比传统电话网复杂得多的核心网。到了 5G 时代,这个机制换了个名字叫VoNR,但很多人一开始容易忽略一个关键点:不管 4G 还是 5G,语音和视频通话的“发动机”始终是同一个——IMS。这不是巧合,而是通信行业从电路交换转向全 IP 之后,唯一一条既覆盖场景又兼顾成本的落地路径。如果你搞核心网、网优、终端协议栈,或者只是好奇“手机通话怎么从拨号音变成数据包”,那这篇文章能帮你从 IMS 一个切入点,把 4G VoLTE、5G VoNR 整条链路串起来。

这篇文章不会只讲名词和协议编号,我会重点拆解 IMS 内部架构、VoLTE 呼叫到底怎么建立、VoNR 相对 VoLTE 改了哪些本质,以及终端侧 IMS 注册失败时怎么一步步排查。这些都是实际工程里绕不开的问题,也是日常文档里写得最零散的地方。

1. IMS 架构与设计思路:分组域里的“电话业务中枢”

1.1 一句话说清楚 IMS 到底是什么

IMS 的全称是 IP Multimedia Subsystem,IP 多媒体子系统。它本质上就是把传统电话系统里的“呼叫控制”抽出来,做成一套纯 IP 的软件服务。

2G/3G 时代,语音走的是电路域,相当于系统在物理线路上预留一条 64kbps 的通道给通话用。到了 LTE,整个网络已经转为全分组交换,所有数据都打包成 IP 包传输,网络里不再存在为每路通话预留的“电路通道”,那语音怎么继续提供?IMS 就是答案:它把一次通话看成一组 SIP 会话,SIP 负责会话的建立、修改和拆除,RTP 负责承载语音和视频数据。

用一个生活场景来比喻:传统打电话是找到一条专属轨道,车厢按顺序跑;LTE/5G 环境下打电话,是让语音包跟网页、视频、游戏流量一起在 IP 高速公路上跑,但给语音划了一条“专用优先道”。这条专用道不是物理的,而是通过 QoS 参数在数据流层面实现的。理解这一点,你后面看 VoLTE/VoNR 的呼叫流程会顺畅很多。

提示:VoLTE 不等于简单的 SIP VoIP。它比普通互联网 VoIP 多了一大套 QoS 保障、移动性管理和运营商级认证机制,这也是为什么运营商语音比第三方通话软件可靠性高一个量级。

1.2 五大核心网元,各管一段,谁也缺不了

IMS 的实体网元很多,但最核心的五个你绕不开:P-CSCF、I-CSCF、S-CSCF、HSS、AS。这些名字缩写看起来吓人,实际分工很清楚:

网元角色比作核心功能
P-CSCF酒店前台终端接入 IMS 的第一道门,转发所有 SIP 信令,和 PCRF 交互保障 QoS
I-CSCF总机接线员域间入口,向 HSS 查询用户当前归属的 S-CSCF,完成路由
S-CSCF大脑/调度中心管理用户注册状态、下载签约数据、维护会话状态机、触发应用服务器
HSS数据库档案室存储用户标识、鉴权向量、签约服务等核心数据
AS业务应用层提供 VoLTE 补充业务、彩铃、视频会议等实际业务逻辑

P-CSCF 在企业内网场景里常被形象地说成“用户看得见摸得着的节点”,因为所有终端发出的 SIP 信令都会先到这里。它不光转发消息,还会根据用户的接入网类型选择合适的 IP 版本,并在注册和呼叫时与 PCRF 或者 5G 的 PCF 协作,为语音媒体流预留资源。I-CSCF 平时曝光率不高,但在跨省、跨运营商路由、用户漫游到别的 IMS 域时,它是绕不开的“转接枢纽”。S-CSCF 则承担了最多的状态管理,用户注册到哪个节点、呼叫当前处于什么阶段、正在触发哪些补充业务,全部由它记录。

HSS 不是简单存密码的数据库,它保存的是 IMPI(私有用户标识)和 IMPU(公有用户标识)的映射关系、认证向量、用户当前服务节点地址,还有是否开通 VoLTE/VoNR 等签约信息。AS 则承担业务调度,比如 VoLTE 里的呼叫等待、呼叫转移、多方通话,这些逻辑都不在 P-CSCF/S-CSCF 里硬编码,而是由 S-CSCF 在会话过程中路由给对应的 AS 去执行。这种“控制与业务分离”的设计,让 IMS 可以灵活扩展新业务,而不是每加一个功能就改一遍核心网。

1.3 为什么 4G 不再沿用 2G/3G 的电路域

很多人会问一个问题:既然 2G/3G 语音跑得好好的,为什么 LTE 不直接兼容电路域,非要重新搞一套 IMS?答案有三个层面。

第一,LTE 本身就没有电路域。4G 网络从设计之初就是全 IP 分组网络,没有可以承载 64kbps 语音电路的技术基础。LTE 早期确实出现过 CSFB 方案,语音到来时手机从 4G 回落到 2G/3G 再接通,但通话接通时间明显变长,而且一旦 LTE 承载着数据业务,回落过程还会影响上网体验。IMS 让 LTE 自己就能提供语音,不再依赖老网络。

第二,IMS 能统一所有业务。语音、视频、短信、融合通信、会议,这些业务在 IMS 架构下都是同一个“会话控制”体系的一部分。运营商不用再维护分离的电路域业务平台和分组域业务平台,从运维成本和业务迭代速度看,优势很明显。后续 VoNR、5G 消息、RCS 富媒体通信,也都是在 IMS 这个底座上长出来的。

第三,为 5G 平滑演进铺路。5G 核心网虽然从 EPC 演进到了服务化架构,但 IMS 依然可以作为应用层平滑接入。运营商花在 IMS 上的投资,从 4G 时代一直能用到 5G 时代,核心网变了,IMS 的行业内却不用推翻重来。这也是许多运营商敢在 VoLTE 时代就大力建设 IMS 的根本原因:这不是一笔“一次性投入”,而是长期技术底座。

2. 4G VoLTE 呼叫全流程拆解:注册、路由到接通

2.1 开机注册:手机与 IMS 的第一次握手

VoLTE 通话的前提是手机已经成功完成 IMS 注册。手机开机后,第一件事是附着到 LTE 网络,建立默认 EPS 承载。注意,这个默认承载通常走的是“互联网”或者“标准”APN,真正给 IMS 信令用的承载,要等终端发起 IMS 注册前才会激活。

附着过程中,网络会通过 PCO(Protocol Configuration Option)向终端下发 P-CSCF 的地址、IMS APN 等关键参数。这里有个很多新人容易忽略的细节:P-CSCF 地址可以是 IPv4、IPv6,或者两者都下发,如果终端只支持 IPv4,但网络只下发 IPv6 地址,注册就会失败。这也是为什么 VoLTE 排障时常看到“P-CSCF discovery 失败”的原因之一。

拿到 P-CSCF 地址后,手机发起第一轮 SIP REGISTER。P-CSCF 收到后把请求转发给 I-CSCF,I-CSCF 再向 HSS 查询:这个用户当前由哪个 S-CSCF 服务,或者应该分配哪个 S-CSCF。随后 REGISTER 到达 S-CSCF,S-CSCF 向 HSS 请求鉴权向量,发起 AKA 挑战,终端收到 401 Unauthorized 响应后,用 USIM 卡里的密钥计算响应参数,重新构造带凭证的 REGISTER。这次验证通过后,S-CSCF 才回复 200 OK,IMS 注册完成。

这个过程涉及两个容易搞混的标识:IMPI 和 IMPU。IMPI 是私有用户标识,网络内部用,像身份证号;IMPU 是公有用户标识,可以是 SIP URI 或 tel: 格式,相当于对外可见的电话或账号。一个 IMPI 可以关联多个 IMPU,用户注册时用的是 IMPU,但网络内部查找签约数据靠 IMPI。

2.2 一次普通拨号背后的信令链路

假设主叫用户已经完成 IMS 注册,现在拨打被叫手机,完整流程大概可以拆成七个环节:

  1. 主叫终端发起 SIP INVITE,消息体里的 SDP 带有媒体信息:编码方式、IP 地址、端口号。VoLTE 场景下,终端通常首选 AMR-WB(宽带语音编码)。
  2. INVITE 经 P-CSCF 转发,P-CSCF 会根据会话描述向 PCRF 申请质量保障,触发专用承载建立。这里的专用承载就是 QCI=1 的语音承载,属于 GBR 类型,网络必须保证它的带宽和时延。
  3. S-CSCF 分析被叫号码,通过 I-CSCF 或被叫归属域的 S-CSCF 做路由,最终把 INVITE 送到被叫侧 P-CSCF,再下发给被叫终端。
  4. 被叫振铃,终端回 180 Ringing,主叫侧听到回铃音。
  5. 被叫接听,返回 200 OK,主叫终端回 ACK,呼叫建立。
  6. 两边开始传输 RTP 语音包,媒体流在承载面上流动,空口资源由 QoS 机制保障。
  7. 通话结束,任一方发起 SIP BYE,网络释放专有承载,会话拆除。

这里面最值得琢磨的是第二步。VoLTE 为了保证通话质量,网络侧会在呼叫建立阶段创建 QCI=1 的专用承载,这个动作通常由 PCRF 根据 P-CSCF 上报的媒体信息决定。所以在信令面上,你会看到 SIP 会话和承载建立是并行推进的:SIP 控制面负责“谁能通话”,承载面负责“通话质量”。

注意:如果你在抓包里看到 INVITE 已经 200 OK,但媒体流一直没通,大概率不是 SIP 层问题,而是专有承载没建起来,或者 PCRF 下发的策略和实际媒体协商不一致。

2.3 语音质量背后的技术组合拳

VoLTE 通话质量好,不是玄学。它靠几个机制共同作用。

编码方面,VoLTE 普遍使用 AMR-WB(自适应多码率宽带编码),采样率 16kHz,常用码率 23.85kbps,比 2G/3G 常用的 AMR-NB(窄带,8kHz)高出不少,人声更自然、清晰度更好。在弱覆盖场景下,编码器可以自动降速,比如降到 12.65kbps,牺牲一点点音质换来更稳定的通话。

QoS 方面,4G 网络定义了不同的 QCI(QoS Class Identifier),每个 QCI 对应一组资源特性。VoLTE 语音走 QCI=1,是 GBR 类型,优先级高,时延小;IMS 信令走 QCI=5,是非 GBR,但保留优先级;视频通话走 QCI=2。复盘时你只需要记住一句话:语音业务如果在网络侧没有对应 QCI 保障,再好的手机也会出现断断续续。

RoHC(鲁棒头压缩)是另一个容易被忽略的点。一个普通 RTP 语音包,IP/UDP/RTP 头加起来有 40 字节以上,在 LTE 空口上白白消耗资源。RoHC 可以把这些头压缩到几个字节,大幅提升空口承载率。所以在一些国行手机、纯 VoLTE 定制终端上,RoHC 开启与否直接影响到单位资源内能支撑多少路语音。

还有移动性保障。用户开车从 LTE 覆盖区进入弱覆盖区,如果突然掉到 2G/3G,语音不能断。eSRVCC 在 IMS 层面把会话从 LTE 承载迁到电路域,再响一次铃、再接另一路,尽量让听感无缝。这个过程的信令设计很巧妙,但故障排查时也最容易牵扯出“媒体面有短暂中断”的问题。

3. 5G VoNR:核心网重构后,IMS 依然是语音底座

3.1 从 EPC 到 5GC,核心网发生了什么变化

进入 5G SA 阶段,核心网从 EPC 演进到 5GC(5G Core),变化非常大。EPC 时代,控制面主要由 MME 承担移动性管理,S-GW/P-GW 承担会话管理,两者边界不算特别清晰。5GC 把控制面彻底服务化,拆成 AMF(负责接入和移动性)、SMF(负责会话管理)、UPF(负责用户面)、NRF(服务发现)、UDM(用户数据)等功能模块,每个模块对外提供标准服务接口。

但需要注意的是,5GC 再变,IMS 还是那个 IMS。5G 网络里,VoNR 的语音和视频业务依然由 P-CSCF/S-CSCF 这套体系控制,IMS 与 5GC 之间通过标准接口对接。简单说,IMS 负责“会话控制”,5GC 负责“流量管道”,两边分工明确。

对于网络规划人员来说,最大的变化在于策略控制。4G 时代叫 PCRF,5G 时代叫 PCF,虽然使命类似,但接口从 Gx 变成了 N5,业务流程也从绑定 EPS 承载变成了绑定 QoS Flow。如果你熟悉 VoLTE,那看 VoNR 信令会非常亲切,因为 SIP 层的消息和流程几乎没有变。

3.2 VoNR 注册与呼叫流程对比 VoLTE

VoNR 的注册流程大体还是 SIP REGISTER 那一套,但底层承载机制换了。

在 5G SA 下,终端注册到网络后建立 PDU Session,IMS 信令通过 PDU Session 里的 QoS Flow 传输。P-CSCF 地址依然通过 PCO 下发,但这里涉及 IP 地址分配、IPv4/IPv6 选择、UDM/PCF 的签约检查等细节。5G 的 QoS 模型不再叫 EPS Bearer,而是叫 QoS Flow,QoS 参数从 QCI 变成 5QI,其中语音的 5QI 同样是 1.

我把两者的对应关系做成一张对照表,方便理解:

维度4G VoLTE5G VoNR
底层承载EPS BearerQoS Flow
核心网EPC(MME/S-GW/P-GW)5GC(AMF/SMF/UPF)
策略控制PCRFPCF
QoS 参数QCI=1(语音),QCI=5(信令)5QI=1(语音),5QI=5(信令)
SIP 流程REGISTER/INVITE/BYEREGISTER/INVITE/BYE
P-CSCF 地址获取LTE PCO5G PDU Session PCO

从用户感知上看,VoNR 相比 VoLTE 最大的提升是时延更低、语音和视频质量更好,因为媒体流不经过 LTE 承载中转,直接在 5G 网络里传输。但 VoNR 也有个现实门槛:5G 覆盖要足够好。

3.3 EPS Fallback:5G 覆盖不够时的保底方案

VoNR 对 5G 网络覆盖要求极高,尤其是高频段 5G 信号衰减快,室内覆盖不一定理想。为了保证用户在打电话时不断话、不卡顿,业界设计了 EPS Fallback 方案。

EPS Fallback 的核心思路是:当终端驻留在 5G SA 网络,但当前 5G 覆盖条件不足以保证 VoNR 通话质量时,网络让终端回落到 LTE 网络,再在 LTE 上建立 VoLTE 语音承载。注意,这个回落发生在呼叫建立过程中,而不是通话进行中。终端先在 5G 网络发起语音呼叫,5GC 评估后下发重定向或切换指令,终端快速迁到 LTE,然后在 LTE 域完成语音相关 QoS Flow 的建立。

这个方案的好处是既能在 5G 覆盖好的区域享受 VoNR 的低时延优势,又能在覆盖不好的区域用相对成熟的 VoLTE 兜底。很多运营商早期没有开通 VoNR 时,SA 网络里也直接采用 EPS Fallback,IMS 信令还是那套,只是底层承载从 5G 换到了 LTE。

理解 EPS Fallback 需要抓住一个点:它不是“5G 倒了才回 4G”,而是“呼叫建立时主动选择更可靠的路径”。所以在 VoNR 初期上线的地区,你在 5G 手机上打电话,经常能看到状态栏从 5G 跳到 4G,等电话挂断后再返回 5G。这属于正常现象。

实操场景中,如果你在测试时发现 VoNR 拨打总是回落到 LTE,先别急着怀疑终端,先用网管确认当前小区是否配置了 VoNR 频点,以及核心网是否允许该用户使用 VoNR。

4. 终端 IMS 注册故障排查实录:从 4G 模块到“没图标”的手机

4.1 “状态栏没有 VoLTE/VoNR”先查这五件事

测试中遇到最多的问题,不是呼叫失败,而是终端根本注册不上 IMS,状态栏始终不出现 VoLTE/VoNR 图标。这时不要急着抓 VOLTE 信令,先按顺序排查五件事。

第一,检查签约。SIM 卡是否开通 VoLTE/VoNR 权限,是否属于漫游状态。部分运营商对漫游用户的 IMS 权限单独配置,需要业务侧确认。

第二,检查 APN。终端里是不是正确配置了 IMS APN。4G 模块场景尤其常见,很多模块出厂默认的 APN 是 CMNET 这类上网 APN,并没有给 IMS 单独配置。IMS APN 里面会带“ims”字样,APN 类型也包含 ims。

第三,检查终端配置文件。VoLTE/VoNR 开关有没有打开,是否在运营商的终端支持名单里。一些刷机后的 Pixel 手机“IMS 注册不了”,很多时候就是因为系统级配置和运营商参数不匹配。

第四,检查 P-CSCF 地址是否下发成功。终端注册 IMS 前,必须先拿到 P-CSCF 地址。如果 PCO 里面没带这个地址,或者下发的地址是终端不支持的 IP 版本,注册流程根本走不起来。查看方式可以借助芯片日志或者 Modem 日志。

第五,检查当前网络驻留状态。如果手机驻留在没有配置 IMS 功能的 4G/5G 频点上,或者处在一个不允许语音业务的区域,注册同样会失败。

4.2 模块级排查:AT 指令与芯片日志

如果是做 4G 模块或者 5G 模块的集成测试,AT 指令是排查 IMS 注册的第一切入点。

常用的几条指令包括:

  • 查询当前 APN 配置:AT+CGDCONT?
  • 设置 IMS APN:AT+CGDCONT=1,"IMS"
  • 查询 PDU 上下文激活状态:AT+CGACT?
  • 查询上次注册失败原因:AT+CEER

AT+CEER返回的 cause 很关键,它会把网络侧拒绝的协议原因直接打出来。比如附着了但 IMS 注册失败,原因值可能是“operator determined barring”或者“insufficient user privileges”,翻译过来就是:网络侧直接拒绝了,你拿着这个原因去问运营商要签约数据,比自己瞎猜有效得多。

如果 AT 层查不出问题,下一步是芯片日志。高通平台通常是 QXDM + QCAT,联发科平台是 CatcherLog,展锐平台也有配套工具。开启日志后,重点过滤 SIP REGISTER 和 SIP 401/200 OK 这几条消息。看日志时注意一个问题:第一次 REGISTER 没带凭证,收到 401 是正常流程,第二次 REGISTER 带凭证后如果还是收到 403 或者 404,那才是真正的问题。

4.3 SIP 常见错误码速查表

IMS 注册和呼叫阶段失败,核心网通常会回标准的 SIP 错误码。下面这份速查表直接背下来,排障速度能快很多。

错误码含义常见根因
403 Forbidden服务器拒绝请求鉴权失败、用户服务被限制、APN 策略拦截
404 Not Found被叫或发起域不可达被叫号码未注册、路由配置错误、HSS 用户数据异常
480 Temporarily Unavailable用户暂时不可达被叫未注册 IMS、网络覆盖异常、终端离线
503 Service Unavailable服务暂时不可用S-CSCF 过载、链路中断、平台维护
380 Alternative Service需要切换服务通常在 SRVCC/EPS Fallback 网络决策中返回

遇到 403,先核对 USIM 卡的 MDN/MCC/MNC 是否和运营商配置一致,再看终端是否支持网络要求的鉴权算法。遇到 404,则要查被叫号码归一化规则和 S-CSCF 的路由配置,特别是跨运营商呼叫时,号码前缀格式也算常见坑。480 往往要从被叫终端的注册状态查起,如果被叫已经销号或者未开机,网络侧会保留注册信息但也可能直接回 480。

4.4 线上抓包:用日志还原注册过程到底断在哪一步

排到最后,往往还是要靠抓包看全貌。IMS 的信令面是 SIP 消息,可以通过 Wireshark 直接解析。如果你手头能拿到核心网侧抓包,或者终端开启诊断模式导出包文件,重点看以下三步。

第一步,看有没有发出第一个 REGISTER。如果终端什么都没发,说明触发条件不满足,比如网络没下发 IMS 配置,或者终端的 IMS 开关没打开。

第二步,看有没有收到 401。如果收到 401,说明网络已经正确找到用户并下发鉴权挑战,终端后面的响应是否带上了正确的 credentials,是关键。

第三步,看第二次 REGISTER 的响应。返回 200 OK 说明注册成功;返回 4xx/5xx,就可以对照上一节表格去缩小范围。

在实测中我还遇到过一个很隐蔽的问题:终端和网络之间的时钟偏差过大,导致 AKA 鉴权向量校验失败。这个问题在抓包里看起来就是第二次 REGISTER 后立刻收到 403,但终端日志里又看不到明显异常。解决办法是检查终端时间同步和网络时间源,尤其在实验室环境里,设备手动改时间后很容易出现这种“差一分钟注册不上”的怪问题。

5. 工程落地影响与从业者经验

5.1 运营商、终端厂商与开发者各自要面对什么

IMS 不是一套停留在标准里的技术,它的落地牵动各方。运营商侧要处理 IMS 与 5GC 的互通、IPv6 地址规划、QoS 策略模板适配,还要在 VoNR 未全面铺开前用 EPS Fallback 保底。终端厂商要在不同运营商定制版之间维护 IMS 参数,同一款手机往往要适配几十套运营商配置,工作量远超普通用户想象。

软件开发者和测试人员要面对的则是另一类问题:VoLTE/VoNR 通话能力通过平台 API 开放给应用后,如何判断通话建立成功?如何管理音频焦点和网络切换?这些都需要对 IMS 呼叫状态有基本概念,否则会出现“界面显示通话中,但音频通路没切过来”的体验问题。

做网络优化的同学,则要同时看无线侧和 IMS 侧:无线弱覆盖导致 VoLTE 掉话不算罕见,但也不一定全是无线问题,IMS 侧路由表错误、S-CSCF 负载过高同样能制造“通话时断时续”的假象。

5.2 学习 IMS 值得走通的路径与资源

如果你是刚开始接触这个方向,我建议的学习路径是:先把 SIP 协议基础搞懂,再理解 IMS 标准架构,最后回到实际工程里用信令和承载对照。

书籍和标准方面,3GPP 的 TS 23.228(IMS 架构)、TS 24.229(IMS 信令协议)是避不开的一手资料,短期硬啃可能头疼,但遇到具体问题时翻一翻,往往能找到答案。如果有条件搭一套开源核心网做实验,比如基于 OpenAirInterface 这类平台拉一个轻量核心网环境,可以直观地看到 UE 注册、PDU Session 建立、IMS 注册的信令交互。实测下来,这种“从零搭环境”的收益比只看 PPT 强太多。

工具层面,先熟悉 Wireshark 的 SIP 解析和 RTP 分析能力,再有条件的话接触芯片厂商的诊断工具。对做终端的人,ADB 抓 logcat 和 Modem 日志也是基本功。

5.3 我的几个实测建议

最后分享一点我在实际调测中的体会:IMS 这套东西,最怕的不是复杂,而是“想当然”。我之前接手过一个 VoLTE 语音通不了的单子,信令面全程 200 OK,媒体面却听不到声音,后来查出来是 RTP 地址端口协商没问题,但 PCRF 下发的上行带宽写得太小,AMR-WB 包一多就开始丢包。类似这种问题,在基础信令上看不到,只能靠把信令、媒体、QoS 三张图叠在一起慢慢对。

还有一点想提醒大家:看到 200 OK 不等于通话一定可通。永远要把 SIP 层和媒体层分开验证,特别是第一次做 VoNR/VoLTE 测试时,一定要在终端侧确认 RTP 流有上行和下行数据,否则很容易被“假接通”坑到。我见过不少新入行的同事,看到 INVITE/200 OK 就直接报“呼叫成功”,结果用户一接电话就反馈“听不到声音”,返工成本极高。

如果你想真正吃透 IMS,我的建议很直接:别只盯着 SIP 那几个方法,把承载控制、QoS 策略、移动性方案一起学。VoLTE 和 VoNR 对你来说,就不再是两个孤立的名词,而是一条完整可解的逻辑链。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询