RTPGW: An Application Level RTP Gateway

University of California at Berkeley
Daedalus Group

  1. Introduction
  2. Important Alpha Release Notes
  3. Requirements
  4. Platforms
  5. Installation
  6. Running The Gateway
  7. Transcoders
  8. H.261 Encoder Note
  9. Vat Usage Note
  10. Comments, Feedback and Bug Reports


This is version 1.0-alpha of the RTP Gateway. It is an experimental application level tool which enables rate controlling between two RTP video or audio sessions through format conversion (transcoding) and frame dropping. This version extends the previous "Video Gateway" architecture to RTP audio streams as well. The RTP Gateway contains two components:
  1. The engines: vgw (video), agw (audio)
  2. The user interface: rtpgw_ui
These two programs run as separate processes and communicate over a shared communication channel. This model allows other applications to control the gateway enabling coordination between tools in the conferencing environment.

IMPORTANT: Alpha Release Notes

The current version of the gateway is still in the alpha stage. As such, you will probably encounter problems. We would greatly appreciate it if upon encountering a problem, you could please relay as much information and context as possible about the problem to rtpgw@daedalus.cs.berkeley.edu.
Thank you!


The following libraries and capabilities are required for a build of the video gateway:
  1. Tcl7.5/Tk4.1
  2. IP Multicast support.


The video gateway has been built and tested on the following platforms:


In the current directory follow the following steps:
% ./configure
Due to ambiguities in the naming of the new and old versions libtcl and libtk, if you have more than one installation of these libraries you should verify that LIB_TCL and INCLUDE_TCL have been defined appropriately in ui/Makefile and engines/Makefile, and LIB_TK, LIBRARY_TK, and LIBRARY_TCL have been appropriately defined in ui/Makefile. If you only have one version of tcl/tk (7.5/4.1) on your system -- you can ignore the previous comment.
% make depend
% make
The standard installation directory is /usr/local/bin. If you wish to change this directory, edit at this point the 'install' target of ./Makefile.
% make install

Running The Gateway

The install will install the programs vgw_ui, vgw, and agw. To run the gateway, simply type:
% rtpgw_ui -T [audio|video] sessionA sessionB
where sessionA and sessionB are two conference sessions specified as colon separated lists of addresses of the format: addr/port[/ttl].


The following transcoders exist in the current version of the gateway:


Any other input format will simply be forwarded across the gateway (and will be denoted in the interface as a "pass-thru" transcoder).

H.261 Encoder Note

The H.261 format used in the gateway is not compatible with vic versions prior to the versions prior to 2.7. Thus, in order to view the output of the gateway, you must install vic-2.7 or later.

Vat Usage Note

The RTP gateway only accepts RTPv2 streams. Thus, you must use an audio tool which transmits using this version of the protocol. In particular, if you are using the vat audio tool, you must use vat version 4.x with the '-r' flag to enable RTPv2 transmission. Vat-4.x is available from ftp://ftp.ee.lbl.gov/conferencing/vat/alpha-test.

Comments, Feedback and Bug Reports

All comments, feedbacks and bug reports should be directed to: rtpgw@daedalus.cs.berkeley.edu.
Thank you!

This work was supported by:
The AT&T Fellowship, ARPA Contract #DAAB07-95-C-D154, ARPA Contract #J-FBI-93-153, California MICRO Program, Hughes Aircraft Corporation, Metricom Corporation

Elan Amir (elan@cs.berkeley.edu)
Steve McCanne (mccanne@cs.berkeley.edu)