<!-- title: 语音通话演进：VoLTE到VoNR信令全解 -->

# 语音通话技术演进：从VoLTE到VoNR，IMS信令流程全景图解

你有没有想过一个问题：手机拨出电话的那一秒到对方铃声响起的这几秒之间，网络里到底发生了什么？在2G/3G时代，这个问题很好回答——电路域交换，一条物理通路从你连到对方。但到了4G/5G时代，整个网络都是IP化的分组交换，语音变成了"数据包"，那语音通话是怎么在纯数据网络上实现的？

答案就是三个字母：**IMS**（IP多媒体子系统）。它是一套专门为"在IP网络上打电话"设计的控制系统。今天我们就来拆解这套系统——从IMS注册到SIP呼叫，从VoLTE到VoNR，把语音通话的底层信令逻辑彻底讲透。

## 一、语音技术的代际演进：为什么需要IMS？

### 1.1 从电路交换到分组交换

想象一下传统电话网络：两个人打电话时，运营商在你和对方之间拉一条"虚拟专线"（电路），直到挂机才释放。这种方式叫**电路交换（CS，Circuit Switched）**。优点是质量有保障，缺点是资源利用率低——你没说话时，线路也是占着的。

到了4G LTE时代，网络全面IP化，不再保留电路域。所有业务（包括语音）都必须跑在分组交换（PS）网络上。这就带来了一个根本性问题：**没有电路域了，语音怎么办？**

| 阶段 | 技术方案 | 语音承载方式 | 核心问题 |
|------|----------|-------------|---------|
| 2G/3G | CS语音 | 电路域专用通道 | 资源利用率低 |
| 4G早期 | CSFB | 回落到2G/3G电路域 | 呼叫时延大（5-6秒） |
| 4G成熟期 | **VoLTE** | IMS控制+LTE分组域 | 需要IMS基础设施 |
| 5G NSA | EPS Fallback | 回落到4G VoLTE | 仍有切换时延 |
| 5G SA | **VoNR** | IMS控制+5G NR分组域 | 纯5G体验 |

**CSFB（Circuit Switched Fallback）** 是一种过渡方案：你在4G网络上待着，一打电话就切回2G/3G。问题很明显——打电话时数据业务中断，而且回落过程导致呼叫建立时延高达5-6秒。

**VoLTE（Voice over LTE）** 才是4G语音的正解：语音和LTE数据一样，都是IP包，由IMS核心网负责控制呼叫的建立、维护和释放。

### 1.2 IMS是什么？一个直观类比

把IMS想象成一个**"IP时代的电话交换机"**：

- 传统交换机：接通物理线路，让你和对方对话
- IMS：管理SIP信令，协商媒体参数，协调网络资源，让你们通过IP包通话

IMS不是一个单独的设备，而是一组功能实体的组合，最核心的是**CSCF（呼叫会话控制功能）**。

```mermaid
graph TB
    subgraph IMS核心["IMS核心网"]
        P[P-CSCF<br/>代理CSCF<br/>───<br/>UE的入口<br/>QoS控制/安全]
        I[I-CSCF<br/>查询CSCF<br/>───<br/>查询HSS<br/>分配S-CSCF]
        S[S-CSCF<br/>服务CSCF<br/>───<br/>注册/鉴权<br/>会话控制/触发]
        H[HSS<br/>归属用户服务器<br/>───<br/>用户数据<br/>鉴权向量]
        T[AS/TAS<br/>应用服务器<br/>───<br/>补充业务<br/>呼叫转移/彩铃]
    end

    UE["UE<br/>手机终端"] -->|"SIP信令"| P
    P --> I
    I --> S
    S <-->|"Diameter Cx"| H
    S <-->|"SIP/ISC"| T

    style IMS核心 fill:#e8f5e9,stroke:#4caf50
    style UE fill:#fff3e0,stroke:#ff9800
```

**三个CSCF各司其职**：

- **P-CSCF（Proxy）**：代理服务器，是UE在IMS中的第一个接触点。负责信令压缩、安全关联、QoS授权。类似于银行的"大堂经理"——先接待你，再引导你去正确的窗口。
- **I-CSCF（Interrogating）**：查询服务器，联系HSS查找/分配S-CSCF。类似于医院的"分诊台"——查你的档案，决定由哪个主治医生负责。
- **S-CSCF（Serving）**：服务服务器，是IMS的核心大脑。负责用户注册、鉴权、会话路由、业务触发。类似于"主治医生"——真正管你的事。

