[[PageOutline(2-4)]]
= Simple testbed =
This is the simplest configuration for testing with freeDiameter.
This testbed involves only two peers directly connected, and the [wiki:test_app.fdx test_app] application is used to exchange a message over Diameter between these two peers.
{{{
#!graphviz
graph G {
graph [bgcolor="#E8E8E8C8"];
rankdir = "LR"
node [shape=box];
edge [color=blue];
cli [
label="cli.simple.testbed.aaa"
URL="#cli.simple.testbed.aaa"
]
serv [
label="serv.simple.testbed.aaa"
URL="#serv.simple.testbed.aaa"
]
cli -- serv [label=Diameter];
}
}}}
== Screencast ==
This first video shows the [wiki:test_app.fdx 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.
[[Embed(youtube=FQwPBncbIxQ&hd=1,w=660,h=525)]]
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 [wiki: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 [wiki:test_app.fdx] extension.
* {{{-DBUILD_DBG_MONITOR:BOOL=ON}}} : compile the [wiki: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 [wiki: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.
----