VoLTE 呼叫信令流程详解:从 INVITE 到振铃
VoLTE 让 4G 网络直接承载语音,接通更快、音质更好。但它的呼叫流程比普通电路语音复杂得多——一只脚踏在无线接入网,另一只脚踏在 IMS 核心网。本文把 VoLTE 主被叫呼叫建立的完整信令链拆开,重点讲清 INVITE、PRACK、UPDATE、180 振铃这些 IMS 信令干的事。
一、先建立一个直觉
VoLTE 呼叫的本质是:IMS (IP 多媒体子系统) 用 SIP 协议把主叫和被叫”约”起来,同时无线侧为主被叫各建一条保证话音质量的承载(QCI=1)。所以流程里会有两条线在并行:
- 无线侧:RRC 建立 → 安全模式 → SRB2 建立 → QCI=5 信令承载 + QCI=1 话音承载;
- IMS 侧:INVITE → 183 → PRACK → UPDATE → 180。
二、主叫侧:先把路打通
- 主叫 UE 高层协议发 INVITE 给 IMS;
- 主叫 UE 完成 RRC 连接,eNB 把 INVITE 转发给 IMS;
- 主叫 UE 完成安全模式激活;
- 主叫 UE 做 RRC 重配,建立 SRB2 信令无线承载、完成 QCI=5 承载;
- IMS 收到主叫的 INVITE,回 INVITE 100 (Trying) 应答。
💡 INVITE 消息里携带了呼叫类型、主被叫号码、主叫支持的媒体类型和编码——这是后续协商的基础。
三、被叫侧:被寻呼唤醒
- IMS 向 被叫 EPC 发送 INVITE,被叫 EPC 开始寻呼被叫 UE;
- 被叫 UE 完成 RRC 连接、安全模式,做 RRC 重配建立 SRB2 + QCI=5 承载;
- EPC 通过 QCI=5 的 RB 向被叫发送 INVITE;
- 被叫 UE 收到后,向 IMS 回 INVITE 100 应答。
四、媒体协商与 QoS 承载建立(关键的往返)
真正”定音色、定质量”在这一段:
- 被叫发 INVITE 183 给 IMS(表示会话正在处理),并启动 Precondition(资源预留),告知主叫自己支持的媒体类型与编码,建立 QCI=1 承载;
- IMS 收到被叫的 183 后,对主叫也启动 Precondition,通过 EPC 通知主叫 SM 层建立 QCI=1 承载;
- 主叫向 IMS 发 PRACK(预确认,防止会话超时与拥塞);
- IMS 向被叫转发 PRACK → 被叫回 PRACK 200(表示资源已分配、QCI=1 已建立)→ IMS 再回主叫 PRACK 200;
- 主叫发 UPDATE 做媒体格式协商 → IMS 转发被叫 → 被叫回 UPDATE 200 → IMS 回主叫 UPDATE 200。
📌 为什么要有 PRACK/UPDATE 这么多往返? 因为 VoLTE 走的是 UAC(资源预留)机制:要先确认”两边的 QCI=1 承载都建好了”,才真正进入振铃和通话。PRACK 是临时应答的可靠确认,UPDATE 用来做媒体协商,二者分工不同。
五、振铃与接通
- 被叫回 INVITE 180 (Ringing) 告诉 IMS “我已振铃”;
- IMS 向主叫发 INVITE 180,主叫此时能听到被叫振铃声。
再往下就是被叫摘机(200 OK)、双向通话。至此,一条端到端、既有无线承载又有 IMS 会话的话音通路就完全建立。
六、一句话小结
VoLTE 呼叫 = 主叫 INVITE 进 IMS → 被叫被寻呼则接入 → 双方各建 QCI=1 承载并通过 PRACK/UPDATE 完成资源预留与媒体协商 → 180 振铃。
抓 VoLTE 信令时看到 INVITE / 100 / 183 / PRACK / 200 / UPDATE / 180 这一串,就说明呼叫正按正常节奏推进;卡在哪一步、超时没有相应应答,对应的就是那个环节的问题(接入、QCI 承载、IMS 路由或媒体协商)。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 无线无忧!