## 二、IMS注册流程：手机开机后发生了什么？

### 2.1 整体过程概览

手机开机后，要完成**两层注册**才能打电话：

1. **EPC/5GC注册**：附着到移动核心网，获得IP连接
2. **IMS注册**：在IMS核心网中注册，获得语音服务能力

用日常类比：EPC注册相当于**"你进入了一栋大楼"**（获得了IP地址），IMS注册相当于**"你在前台登记了你的办公室号"**（别人能找到你）。

### 2.2 第一步：EPS附着 + IMS信令承载建立

在VoLTE场景下，手机先附着到LTE网络：

```mermaid
sequenceDiagram
    participant UE as 手机(UE)
    participant eNB as 基站(eNodeB)
    participant MME as MME
    participant SGW as S-GW
    participant PGW as P-GW
    participant PCRF as PCRF

    Note over UE,PCRF: 第一阶段：LTE附着 + 数据默认承载（QCI=9）
    UE->>eNB: Attach Request
    eNB->>MME: Attach Request
    MME->>UE: Authentication/Security
    MME->>SGW: Create Session Request
    SGW->>PGW: Create Session Request
    PGW->>PCRF: IP-CAN Session Establishment
    PCRF-->>PGW: PCC Rules (QCI=9)
    PGW-->>SGW: Create Session Response
    SGW-->>MME: Create Session Response
    MME->>eNB: Initial Context Setup Request
    eNB-->>UE: RRC Reconfiguration (DRB QCI=9)
    UE->>MME: Attach Complete

    Note over UE,PCRF: 第二阶段：IMS信令承载建立（QCI=5）
    UE->>MME: PDN Connectivity Request (APN=ims)
    MME->>SGW: Create Session Request (APN=ims)
    SGW->>PGW: Create Session Request (APN=ims)
    PGW->>PCRF: IP-CAN Session Establishment (IMS)
    PCRF-->>PGW: PCC Rules (QCI=5)
    PGW-->>SGW: Create Session Response + P-CSCF地址
    Note right of PGW: 通过PCO字段下发<br/>P-CSCF IP地址
    SGW-->>MME: Create Session Response
    MME->>eNB: E-RAB Setup (QCI=5)
    eNB-->>UE: RRC Reconfiguration (DRB QCI=5)
```

**为什么要建两条承载？**

| 承载 | QCI值 | APN | 用途 | 特点 |
|------|-------|-----|------|------|
| 数据默认承载 | QCI=9 | cmnet/互联网 | 上网流量 | 尽力而为，不保证速率 |
| IMS信令承载 | QCI=5 | ims | 传送SIP信令 | 优先级高，低丢包率 |
| 语音专有承载 | QCI=1 | ims | 传送语音RTP包 | 呼叫时动态建立 |

**关键细节**：P-GW在建立IMS承载时，会通过**PCO（Protocol Configuration Options）**字段把**P-CSCF的IP地址**下发给UE。这是UE找到IMS入口的关键——就像前台给了你一个"大厅经理的分机号"。

### 2.3 第二步：SIP REGISTER — IMS注册的信令交互

IMS承载建立后，UE知道了P-CSCF地址，接下来就是SIP注册流程。这个过程分为**两个来回**（两次REGISTER请求）：

