This software can be used to build call generators. The software provides interfaces to include different protocols (e.g. SIP, RTSP, H.323). Currently the software supports a TEST protocol, which consits of a TCP control channel and two bidirectional UDP media channels. This allows the simmulation of a telephony like behavior. The system can be used to carry out performance analysis of infrastructure components (e.g. firewall, gatekeeper). The system supports the measurement of the session setup delay for the control channel and delay, jitter and loss for the media channel.
The following documents are available:
howto use the config file, history, changes, todo, ...
This version (vers. 1.0.0 KOMtraffgen100.tgz) has been tested to compile on FreeBSD4.5 and Linux2.4, using gcc-2.95. To compile the ALTQ parts you will need additionally the ALTQ package.
Martin Karsten for discussing/solving/understanding various problems and the ALTQ stamping module !
The core provides generic functions that are independent from the used protocol (timer handling, logfile access,...). The core of the system is able to carry an application module. The module, together with the core, forms a call generator for a specific protocol. The module is loaded via a shared lib in the core. The behavior of the whole system (e.g. which module should be loaded, how it should behave, ...) is specified by a single configuration file. The application modules carry the application specific parts of the call generator (state machines, simulated behavior,...).
For each application a server and a client application module are necessary. The client module initiates the sessions, the server part is used to accept the incomming calls.
To improve the delay measurements an ALTQ module is used to provide in-kernel time stamping functions. This module was developped by Martin Karsten for the KOM RSVP Engine (Thanks!).
Application modules are available for the following protocols:
This is a small and simple protocol with a telephony like behavior. It
consits of a TCP control channel and two bidirectional UDP media
channels. Between client and server the control channel is established.
Messages are exchanged to negotiate the specifications (e.g. port
numbers) of two unidirectional media streams. The time needed to setup
the session is measured. The client sends media packets with a rate and
size specified in the configuration file. These packets are received by
the server and are sent back to the client. In the client and the
server, time stamps and sequence numbers are inserted in the media
packets. Thus the client is able to determine delay, jitter and loss.
will be equal to the TEST module, but will use SIP messages on the UDP
based control channel.