1.专用业务承载的建立
在VoLTE呼叫的过程中需要建立QCI=1的语音专用承载。如果在发起呼叫的过程中,QCI=1的语音专用承载建立不及时就很容易导致呼叫失败,造成通话未接通。
1.1专用业务承载建立过程
建立专用业务承载的过程存在着不确定性,可能失败。由于SIP信令流程与NAS信令流程独立进行,而且主被叫的NAS信令流程也是独立进行的,任意一方专用业务承载建立失败都不会影响SIP信令流程,这时就会出现被叫方成功振铃,但是被叫用户摘机后无法通话的现象,即所谓的“Ghost Call”。
为了解决这个问题,在规范RFC3312中定义了Precondition机制,也就是资源预留。这里的资源指的是专用业务承载所占用的系统资源,而资源预留就是预先 建立了专用业务承载。
采用Precondition机制之后,只有通话双方都成功预留了资源,被叫方才会振铃,继续SIP的信令流程,通话才能建立,这样SIP信令流程和NAS信令流程协调起来,避免了“Ghost Call”的出现。
注意:专用业务承载不是在主叫端和被叫端之间建立的,而是在主叫方和主叫方中的PGW以及被叫方和被叫方中的PGW之间独自建立的。
预留资源的SIP信令流程
1.2流程与log分析
1.2.1 VoLTE主叫的信令流程
主叫方信令流程包含了RRC,NAS,SIP 3中信令。
1.2.2 VoLTE被叫的信令流程
被叫方信令流程包含了RRC,NAS,SIP 3中信令。
2.专用承载定时器介绍
专用业务承载QCI 1的建立时间由定时器qosReservationTimer控制,具体定义如下:
#This config is required to configure the timer for dedicated
#bearer allocation.
*qosReservationTimer = 6000
2.1该定时器在SDW3100平台中由如下NV值定义:
71572 QIPCALL QoS reservation timer /nv/item_files/ims/qipcall_qos_reservation_timer IMS VOIP
6000 6000 qipcall_qos_reservation_timer 32 Uint32
在呼叫过程中如果UE端6秒内没有成功建立QCI1的专用承载,UE就会上报PRECONDITION_FAILURE (580)错误,造成呼叫未接通。
2.2在SDW429平台中该定时器不再由具体的NV定义,而是定义在overideconfig file中
需要参考80-p8761-1_c_ims_nv_reduction.pdf文档,制作一个包含需要客制化字段的overideconfig文件,将改文件以NvEfsFile形式集成到具体的MBN文件中。
具体操作步骤如下:
使用加载了如上MBN文件的UE打一通电话,可以从log中发现如下的信息:
3. PRECONDITION_FAILURE场测案例介绍
<1> 】联通测试终端在路测场景VoLTE短呼测试过程中,出现3次被叫失败--3/50
//6秒内没有建立QCI1专用承载,资源预留建立失败
<2>移动(band38) 4G弱信号环境,出现无法接通:2/50
//6秒内没有建立QCI1专用承载,资源预留建立失败
<3>移动接通率测试,提示已关机--1/100
UE端反复地发送SESSION_PROGRESS (183)消息,请求建立资源预留,但是6秒内网络侧没有下发RRCConnectionReconfiguration消息用于建立专用业务承载QCI1,导致发生资源预失败,需要EPC定位承载QCI1未建立的原因。
4.参考文献
- 80-p8761-1_c_ims_nv_reduction
- 80-p8754-66_a_ims_nv_mapping_between_old_and_new_nv_numbers
- 80-n5576-96_u_modem_software_configuration