restcommmobicents

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


i am trying to make a diameter S13 Server, and i have used mobicents dependencies as below :

<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>

also i have created the client side to send CheckIMEImessage and receive it on the server side and return a response to the client,

but my problem is when i send the message to the server the stack returns this error and the message is not being received on my server application:

ResultCode.APPLICATION_UNSUPPORTED

and a diameter response with this code is returned to the client (diameter response = 3007)

this is the log:

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

also i have tried the same implementation using jain-slee and everything works fine, and able to send checkIMEIResponse to the client side ...

please any idea?


Solution

  • I have figured it out, my problem was i am creating the ApplicationId without vendor id, like:

    ApplicationId applicationId =ApplicationId.createByAuthAppId(16777252L);
    

    solved Like

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

    and this issue doesn't occur on jain-slee since it uses Multiplixer, and the multiplixer initiate the connection and handles all the messages...

    if anyone needs the jdiameter-config.xml files i can share them here ...