以 V2V 场景为例, VoLTE 端到端流程可以拆解为以下 9 个子过程:
1. 主叫接入过程
主叫端终端------>主叫端 P-SBC,发送 INVITE 业务请求消息。空闲状态下终端发起 VoLTE 业务请求,通过鉴权、上下文设置、建立默认承载等操作完成RRC 连接、初始上下文连接、 QCI9 与 QCI5 默认承载建立、 向 IMS 中的 P-SBC 网
元发起 INVITE 请求(包含 service Request)。
2. 主叫专载建立过程
主叫端 P-SBC------>主叫端 S-CSCF,转发 INVITE 业务请求消息。 P-SBC 网元收到 INVITE 请求后,通过与 EPC 的鉴权、承载重配等操作建立到终端的专用承载, 同时向注册的 S-CSCF 发起 INVITE 请求。
3. ENUM/DNS 查询过程
主叫端 S-CSCF------>对端 I-CSCF,转发 INVITE 业务请求消息。 S-CSCF 网元收到 INVITE 请求后,通过查询 MMTel AS 服务器获得呼叫能力支持相关信息,查询 ENUM/DNS 服务器获得对端 IMS 网络 IP 地址,然后发送 INVITE 请求到对端IMS 网络中入口点 I-CSCF 网元。
4. S-CSCF 查询过程
对端 I-CSCF------>对端 S-CSCF,转发 INVITE 业务请求消息。被叫端 I-CSCF收到业务请求后,查询本地 HSS 服务器获取相关用户信息,如用户地址和在线状态等。然后将查询到的数据加入到业务请求中发送到 S-CSCF 网元进行下一步处理。
5. 被叫域选过程
对端 S-CSCF------>对端 P-SBC,转发 INVITE 业务请求消息。 S-CSCF 网元收到请求后查询 HSS 服务器和 MMTel AS 服务器获取用户相关信息, 发送至 P-SBC网元进行下一步处理。
6. 被叫寻呼过程
对端 P-SBC------>对端终端,转发 INVITE 业务请求消息。 P-SBC 收到被叫用户信息和业务请求后通过 S/P-GW 网关通知 MME 网元向被叫用户发起寻呼,被叫用户收到寻呼消息后向 MME 发起 service Request 请求。
7. 被叫接入过程
对端终端------>对端 EPC,发送 service Request 业务请求消息。被叫用户发起 service Request 请求通过鉴权、上下文设置、 RRC 重配置等操作完成对EPC 网的接入。
8. 被叫专载建立过程
对端 P-SBC------>主叫端终端,发送 183 消息通知主叫终端专载建立成功。被叫完成对 EPC 的接入后, EPC 网络建立与被叫终端之间的承载,之后终端向P-SBC 发送 183 消息。 P-SBC 收到此消息后建立与被叫终端之间的专载,然后向主叫终端发送 183 消息,通知主叫终端被叫转载已建立完成。
9. Precondition 过程
主叫端终端<------>被叫端终端,发送 200 OK 消息通知主叫终端资源预留成功。主被叫之间专载建立完成,通过 SDP 进行信息交互选择合适的媒体和编码方案进行 VoLTE 通话,完成资源预留后,建立媒体连接;随后被叫向主叫发送 180 ring 消息,主叫发送 ack 消息开始进行 VoLTE 通话