手机在某位置打VoLTE电话话音断续,相同位置CSFB电话话音无问题

        最近接了个有意思的案例,手机在某些固定区域只要拨打VoLTE高清语音电话,起呼成功后话音就断断续续的。但是如果在手机设置里关闭VoLTE高清语音后,手机在相同位置拨打CSFB电话,回落到移动GSM网络起呼,话音清晰稳定。

         首先让我们先看看问题发生时间段内,空口OTA信令是否有任何异常,能否初步判断是否是网络问题 or 手机终端问题?我截取了一个片段过程,后续类似片段过程有很多。

从04:42:20.366时间点开始到04:42:20.887时间点结束,可以看到每20ms发送一次承载AMR语音帧的RTP包,每160ms发送一次承载舒适噪音的AMR SID(Silence)帧。

 

但是到了04:42:20.888手机竟然主动发起了RRC重建请求?!所以之前从04:42:20.334到04:42:20.887的时间段内,只能说手机RTP栈已经封包,但是实际上发送到空口了么?答案是maybe, maybe not。我们需要继续下探一层,看看PDCP层是否有新的发现。在PDCP距离最近的时间点04:42:20.958,打印LTE PDCP UL统计信息, Very Lucky :)

在这条打印内部,可以清楚地看到在RLC UM模式的RB[1]里总共丢弃了11个PDCP SDU。

 根据3GPP TS36.323  Evolved Universal Terrestrial Radio Access (E-UTRA);Packet Data Convergence Protocol (PDCP) specification, 当发生以下两种情况:1,PDCP discardTimer超时,2,收到对端的PDCP status report表示正确接收, UE会丢弃PDCP SDU以及对应的PDCP PDU。

 

显然从04:42:20.334到04:42:20.887的时间段内我们没有收到任何PDCP DL Control PDU, 明显是第一种情况导致。从04:42:20.334到04:42:20.887时间段内我们有12个RTP帧,包含8个AMR GSM-EFR帧和4个AMR SID,并且全部是上行方向即UE到Network。无任何下行RTP包(下行不通,无法听到对方说话),而上行这12帧里有11个被丢弃(上行不通,对方无法听到你的声音)。到底是哪11个丢弃了呢?为了回答这个问题,咱们先看看高层RRC给PDCP配置的discardTimer吧。

 

由上图可以看到discardTimer配置的是100ms超时,通过这点其实大家可以看出唯一暂时没有放弃的就是最后一RTP帧,时间点04:42:20.887,就算PDCP接收到这个SDU, 加头的时间也是04:42:20.887,超时时间将会是04:42:20.987

2016 Jun 13  04:42:20.887  [FC]  0x1568  IMS RTP SN and Payload

         至此话音断续已经解释清楚了,原因也很明显,是因为手机在源小区EARFCN = 37900, PCI = 88由于某种原因RRC连接断掉不得不重启小区盲搜,找到新小区EARFCN=37900,PCI=89上发起RRC重建请求。

具体LTE中的RRC连接重建机制请查阅参考春天工作室的《LTE中RRC连接重建过程解析》,这里就不多讲了。

 

        通过本案例RRC重建请求的原因值,可以发现为5中引发条件里的RRC重配失败导致,如图:

 

那到底在源小区下发的RRC重配消息里都是些什么呢?从下图可以看出源区只是下发了基于A3事件的同频异频LTE测量控制,邻区1为B41的EARFCN = 40936,邻区2为B38的EARFCN = 38098。

一切是这么的完美啊,究竟手机发了什么疯,认定源eNB下发的测量控制有误呢?答案就是由于手机终端实现的非标引起的。手机内部L-RRC模块打印如下:

 04:42:20.264 lte_rrc_config.c  

 Reconfiguration Message received from Message Handler

 04:42:20.265 lte_rrc_utils.c   Band id 41 matched with EFS Band at array idx 0

 04:42:20.265 lte_rrc_utils.c   EARFCN 40936 is not within the EFS frequency range  of 41040 - 41240

 04:42:20.266 lte_rrc_meas.c    MEAS: Invalid band for DL freq 40936

手机竟然傻乎乎地认为配置的邻区1 B41 40936是一个无效的频点,不在自己支持的B41频段范围(41040 - 41240),因此发起了reconfigurationFailure原因值的RRC重建。

 

         某平台厂商其实也是出于好意,希望加快搜网注网的时间,根据中国三大运营商支持的LTE B41势力范围划分各做了个EF文件,名为update_band_range,例如中移动为40440到41040, 中国电信为41040到41240。出问题的手机在经过多次热插拔不同运营商卡的过程中,导致电信残留update_band_range没有被更替成中国移动的,导致了此问题的发生。即

在建立VoLTECall后,收到网络多次下发的RRC重配监听EARFCN=40936频点小区后,不在update_band_range范围内,UE L-RRC认为网络配置小区频点无效,发起RRC重建立过程多次,造成电话声音断续。

 

附赠一份中国移动的4G频谱范围表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值