vat - LBNL Audio Conferencing Tool
Vat is an audio conferencing application developed by the
Network Research Group
Lawrence Berkeley National Laboratory.
Source code and pre-compiled binaries are available via
Vat-related questions and feedback are welcome and can be sent
to the developers via firstname.lastname@example.org.
The LBNL audio tool, vat, is a real-time, multi-party,
for audio conferencing over the Internet.
Vat is based on the Draft Internet Standard
Real-time Transport Protocol (RTP) developed by the IETF
Audio/Video Transport working group.
RTP is an application-level protocol implemented entirely within
vat -- you need no special system enhancements to run RTP. Although
vat can be run point-to-point using standard unicast IP addresses,
it is primarily intended as a multiparty conferencing application.
To make use of the conferencing capabilities, your system must support
IP Multicast, and ideally, your network should be connected to the
IP Multicast Backbone (MBone).
Vat provides only the audio portion of a multimedia conference;
video, whiteboard, and session control tools are implemented as separate
applications. Our video tool is called
our whiteboard tool
UCL developed the session directory tool
Other related applications include ISI's Multimedia Conference Control,
the Xerox PARC Network Video tool,
and the INRIA Video-conferencing System,
The easiest way to install vat is to grab the binary distribution
for your architecture (see the list below), unpack it, and
install the executable and manual entry. You can also get
the source distribution and
build vat from source.
Note: these links will not be valid until the official 4.0 release.
Sparcs running SunOS
Vat should run on any version of sparcstation (1, 2, 4, 5, 10, 20,
SLC, ELC, IPC, IPX) running SunOS 4.1.x.
Note that the
audio buffer size used by the stock SunOS 4.1.x kernel
is too large for good interactive response. This can
be fixed with a kernel patch -- instructions are in
the MBone FAQ.
Sparcs running Solaris
Vat should run on any version of sparcstation (1, 2, 4, 5, 10, 20,
SLC, ELC, IPC, IPX) running Solaris 2.x for x>1.
Vat does not work in unicast mode under Solaris 2.3 due to
a kernel bug. Sun has provided a
Vat should run on any DEC Alpha running OSF/1 v3.x using
either the build-in audio or the audio on a J300 board.
Vat should run on any DEC 3max (5000 series) with a LoFi
audio board and running Ultrix 4.2 or above.
On these architectures, vat requires release 3 of the DEC CRL
Vat may run on versions of HP Snake (700 or 7000 series)
that have built-in audio hardware. We have tested it on
710s, 715s & 735s.
Note that the HPUX Audio server (AServer) was not
designed with interactive audio in mind -- in our attempts
to use it, we typically saw delays of several seconds between the
audio hardware and the net. To work around problems with
AServer, vat uses the kernel /dev/audio device directly.
Unfortunately, this interface is not documented and HP
has changed it several times.
Our only HP is an ancient 735 running HPUX-9.0 so we rely on others
in the user community to send us the patches or information
needed to keep vat running on HP hardware.
Should run on any SGI Indy, Indigo or Indigo2 running IRIX 5.x.
We have tested it on an Indigo and an Indy.
x86 BSD/OS 2
Vat should run on i386/486/586 PCs with soundblaster-compatible
sound cards running BSD/386 2.0 or later.
The i386 binary also has been reported to run under NetBSD
(using a modified version of the LBL sound driver) and
FreeBSD (using the Linux sound driver with additional
support for /dev/audio). Amancio Hasty (email@example.com)
reports that under FreeBSD vat can operate in full-duplex
mode with the Gravis Ultrasound (and that the quality is
Vat should run on i386/486/586 PCs with equiped with sound cards
supported by VoxWare
(the standard Linux sound driver) and running Linux 1.2.8 or later.
The current vat linux audio driver is quite primitive. It
treats the sound card as half-duplex (e.g., a soundblaster)
even if it is capable of full-duplex operation (e.g., a GUS).
It also does not use the `mixer' controls that set the record
and play volume and/or select input and output ports. We hope
someone in the community will add the missing pieces to
Under linux 1.2.x, multicast through the loopback interface
does not work. This is a serious deficiency since local
(loopback) multicast sockets are used to implement
"conference busses" that vat/vic/etc. use to do things
like pass the audio hardware between different vats,
automatically switch video windows on audio activity, etc.
We understand that this problem has been fixed in more
recent versions of linux (1.3.?). If your kernel doesn't
have the fix, the first symptom is that it will be very
difficult to switch the audio between multiple instances
of vat. (Normally you just click the right mouse button it
the vat window you want active and the audio will be assigned
to that window. This won't work at all if the linux loopback
multicast is broken.) If your kernel has the bug, it will
be difficult to handle multiple vats and you will probably want
to run just one at a time.
Several other systems are supported but we don't have the
resources to build and maintain binries. These other sites have
kindly offered their help.
AIX binaries provided by
Andrew Booker and
Amancio Hasty has made
FreeBSD binaries for many of the MBone tools publicly available.
Shawn McMurdo ported
vat to SCO UNix. Some
a binary distribution
are publicly available from their ftp server.
To build vat from source, start by getting and unpacking the
source tar. E.g., after ftping the tar, run
(gzip is available
from the GNU Project.)
This will place the contents of the source distribution
in ./vat-x.y where x.y is the current version number.
`cd' into this directory and do the following:
- gzip -d -c vatsrc-tar.gz | tar xfv -
If you are attempting to get vat running on a platform that isn't
listed above, things will probably be more difficult.
See the porting notes for help.
- Make sure
tcl/tk (v7.5/4.1) is installed or built in the directory
above the vat tree. Vat requires at least v4.1 of tk.
- Make sure the
GSM distribution is installed in the directory above the vat tree.
Note that both the GSM library & the GSM source are needed.
If the compilation fails because of a missing include for private.h,
it means vat couldn't find the GSM source.
- Make sure that release 3 of the DEC CRL
audio server is installed in the directory above the vat tree.
If configure can't find AudioFile, it will report
can't find AudioFile - vat AF support won't be compiled.
The only platforms that require AudioFile are DEC Alphas & DEC MIPS
so others can generally ignore this error.
- Run the ./configure script.
You may specify the following arguments to configure:
||specify a pathname for the X include tree
||specify a pathname for the X libraries
||specify a pathname for tcl
||specify a pathname for tk
||specify a pathname for GSM
||specify a pathname for AudioFile
If you run into problems with configure, you should edit configure.in
instead of configure and use
to generate a new configure from configure.in. If you need to make
such changes, please send them to us so future versions of vat
will configure out of the box.
- Run make.
- If make completes successfully, run `make install' as root
to install the binary and man page.
If you do a port to a new system or hardware and would like
to feed your changes back into the distribution, we would be
delighted to have them. If you have a vat binary you would like added
the the distribution, or if you would like us to add a link to
this page, please let us know.
Building Vat under Windows
We use Microsoft's Visual C++ 4.x to compile vat under Windows.
Our build environment is essentially the same as that in the Tcl/Tk release.
There's a makefile.vc in the source distribution
and you can simply run nmake from a dos shell:
You might have to fix up the tcl, tk and gsm paths in makefile.vc (the
makefile assumes these are all in ".." relative to the vat src
directory and that they've all been built before you build vat).
If you want to build vat from the workshop, follow the
directions in the
tk windows faq for using makefile.vc to create
a makefile project.
Funding for this work was provided by the
Office of Energy Research, Mathematical, Information, and Computational
Sciences Division, of the U.S. Department of Energy under
Contract No. DE-AC03-76SF00098.
Equipment grants and support were provided by Sun Microsystems,
Digital Equipment Corporation, and Silicon Graphics Inc.
As always, we very much want to hear about bugs and problems. Please
don't hesitate to offer suggestions or other feedback. Send all vat
related correspondence to firstname.lastname@example.org
(this list includes only the developers and is not distributed beyond
Van Jacobson (email@example.com)
Steven McCanne (firstname.lastname@example.org)