```mermaid
sequenceDiagram
    participant UE as 手机(UE)
    participant PC as P-CSCF
    participant IC as I-CSCF
    participant SC as S-CSCF
    participant HSS as HSS

    rect rgb(240, 248, 255)
    Note over UE,HSS: 第一次REGISTER：发起注册请求
    UE->>PC: SIP REGISTER<br/>(IMPI + IMPU, 无认证信息)
    PC->>PC: 记录UE的IP和端口<br/>建立信令压缩上下文
    PC->>IC: SIP REGISTER (转发)
    IC->>HSS: Diameter UAR<br/>(User-Authorization-Request)
    HSS-->>IC: Diameter UAA<br/>(返回S-CSCF名称或能力集)
    
    alt S-CSCF已分配
        IC->>SC: SIP REGISTER (转发给已知S-CSCF)
    else S-CSCF未分配
        IC->>IC: 根据能力集选择S-CSCF
        IC->>SC: SIP REGISTER (转发给选定的S-CSCF)
    end
    
    SC->>HSS: Diameter MAR<br/>(Multimedia-Auth-Request)<br/>请求鉴权向量
    HSS-->>SC: Diameter MAA<br/>(返回RAND, AUTN, XRES, IK, CK)
    
    SC-->>IC: SIP 401 Unauthorized<br/>(携带挑战参数: RAND+AUTN)
    IC-->>PC: SIP 401 Unauthorized
    PC-->>UE: SIP 401 Unauthorized
    end

    rect rgb(255, 248, 240)
    Note over UE,HSS: UE计算认证响应
    Note over UE: UE使用USIM/ISIM中的K密钥<br/>验证AUTN(网络认证)<br/>计算RES(用户认证)<br/>推导IK/CK
    end

    rect rgb(240, 255, 240)
    Note over UE,HSS: 第二次REGISTER：携带认证响应
    UE->>PC: SIP REGISTER<br/>(携带Authorization头: RES)
    PC->>IC: SIP REGISTER (转发)
    IC->>SC: SIP REGISTER (转发)
    
    SC->>SC: 验证RES == XRES?<br/>✅ 认证成功
    
    SC->>HSS: Diameter SAR<br/>(Server-Assignment-Request)<br/>注册用户 + 下载业务档案
    HSS-->>SC: Diameter SAA<br/>(返回用户档案: iFC触发规则)
    
    SC->>SC: 根据iFC触发规则<br/>执行第三方注册(TAS/AS)
    
    SC-->>IC: SIP 200 OK
    IC-->>PC: SIP 200 OK
    PC-->>UE: SIP 200 OK<br/>(注册成功！注册有效期如600000秒)
    end
```

#### 逐步解读关键信令

**① SIP REGISTER（第一次）**

UE向P-CSCF发送注册请求，携带的关键信息：

```
REGISTER sip:ims.mnc460.mcc000.3gppnetwork.org SIP/2.0
From: <sip:user@ims.mnc460.mcc000.3gppnetwork.org>
To: <sip:user@ims.mnc460.mcc000.3gppnetwork.org>
Contact: <sip:user@[UE_IP]:5060>;+sip.instance="<urn:gsma:imei:...>"
Expires: 600000
```

- **IMPI（Private Identity）**：私有用户标识，格式如 `user@ims.mnc460.mcc000.3gppnetwork.org`，类似身份证号，用于鉴权，不对外公开
- **IMPU（Public Identity）**：公共用户标识，格式如SIP URI `sip:+8613800138000@ims...` 或Tel URI `tel:+8613800138000`，类似手机号，对外公开

**② 401 Unauthorized（认证挑战）**

S-CSCF通过HSS获取鉴权向量后，向UE发送挑战。这个过程基于**IMS-AKA**机制，是一种**双向认证**：

- UE验证AUTN → **确认"网络是真的"**（防止伪基站）
- 网络验证RES → **确认"用户是真的"**（防止仿冒）

$$
\text{UE侧计算：} \quad RES = f_{K}(RAND)
$$
$$
\text{网络侧比对：} \quad RES \stackrel{?}{=} XRES
$$

其中 $K$ 是USIM/ISIM中的共享密钥，$RAND$ 是网络生成的随机数，$f$ 是安全的密码学函数。

**③ Diameter交互：Cx接口的四个消息**

I-CSCF和S-CSCF通过**Diameter Cx接口**与HSS通信，注册过程中涉及两对消息：

| 消息对 | 方向 | 用途 |
|--------|------|------|
| UAR/UAA | I-CSCF ↔ HSS | 查询已分配的S-CSCF或获取S-CSCF能力集 |
| MAR/MAA | S-CSCF ↔ HSS | 请求鉴权向量（RAND, AUTN, XRES, IK, CK） |
| SAR/SAA | S-CSCF ↔ HSS | 通知注册成功，下载用户档案（iFC触发规则） |

**④ 第三方注册（Third-Party Registration）**

S-CSCF注册成功后，会根据从HSS下载的**iFC（初始过滤准则）**，代表UE向**AS/TAS（应用服务器）**发起第三方注册。这一步是透明的（UE不感知），用于激活补充业务（如呼叫转移、彩铃、VOLTE标志等）。

### 2.4 注册成功后的状态

