故障现象
运营商进行VoNR测试,发现终端M呼叫保持后出现掉话。
故障分析
1.13:37:07.395 SMF收到Npcf_SMPolicyControl_UpdateNotify Request消息,PCF发起删除规则volte_audio_rtcp消息,如下图所示。
2.SMF发起删除语音专载消息,如下图所示。
3.分析数据面信令发现终端在13:37:07.328000时发送BYE消息给SBC,携带原因是Media Bearer Loss,所以SBC通知PCF删除语音专载,如下图所示。
4.13:37:03.855 SMF收到Nsmf_PDUSession_UpdateSMContext Request消息,终端发起删除QoS rule identifier:6消息,删除原因是5GSM cause:Syntactical errors in packet filter(s),如下图所示。
5.SMF删除规则volte_audio,如下图所示。
6.13:37:03.825 SMF更新QoS rule时,QoS rule identifier:6同时出现Modify QoS rule and replace all packet filters和Modify QoS rule and delete packet filters,如下图所示。
7.13:37:03.825呼叫保持时,SBC只发了下行PF。SMF针对双PF变成单PF的场景,先通过Modify QoS rule and replace all packet filters更新下行PF,再通过Modify QoS rule and delete packet filters删除上行PF,如下图所示。
8.R15初期版本实现的QoS rule的编码是Modify existing QoS rule and replace packet filters。Modify existing QoS rule and replace packet filters是指定PF id的增量替换。a.Modify existing QoS rule and replace packet filters PF1表示替换QoS rule中的PF1。b.Modify QoS rule and delete packet filters PF2表示删除PF2。c.两者不存在矛盾因为操作的PF不同,如下图所示。
9.R15的后期版本已经将Modify existing QoS rule and replace packet filters改成了Modify existing QoS rule and replace all packet filters。Modify existing QoS rule and replace all packet filters表示QoS rule的全量替换,如下图所示。
10.现网SMF版本是按照Modify existing QoS rule and replace packet filters,而终端是按照Modify existing QoS rule and replace all packet filters,两边对齐的协议版本不一致。
a.Modify existing QoS rule and replace packet filters PF1表示删除老的PF1和PF2,再安装PF1。
b.Modify QoS rule and delete packet filters PF2表示删除PF2。
c.这里存在矛盾因为Modify existing QoS rule and replace packet filters操作的已经删除了PF2,再删除PF2就不合理了。
11.综上分析:呼叫保持时,SBC下发单PF的场景,SMF会通过Modify QoS rule and replace all packet filters更新下发的PF,同时通过Modify QoS rule and delete packet filters删除未下发的PF。Mapped EPS bearer contexts中replace了1个空的PF,终端认为是语法错误,导致终端释放规则volte_audio。终端发现无RTP流,主动发起释放语音。
故障处理
升级SMF的版本V7.18.14,改成Modify existing QoS rule and replace all packet filters。