VoLTE基本信令流程
1. 注册基本过程
- UE进行Attach,建立QCI=9的默认承载
- 使用IMS APN建立PDN连接,建立 QCI=5 的默认承载,用于传送 SIP 信令,同时获取到了IMS入口的P-CSCF地址信息
- UE 通过 QCI=5 的默认承载向 IMS 发起注册请求
- IMS 域的 P-CSCF 根据目的 URI 通过査询 DNS 获取 I-CSCF 的地址,向 I-CSCF 发起注册。I-CSCF 再将注册消息发往用户归属的 S-CSCF。S-CSCF 收到 Register 消息后,向 HSS 发送 MAR 获取鉴权向量对用户进行鉴权(注册消息中会携带用户的 IMSI 和归属的域,这些信息以 URI 的格式填写到 SIP 消息头部部分)
- P-CSCF 将 401 响应转发给 UE,UE 使用 401 消息中的 nonce 值,加上 username,password利用网络侧指定的 AKAV1-MD5 算法计算响应,供网络侧鉴权,再次用REGISTER 消息报告给 P-CSCF 服务器
- P-CSCF 将 REGISTER 消息中的用户信息解密,验证其合法后,IMS 核心网将该用户信息登记到数据库中,并向终端返回成功响应消息 200 OK
- SUBSCRIBE和NOTIFY
SUBSCRIBE 是一个用来请求对方节点的当前状态以及后续状态变化的请求方法,从网络订阅消息,NOTIFY 是用于向服务器请求返回当前状态消息
2. 注册信令流程及关键IE
2.1 Initial Attach
1、Attach Request
关键IE:
- Attach type(附着类型):combined EPS/IMSI Attach
- UE请求的IP地址类型
- 上报SRVCC能力和notific能力给MME
- 上报UE语音优先策略和终端属性(UE's usage setting和Voice domain preference for E-UTRAN )
2、Attac Accept
关键IE:
- EPS attach result(附着结果)
- 缺省承载为QCI 9
- PDN-address
- EPS network feature support(支持的业务)
2.2 IMS PDN Connection 建立
1、PDN Connectivity Request
关键IE:
- PDN type:ipv4/ipv6等
- Request type
- Access point name
- Protocol configuration options
- Protocol configuration options(请求P-CSCF地址)
2、E-RAB SETUP REQUEST
关键IE:
- QCI=5
3、Activate default EPS bearer context request
关键IE:
- QCI=5
- APN:IMS
- PDN-address:分配IP地址
- MME将从P-GW获取到的P-CSCF地址发送给UE
2.3 IMS域SIP注册
1、SIP Register
UE 读取 USIM 卡信息获取IMSI,再从 IMSI推导出 IMPI 和 IMPU,向 IMS 拜访网络入口 P-CSCF,发送 REGISTER 消息请求注册(在 SIP default port 5060 上发送)。
2、401 Unauthorized
用于发给终端的质询消息收集信息·进行鉴权
关键IE:
- WWW-Authenticate:下发鉴权挑战
- Security-Server:服务端建立 IPSec Association,分配保密端口作为传输层的源、目的端口
3、SIP Register
UE 收到 401 响应后,根据本地 USIM/ISIM 中保存的共享密钥对 AUTN 进行认证,认证通过则表明 401 消息来源于用户真实的归属网络,UE 对 IMS 网络鉴权通过。再基于共享密钥和 RAND 计算出 RES(Response),重新构造 REGISTER 消息,携带 RES,发给 P-CSCF。
4、SIP 200 OK
P-CSCF 收到 UE 发送的 SIP Register 消息后,转发给 I-CSCF/S-CSCF, S-CSCF 收到鉴权响应,将期望收到的鉴权响应 XRES 和实际收到的鉴权响应 RES 进行比较。如果两者匹配,则IMS网络对 UE 鉴权通过。向 UE 回复 SIP 200 OK,表明初始注册成功。
3. VoLTE主叫呼叫流程
1、SIP INVITE
用户发起 VoLTE 呼叫,UE 构造 SIP INVITE 消息(携带 SDP offer 信息),在 UE 进行 Active 态后,UE 在 QCI 5 default EPS bearer 上将 SIP INVITE 发送给 P-CSCF
2、INVITE 100 TRYING
P-CSCF 收到 INVITE 消息后,回复临时响应消息 100 TRYING 给 UE,用以停止 UE 重发 INVITE 消息
3、INVITE 183 Session Progress
被叫终端回复 183 Session Progress(携带 SDP Answer),经过 IMS 核心网设备转发给主叫用户接入的 P-CSCF
P-CSCF 根据 INVITE(SDP Offer)和 183 Session Progress(SDP Answer)协商 SDP 结果,发送 AAR 消息给 PCRF,触发 EPS 专用承载(QCI1)建立
4、AAR
主叫 P-CSCF 收到被叫 183 Session Progress(SDP Answer)后,触发 AAR 消息给 PCRF,触发专用承载(QCI 1)建立,携带媒体业务流相关信息,媒体带宽需求等信息
主要IE:
- ServiceInfoStatus:P-CSCF(AF)向 PCRF 指示业务状态信息
- MediaType:指示媒体类型
- 上下行IP flow所需要的最大带宽
- rrBandwidth:指示RTCP receive report所需要的带宽
- rsBandwidth:指示RTCP sender report所需要的带宽
5、AAA
PCRF 发送 AAA 消息对 AAR 消息进行应答。
6、E-RAB SETUP REQUEST
MME 发送 E-RAB SETUP REQUEST 消息,请求建立 E-RAB 承载(QCI1),用来承载 VoLTE 媒体面数据包。
MME 触发建立 E-RAB 承载(QCI1), GBR=MBR=51kbp,相应的携带 NAS PDU 信元,由eNodeB 转发给 UE
7、RRC Connection Reconfiguration(DRB setup-QCI1)
eNodeB 根据 MME 下发的 E-RAB SETUP REQUEST,触发建立空口 DRB 承载,同时,将 E-RAB SETUP REQUEST 消息中的 NAS PDU 通过 RRC Connection Reconfiguration→dedicated Info NAS List
8、ACTIVATE DEDICATED EPS BEARER CONTEXT REQUEST
专用承载建立时,核心网 MME 会下发 ACTIVATE DEDICATED EPS BEARER CONTEXT REQUEST, 请求为已有缺省承载的 PDN connection 激活专有承载(这里为 QCI1)。
9、PRACK(SIP)
终端收到 INVITE 183,回复 PRACK 进行应答
10、PRACK 200 OK(SIP)
被叫终端收到 PRACK 消息后,回复PRACK 200 OK 对PRACK进行确认,通过核心网发送给主叫P-CSCF,再发给主叫UE
11、UPDATE(SIP)
主叫终端完成资源预留,即QCI 1 承载建立完成后,发送UPDATE 消息,指示本端Precondition 已满足
12、UPDATE 200(SIP)
被叫侧完成资源预留后,返回 UPDATE 200给主叫侧,参数“a=curr:qos local sendrecv”指示被叫侧 Precondition 已经满足。
被叫侧UPDATE 200经过核心网发送给主叫 P-CSCF,再发送给主叫 UE。到此,主被叫资源预留完成(QCI1 EPS bearer 建立成功)
13、INVITE 180 ringing
主被叫终端资源预留完成后,被叫侧振铃并发送 INVITE 180 ringing
14、INVITE 200
被叫摘机后,回复INVITE 200给主叫
15、ACK
主叫收到被叫摘机消息 INVITE 200后,回复 ACK 消息给被叫进行确认。 此后,主被叫进入正常通话状态