当前移动核心网逐步向IMS 网络演进,VoLTE语音业务开始大规模商用,手机的语音与数据业务均可通过2/3/4G 网络承载。VoLTE 是3GPP 标准定义的,基于IMS 网络的LTE 语音解决方案。通过IMS 网络,移动运营商不仅可以实现传统的语音、短消息业务,还可以将语音通话与丰富的增强功能相整合,提供多样化的服务。VoLTE 终端对于网络的选择更加复杂,本文主要分析VoLTE 网络的域选原理,并通过实例分析域选失败的原因,提出针对性的优化措施。
当前大部分VoLTE 手机终端除了支持VoLTE 高清通话,同时也会支持CSFB 和CS 域呼叫。那么当用户在使用“打电话”软件(应用程序)拨号的时候,终端使用什么方式(应用协议)发起呼叫,取决于终端当时所处的网络情况。而网络的选择是由终端与网络能力指示进行匹配,最终决定终端驻留在哪个网络。
2.1.1 终端支持的语音能力
终端向MME 发起附着请求,Attach Request消息中包含Voice domain preference and UE's usage setting 信元用来携带终端的语音能力。该信元包含两层内容:
1)Voice domain preference:表明终端支持那种语音方式或更偏好于使用哪种语音方式,有4 种取值方式:CS Voice only(只支持CSFB)、IMS PS Voice only(只支持VoLTE)、CS Voice preferred IMS PS Voice as secondary(同时支持CSFB 和VoLTE,但优选CSFB)、IMS PS Voice preferred CS Voice as secondary(同时支持CSFB 和VoLTE,但优选VoLTE)。
2)UE's usage setting:表明终端设置为语音优先(Voice centric)还是数据优先(Data Centric)。如果LTE 终端上设置数据优先,只要EPC 网络数据业务可用,终端就会驻留在4G 的LTE网络,而不管当前网络是否能够提供CSFB 或者VoLTE 的语音业务。该信元有两种取值方式:Voice centric(以语音业务为中心)、Data centric(以数据业务为中心)。
2.1.2 网络支持的语音能力
EPC 网络的语音能力是网络通过Attach 和TAU响应消息向终端指示网络是否支持VoLTE 或CSFB。
1)网络CSFB 能力的指示:Attach Accept 和TAU Accept 消息中会携带“EPS attach result/EPS update result”信元和“Additional update result”信元,向终端指示网络是否支持CSFB。
2)网络VoLTE 能力的指示:Attach Accept和TAU Accept 消息中也会携带“EPS network feature support”信元,其中包括“IMS voice over PS session indicator”标志位。该标志位用来指示网络是否支持VoLTE。同时也会指示网络是否支持紧急呼叫。
由于呼叫发起时,被叫用户可能在LTE 网络中,也有可能在2G、3G 网络。IMS 网络中SCC AS 网元(T-ADS)会通过sh 接口向HSS 查询用户当前所处的网络信息,来决定向电路域发起CS 呼叫还是向分组域发起VoLTE 呼叫,这个过程就是被叫域选。目前常用的被叫域选方案是单域注册方案。单域注册是指:UE 从MME 接入时,MME 从S6a 接口向HSS发起Update Location流程时,指示HSS进行单注册,HSS 应该向SGSN 发起Cancel Location 流程注销UE 的SGSN 位置信息,HLR/HSS 仅保留UE 的MME 位置信息。当UE 在SGSN 与MME 之间移动时,HSS 保存网络信息如下:
1)UE 从SGSN 移动至MME:现网HSS 默认支持双注册,通过MME 向HSS 发送Update Location 消息时会将single-registration-indication 标识置为1,指示HSS 进行单域注册。HSS 在收到单注册指示后,会向用户之前注册的SGSN 发送“SGSN Update Procedure”类型的Cancel Location 消息,同时删除注册的SGSN 号码。这种情况下,用户在4G 网络时HSS 中只有MME 信息。
2)UE 从MME 移动至SGSN:SGSN 的Gr 接口MAP 协议无法携带单注册指示,而HSS 当前默认配置支持双注册。这种情况下,UE 移动到2、3G 网络后,SGSN 在向HLR/HSS 发送位置更新后,HLR/HSS 不会清空MME 信息。
综上,MME 去HSS 做位置更新时HSS 会清空SGSN 的GT。而SGSN 去HSS 位置更新时,HSS 不会清空MME 的hostname。这就表明,只要HSS 上有SGSN 的信息,就说明用户当前处在2G、3G 网络,IMS 网络应向电路域呼叫被叫。反之,如果HSS 上没有SGSN 信息,只有MME 信息,那就表明用户当前处在4G 网络,IMS 网络应向分组域呼叫。使用这种判断方式,HSS 就可以给SCC AS 提供准确的被叫域选信息。
在VoLTE 业务实际应用中,笔者发现当手机关掉VoLTE 语音开关,改在4G 网络注册后存在被叫接续失败的可能。
1)首先被叫锚定至IMS 域。被叫归属HSS 根据签约锚定业务(T-CSI)得到CAMEL 业务键SCP GT 通过SRI RSP 返回给主叫MSC,主叫MSC 根据SCP GT 发送IDP 消息到Anchor AS。
2)Anchor AS 根据业务键在被叫号码前插1014450 得到IMRN 号码返回给主叫MSC,MSC 根据IMRN 路由至IMS 域。
3)MGCF 删除锚定前缀,完成被叫号码还原后发送INVITE 至I-CSCF,I-CSCF 通过HSS 返回的能力集获取S-CSCF。
4)S-CSCF 通过查询HSS 触发IFC,首先触发到MMTEL AS 查询补充业务,再触发SCC AS 做被叫域选。
5)SCC AS 通过UDR 消息向被叫归属IMS HSS查询T-ADS 信息。HSS 通过UDA 返回T-ADS 域选信息。其中:IMSVoiceOverPSSessionSupport=1,RATtype=1004,域选结果为IMS 域。
6)被叫在IMS 域接续失败,呼叫释放。
当手机终端关闭VoLTE 功能后,终端改为在3/4G 网络联合位置更新,语音通过CSFB 实现。按照现网双域注册原则,此时MME 上有用户附着信息,但是并未建立IMS VPN 专有承载。此时HSS 根据IMSVoiceOverPSSessionSupport=0 应该返回给SCC AS 的域选结果为CS 域,并返回CSRN 号码。呼叫路由至2/3G 网络接续。但是实际测试中发现,HSS返回的域选结果仍然是IMS 域,因为用户未在IMS注册,因此导致接续失败。这种情况是因为手机注销VoLTE 网络失败,而网络侧因为定时器未超时未主动发起注销。HSS 认为用户仍然注册在IMS 域,而实际上手机终端已注册在4G 网络,因此返回了错误的域选结果。在一些特殊场景中有概率发生,例如在双卡双待手机一卡通话时,或者手机终端原因发起注销失败。优化措施及建议:通过在IMS 网络增加IMS 寻呼失败重选配置,即VoLTE 寻呼失败,IMS 网络会重新域选到2/3G 网络获取CSRN 漫游号码进行寻呼。
通过在SCC AS 上增加IMS 寻呼失败重选配置,即VoLTE 寻呼失败,10s 后SCC AS 会重新获取CSRN 漫游号码寻呼。
当前并且在一段时间内,VoLTE 语音解决方案主叫域选都会采用VoLTE 与CSFB/CS 呼叫并存的方式。手机主叫时通过终端与网络能力指示选择网络,被叫时IMS 通过域选结果决定向分组域发起VoLTE呼叫或CS 域发起呼叫。VoLTE 手机关掉VoLTE 功能后,终端主动向IMS 网络发起注销,如果没发送就是网络侧根据手机与AS 的心跳链接定时器超时发起注销。因为手机终端原因或者HSS 侧没有更新用户状态,认为用户没有发起注销,返回的域选结果仍然是IMS 域导致寻呼失败。为避免域选失败导致呼叫失败,可以通过增加IMS 寻呼失败重选配置的方式来解决。即在IMS 域寻呼失败,IMS 网络会再次获取CSRN 漫游号码路由至2/3G 寻呼。