Jdiameter S13:无法处理请求。结果代码 = [3007],错误消息:[null]

Jdiameter S13: Could not process request. Result Code = [3007], Error Message: [null]

我正在尝试制作直径 S13 服务器, 我使用了如下的 mobicents 依赖项:

<dependency>
    <groupId>org.mobicents.diameter</groupId>
    <artifactId>restcomm-diameter-mux-jar</artifactId>
    <version>1.7.0.180</version>
    <scope>compile</scope>
</dependency>
<dependency>
    <groupId>org.mobicents.diameter</groupId>
    <artifactId>jdiameter-api</artifactId>
    <version>1.7.0.180</version>
</dependency>
<dependency>
    <groupId>org.mobicents.diameter</groupId>
    <artifactId>jdiameter-impl</artifactId>
    <version>1.7.0.180</version>
</dependency>

我还创建了客户端来发送 CheckIMEImessage 并在服务器端接收它,return 对客户端的响应,

但我的问题是,当我向服务器发送消息时,堆栈 return出现此错误,并且我的服务器应用程序未收到消息:

ResultCode.APPLICATION_UNSUPPORTED

并且使用此代码的直径响应 return 发送给客户端(直径响应 = 3007)

这是日志:

DEBUG 2017-11-29 12:06:55 org.jdiameter.server.impl.PeerImpl$LocalActionConext.receiveMessage:343 - Receiving message in server.
DEBUG 2017-11-29 12:06:55 org.jdiameter.client.impl.parser.MessageImpl.getSingleApplicationId:379 - In getSingleApplicationId for application id [16777252]
DEBUG 2017-11-29 12:06:55 org.jdiameter.client.impl.parser.MessageImpl.getSingleApplicationId:381 - Application Ids in this message are:
DEBUG 2017-11-29 12:06:55 org.jdiameter.client.impl.parser.MessageImpl.getSingleApplicationId:386 - [AppId [Vendor-Id:10415; Auth-Application-Id:16777252; Acct-Application-Id:0]]
DEBUG 2017-11-29 12:06:55 org.jdiameter.client.impl.parser.MessageImpl.getSingleApplicationId:403 - Returning [AppId [Vendor-Id:10415; Auth-Application-Id:16777252; Acct-Application-Id:0]] as the first application id because its the first vendor specific one found
DEBUG 2017-11-29 12:06:55 org.jdiameter.client.impl.parser.MessageImpl.getSingleApplicationId:379 - In getSingleApplicationId for application id [16777252]
DEBUG 2017-11-29 12:06:55 org.jdiameter.client.impl.parser.MessageImpl.getSingleApplicationId:381 - Application Ids in this message are:
DEBUG 2017-11-29 12:06:55 org.jdiameter.client.impl.parser.MessageImpl.getSingleApplicationId:386 - [AppId [Vendor-Id:10415; Auth-Application-Id:16777252; Acct-Application-Id:0]]
DEBUG 2017-11-29 12:06:55 org.jdiameter.client.impl.parser.MessageImpl.getSingleApplicationId:403 - Returning [AppId [Vendor-Id:10415; Auth-Application-Id:16777252; Acct-Application-Id:0]] as the first application id because its the first vendor specific one found
DEBUG 2017-11-29 12:06:55 org.jdiameter.client.impl.controller.PeerImpl.sendErrorAnswer:677 - Could not process request. Result Code = [3007], Error Message: [null]
DEBUG 2017-11-29 12:06:55 org.jdiameter.client.impl.controller.PeerImpl.sendErrorAnswer:701 - Sending response indicating we could not process request

我也尝试过使用 jain-slee 进行相同的实现,一切正常,并且能够将 checkIMEIResponse 发送到客户端...

有什么想法吗?

我已经弄明白了,我的问题是我正在创建没有供应商 ID 的 ApplicationId,例如:

ApplicationId applicationId =ApplicationId.createByAuthAppId(16777252L);

解决了喜欢

ApplicationId applicationId =ApplicationId.createByAuthAppId(10415L, 16777252L);

并且这个问题不会发生在 jain-slee 上,因为它使用了多路复用器,并且多路复用器启动连接并处理所有消息...

如果有人需要 jdiameter-config.xml 文件,我可以在这里分享它们...