【问题现象】
在LTE覆盖下,HTC终端发起volte语音呼叫,主被叫开关机后的第一次呼叫总是成功。多次呼叫后,就会出现主叫呼叫马上自动挂断,被叫无任何反应的现象。出现故障后,再次尝试呼叫,问题一直存在,除非重新开关机。
【问题分析】
抓包可以看到,PCSCF收到被叫发来的183消息,通过AAR触发PCRF建立专载,PCRF发送RAR给PGW,PGW给出了正确响应。但是马上发起了CCR-U消息,消息中携带Charging-Rule-Report/ Rule-Failure-Code: RESOURCES_LIMITATION (5)。

从PGW的单用户跟踪消息看,PGW收到RAR之后,并没有向SGW发送任何建立专载的消息。
进一步分析发现,问题发生前的呼叫结束后,PCSCF收到BYE消息后,向PCRF发送STR消息,但是PCRF返回了Result-Code: DIAMETER_UNKNOWN_SESSION_ID (5002)。

分析发现:第一次PCSCF通过LDRA发送STR消息中,携带了正确的host name:FZM01PCRF01BNK.fz.fj.node.epc.mnc000.mcc460.3gppnetwork.org ,但LADR没转发给PCRF。第二次PCSCF以小写host name发送: 
 fzm01pcrf01bnk.fz.fj.node.epc.mnc000.mcc460. 3gppnetwork.org,LDRA正常转发给了PCRF。由于host name是区分大小写的,所以PCRF以Result-Code: DIAMETER_UNKNOWN_SESSION_ID 拒绝了STR消息,导致没有正常释放语音专载。
再次呼叫时,对于该用户PCRF再次发送RAR给PGW,带有相同的charging-rule-name及QOS及TFT。PGW根据协议会修改建立的专载,将新建立的TFT filter值累加到已建的TFT里的filter,修改后的专载可以正常用于语音通话。当重复拨打4次后,TFT里的filter达到最大值16后, PGW就会发送CCR-U携带RESOURCES_LIMITATION给PCRF,导致语音呼叫失败。
【问题解决】
对于LDRA没有正常转发STR,将LDAR缺少参数配置完整后,该问题解决。