<!-- title: 图解IMS：把电话局搬进IP网 -->

# 图解IMS：把电话局搬进IP网

你在4G/5G手机上按下拨号键的那一刻，这个电话走的路和二十年前的电话完全是两回事：它不再是一条独占的“电路”，而是变成了一堆IP数据包，混在微信消息和视频流量里一起跑。但电话又不能真的退化成“一个会响的App”——它得有号码、有振铃、有计费、能打通固话和别家运营商的用户。**IMS（IP多媒体子系统）就是为了完成这件事而生的：在纯IP的网络上，重新建一座“电话局”。**

本文带你把这座“电话局”从大堂走到诊室：IMS为什么这样设计、注册时那一下“401挑战”是怎么回事、打电话前的“先修路后说话”是什么机制，以及5G时代VoNR和EPS Fallback的分岔口。

## 一、电话不只是“传数据”：为什么需要一座新电话局

把语音变成IP包很容易，任何一个网络电话软件都能做到。难的是“电话”这个业务本身自带的一堆老规矩：

1. **有状态**。微信语音断了就断了，但电话有“振铃中”“通话中”“挂机中”的状态，网络得全程盯着这场会话，随时准备计费、转接、放彩铃。
2. **有身份**。电话靠号码寻址，全球互联互通，不是靠“用户名+服务器”。
3. **有资源**。语音对丢包和时延极其敏感，不能和隔壁正在下载电影的人挤一条“尽力而为”的车道。
4. **有历史包袱**。新建的网络必须能打通还活着的2G/3G网络和全球固网。

传统电话局靠“电路交换”天然满足这些要求——每通电话独占一条物理电路，状态、资源、互通全是天生的。但LTE从设计之初就是全IP网络，没有给电路交换留位置。**IMS的使命，就是用纯IP的方式把这四样老规矩重新实现一遍**：用SIP协议管理会话状态，用号码到SIP地址的映射维持身份，用专用承载保证资源，用网关实现与旧网络的互通。

可以这么类比：**CS时代的电话是“专线对讲机”，接通前先给你焊一条专线；IMS时代的电话是“特快专递”，快递网络（IP网）人人共用，但电话这个业务在快递网络里享有一套VIP流程——专用通道、签收确认、全程追踪。**

## 二、为什么选SIP：一套用文本写的“电话礼仪”

IMS选的会话控制协议是**SIP（会话发起协议）**，它由IETF制定，原本是为互联网多媒体会话设计的。选它有几个很实际的理由：

- **文本协议，像HTTP一样好读**。一条INVITE（邀约）消息肉眼就能看懂主被叫是谁，这对调试是天大的好事。
- **与传输解耦**。SIP只管“会话的逻辑”，不管底下是TCP还是UDP，也不管媒体怎么传——媒体走RTP，控制走SIP，这就是经典的“控制与承载分离”。
- **可扩展**。加彩铃、加视频、加会议，都是往消息里塞新字段的事，不用推翻重来。

SIP的基本“礼仪”和人类打电话惊人地相似：`INVITE`相当于“喂，我想找某人通话”，`180 Ringing`是“响铃了”，`200 OK`是“喂？”，`ACK`确认后开始说话，`BYE`是“挂了啊”。**IMS做的事情，就是给这套自由散漫的互联网礼仪，配上运营商级的身份认证、资源预留和业务触发机制。**

## 三、IMS的三台一库：一座电话局的组织架构

IMS的核心节点名字都带CSCF（呼叫会话控制功能），按分工可以记住“三台一库”：

| 角色 | 通俗类比 | 干什么活 | 关键细节 |
|---|---|---|---|
| P-CSCF | 小区前台接待 | 终端接入IMS联系的**第一个**也是**唯一**的节点 | 所有SIP信令都经过它，它与终端之间建立安全保护通道 |
| I-CSCF | 医院分诊台 | 来了个陌生号码，先查档案：**该归哪台S-CSCF管** | 每次注册时动态指派，对外隐藏网络内部结构 |
| S-CSCF | 主治医生 | 真正管你的人：执行鉴权判决、维护注册状态、触发业务 | 注册成功后，你这个用户的所有会话都由它经手 |
| HSS | 档案室 | 存签约数据、鉴权密钥材料、“某某用户归哪台S-CSCF管”的指派记录 | 是IMS的信任根，密钥材料永远不出档案室 |

它们的连接关系是这样的：

