【原因定位】终端使用测试卡已注册VOLTE网络成功,进行呼叫的时候,网络侧回复503错误(SERVICEUNAVAILABLE)。具体的SIP信令流程如下:1、UE->NWINVITE
2、NW->UECancel503
终端发起VOLTE呼叫,且支持SilentRedial机制:当VOLTE呼叫失败后,将转成CSFB语音方案,因此呼叫回落至2G。而使用相同卡插入三星S6测试VOLTE呼叫,呼叫成功。
问题原因:不同VOLTE终端,采用的附着建立默认承载的方法也不同,主要有两种不同的方法:1、终端附着网络时,使用网络默认APN建立默认承载。比如,HTCM8T。2、终端附着网络时,使用终端侧设置的APN建立默认承载。比如,三星S6。使用终端侧设置的APN建立默认承载,按照3GPP24.301章节8.3.20.2描述,在附着络过程中,建立PDN连接请求消息如果携带“ESMinformationtransferflag”(ESM信息传输标记),表示终端希望使用自己提供的APN。
三星S6使用终端侧设置的默认承载信令截图如下:1、终端在Attachrequest请求信令携带“ESMinformationtransferflag”:
2、网络侧发起APN请求,ESMinformationrequest,终端通过ESMinformationresponse回复网络侧终端上设置的默认APN。
图4三星S6Attach流程期间发起ESMinformation交互
HTCM8T使用网络侧设置的默认承载信令截图如下:1、终端Attachrequest请求信令未携带“ESMinformationtransferflag”:
2、网络侧发起APN请求无ESMinformationrequest:
经过测试分析发现,HTCM8T,使用LTE的APN进行IMS注册期间,终端发起了3次默认承载请求,在第三次默认承载请求,PDN类型为ipv6的PDN连接请求,网络侧处理此请求时,错误地建立了IMS承载。因为这个终端建立了两个IMS的缺省承载,导致无线侧响应的资源被占用后无法创建专有承载导致VOLTE语音通话无法进行。
具体HTCM8T发起默认承载请求流程如下:1、第一次默认承载请求:在Attachrequest发起,网络侧下发默认APN是CMNET、IPV4的地址、esm_cause=52(0x34)(Singleaddressbearersonlyallowed)。2、第二次发次默认承载请求:在PDNConnectivityRequest里,请求类型是IPV4V6,APN是CMNET、IPV4的地址、esm_cause=52(0x34)(Singleaddressbearersonlyallowed)。1)请求消息PDNconnectivityrequestMsg如下:
2)应答消息ActivatedefaultEPSbearercontextrequestMsg如下:
3、第三次默认承载请求:终端收到#52原因值是应该发起另一种IP版本的PDN连接,发起了空的APN发起了第三次ipv6的PDN连接;而网络侧错误地建立了IMS承载。1)请求消息PDNconnectivityrequestMsg如下:
经过分析,此问题网络侧和终端均存在问题,具体如下表所示:
由于网络反馈此问题在三星S6无法复现并且ESMCAUSE也符合移动规范,对此分别对三星S6和HTCM8T进行对比测试。测试结果如下:
HTCM8T使用网络侧默认的APN,测试结果如下:1、IP类型是IPV4V6,设置APN接入点,apn设置为cmnet(正确的APN)联合attachaccept回复的是esm_cause=52(0x34)(Singleaddressbearersonlyallowed),不会再发起默认承载PDN请求。2、IP类型是IPV4V6,设置APN接入点,APN为空(错误的APN)联合attachaccept回复的是esm_cause=52(0x34)(Singleaddressbearersonlyallowed),然后终端侧发起数据默认承载PDN请求,回复是esm_cause=52(0x34)(Singleaddressbearersonlyallowed),发起IPV6的第三次默认承载请求,导致错误建立两个IMS承载。3、IP类型是IPV4V6,设置APN接入点,APN是12(错误的APN)联合attachaccept回复的是esm_cause=52(0x34)(Singleaddressbearersonlyallowed),然后终端侧发起数据默认承载PDN请求,回复是esm_cause=51(0x33)PDNtypeIPv4onlyallowed,不会再发起默认承载PDN请求。
三星S6使用终端侧设置默认的APN,测试结果如下:1、IP类型是IPV4V6,设置APN接入点,apn设置为cmnet(正确的APN)联合attachaccept回复的是esm_cause=51(0x33)PDNtypeIPv4onlyallowed,后面不会再发起默认承载PDN请求。2、三星无预置接入点的apn是空值,通过手动添加apn,无法添加apn为空值,必须输入内容。3、IP类型是IPV4V6,设置APN接入点,apn设置为12(错误的APN)联合attachaccept回复的是esm_cause=51(0x33)PDNtypeIPv4onlyallowed,后面不会再发起默认承载PDN请求。
影响范围:虽然此问题在三星S6、华为M7终端上无法复现。但是HTC终端采用了高通的原生IMS方案,与高通芯片集成,而三星S6采用厂家自主开发的IMS协议栈、华为M7采用海思芯片的IMS方案,其他终端厂家无法普遍采用。将来,各个其他终端厂家大多会采用HTC终端的IMS方案。因此,HTC终端与网络适配性问题,长远来看是较为重要。使用HTCM8T会导致华为MME下发ESMCAUSE不符合移动规范、HTCM8T在设置APN为空的情况下会出现呼叫失败,但影响范围不大。
【解决方案】尝试修改APN设置为CMNET,如下图所示,修改后拨打VOLTE呼叫成功。
此问题,终端侧和网络侧均存在问题,各网元的解决方案:
本群涉及的主要领域和技术包括但不限于以下:
1)IP(MPLSVPN,IPQos,NAT,IPSec,组播,流量工程等)
2)CS核心网(MSC-S,MGW,SCP等)
3)2/3/4GPS核心网(MME,SGW,PGW,SGSN,GGSN,EPCDNS,EPC-HSS,HLR,OCS,CG,PG,PCRF,CE等)
4)IMS(CSFB,eSRVCC,ICS,RCS等技术,CSCF,AS,BGCF,IBCF,IMS-HSS,eNUM/DNS,ePDG,AAA,ATCF/ATGW,eMSC,SBC,MRFC/MRFP等网元)
本群讨论的主要协议包括但不限于:
MPLS,QinQ,IP,PIM,IGMP,SNMP,RTP/RTCP,OSPF,BGP,ISIS,SIP/SDP,Diameter/DBP,GTP,ISUP,MAP,RANAP,BSSAP,SIGTRAN,SCTP,H.323,H.248,IKE,AH/ESP,S1AP,SGsAP,X2AP,LDAP,XCAP,HTTP,BICC,Camel等。
本群讨论原理及信令为主,不讨论设备内部实现细节及bug。加入方法:
为方便更多朋友入群一起交流核心网技术,特此发布下我们的入群方法:
1群内的朋友可以任意拉人,只要不违反群公告的规定即可。
两种概念吧,锚定的意思,是业务处理需要锚定在IMS域,TADS只是做接入域选择,其实2个也有点相似的地方,SDSADS,就是服务域选择和接入域选择,统称域选哈
VoLTE-VOLTE的话,在通话建立的时候,会有UPDATE消息进行语音编码协商,按照双方都支持的最高编码速率进行通话、