Till now I have installed and run freediameter. CER and CEA messages are exchanged between client and server successfully. But I am unable to grasp what makes one of the instance run every time as "client" and the other as "server" since both the client and server instance consists of the same source code. Is it dependent on the "diameter identity" or value of "ip" or by the action of a certain "flag" or "command line arguments"? I want my current client instance to run as a server and the current server instance to run as a client but I am unable to do so.
Asked
Active
Viewed 1,011 times
2
-
It depends on the diameter application messages you send. An diameter instance sending requests is what you traditionally call a client, and the receiving instance is the server. But for the basic configuration, the diameter agents are just peers of each other. You need to load or write an "extension" responding to requests to act as a server for a particular application, and a extension" to send requests to act as a client - – nos Jun 12 '17 at 09:02
-
For the basic configuration, the diameter agents are just peers of each other. Then why a certain instance always initiates (sends SCTP_init) the request ? – oldDoctor Jun 12 '17 at 09:10
-
It shouldn't. If the configuration is proper, both will send SCTP Inits to eachother, and the first one to establish will complete the connection. – nos Jun 12 '17 at 09:17
-
In this case, both instances are sending SCTP inits to each other but every time the connection is established from one side i.e. if the other (i call it server) instance sends SCTP_init first, an abort is send correspondingly from the client side and then the SCTP_init is sent from the client side and the connection is established successfully. I am not able to tell if it is due to bad configuration or it is happening randomly. – oldDoctor Jun 12 '17 at 09:28
-
I can't tell that either, but I would expect one of the sides to abort their connection attempt if this is going on simultaneously. – nos Jun 12 '17 at 13:37