【Telephony 】【Call】飞模关闭后马上拨打紧急电话无法拨通问题(MTK)

小孤蓝课堂开课拉,现在是实践时间!
bug很多!你很忙的!解不完,根本解不完!
今天的文章内含通用神器!
还是那句话,遇到问题先问是不是,先确认问题有效性,提高解问题效率要三步走:是不是?是什么?为什么?

BUG: DUT fails to initiate EM call (100) when APM is enable for Jio operator.

飞模关闭后马上拨打紧急电话100,无法拨通问题.
问题背景:必现问题、印度、MTK平台、Android 13

挂断问题是最常见的通话问题,好查不好解
问题思路:
1)检查挂断原因
2)针对挂断原因修改代码流程

1、检查AP侧挂断原因

通用神器:

这里有个诀窍,只要是通话问题,必须先捋清楚整个通话流程,确认好时间点,在哪里附近出问题,在log中列出整个通话流程。不同平台、不同Android版本、应用层(main_log)、框架层(radio_log)关键字有所不同。
例如,我这里用“UPDATECALLSTATE”关键字就赛选出了全部流程

结合问题发生的时间,我们看到,对上我列出来的通话流程中,有每次挂断的结点,这个结点能大大缩小问题范围。

本问题是连接类型的问题,所以要看断开结点附近的Log。

我找到每次挂机的原因都是因为这个“server unreachable”。
“无服务”的原因很多,MT号码未入网、手机卡套餐欠费、网络信号差等,所以下一步就是排查这些疑点。
在这里插入图片描述

(1).检查MT号码是否入网

检查紧急号码列表是否配置,可以看到,印度的100紧急号码已经配置。mtk平台紧急号码配置是在ecc_list.xml文件
在这里插入图片描述

(2)检查卡套餐

由于拨打的是紧急电话,所以与卡套餐无关。

(3)网络信号情况

从视频观察,当客户拨打在DUT关闭飞行模式后拨打电话,右上角的volte图标并未注册。但是REF上是已经注册的,所以我们猜测是网络问题原因需要检查modem log确认一下。

2、检查Modem侧挂断原因

DUT: 在 IMS注册之前就从AP获取到了ATD100命令,由于JIO运营商没有2/3G 网络并且当时 IMS 尚未注册,所以网络拒绝返回了无服务。
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/db8c166b509548cc9634b5419c5c0ffe.png
REF: 在 IMS 注册后从AP获取ATD100命令,所以正常发起了IMS域呼叫。
在这里插入图片描述
DUT和REF是同平台的项目,使用同一套流程为什么REF可以正常呼叫,而我们是无服务呢?
检查IMS服务注册状态,发现:
对比机退出飞行模式后后有11s的时间向服务器发送ATD100命令,但在DUT中,我们仅有3s的时间发送 ATD100 命令。这3s的时间里我们DUT没有注册上IMS,REF有11s的时间等待IMS注册上。
是流程衔接的问题,这涉及到整机性能、射频软硬件的配置,REF比我们快,多了整整8秒的时间注册IMS。整机性能、射频软硬件的配置我们无法把控,但是Tele能做的就是规避这类问题。

修改方案

因为紧急拨号的方式有PS、CSFB区别,所以只能针对某个运营商,其他的运营商不一定是用PS域
CS域、PS域不懂的可以看下我这篇《音频通话声音问题VM、PCM文件分析》文章第一节中有提到语音通话的演变过程。

这个项目上,针对JIO运营商在发送ATD命令之前,等待IMS注册上。
注意自己好好写,这里是伪代码,别傻乎乎乱抄
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值