高通平台IMS短信发送流程

如何检查通过 IMS 发送 SMS 问题

        IMS注册后,IMS 更新短信服务状态为全服务,IMS 发送短信服务 sms_service_status = IMSA_FULL_SERVICE 对 APP 的可用指示。在电话收到 SMS 服务可用指示后,电话必须通过 IMS 发送 SMS。

//MS更新短信服务状态

08:35:35.233    ims_reg_service_status.cpp 1693 H     ims_update_service_status | Changing SMS Service Status From 0 to 2 

 //IMS通过QMI向APP发送短信服务可用指示

2017 Jun 6 08:35:35.233 [96] 0x1544 QMI_MCS_QCSI_PKT 
	packetVersion = 2 
	MsgType = Indication 
	............ 
	Service_IMSA{ 
		ServiceIMSAV1{ 
			imsa_service_status{ 
			imsa_service_status_indTlvs[0]{ 
				Type = 0x10 
				Length = 4 
				sms_service_status { 
					sms_service_status = IMSA_FULL_SERVICE    //IMSA 全服务
					}
				}
			}
		}
	}

 通过IMS 发送 SMS 的步骤:

 步骤 1,检查调制解调器是否收到 wms_raw_send 的 QMI 命令

        AP通过QMI命令“wms_raw_send”向modem发送短信,如果没有这个命令,需要从AP侧检查该命令是否被触发

Service_WMS 
{ 
	ServiceWMSV1 { 
        wms_raw_send { 
            wms_raw_send_reqTlvs[0] { 
                ...... 
                raw_message_data { 
                    format = WMS_MESSAGE_FORMAT_GW_PP 
                    len = 23 
                    raw_message = 
                    { 
                        0, 33, 0, 13, 145, 104, 129, 53, 
                        41, 54, 0, 248, 0, 8, 8, 101, 
                        54, 82, 48, 87, 48, 87, 64 
                    }
                }
            } 
            wms_raw_send_reqTlvs[1] { 
                Type = 0x13 
                Length = 1 
                sms_on_ims { 
                    sms_on_ims = true   //短信通过IMS服务发送
                }
            }
        }
    }
}

 步骤2,检查是否调用了发送短信回调函数

 1.检查IMS注册消息中是否包含SMS标签(SMIP)

1980 Jan 11 05:04:01.933 [41] 0x156E IMS SIP Message -- IMS_SIP_REGISTER/ INFORMAL_RESPONSE 
........ 
m: <sip:[240e:f8:f700:15e:4a1f:7ef6:d01:4b94]:5060>;+sip.instance="urn:gsma:imei:86049303-817384-0>";+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-ervice.ims.icsi.mmtel";+g.3gpp.smsip;video; +g.3gpp.accesstype="cellular2" 

 2.如果 NV 66472 sms_domain_pref 设置为 1,则首选通过 IP 网络调用 SMS 服务

        DPL 回调函数 qpOriginateSmsCb 被调用,发送 SMS 在 IMS 中处理

[0051/0001] | MSG | 2017/05/09 15:14:52.857 | IMS/Medium | [ qpDplSms.c 1005] qpOriginateSmsCb: as_id[1] | | | 
[0051/0002] | MSG | 2017/05/09 15:14:52.857 | IMS/High | [ qpDplSms.c 744] qpProcessSmsEvent - sMoSmsCbStruct.iCbType=0 | | |

步骤3,检查IMS SIP信令是否正常 

 发送 SMS 的普通 IMS SIP 消息如下:

  1. UE send IMS message.            //UE发送IMS消息
  2. Network send 202 response     //网络回复202
  3. Network send ACK                    //网路发送ACK请求
  4. UE send 200 OK                       //UR发送200 OK 

 UE 发送IMS消息

2017 May 9 15:14:52.882 [B4] 0x156E IMS SIP Message -- IMS_SIP_MESSAGE/INFORMAL_RESPONSE 
    Version = 1 
    Direction = UE_TO_NETWORK............ 
    Message ID = IMS_SIP_MESSAGE 
    Response Code = INFORMAL_RESPONSE (0) 

网络回复202

2017 May 9 15:14:53.142 [5E] 0x156E IMS SIP Message -- IMS_SIP_MESSAGE/ACCEPTED 
    Version = 1 
    Direction = NETWORK_TO_UE 
    ............ 
    Message ID = IMS_SIP_MESSAGE 
    Response Code = ACCEPTED (202) 
    CM Call ID = 255 
    SIP Call ID = 1557053765_2375979544@2409:8808:528:dad3:d2ef:3e82:e560:1a03 
    Sip Message = SIP/2.0 202 Accepted

网络发送ACK请求

2017 May 9 15:14:53.375 [60] 0x156E IMS SIP Message -- IMS_SIP_MESSAGE/INFORMAL_RESPONSE 
    Version = 1 
    Direction = NETWORK_TO_UE 
    ............ 
    Message ID = IMS_SIP_MESSAGE 
    Response Code = INFORMAL_RESPONSE (0)

UE回复200 OK

2017 May 9 15:14:53.391 [67] 0x156E IMS SIP Message -- IMS_SIP_MESSAGE/OK 
    Version = 1 
    Direction = UE_TO_NETWORK 
    ............ 
    Message ID = IMS_SIP_MESSAGE 
    Response Code = OK (200) 
    CM Call ID = 255 
    SIP Call ID = 1876559223j145.103.16622639860@192.168.103.137 
    Sip Message = SIP/2.0 200 OK

步骤4,检查QMI响应

1.如果IMS SIP消息正常,但是modem发送如下QMI失败响应,请先与WMS端确认
2.如果modem发送QMI成功响应,但UI显示错误,请从APP或UI端检查

//MO SMS failure 
[0018/0003] | MSG | 15:14:53.397 | Wireless Messaging Services/Error | [ wmscm_gw.c 131] Error during msg submit WMS_RPT_RP_ERROR | 
[0018/0002] | MSG | 15:14:53.397 | Wireless Messaging Services/High | [ wmsmsg.c 16166] Received Report for SMI = 151 Record 0 | 
[0018/0002] | MSG | 15:14:53.397 | Wireless Messaging Services/High | [ wmsmsg.c 16250] MO SMS Failure Cause Value = 30 | 
2017 May 9 15:14:53.403 [9C] 0x1544 QMI_MCS_QCSI_PKT packetVersion = 2 
    MsgType = Response 
    ................. 
    Service_WMS {ServiceWMSV1 { 
        wms_raw_send { 
            wms_raw_send_respTlvs[0] { 
                Type = 0x02 
                Length = 4 
                resp { 
                    result = QMI_RESULT_FAILURE 
                    error = QMI_ERR_CAUSE_CODE
                }
            }
        }
    }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值