KOMtraffgen (version 1.0.0)


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:

  • A documentation of the IP-telephony related research at KOM.

  • Publications describing the system: A complete description and usage examples could be found in my PhD thesis.

  • A small document describing the technical details of the framework is available below.

  • There is some documentation with the software: copyright, howto build, howto install,

    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.

current version:


Martin Karsten for discussing/solving/understanding various problems and the ALTQ stamping module !


Utz Roedig

Framework Description Part I: Core

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!).

Framework Description Part II: application modules

Application modules are available for the following protocols:

  • TEST:

    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.

  • SIP:
    This module is under construction. It

    will be equal to the TEST module, but will use SIP messages on the UDP

    based control channel.