```mermaid
flowchart TD
    UE["手机终端<br/>自带SIP用户代理"]
    subgraph HOME["归属网络的IMS电话局"]
        P["P-CSCF<br/>前台接待"]
        I["I-CSCF<br/>分诊台"]
        S["S-CSCF<br/>主治医生"]
        HSS["HSS<br/>档案室"]
        AS["应用服务器<br/>彩铃与呼叫转移"]
    end
    MGCF["媒体网关控制<br/>通往旧电话局的大门"]
    CS["2G/3G及固网"]

    UE -->|"SIP信令"| P
    P -->|"首次注册转交"| I
    I -->|"查询该归谁管"| HSS
    I -->|"转交注册"| S
    S -->|"取鉴权与签约"| HSS
    S -->|"触发业务"| AS
    S -->|"拨打旧网用户"| MGCF
    MGCF -->|"电路交换互通"| CS
```

注意两个设计巧思：**第一**，终端永远只认识P-CSCF，归属网络内部怎么绕、S-CSCF有几台，对外全部隐藏——这让运营商可以随意扩容；**第二**，S-CSCF通过MGCF网关与旧网络互通，所以你用5G手机打你爸的老年机，中间就是在这里完成的“翻译”。

## 四、开机第一件事：两层注册，别混为一谈

手机开机后其实经历了**两次完全不同的注册**，这是新手最容易混淆的点：

- **第一层：网络注册（附着）**。手机和移动网络建立关系：“我是谁、我在哪个小区、给我IP地址”。做完这一步，你能上网了，**但还不能打电话**。
- **第二层：IMS注册**。手机作为一个SIP用户，向IMS电话局“报到”：“号码138xx在线了，来电请送我这。”做完这一步，你的号码才真正“挂在”电话局里。

第一层注册完成后，手机通过默认承载里的配置参数拿到**P-CSCF的地址**（也可以通过DNS查询归属域名获得），随后开始IMS注册。整个流程最精彩的部分，是那一次刻意的"401"：

```mermaid
sequenceDiagram
    participant U as 手机
    participant P as P-CSCF
    participant I as I-CSCF
    participant S as S-CSCF
    participant H as HSS
    U->>P: REGISTER 我要报到
    P->>I: 转交REGISTER
    I->>H: 这个号码归谁管
    H-->>I: 指派给某台S-CSCF
    I->>S: 转交REGISTER
    S->>H: 取该用户鉴权数据
    H-->>S: 返回挑战材料
    S-->>I: 401 先验证身份
    I-->>P: 401
    P-->>U: 401 附挑战值
    Note over U,P: 手机用卡内密钥算出应答
    U->>P: REGISTER 带鉴权应答
    P->>I: 转交
    I->>S: 转交
    S->>S: 校验应答是否正确
    S-->>U: 200 OK 注册成功
```

这个“**先发401、再收应答**”的挑战-应答机制，就是移动通信鉴权思想的延续：**密钥永远不会在网络上传输**。手机卡里存着根密钥，HSS档案室里也存着同一把，双方各自用挑战值做运算，S-CSCF比对结果——对得上，你就是真身。整个运算在卡的加密模块里完成，即使有人全程抓包，也推不出密钥本身。

还有一个常被忽略的细节：401之后，手机与P-CSCF之间会建立一条**安全保护通道**，之后的SIP信令全部加密加完整性保护。这意味着——**你抓包调试IMS，第一笔REGISTER能看到，后面的REGISTER可能全是密文**。这是IMS调试的第一大坑，后面实战篇再说。

注册成功还有一步“隐藏剧情”：S-CSCF会代替你向应用服务器做**第三方注册**，相当于主治医生把你介绍给各专科诊室——“这位用户的彩铃归你管、呼叫转移归你管”。之后任何来电，S-CSCF按用户签约的业务清单逐个过一遍服务器，这就是IMS能灵活叠加增值服务的机关。

## 五、注册完才敢打电话：先把路修好，再开口说话

IMS注册只解决“我在网上”。真正拨号时，SIP的INVITE流程里藏着一个互联网电话软件通常不做、电话却必须做的机制——**资源预留（预置条件）**。

想象一个场景：INVITE发出去了、对方手机都开始振铃了，结果主叫的无线信道拥堵，语音专载建不起来——对方接起来却听不见你。为杜绝这种尴尬，IMS的标准呼叫流程强制要求：**双方都确认“语音专用通道已就绪”之前，不许振铃**。

