問題:需要確定為何在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
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 表示一個完整的請求-處理-響應過程。
SS 在IMS 失敗原因分析
從截圖log分析,因為IMS失敗,IMS 模塊要求去CS 上重試,最後由CM觸發了ESR。
ESR (extend service request)OTA log:
在ESR前面,發現CM有如下打印:
fallback reason: 1 去代碼裡查發現cm.h裡面定義:CM_IPSUPS_FAILURE_CAUSE_PDP_FAILURE,
至此觸發ESR過程fallback to gsm的原因找到,應該是PDP_FAILURE導致tcp socket error,
需要進一步分析PDP異常的原因。
Check DS Fail
Error 26 Dss_errors_def.h DSS_ERROR_CONNECT_OPERATION_FAILED = 26
Error 49 Dss_errors_def.h DSS_ERROR_SHUTDOWN_OPERATION_FAILED = 49
SS 在GSM 失敗原因分析
此例子中,觸發了ESR, CSFB 到GSM上去,但是在CS上仍然失敗,所以過濾UMTS OTA log,看是否與網絡有交互,如下:
看到兩條SS相關的信令:SS/Register, SS/Release Complete。
SS/Release Complete信令內容如下:
可以看到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:
Wireshark分析"查詢呼叫轉移"狀態的pcap包
LTE網絡下,查詢"呼叫轉移"查詢狀態,UE使用HTTP GET方法與IMS側AS(application sever)交互。方便協議分析,可以使用QCAT 工具將.isf文件轉換成.pcap文件,然後使用Wireshark工具打開。嘗試通過tcpdump工具在手機上去抓取,但是沒有抓到相關包,疑問中!!
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 觸發:
CM_INTERROGATE_SS_CNF 確認:
結論:無論是IMS域還是CS域,從OTA信令以及錯誤碼基本可以判斷為核心網側的問題。如果想深入繼續深入分析,可以通過tcpdump 再抓取TCP/IP 完整數據包使用wireshark工具解析。