Navigation



Version 5 (modified by Administrator, 13 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

Screencast

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, and activate the subtitles for the comments.

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 the following files may have been updated since the time the video was created. However, the purpose of the testbed remains the same.

Scripts

The following scripts are referenced in the video:

[source:VirtualTestbed/scripts/freeDiameter-install.sh freeDiameter-install.sh]
Install missing dependencies (Debian/Ubuntu), configure the source (running cmake).
[source:VirtualTestbed/scripts/freeDiameter-run.sh freeDiameter-run.sh]
Compile the sources (make), then start the daemon.
[source:VirtualTestbed/scripts/freeDiameter-trig.sh freeDiameter-trig.sh]
Send the USR1 signal to the daemon in a loop, to trig the test_app action.

cli.simple.testbed.aaa

These are the configuration files for freeDiameter on the client:

[source:VirtualTestbed/conf/cli.simple.testbed.aaa/freeDiameter/CMakeFlags CMakeFlags]
The flags passed to cmake (on the command-line) when preparing the source. The noticeable ones are:
[source:VirtualTestbed/conf/cli.simple.testbed.aaa/freeDiameter/freeDiameter.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/cli.simple.testbed.aaa/freeDiameter/test_app.conf test_app.conf]
Configuration file for the test_app extension. It can be changed to test different routing properties, modes of operation. See test_app.fdx documentation for more details.

serv.simple.testbed.aaa

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