```mermaid
sequenceDiagram
    participant A as 主叫手机
    participant X as 主叫侧IMS
    participant Y as 被叫侧IMS
    participant B as 被叫手机
    A->>X: INVITE 请求通话
    X->>Y: 转发INVITE
    Y->>B: 转发INVITE
    B-->>Y: 183 带媒体参数
    Y-->>X: 183
    X-->>A: 183
    Note over A,X: 主叫侧激活语音专载
    A->>X: UPDATE 资源已就绪
    X->>Y: UPDATE
    Y->>B: UPDATE
    Note over B,Y: 被叫侧激活语音专载
    B-->>Y: 180 振铃
    Y-->>X: 180
    X-->>A: 180
    B-->>Y: 200 OK 接听
    Y-->>X: 200 OK
    X-->>A: 200 OK
    A->>X: ACK
    X->>Y: ACK
    Y->>B: ACK
```

那个“语音专载”，在4G里叫QCI 1的GBR专用承载，在5G里对应5QI 1——它是一条由网络保证带宽和时延的语音快车道，与刷网页用的默认承载物理隔离。信令走信令承载，语音包走语音专载，互不干扰。

那么一条20毫秒的语音包到底多大？可以用一个简单的公式估算：

$$L_{负载} = R_{编码} \times T_{打包}$$

以宽带语音编码AMR-WB的12.65 kbps档位、20毫秒打包周期计算：

$$L_{负载} = 12.65\ \text{kbps} \times 0.02\ \text{s} = 253\ \text{bit} \approx 32\ \text{字节}$$

32字节的语音负载，要套上RTP/UDP/IP一共约40字节的协议头才能跑IP网——头比肉还重。所以移动网络普遍启用**头压缩**，把40字节压到几个字节。这也是“为什么电话要用专门承载、专门优化”的又一例证：它对时延、抖动、开销都苛刻到普通数据业务无法想象。业界通行的经验值是：**语音单向时延超过150毫秒，通话体验就会明显变差**——这约等于要求你说完话150毫秒内对方耳朵必须收到。

## 六、5G时代的一通电话：三条路怎么选

到了5G，IMS这座“电话局”原封不动地搬了过来——**VoNR和VoLTE用的其实是同一套IMS**，变的只是底下：接入网从LTE换成NR，核心网从EPC换成5GC，语音专载从QCI 1换成5QI 1。但现实中，很多5G手机打电话时信号图标会掉回4G，原因就是下面这个分岔口：

```mermaid
flowchart TD
    A["手机发起语音呼叫"] --> B{"所在网络是否支持<br/>VoNR端到端打通"}
    B -->|"是"| C["VoNR<br/>语音留在5G<br/>走5QI1专载"]
    B -->|"否"| D["EPS Fallback<br/>先把手机切回4G"]
    D --> E["回落完成后<br/>按VoLTE方式通话<br/>走QCI1专载"]
    C --> F["通话结束"]
    E --> F
```

| 维度 | CS域语音（2G/3G） | VoLTE | VoNR |
|---|---|---|---|
| 承载方式 | 独占电路 | IP包 | IP包 |
| 接入网 | GSM/WCDMA等 | LTE | NR（5G） |
| 核心网 | 传统CS核心 | EPC + IMS | 5GC + IMS |
| 信令协议 | 电话局内部信令 | SIP | SIP |
| 语音专用通道 | 物理电路 | QCI 1专载 | 5QI 1专载 |
| 打电话时能上网 | 勉强甚至不能 | 可以 | 可以 |
| 离开覆盖时 | 原生电路 | SRVCC切回2G/3G | 回落机制衔接 |

两个容易搞混的机制放在一起说清楚：

- **EPS Fallback发生在通话之前**。你还没开口，网络发现5G上打不了语音，先把手机“送回”4G，再用VoLTE接通。用户体验是拨号稍慢，一般无感。
- **SRVCC发生在通话之中**。你正用VoLTE通话，列车驶出LTE覆盖区，为防止掉话，网络把这场**正在进行**的通话无缝转移到2G/3G电路上。IMS在中间扮演“锚点”角色——媒体流先锚在IMS，转走时只换后半段路，对方完全无感。

标准允许多种回落与组网实现，具体行为以各运营商和厂家的官方说明为准。

## 七、实战连接：IMS注册排障的五个抓手

在现网和实验室里，语音问题最后八成会落到IMS注册和呼叫建立上。下面是调试时真正会用到这张知识地图的场景：

