NEVOT - A network voice terminal (BETA Release 3.16) Henning Schulzrinne GMD Fokus Berlin, Germany November 19, 1994 1 Description The network voice terminal (NeVoT) allows audio-capable workstations to participate in audio conferences across local and wide area networks. Platform-dependent distributions are marked with one of the following strings: sun4 SPARCstation running SunOS 4.1.3 sun5 SPARCstation running SunOS 5.3 (Solaris) hp Hewlett-Packard 9000 running HP-UX sgi SGI running Irix 5.2 alpha DEC Alpha running OSF 1.0 dec DECstation running Ultrix ibm IBM workstations running AIX linux Intel i386 running Linux The distribution is available from: o ftp://gaia.cs.umass.edu/pub/hgschulz/nevot o ftp://ftp.fokus.gmd.de/pub/minos/nevot The files that you need depend on your choice of installation method. The architecture suffix is indicated by ARCH. Binary, statically-linked executables: This requires the least work, with the trade-off of large executables. You only need the nevot-3.16-ARCH-static.tar.gz file. Binary, dynamically-linked executables: This requires that you move the dynamic loaded libraries to an appropriate directories. Both these libraries and the executables are contained in the package nevot-3.16-ARCH.tar.gz. Compile NeVoT: This assumes that you have working versions (either static or dynamically loadable) of the Tcl, TclX, Tk, Tcl-DP, BLT and GSM libraries on your system. You only need the nevot-3.16.tar.gz file containing the NeVoT sources. Compile NeVoT, use precompiled static libraries: In addition to nevot- 3.16.tar.gz, you need the static libraries (tcl, tk, tcl-DP, BLT, gsm, 1 tksolo) contained in lib-ARCH.tar.gz. Compile NeVoT, use precompiled loadable libraries: In addition to the NeVoT sources in nevot-3.16.tar.gz, you need the static libraries in lib-ARCH.tar.gz and the loadable libraries contained in nevot-3.16- ARCH.tar.gz. The linker will automatically prefer the loadable (dynamic) versions of a library, where available. Create your own application using NeVoT libraries: The necessary static li- braries and header files are contained in nl-3.16-ARCH.tar.gz. Features: o platforms: -- Sun SPARCstation * SunOS 4.1.x * Solaris 2.x -- Silicon Graphics 4D/30 and 4D/35 (Indigo) and Indy * Irix 4.0.5 * Irix 5.1 o audio protocols: -- vat audio packet format -- real-time transport protocol (RTP), July 1994 draft o transport protocols: -- unicast UDP -- multicast UDP o operation as gateway or end system o compatible with vat session protocol o Tk user interface 2 o control through Tcl language: -- initialization file -- command line arguments -- interactive o several independent concurrent conferences, each with different encoding and compression o DES-based voice encryption o current audio encodings supported: -- 16 bit linear encoding, with all hardware-supported sample rates (SPARCstation 10 and SGI) -- 64 kb/s -law PCM (CCITT G.711) -- 32 kb/s ADPCM (CCITT G.721) (SPARCstation) -- 32 kb/s Intel/DVI ADPCM -- 24 kb/s ADPCM (CCITT G.723) (SPARCstation) -- 13 kb/s GSM 06.10 -- 4.8 kb/s LPC (linear-predictive coding) with setable vocoder interval o mono or stereo o mike-mutes-net or net-mutes-mike modes o each site can use different audio encodings o playback and recording of audio files (.au and AIFF/AIFC formats), with encoding translation o arbitrary voice packet length, which may differ for each site o lost packet substitution o setable audio buffer occupancy o configurable adjustment mechanisms for playout delay, VU meter, silence detector and automatic gain control o redefinable session identifier string with variable substitution 3 o on-line statistics with selectable graphing A separate Tcl/Tk application, Tkaudio(1), allows to change the audio input and output ports and the volume settings. If you experience difficulties, check the ``Common Problems'' section in the ``Guide to Using Nevot''(2). 2 Copyright Copyright 1993-1994 by AT&T Bell Laboratories and GMD (Gesellschaft f"ur Mathematik und Datenverarbeitung); all rights reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that the copyright notice and warranty disclaimer appear in supporting documentation, and that the names of AT&T Bell Laboratories and GMD or any of their entities not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. AT&T and GMD disclaim all warranties with regard to this software, including all implied warranties of merchantability and fitness. In no event shall AT&T or GMD be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortuous action, arising out of or in connection with the use or performance of this software. 3 Acknowledgements This work was supported in part by the the Defense Advanced Research Projects Agency under contract NAG2-578 while the author was at the University of Massachusetts. The support of advisors Jim Kurose and Don Towsley is acknowledged. The DES encryption module was developed by Steve Kent and John Linn of BBN Communications Corporation, Cambridge, MA and provided by Karen Seo of BBN. The audio library incorporating G.721 and G.723 audio compression was provided by Daniel Steinberg of Sun Microsystems. It may at some point be integrated into the regular Sun OS. The Intel/DVI ADPCM codec was slightly modified from sources by Jack Kansen (CWI) and is copyrighted 1992 by Stichting Mathematisch Centrum, Amsterdam, The Netherlands (used by permission). The HP audio interface is based on suggestions by J"urgen Nickelsen, TU Berlin. Ron Frederick (frederic@parc.xerox.com) or Xerox PARC, Palo Alto, CA, contributed the LPC codec which is based on an implementation done by Ron Zuckerman (ronzu@isu.comm.mot.com) of Motorola which was posted to the Usenet group comp.dsp on June 26, 1992. The GSM codec was developed by Jutta Degener (jutta@cs.tu-berlin.de), Technische Universit"at Berlin, and Carsten Bormann (cabo@informatik.uni-bremen.de), University of Bremen. The ST-II API and kernel support was developed by Charlie Lynn at BBN (clynn@bbn.com). The ST-II API (st2_api.h) is copyrighted (c) 1991 by BBN ------------------------------ 1. ../tkaudio.html 2. ../doc/nevot.html 4 Systems and Technologies, a division of Bolt Beranek and Newman, Inc. and used by permission. The UDP multicast kernel support was written by Steve Deering, Xerox Parc. Charlie Lynn (BBN) was helpful with some of the fine points of the ST-II API used in earlier versions of NeVoT. The Tcl interpreter and Tk X11 toolkit were developed by John Osterhout, University of California at Berkeley. The sources are copyright University of California and used by permission. The BLT extensions were written by George Howlett, AT&T Bell Laboratories. Tcl-DP was developed by Brian C. Smith, Department of Computer Science, Cornell University and Lawrence A. Rowe, Computer Science Division-EECS, University of California at Berkeley. The Extended Tcl library is designed and implemented by Karl Lehenbauer (karl@NeoSoft.com) and Mark Diekhans (markd@Grizzly.com), with help in the early stages from Peter da Silva (peter@NeoSoft.com). The TkFScale command was created by Paul Mackerras and enhanced by the author. All are used by permission. Advice on porting NeVoT to the Silicon Graphics platform and numerous bug fixes were provided by Andrew Cherenson (SGI). Michael Halle (MIT) figured out how to get Xview applications to display fonts at the design sizes. The VU meter is based on discussions with Gints Klimanis (Silicon Graphics). The necessary changes to port NeVoT to the Solaris 2.0 operating system were suggested by Bob Gilligan (Sun Microsystems). Helpful debugging information was provided by Andrew Cherenson, Regina Rosales (BBN), Anders Klements (Swedish Institute of Computer Science), Barbary Denny (SRI), John Lockwood (AT&T and University of Illinois), and Alon Kleinman (Ubique). The audio mixing (mix.c) and checksum code (checksum.c) was taken from the ISI voice terminal (VT), copyright June 1991 by the University of Southern California, by permission. The silence detector and the ST-II code are modified versions of the respective parts of VT. The vat session and audio protocol were implemented based on descriptions provided by Van Jacobson. The statistics panel is structured similarly to that in vat. The I/O flags interpreter (flags.c) is a modified version of software contributed to Berkeley by Chris Torek. Copyright (c) 1990 by the Regents of the University of California; used by permission. 5