Mobicents Diameter trips&tricks part 1
Below you may find a few tips on using Mobicents Diameter:
- Mobicents Diameter stack is based on jDiameter – the state of particular RA is synchronized with subprocesses managed by jDiameter, which may result in possible desynchronizationa and strange behavior :)
- e.g if we receive back a message we are just trying to send that means that there is something wrong on routing configuration and/or the peer we are trying to send the message to is not available
- every host that connects as a client to a server based on Mobicents Diameter must have a resolvable host name – by using DNS or other method (eg / etc / hosts). Otherwise the logs will show some odd exceptions
- Server peers configuration together with routing is only to be defined only in the file jdiameter-config.xml (Part of mobicents-diameter-mux)
- in the Network/Peers we should add peers to which you want to connect as client
- in the Network/Realms we should add the routing information for Diameter applications – write in the Realm/@peers all the peers we should send given application and Realm – the stack uses only jDiameter peer-name, and not using the port
- in order to send a Diameter message we have to set at least Destination-Realm, and Destination-Host as an option – jDiameter stack will choose the peer to send this message to from one of the available peers that accept given Diameter application
- Unfortunately if the server peer disconnects the stack does not reconnect and you need to reconnect by restarting/reloading mobicents-diamater-mux
- routing configuration for client peers is dynamic – as soon as Diameter clients connect to the server the routing table is updated by Diameter stack
- Mobicents jDiameter stack will not accept connections from two clients Diameter with the same name specified by the Original-Host, a second call will be quietly ignored without peer rejection of negotiations-a – CEA is not sent and the connection is closed after a while, on the TCP level
- for testing of Diameter applications with seagul the protection against duplicates shall be disabled – as seagul restarts the session numbering on each client session restarts:
- <DuplicateProtection Value=”false” />