Hey Razhan,
Sorry for delay, had quite some work to catch up with.
Please find answers inline ...
On Mon, 2018-09-10 at 00:59 -0700, Razhan Hameed wrote:
> Hey Dan,
>
> I am getting this message from the diameter client
>
> 2018/09/10 02:12:29 CGRateS <bc52098> [INFO] <DiameterAgent> Loading
> dictionary out of file
> /usr/share/cgrates/diameter/dict/huawei/base.xml
> 2018/09/10 02:12:29 CGRateS <bc52098> [INFO] <DiameterAgent> Loading
> dictionary out of file
> /usr/share/cgrates/diameter/dict/huawei/huawei.xml
> 2018/09/10 02:12:29 CGRateS <bc52098> [INFO] <DiameterAgent> Loading
> dictionary out of file
> /usr/share/cgrates/diameter/dict/huawei/nasreq.xml
> 2018/09/10 02:12:29 CGRateS <bc52098> [INFO] <DiameterAgent> Loading
> dictionary out of file
> /usr/share/cgrates/diameter/dict/huawei/nokia.xml
> 2018/09/10 02:12:29 CGRateS <bc52098> [INFO] <DiameterAgent> Loading
> dictionary out of file
> /usr/share/cgrates/diameter/dict/huawei/vodafone.xml
> 2018/09/10 02:12:34 CGRateS <bc52098> [ERROR] <DiameterAgent>
> StateMachine error: diameter error on
192.168.40.1:28473: Could not
> find preloaded Command with code 65536
> 2018/09/10 02:12:44 CGRateS <bc52098> [ERROR] <DiameterAgent>
> StateMachine error: diameter error on
192.168.40.1:22084: Could not
> find preloaded Command with code 65536
You should make sure you have the command in your dictionaries. You
have failed loading some dictionary with your requested command 65536.
>
> that IP address is the IP of the diameter client after an
> unsuccessful connection it retries with a different port which is a
> normal thing for client to do while trying to connect to a server.
Yes, on unsupported command, most probably the server will send
disconnect to your client.
> I also captured the packets with tcpdump which I will include the
> pcap file with the post
> what I am getting from the CER is that the diameter client tells me
> three supported vendors and some other vendor-specific applications.
> One of the supported vendors in the AVP is threegpp which by default
> cgrates have the dictionary for, the 3gpp.xml I mean,
Supported vendor is not enough, we should have at least Vendor-
Specific-Application-Id requested by CER and found in CEA.
>
> But when cgrates answers the diameter client the AVP in the CEA have
> the value of "DIAMETER_NO_COMMON_APPLICATION"
I would check again the dictionaries since if the server complains it
really means it could not find it.
You need to have at least one application supported by both client and
CGRateS in order for CER/CEA to complete. If no intersect is found, you
get the error with the DIAMETER_NO_COMMON_APPLICATION.
> and let's say I was not able to find the dictionary how can one get
> the messages from the diameter client and create a dictionary based
> on those messages
Before anything, make sure you have at least one application in common
(via your extra dictionaries or the default one hardcoded in the
library we use - you can find them here:
https://github.com/fiorix/go-diameter/blob/master/diam/dict/default.go#L19
)
> a "walk through" for the last question is very appreciated.
Let me know if the explanation was clear enough or you need any
additional info.
Thanks,
DanB
>