1、问题描述
售后反馈,手机无法拨打接收电话。
2、Log分析
从log看,Dialer拨打电话后。并未下发到Modem侧,显示原因为CANCEL状态.
进一步分析,在Telecom侧进行了拦截挂断
12-02 14:03:04.193134 1637 1637 I Telecom-CallsManager: make room for outgoing call stage: TSI.pC->CILH.sL->CILH.oQC->CM.sOCPA->CM.dSMCP(cssc)@V0U
12-02 14:03:04.194874 1637 1637 I Telecom : Event: RecordEntry TC@176: REQUEST_DISCONNECT, Disconnecting call in SELECT_PHONE_ACCOUNT in favor of new outgoing call.: TSI.pC->CILH.sL->CILH.oQC->CM.sOCPA->CM.dSMCP(cssc)@V0U
对应Log相关代码如下
从代码逻辑来看,相关代码意思是还有另外一路通话存在,导致无法再次拨打。 现有Log无法判断原因,需要抓取前一路通话为啥一直存在的AP + Tele + Modem log 继续分析.
后续客户又出现该问题,但是无法拨号的Log显示有出现了区别,只有第三路出现了挂断,另外两路通话一直处于选择账户状态。
而Dialer选着账户却只弹出了一次,相当于前两次没有取消系统侧选通话账户逻辑,导致系统中存在TC@1和TC@2两路通话。
3、解决方案
1、优化Dialer选择账户逻辑。
2、找到未挂断通话逻辑,进行优化。