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.
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:-DBUILD_TEST_APP:BOOL=ON
: compile the test_app.fdx extension.-DBUILD_DBG_MONITOR:BOOL=ON
: compile the dbg_monitor.fdx extension.
- [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.