注册成功意味着：

- HSS中记录了UE当前的S-CSCF信息
- S-CSCF中保存了UE的注册状态和业务档案
- P-CSCF中建立了UE的IP端口映射
- **UE可以发起呼叫（主叫MO）和接收呼叫（被叫MT）**

注册有有效期（通常600000秒≈7天），UE需要在到期前**重新注册**。这也是为什么有时候你手机信号满格但无法拨打VoLTE电话——IMS注册可能已过期但未及时刷新。

## 三、VoLTE呼叫建立流程：从INVITE到振铃

### 3.1 SIP INVITE信令交互

假设Alice拨打Bob的电话，完整的SIP呼叫流程如下：

```mermaid
sequenceDiagram
    participant A as Alice(主叫UE)
    participant PA as P-CSCF_A
    participant SA as S-CSCF_A
    participant SB as S-CSCF_B
    participant PB as P-CSCF_B
    participant B as Bob(被叫UE)

    rect rgb(255, 245, 238)
    Note over A,B: 阶段一：会话邀请
    A->>PA: SIP INVITE<br/>(SDP: codec=AMR-WB, 速率=12.65kbps)
    PA->>PA: 资源预留检查/授权
    PA->>SA: SIP INVITE
    SA->>SA: 查找Bob的注册信息<br/>路由到Bob的S-CSCF
    SA->>SB: SIP INVITE
    SB->>PB: SIP INVITE
    PB->>B: SIP INVITE
    end

    rect rgb(240, 255, 240)
    Note over A,B: 阶段二：媒体协商
    B-->>PB: SIP 100 Trying
    PB-->>SB: SIP 100 Trying
    SB-->>SA: SIP 100 Trying
    SA-->>PA: SIP 100 Trying
    PA-->>A: SIP 100 Trying
    
    B-->>PB: SIP 183 Session Progress<br/>(SDP应答: codec=AMR-WB确认)
    Note over B,PB: 此时被叫侧建立QCI=1专有承载
    PB-->>SB: SIP 183
    SB-->>SA: SIP 183
    SA-->>PA: SIP 183
    Note over PA,A: 此时主叫侧建立QCI=1专有承载
    PA-->>A: SIP 183<br/>(资源预留完成)
    end

    rect rgb(240, 248, 255)
    Note over A,B: 阶段三：振铃与应答
    B-->>PB: SIP 180 Ringing
    PB-->>SB: SIP 180
    SB-->>SA: SIP 180
    SA-->>PA: SIP 180
    PA-->>A: SIP 180 Ringing<br/>(Alice听到回铃音)
    
    B-->>PB: SIP 200 OK (INVITE)
    PB-->>SB: SIP 200 OK
    SB-->>SA: SIP 200 OK
    SA-->>PA: SIP 200 OK
    PA-->>A: SIP 200 OK<br/>(通话建立！)
    
    A->>PA: SIP ACK
    PA->>SA: SIP ACK
    SA->>SB: SIP ACK
    SB->>PB: SIP ACK
    PB->>B: SIP ACK
    Note over A,B: 双向RTP语音流开始
    end
```

### 3.2 三个关键阶段解读

#### 阶段一：INVITE — 发出邀请

主叫UE发出SIP INVITE消息，携带**SDP（会话描述协议）**内容，列出自己支持的语音编码格式（如AMR-WB的多种速率）。这就像你去餐厅点菜，先把菜单上所有你接受的菜都告诉服务员。

SDP示例（简化）：

```
v=0
o=- 123456 1 IN IP4 10.0.1.1
s=-
c=IN IP4 10.0.1.1
m=audio 49152 RTP/AVP 96 97 98
a=rtpmap:96 AMR-WB/16000
a=fmtp:96 mode-set=0,1,2; mode-change-period=2
a=ptime:20
```

#### 阶段二：183 Session Progress — 媒体协商

被叫UE回复183消息，在SDP中确认双方共同支持的编码格式。**这一步同时触发专有承载的建立**：

- 被叫侧P-CSCF触发PCRF → 建立被叫侧QCI=1专有承载
- 主叫侧P-CSCF触发PCRF → 建立主叫侧QCI=1专有承载

**QCI=1承载**是专门为语音RTP包预留的"VIP通道"：

