Telephony--彩信问题分析方法

10 篇文章 1 订阅
9 篇文章 0 订阅

彩信的发送跟短信不同,走的是PS域,所以在对彩信问题进行分析的时候要结合网络环境,注网信息等。彩信的问题同样也需要从接收方和发送方着手,所以最好让测试提供两份log加问题时间点的截图。

彩信的发送需要请求获取数据能力,如果主卡是卡一,然后卡二进行彩信业务,那么卡二会请求数据能力,发送allow_data的请求,直接搜关键字就可以看数据能力的切换是否成功。

当数据能力切换成功之后,彩信就会使用http进行请求,网址就是彩信头的发送过来的地址。彩信收发出现的网络问题可能发生在数据切换,或者是http请求的时候。

1.彩信重传问题

1.1彩信在allow_data的时候就失败了

allow_data失败的原因有很多,现在以其中一种为例,其他的处理方法类似。allow_data请求数据能力主要发生在PhoneSwitcher.java文件中。在下发了RIL_REQUEST_ALLOW_DATA的AT指令之后,在PhoneSwitcher就会对返回的信息进行判断,如果有异常也是在这个类里面处理。

DEVICES_IN_USE,当时出现这种错误是由于卡二获取数据业务的时候,主卡卡一来电话了,电话的优先级比切换数据的优先级要高,所以就导致了切换数据的失败,错误为DEVICES_IN_USE,发生了这种错误的时候代码中需要对其进行处理,解决方案为当电话挂断的时候调用resendDataAllowed方法,重新请求获取数据能力。

1.2彩信在http请求的时候失败了

手机正常发起了network request,访问短信中心,请求下载彩信,之后在http请求的过程中出现错误,例如IO failure,类似于这种的错误很有可能是网络临时错误,可以通过wireshake过滤出手机与短信中心交互的TCP流,然后看下有什么明显的错误提示。

Line 39981: 11-10 10:29:42.584  3540 14547 D MmsService: [SendRequest@35427c4] MmsNetworkManager: start new network request

Line 40415: 11-10 10:29:43.308  3540 24806 I MmsService: NetworkCallbackListener.onAvailable: network=264

Line 40494: 11-10 10:29:43.357  3540 14547 D MmsService: [SendRequest@35427c4] APN name is 3gwap

Line 40495: 11-10 10:29:43.357  3540 14547 I MmsService: [SendRequest@35427c4] Loading APN using name 3gwap

Line 40504: 11-10 10:29:43.366  3540 14547 I MmsService: [SendRequest@35427c4] Using APN [type=mms mmsc=http://mmsc.myuni.com.cn mmsproxy=10.0.0.172 mmsport=80 name=中国联通3G联通彩信(China Unicom) apn=3gwap bearer_bitmask=0 protocol=IPV4V6 roaming_protocol=IPV4V6 authtype=-1]

Line 40507: 11-10 10:29:43.371  3540 14547 D MmsService: [SendRequest@35427c4] HTTP: POST http://mmsc.myuni.com.cn[24], proxy=10.0.0.172:80, PDU size=111739

Line 40509: 11-10 10:29:43.371  3540 14547 I MmsService: [SendRequest@35427c4] HTTP: User-Agent=ASUS-X017D-Android-Mms/2.0

Line 40510: 11-10 10:29:43.371  3540 14547 I MmsService: [SendRequest@35427c4] HTTP: UaProfUrl=http://uaprofile.asus.com/uaprof/ASUS-X017D_1.xml

Line 40552: 11-10 10:30:14.448  3540 14547 E MmsService: [SendRequest@35427c4] HTTP: IO failure

Line 40553: 11-10 10:30:14.448  3540 14547 E MmsService: java.net.ConnectException: Connection timed out

Line 40554: 11-10 10:30:14.448  3540 14547 E MmsService:         at java.net.PlainSocketImpl.socketConnect(Native Method)

2.通话过程中的彩信收发

由于很多手机都是单通的,所以只要有一张卡占用了射频资源,另外一张卡就没办法使用数据业务。通话过程中的收发彩信可以分为以下两种情况:

2.1卡一通话,卡二接收彩信

如上所述,单通的手机只有一张卡能使用射频资源,所以卡一通话过程中,卡二的数据业务是没办法用的,但是由于彩信的接收会先收到彩信头,也就是一条短信,所以通话过程中,还是可能接收到一条有彩信的通知的。

2.2卡一通话,卡一接收彩信

如果卡一是注册在IMS上,进行volte通话的过程中是可以进行彩信的收发的,因为都是走PS域,所以对于这种问题要先确认手机是否注上了volte,进行的是volte通话;

如果卡一是注册在4G上,但是没有进行volte通话,那么会回落到2、3G进行通话,那么数据业务是没办法使用的,但是如果注册的网络支持dtm功能的话,CS和PS是可以并行的,那么通话过程中是可以进行彩信的收发的;

Log如下:

[3007/0002/0003/0004] MSG 06:14:26.176 NAS MM/High [ mmsend.c 3539] DS: SUB 1 =MM= MM sent MMR_CELL_SERVICE_IND: hsdpa_supp=0, dtm_supp=1, egprs_supp=1

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值