【问题现象】

VOLTE测试异厂家对接测试中发现LDRA转发SBC发来的STR消息不成功,造成不能正常挂机,影响后续的通话。

【问题分析】

根据Rx接口信令流程,跟踪网元及用户消息,分析STR消息转发失败的原因。

跟踪SBC到LDRA的消息,发现LDRA在收到STR消息后直接返回SBC一个STA消息,而不是正常的转发到PCRF去。STA消息中的失败原因值为DIAMETER-REALM-NOT-SERVERD(3003)。  消息里携带有目的主机名,主机名为CSPCRF02BZX(中兴PCRF)。而该消息正常应该是根据用户IP地址或IP地址与APN的组合查询目的主机名(华为PCRF)的信息。

查看STR消息,消息里只携带有源主机名、源域名、目的域名、应用ID以及终止原因,LDRA根据这五个AVP是无法找到路由的。

中兴SBC认为Rx接口的消息中要么全带D-Host,要么全不带D-Host。如果带D-Host的话,将影响会话绑定业务(AAR消息带D-Host将导致不能转发到绑定的PCRF)。而如果不带D-Host的话,将影响正常挂机流程(STR消息不带D-Host将导致消息转发不成功)。

针对中兴SBC侧给出的解释进行分析:

首先,对比华为SBC发给LDRA的消息,AAR消息里面没有携带目的主机名,会话绑定业务查询对应的PCRF可以成功。正常通话结束后,STR消息里携带目的主机名,可以正常转发到PCRF去。因此同一接口里消息中要么全带D-Host要么全不带的解释不能成立,而是需要根据实际情况进行选择。

其次,查询Diameter基础协议,根据描述的理解,初始AAR消息因为不是发给某个特定服务器(PCRF),因此不需要带目的主机名D-Host,但通话完成后的STR消息是发给特定服务器的,而且同一会话有了多次交互(STR之前的AAR/AAA),故STR这个请求消息需要通过D-Realm和D-Host来送到指定的服务器。

【问题解决】

中兴SBC修改STR消息携带D-Host信息后,华为LDRA根据目的主机名将消息路由到了指定PCRF,消息转发成功。