| 参数 | QCI=1（VoLTE语音） | QCI=5（IMS信令） | QCI=9（数据） |
|------|-------|-------|-------|
| 资源类型 | GBR | Non-GBR | Non-GBR |
| 优先级 | 2 | 1 | 9 |
| 时延预算 | 100ms | 100ms | 300ms |
| 丢包率 | $10^{-2}$ | $10^{-6}$ | $10^{-6}$ |
| 保证速率 | 由AMR速率决定 | 无 | 无 |

**为什么语音承载要单独建？** 因为语音对时延极度敏感，不能用数据业务的尽力而为通道。专有承载保证语音包优先传输、有固定带宽保障。

#### 阶段三：180 Ringing → 200 OK → ACK — 三次握手完成

- **180 Ringing**：被叫开始振铃，主叫听到回铃音
- **200 OK**：被叫摘机接听
- **ACK**：确认会话建立，进入通话状态

**SIP的三次握手（INVITE → 200 OK → ACK）**是SIP协议的设计特色——因为INVITE消息可能经过多个代理服务器转发，用三次握手确保端到端的可靠性。

### 3.3 通话中的媒体流

通话建立后，语音数据通过RTP（实时传输协议）在两端之间直接传输（实际经过UPF/PGW转发），不再经过CSCF：

```
UE_A ←──RTP语音包──→ UPF/PGW ←──RTP语音包──→ UE_B
         (QCI=1专有承载)          (QCI=1专有承载)
```

CSCF只在呼叫控制面参与，不触碰实际的语音媒体流——就像媒人牵完线后就退场了，两人直接通话。

## 四、从VoLTE到VoNR：5G语音的升级

### 4.1 VoNR与VoLTE的架构对比

VoNR（Voice over New Radio）的IMS核心网**完全复用**VoLTE的IMS基础设施，区别只在无线接入和核心网：

```mermaid
graph LR
    subgraph VoLTE["VoLTE架构"]
        direction TB
        L_TE["LTE基站<br/>(eNodeB)"]
        L_EPC["EPC核心网<br/>(MME/S-GW/P-GW)"]
        L_IMS["IMS核心网<br/>(P/I/S-CSCF)"]
        L_TE -->|"EPS承载<br/>QCI=5/1"| L_EPC
        L_EPC -->|"SIP/RTP"| L_IMS
    end

    subgraph VoNR["VoNR架构"]
        direction TB
        N_NR["5G基站<br/>(gNodeB)"]
        N_5GC["5GC核心网<br/>(AMF/SMF/UPF)"]
        N_IMS["IMS核心网<br/>(P/I/S-CSCF)<br/>同一个！"]
        N_NR -->|"PDU Session<br/>5QI=5/1"| N_5GC
        N_5GC -->|"SIP/RTP"| N_IMS
    end

    style VoLTE fill:#e3f2fd,stroke:#1976d2
    style VoNR fill:#fce4ec,stroke:#c62828
```

| 对比维度 | VoLTE | VoNR |
|----------|-------|------|
| 无线接入 | LTE (eNodeB) | 5G NR (gNodeB) |
| 核心网 | EPC (MME/SGW/PGW) | 5GC (AMF/SMF/UPF) |
| 信令承载 | 默认EPS承载 (QCI=5) | PDU Session (5QI=5) |
| 语音承载 | 专有EPS承载 (QCI=1) | QoS Flow (5QI=1) |
| IMS核心 | P/I/S-CSCF + HSS | **完全相同** |
| SIP注册流程 | 相同 | **完全相同** |
| SIP呼叫流程 | 相同 | **完全相同** |
| 默认语音编码 | AMR-WB | **EVS** |
| 呼叫建立时延 | ~1.5-2秒 | ~0.8-1.5秒 |

**关键结论**：VoNR并不是发明了一套新的语音系统，而是在5G无线和核心网之上**复用了VoLTE的IMS控制面**。如果你已经理解了VoLTE的信令流程，VoNR对你来说只是换了"管道"（LTE→5G NR），"控制系统"（IMS）完全没变。

### 4.2 EPS Fallback：5G语音的过渡方案

在5G SA部署初期，很多运营商的网络还不能完全支持VoNR（覆盖不足、设备不成熟等），这时采用**EPS Fallback**方案：

**原理**：UE在5G网络发起语音呼叫时，网络通过**切换（Handover）或重定向（Redirection）**将UE从5G NR回退到LTE，然后在LTE上用VoLTE完成语音通话。

