Version 4 (modified by Sebastien Decugis, 14 years ago) (diff)


Simple testbed

This is the simplest configuration for testing with freeDiameter.

This testbed involves only two peers directly connected, and the test_app application is used to exchange a message over Diameter between these two peers.

Error: Failed to load processor graphviz
No macro or processor named 'graphviz' found


This first video shows the test_app extension in action in the simple testbed. The video shows two consoles, bottom-left and top-right. Bottom-left is the client, upper-right the server.

It is recommended to watch the video in HD and fullscreen.

Here is what happens in the video:

  • (0:00 ~ 0:04) Very short explanation.
  • (0:00 ~ 0:38) Preparation of freeDiameter, using cmake.
  • (0:39 ~ 2:15) Compilation (with make).
  • (2:24 ~ 2:35) Start the daemon on both peers.
  • (2:36 ~ 3:00) Check connection status in the logs.
  • (3:00 ~ 3:50) Trig the test_app.fdx "ping" and watch the effect on the logs.
  • (3:51 ~ 4:03) Stop the daemon.

Configuration files

Please note that these files may have been updated since the time the video was created. However, the purpose of the testbed remains the same.


The following scripts are referenced in this video:

Install missing dependencies (Debian/Ubuntu), configure the source (running cmake).
Compile the sources (make), then start the daemon.
Send the USR1 signal to the daemon in a loop, to trig the test_app action.

These are the configuration files for freeDiameter on the client:

[source:VirtualTestbed/conf/ CMakeFlags]
The flags passed to cmake (on the command-line) when preparing the source. The noticeable ones are:
[source:VirtualTestbed/conf/ freeDiameter.conf]
The main freeDiameter configuration file. It simply indicates to load the two extensions and to connect to the server.
[source:VirtualTestbed/conf/ test_app.conf]
Configuration file for the test_app extension. It can be changed to test different routing properties for example (by changing Destination-Realm value).

The server uses these files: [source:VirtualTestbed/conf/ CMakeFlags], [source:VirtualTestbed/conf/ freeDiameter.conf], and [source:VirtualTestbed/conf/ test_app.conf]. They are very similar to the client's one, so see previous section for explanations.