[[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. ----