```mermaid
sequenceDiagram
    participant UE as 5G终端
    participant gNB as 5G基站
    participant AMF as AMF(5GC)
    participant eNB as 4G基站
    participant MME as MME(EPC)
    participant IMS as IMS核心网

    Note over UE,IMS: 5G附着 + IMS注册完成
    UE->>IMS: SIP INVITE (发起语音呼叫)
    
    Note over gNB,AMF: 网络判断不支持VoNR<br/>触发EPS Fallback
    gNB->>UE: RRC Release + 重定向到LTE
    UE->>eNB: Attach to LTE
    eNB->>MME: TAU/Handover Request
    
    Note over UE,IMS: 回落到4G后继续VoLTE呼叫
    UE->>IMS: SIP INVITE (继续，在LTE上)
    IMS-->>UE: SIP 183/180/200 OK
    Note over UE: VoLTE通话进行中
```

EPS Fallback的代价是增加了约**0.5-1秒的额外时延**，用户体验略差于纯VoNR。但随着5G SA网络的成熟，VoNR正在逐步替代EPS Fallback。

### 4.3 EVS编解码器：VoNR的声音为什么更好

VoNR相比VoLTE的一个重要升级是语音编码从AMR-WB升级为**EVS（Enhanced Voice Services）**：

| 参数 | AMR-WB | EVS |
|------|--------|-----|
| 采样率 | 16 kHz | 16/32/48 kHz |
| 音频带宽 | 50Hz-7kHz（宽带） | 50Hz-14.4kHz（超宽带） |
| 比特率 | 6.6-23.85 kbps | 5.9-128 kbps |
| 编码模式 | ACELP | ACELP + MDCT混合 |
| 语音质量 | HD Voice（高清） | Ultra HD Voice（超高清） |

EVS在**相同比特率下音质更好**（效率提升约30%），或者**相同音质下更省带宽**。这就是为什么VoNR通话听起来比VoLTE更"通透"——因为它能传输更宽的频率范围，保留更多声音细节。

## 五、工程师实战：调试中需要注意什么

### 5.1 VoLTE/VoNR注册失败的常见原因

| 故障现象 | 可能原因 | 排查方法 |
|----------|---------|---------|
| 开机后无法打VoLTE电话 | IMS注册未完成 | 查看QCI=5承载是否建立；检查PCO中P-CSCF地址 |
| SIP REGISTER超时 | P-CSCF不可达 | ping P-CSCF IP；检查DNS解析 |
| 收到401后注册失败 | ISIM/USIM密钥不匹配 | 检查SIM卡IMS配置；交叉验证IMPI/IMPU |
| 注册成功但无法被叫 | iFC触发规则未下载 | 在S-CSCF侧查SAR/SAA消息中的用户档案 |
| 频繁重新注册 | 注册有效期过短或网络抖动 | 检查200 OK中Expires值；排查信令承载稳定性 |

### 5.2 呼叫建立失败的常见原因

| 故障现象 | 可能原因 | 排查方法 |
|----------|---------|---------|
| INVITE后无响应 | S-CSCF路由失败 | 检查被叫注册状态；查S-CSCF路由表 |
| 183后专有承载建立失败 | PCRF策略配置错误 | 检查QCI=1对应的PCC规则；查PGW/SMF日志 |
| 180 Ringing后直接BYE | 被叫侧资源不足 | 检查无线资源调度；排查eNB/gNB告警 |
| 通话中断断续续 | QCI=1承载质量差 | 检查RTP丢包率和时延；排查空口干扰 |
| 编码协商失败 | 双方codec不匹配 | 检查SDP中的rtpmap和fmtp行 |

### 5.3 抓包分析要点

在现网调试VoLTE/VoNR问题时，重点关注以下信令节点：

1. **UE侧**：抓取SIP信令（通常通过QXDM/XCAL等工具），确认REGISTER/INVITE消息是否正常发出
2. **P-CSCF侧**：检查是否正确下发了资源授权请求，确认专有承载触发时机
3. **S-CSCF侧**：检查Diameter Cx交互（MAR/MAA/SAR/SAA），确认鉴权是否成功、用户档案是否完整
4. **PCRF/SMF侧**：确认QCI=1/5QI=1专有承载的策略规则是否正确下发

