【问题现象】
VoLTE站点通过后台配置开启上下行SPS后,进行VoLTE呼叫,上行SPS成功激活,但下行SPS并没有激活。
MAC层上行调度信息显示SPS激活:

MAC层下行调度信息显示SPS未激活:

【问题分析】
1、通过进一步观察终端侧的MAC调度信令,可以发现下行调度对应的逻辑信道ID为4(LogicalChannel ID=4):

通过查看承载建立信令可以确认到LC  ID  4与默认承载QCI5相对应,即下行语音包未走在语音专有承载上。由于SPS功能的激活依赖于专有承载QCI1,当语音包未通过专有承载调度,所以导致了SPS未激活。

2、下行数据走哪个承载是由核心网侧决定的,是通过激活专用承载里面的TFT分类匹配的。协调核心网共同进行排查,查了PCRF下发的规则中的TFT五元组配置,对照SBC下发的下行语音包,发现有一条默认承载分配策略如下。

这条CCA是创建默认承载时PCRF下发给PGW的。该CCA消息中即下发了覆盖专有承载的PF,逻辑为默认承载匹配所有SBC发出下行报文,而且优先级更高。因此,即便专有承载的TFT是正确的,下行报文在默认承载和专有承载都匹配的情况下,优先走默认承载。下行语音依据这条策略走了默认承载,所以导致下行方向的SPS呈现异常。
【问题解决】
PCRF上删除此条配置后,下行SPS够正确触发,问题解决。通过MAC层调度信令可以看到SPS已生效: