问题:需要确定为何在IMS 上失败以及fall back to GSM retry,为何仍然报错?
QCAT 分析
QCAT 过滤0X1544(QMI_MCS_QCSI_PKT)qmi 消息,再找关键字:
voice_sups|query_|voice_get_|SS_sups_failure|failure_cause, 在问题时间点附近找到以下报错:failure_cause = QMI_FAILURE_CAUSE_ILLEGAL_SS_OPERATION
![dbff7aab65c68327f252914f9689e325.png](https://i-blog.csdnimg.cn/blog_migrate/919b7f65fb793deaa925ab3806c9d3d2.jpeg)
QXDM 分析
SS failed问题CM LOG关键点打印
>>CM supscmd 4, CM_SUPS_CMD_INTERROGATE 定义在cm.h 枚举enum cm_sups_cmd_e{…}
后面CM_ INTERROGATE_SS_CONF是对CM_ INTERROGATE_SS_REQ的确认,这样一对REQ/CONF 表示一个完整的请求-处理-响应过程。
![4586f16375bd90b06c11bbce19fc7c85.png](https://i-blog.csdnimg.cn/blog_migrate/c70a6a1b643df10e7e20607d25dfd7f9.jpeg)
SS 在IMS 失败原因分析
![554b305f93dd6914f6296e988c7856eb.png](https://i-blog.csdnimg.cn/blog_migrate/31b2afc43f0f79a12a0da1f75a2a8a07.jpeg)
从截图log分析,因为IMS失败,IMS 模块要求去CS 上重试,最后由CM触发了ESR。
ESR (extend service request)OTA log:
![1277f5d7c8d1ee9a203a4a493c00a916.png](https://i-blog.csdnimg.cn/blog_migrate/d27dab69a055d520728a6e5336c8abfb.jpeg)
在ESR前面,发现CM有如下打印:
![d1ad05f143183f2cd4bbf125696019e5.png](https://i-blog.csdnimg.cn/blog_migrate/c3e0fecd9329f114ce450cd9cbfb147f.jpeg)
fallback reason: 1 去代码里查发现cm.h里面定义:CM_IPSUPS_FAILURE_CAUSE_PDP_FAILURE,
至此触发ESR过程fallback to gsm的原因找到,应该是PDP_FAILURE导致tcp socket error,
需要进一步分析PDP异常的原因。
Check DS Fail
![56cca17e6f8b8254269eab01c6c8e6e3.png](https://i-blog.csdnimg.cn/blog_migrate/017ff184d24ce96bbcf8d8d449051437.jpeg)
Error 26 Dss_errors_def.h DSS_ERROR_CONNECT_OPERATION_FAILED = 26
Error 49 Dss_errors_def.h DSS_ERROR_SHUTDOWN_OPERATION_FAILED = 49
![7a0b88c399b44ce5bcf89f9fd8bd13d1.png](https://i-blog.csdnimg.cn/blog_migrate/1b6c7f1e9983cff73da3a0411359bba5.jpeg)
![aef2173e52e7a184baac49f7237f3d00.png](https://i-blog.csdnimg.cn/blog_migrate/0d2153e39b765a8e7b7ee93e2eabbf79.jpeg)
SS 在GSM 失败原因分析
此例子中,触发了ESR, CSFB 到GSM上去,但是在CS上仍然失败,所以过滤UMTS OTA log,看是否与网络有交互,如下:
![0fe0e5f80e0a465f0fe8fe75bece9734.png](https://i-blog.csdnimg.cn/blog_migrate/f3edce8c300fa0a275a46acb55fb8572.jpeg)
看到两条SS相关的信令:SS/Register, SS/Release Complete。
SS/Release Complete信令内容如下:
![10c700b933c02dca83a1e69e9a2ba6da.png](https://i-blog.csdnimg.cn/blog_migrate/6d197efd81e33e54c4d7e36c918611b9.jpeg)
可以看到SS/Release Complete 信令携带了return_error_comp错误字段,且error_code[0]=16指明错误代码,因此下一步可以让方案商协助分析或者自己查看3GPP nas协议,确定是否是协议中定义场景。
SS 属于NAS 层业务,以上错误字段的定义请见协议24.080-f00-《Mobile radio interface layer 3-Supplementary services specification;Formats and coding》。
进一步,在以上SS/Release Complete OTA log 时间点附近过滤出以下trace log:
![d73389dd592407e9db95d39a18126da2.png](https://i-blog.csdnimg.cn/blog_migrate/0b951fca1a728bf4b4e405e81ec3e358.jpeg)
Wireshark分析"查询呼叫转移"状态的pcap包
LTE网络下,查询"呼叫转移"查询状态,UE使用HTTP GET方法与IMS侧AS(application sever)交互。方便协议分析,可以使用QCAT 工具将.isf文件转换成.pcap文件,然后使用Wireshark工具打开。尝试通过tcpdump工具在手机上去抓取,但是没有抓到相关包,疑问中!!
![a39293beb7c22a4e0f509aecdd90cd97.png](https://i-blog.csdnimg.cn/blog_migrate/af986e454a8aa796d52f8ce27968b341.jpeg)
![489c4299c20e37cd532c9d02f0eaff08.png](https://i-blog.csdnimg.cn/blog_migrate/2cd268b5f13348be66b8435378480e82.jpeg)
QCAT 时序图
通过QCAT的"View"-"Call Follow Analysis"工具可以看到模块之间的时序图,通过它能直观地看到所有与Call 相关的modem 模块的交互过程,可以帮助确定问题所在模块(层)。
以下为一个呼叫转移增值业务查询的时序截图:
a) CM模块下发CM_INTERROGATE_SS_REQ 给MN,
b) MN的CNM发送MMCNM_EST_REQ要求MM做连接建立动作
c) MM发送MS_MM_请求给RR
d) RR又发MPH_START_GSM_MODE_REQ给GL1(物理层)
…
一层层反馈,给client以XXX_CNF 确认消息
e) CM模块最终收到CM_INTERROGATE_SS_CNF 确认,流程完成。
CM_INTERROGATE_SS_REQ 触发:
![6677f82c635977efa2b090e99134423b.png](https://i-blog.csdnimg.cn/blog_migrate/175f2334e2d52a7ac02f205c7e260c45.jpeg)
CM_INTERROGATE_SS_CNF 确认:
![209645a333b40431505f554d1ff59709.png](https://i-blog.csdnimg.cn/blog_migrate/3a6c238cc4fa60271616b1e91305b34b.jpeg)
结论:无论是IMS域还是CS域,从OTA信令以及错误码基本可以判断为核心网侧的问题。如果想深入继续深入分析,可以通过tcpdump 再抓取TCP/IP 完整数据包使用wireshark工具解析。