1. **第一层注册成功、IMS注册失败**。典型症状：能上网、刷视频正常，就是不能打电话。排查顺序：① 手机是否建起了IMS专用的APN连接（很多人误以为默认上网连接就够了——**IMS注册必须走IMS接入点**）；② P-CSCF地址有没有随连接配置正确下发；③ 终端卡的ISIM数据是否开通。
2. **抓包“看不到”SIP信令**。第一笔REGISTER可见，之后全没了？别慌，注册成功后信令走保护通道加密了。要么在P-CSCF内侧解密点抓，要么用网络侧跟踪工具看，**不要误判成“手机没发信令”**。
3. **401之后没有第二次REGISTER**。多半是卡内鉴权数据与HSS不一致，或终端时钟偏差导致挑战值校验失败，S-CSCF会拒绝并可能触发临时封禁。
4. **SIP消息里的地址被改坏**。终端经过NAT或某些网关时，SIP消息体内的联系地址与实际IP对不上，会导致后续请求被拒——这正是现网部署**SBC（会话边界控制器）**的原因之一：由它统一做NAT穿越和拓扑隐藏。
5. **5G下打不出电话**。先确认是EPS Fallback未配置、还是VoNR未开通，还是手机设置里关掉了“5G通话/VoNR开关”——用户侧一个开关，网络侧一套配置，三者都可能。

对应到现网运维指标，运营商紧盯的就是：**IMS注册成功率、呼叫建立时长、EPS Fallback成功率、SRVCC切换成功率**。这四个数字，每一个背后都是本文的一张时序图。

## 八、三个常见误解

- **误解一：“VoLTE就是高清语音”**。高清只是结果，本质是控制与承载分离的IMS架构：SIP管会话、专载管质量、HSS管信任。编码只是跑在这一切之上的表层。
- **误解二：“手机显示5G，电话就一定走5G”**。只要所在网络不支持VoNR，你的5G手机打电话时会EPS Fallback回4G，图标瞬间变4G——这不是故障，是当前最常见的部署形态。
- **误解三：“IMS是4G/5G的新发明”**。IMS的理念早在3G时代中后期就已提出，本意是给当时的多媒体业务建统一控制层，结果真正的大规模商用是等LTE“无电路可用”才完成的。技术选型常常是“理念先行、需求补票”。

## 常见问题

**Q1: VoLTE和微信语音到底差在哪？**
A: 微信语音是OTT应用，走“尽力而为”的普通数据通道，网络拥堵时卡顿、丢字；VoLTE由网络专门批准一条有质量保证的语音专载，且有号码体系全球互通、支持紧急呼叫、有运营商级计费与可靠性。一句话：**一个是快递 economy 舱，一个是打电话专机**。

**Q2: IMS注册和手机开机注册是一回事吗？**
A: 不是。开机注册解决“终端接入网络、拿到IP”；IMS注册解决“号码在电话局报到、可以收发呼叫”。只做了前者你能上网但不能接打电话，这是排障时最常用的分界线。

**Q3: VoNR和VoLTE对用户的区别大吗？**
A: 对用户几乎透明——同一套IMS、同一套号码、通常同样的EVS宽带编码。区别在网络侧：接入网与核心网都换成5G体系后，空口时延更低、语音专载由5G QoS框架管理，理论上呼叫建立更快、通话抗抖动更好。

**Q4: 为什么我的5G手机一打电话就跳到4G？**
A: 大概率是EPS Fallback：所在区域尚不具备VoNR端到端条件，网络主动把手机送回4G用VoLTE接通。等运营商逐步开通VoNR，这个现象会减少。

**Q5: SRVCC和EPS Fallback的区别是什么？**
A: 时机不同。EPS Fallback发生在**通话建立前**——“5G打不了，先回4G再打”；SRVCC发生在**通话进行中**——“4G上正说着，快出覆盖了，把通话无缝挪到2G/3G”。一个防尴尬，一个防掉话。

## 参考来源

1. [IP Multimedia Subsystem - Wikipedia](https://en.wikipedia.org/wiki/IP_multimedia_subsystem) — IMS架构、P/I/S-CSCF与HSS角色、注册与安全机制的权威概述
2. [Voice over LTE - Wikipedia](https://en.wikipedia.org/wiki/Voice_over_LTE) — VoLTE定义、专载与高清语音、SRVCC连续性说明
3. [Session Initiation Protocol - Wikipedia](https://en.wikipedia.org/wiki/Session_Initiation_Protocol) — SIP消息礼仪与INVITE/183/PRACK/UPDATE/200流程
4. [Enhanced Voice Services - Wikipedia](https://en.wikipedia.org/wiki/Enhanced_Voice_Services) — EVS语音编码在VoLTE/VoNR中的位置
5. [Single Radio Voice Call Continuity - Wikipedia](https://en.wikipedia.org/wiki/Single_Radio_Voice_Call_Continuity) — SRVCC锚点与语音连续性原理

> 本文由「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学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