一个实用技巧：**用Wireshark的SIP过滤器（sip || diameter）快速定位注册和呼叫流程**，再结合RTP分析器查看语音质量。

## 六、完整信令时序总览

将EPS附着、IMS注册、VoLTE呼叫三个阶段串在一起，就是一个**端到端的语音通话全流程**：

| 阶段 | 耗时（典型值） | 关键信令 |
|------|-------------|---------|
| LTE/5G附着 | 100-300ms | Attach Request → Attach Complete |
| IMS信令承载建立 | 50-100ms | PDN Connection/PDU Session (QCI=5) |
| IMS SIP注册 | 500-1500ms | REGISTER → 401 → REGISTER → 200 OK |
| SIP INVITE到180振铃 | 500-1500ms | INVITE → 183 → 180 |
| 180到200 OK接听 | 用户决定 | 180 → 200 OK → ACK |
| **总呼叫建立时延** | **~1.5-3秒** | |

注意IMS注册只在开机时（或注册过期时）执行一次，不是每次打电话都注册。打电话只走SIP INVITE流程，所以实际呼叫建立时延在1-3秒以内。

## 常见问题

**Q1: VoNR和VoLTE的IMS注册流程有区别吗？**
A: 没有。IMS注册流程完全相同——都是两次REGISTER（首次和带认证响应的），都经过P-CSCF→I-CSCF→S-CSCF→HSS的交互。区别只在底层承载：VoLTE用EPS默认承载（QCI=5），VoNR用PDU Session（5QI=5），上层SIP信令完全一致。

**Q2: 为什么IMS注册需要两次REGISTER？**
A: 因为采用了IMS-AKA双向认证机制。第一次REGISTER不带认证信息，网络返回401挑战（携带RAND+AUTN）；UE验证网络身份后，用USIM中的密钥计算响应（RES），在第二次REGISTER中携带RES。这确保了"UE验证网络"和"网络验证UE"的双向安全认证，防止伪基站和仿冒用户。

**Q3: QCI=5和QCI=1有什么区别？为什么需要两个承载？**
A: QCI=5是IMS信令承载（Non-GBR），用于传送SIP信令消息（REGISTER/INVITE等），优先级高但不需要保证速率；QCI=1是语音专有承载（GBR），用于传送RTP语音数据包，需要保证带宽和低时延。两个承载承担不同职责——一个传"控制命令"，一个传"语音数据"。

**Q4: EPS Fallback和CSFB有什么本质区别？**
A: CSFB是4G回落到2G/3G的**电路域**打电话，完全离开了分组域；EPS Fallback是5G回落到4G继续用**IMS/VoLTE**打电话，仍走分组域。EPS Fallback的语音质量等同于VoLTE，时延也更短，因为不需要建立电路域连接。

**Q5: 手机如何知道网络支持VoLTE/VoNR？**
A: 在LTE Attach或5G Registration过程中，网络会在相关信令中指示IMS语音支持能力。LTE中通过Attach Accept中的"MS network feature support"字段；5G中通过Registration Accept中的"IMS voice over PS session"指示。同时，UE在USIM中配置IMS APN/DNN，只有网络和终端都支持时才会触发IMS注册流程。

## 参考来源

1. [SIP Signaling in VoLTE and VoNR: Registration, Call Setup, and QoS — 5G/6G Academy](https://www.5g6gacademy.com/learn/sip-volte-vonr) — VoLTE/VoNR完整SIP信令流程教程
2. [VoLTE信令系列——注册流程 — 腾讯云开发者社区](https://cloud.tencent.com/developer/article/1500077) — 详细解析EPC附着和IMS注册过程
3. [VoLTE SIP INVITE Flow: Field Anatomy — HiCellTek](https://hicelltek.com/en/blog/volte-sip-invite-flow-field-anatomy/) — 从现网抓包角度分析SIP INVITE流程
4. [5G语音演进：VoNR与EPS Fallback详解 — CSDN](https://blog.csdn.net/baidu_40808339/article/details/115293111) — 5G语音方案对比和EPS Fallback机制
5. [VoNR vs VoLTE: Field Engineer Comparison — HiCellTek](https://hicelltek.com/en/blog/vonr-vs-volte-field-engineer-comparison/) — 面向工程师的VoLTE/VoNR技术对比

---
> 本文由「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)
