火腿肠M8T VOLTE起呼失败的案例

【问题现象】
使用HTC M8T的VOLTE版本,升级成最新的版本–RC25、R35新版本。升级完成后注册IMS成功,但在华为MME下无法进行VOLTE呼叫,变成了CSFB语音方案回落至2G进行通话。

【原因定位】
终端使用测试卡已注册VOLTE网络成功,进行呼叫的时候,网络侧回复503错误(SERVICE UNAVAILABLE)。具体的SIP信令流程如下:
1、UE->NW INVITE

2、NW->UE Cancel503

终端发起VOLTE呼叫,且支持Silent  Redial机制:当VOLTE呼叫失败后,将转成CSFB语音方案,因此呼叫回落至2G。而使用相同卡插入三星S6测试VOLTE呼叫,呼叫成功。

问题原因:
不同VOLTE终端,采用的附着建立默认承载的方法也不同,主要有两种不同的方法:
1、终端附着网络时,使用网络默认APN建立默认承载。比如,HTC M8T。
2、终端附着网络时,使用终端侧设置的APN建立默认承载。比如,三星S6。
使用终端侧设置的APN建立默认承载,按照3GPP24.301章节8.3.20.2描述,在附着络过程中,建立PDN连接请求消息如果携带“ESM information transfer flag” ( ESM信息传输标记),表示终端希望使用自己提供的APN。

三星S6使用终端侧设置的默认承载信令截图如下:
1、终端在Attach request请求信令携带“ESM information transfer flag”:

2、网络侧发起APN请求,ESM information request,终端通过ESM information response回复网络侧终端上设置的默认APN。

图4 三星S6 Attach流程期间发起ESMinformation交互

HTC M8T使用网络侧设置的默认承载信令截图如下:
1、终端Attach request请求信令未携带“ESM information transfer flag”:

2、网络侧发起APN请求无ESM information request:

经过测试分析发现,HTC M8T,使用LTE的APN进行IMS注册期间,终端发起了3次默认承载请求,在第三次默认承载请求,PDN类型为ipv6的PDN连接请求,网络侧处理此请求时,错误地建立了IMS承载。
因为这个终端建立了两个IMS的缺省承载, 导致无线侧响应的资源被占用后无法创建专有承载导致VOLTE语音通话无法进行。

具体HTC M8T发起默认承载请求流程如下:
1、第一次默认承载请求:在Attach request发起,网络侧下发默认APN是CMNET、IPV4的地址、esm_cause=52 (0x34) (Single addressbearers only allowed)。
2、第二次发次默认承载请求:在PDN Connectivity Request里,请求类型是IPV4V6,APN 是CMNET、IPV4的地址、esm_cause =52 (0x34) (Single addressbearers only allowed)。
1)请求消息PDN connectivity request Msg如下:

2)应答消息Activate default EPSbearer context request Msg如下:

3、第三次默认承载请求:终端收到#52原因值是应该发起另一种IP版本的PDN连接,发起了空的APN发起了第三次ipv6的PDN连接;而网络侧错误地建立了IMS承载。
1)请求消息PDN connectivity request Msg如下:

2)应答消息Activate default EPSbearer context request Msg如下:

经过分析,此问题网络侧和终端均存在问题,具体如下表所示:

由于网络反馈此问题在三星S6无法复现并且ESM CAUSE也符合移动规范,对此分别对三星S6和HTC M8T进行对比测试。测试结果如下:

HTC M8T使用网络侧默认的APN,测试结果如下:
1、IP类型是IPV4V6,设置APN接入点,apn设置为cmnet(正确的APN)联合attach accept回复的是esm_cause=52(0x34) (Single addressbearersonly allowed),不会再发起默认承载PDN请求。
2、IP类型是IPV4V6,设置APN接入点,APN为空(错误的APN)联合attach accept回复的是esm_cause=52 (0x34) (Single addressbearers only allowed), 然后终端侧发起数据默认承载PDN请求,回复是esm_cause=52(0x34)(Single address bearers only allowed) ,发起IPV6的第三次默认承载请求,导致错误建立两个IMS承载。
3、IP类型是IPV4V6,设置APN接入点,APN是12(错误的APN)联合attach accept回复的是esm_cause=52(0x34) (Single addressbearers only allowed),然后终端侧发起数据默认承载PDN请求,回复是esm_cause=51(0x33)PDN type IPv4 only allowed,不会再发起默认承载PDN请求。

三星 S6 使用终端侧设置默认的 APN,测试结果如下:
1、IP类型是IPV4V6,设置APN接入点,apn设置为cmnet(正确的APN)联合attach accept回复的是esm_cause=51(0x33)PDN type IPv4 only allowed, 后面不会再发起默认承载PDN请求。
2、三星无预置接入点的apn是空值,通过手动添加apn,无法添加apn为空值,必须输入内容。
3、IP类型是IPV4V6,设置APN接入点,apn设置为12(错误的APN)联合attach accept回复的是esm_cause=51(0x33)PDN type IPv4 only allowed,后面不会再发起默认承载PDN请求。

影响范围:
虽然此问题在三星S6、华为M7终端上无法复现。但是HTC终端采用了高通的原生IMS方案,与高通芯片集成,而三星S6采用厂家自主开发的IMS协议栈、华为M7采用海思芯片的IMS方案,其他终端厂家无法普遍采用。
将来,各个其他终端厂家大多会采用HTC终端的IMS方案。因此,HTC终端与网络适配性问题,长远来看是较为重要。
使用HTC M8T会导致华为MME下发ESM CAUSE不符合移动规范、HTC M8T在设置APN为空的情况下会出现呼叫失败,但影响范围不大。

【解决方案】
尝试修改APN设置为CMNET,如下图所示,修改后拨打VOLTE呼叫成功。

此问题,终端侧和网络侧均存在问题,各网元的解决方案:

本文整理自网络,文章版权归原作者所有,如有侵权,请联系我们进行删除。小编微信(gprshome201101)

TAS发UDR一次请求从HSS下载多条用户数据引起的注册失败

长按下方二维码图片 > 识别图中二维码 > 关注“51学通信公众号”

TAS发UDR一次请求从HSS下载多条用户数据引起的注册失败

51学通信接头方式如下:

51学通信联络邮箱: gprshome@163.com
管理员及站长”爱卫生”微信号 : gprshome201101
喜马拉雅听FM频道:51学通信
优酷频道地址:i.youku.com/51xuetongxin
淘宝店:51xuetongxin.taobao.com
直播地址:douyu.com/zhihu
51学通信网站:www.51xuetongxin.com
微信公众号:51学通信(ID:woyaoxuetongxin)

 

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址