CCF Collaborative Computing Frameworks Emory University Atlanta, GA, USA May 1998 Today is the first release of CCFaudio, our multi-party internet audio conferencing application for Solaris/sparc, SGI, and Linux/Intel. Read about it and get some screenshots at: http://ccf.mathcs.emory.edu/ccf/Readmes/ccfaudio.html Download it in source or binary from: http://ccf.mathcs.emory.edu/ccf/software.html What make CCFaudio any different from any other internet phone? 1) Multiparty -- CCFaudio support more than two users. Any number can join a conference (though we haven't tested with more than 10). 2) Mixing -- when two or more people speak CCFaudio mixes the voices intelligibly. The number that can be mixes depends only on the speed of your CPU. A 486-50 has no trouble mixing two voices. Any Pentium should have no trouble with three simultaneous speakers. 3) Threading -- The gui runs in a separate thread, so fiddling with the controls does not interrupt the sound stream. 4) No MBONE needed -- Every other conferencing tool we've seen uses the MBONE for it's multicast, which is bad news if you aren't on the mbone. CCFaudio does its own networking in a very efficient way. One udp broadcast per LAN in a session followed by multicast on each LAN. 5) Ease of use -- All you need to know to join a conference is the name of the session and the name (or address) of the machine 1 person is on. If someone on your LAN is in the conference you only need the name of the session. 6) CCFringer-- For even greater ease of use we provide CCFringer, a small address book, conference creator, inviter and receiver program to automatically invite people into a conference. 6) High fidelity -- CCFaudio has many user adjustable settings to control sound quality. Compression, redundancy, silence detection, input/output volume and more are easily controlled with a point and click gui interface. (There is even a -nogui switch for those without X windows.) We find that even under bad network conditions CCFaudio is intelligible with up to 30% packet loss if you turn on redundancy. 7) Source availability -- Teach yourself how to build an internet phone :) Here is the README file from the distribution: FILE: CCF/README.1st CCF Collaborative Computing Frameworks Emory University Atlanta, GA, USA May 1998 CCFaudio is the audio conferencing component of CCF, a software system that supports collaborative, distributed, computer-based problem solving in the natural sciences, business, government, and in educational environments. The goal of CCF is to evolve a virtual environment for distributed computation that supports integrated human AV communication, high performance heterogeneous computing and distributed data management facilities. CCF is a research project at Emory University involving the Math/Computer Science and Chemistry departments. INSTALLATION: 1) Retrieve the latest source distribution via anonymous ftp or the Web. ftp.mathcs.emory.edu pub/ccf http://ccf.mathcs.emory.edu/ccf/software.html CCF is distributed as a compressed (GZIP) tar file (e.g. CCF-0.99.tar.gz) that unpacks as a single source tree (./CCF) containing C and C++ source files and makefiles. The top-level Makefile creates architecture specific bin and lib subdirectories (e.g. bin/SunOS-5.6 and lib/IRIX-6.2). Binary distributions are available such as: ccfaudio-bin-980528.tar.gz You may wish to try installing the binaries before attempting a source build. Occasionally the binaries fail to execute properly due to version inconsistencies with dynamically linked libraries. 2) Unpack the distribution using the GNU gtar utility: gtar xzvf ccfaudio-src-980528.tar.gz (gtar is available at ftp://prep.ai.mit.edu/pub/gnu.) or if gtar is not available: gzip -dc ccfaudio-src-980528.tar.gz | tar xvf - (gzip is available at ftp://prep.ai.mit.edu/pub/gnu.) The latest distribution file is about 1M compressed, unpacks to 4M and expands to about 45M after compiling. This can be trimmed to about 35M by running "make clean" after building to remove .o files. This will create the following files and directories: CCF CCF/CCFaudio (Audio tool) CCF/CCFgui (Gui library) CCF/COPYING CCF/COPYING-LIB CCF/README.1st CCF/README.Linux CCF/Quickstart CCF/bin (initially empty) CCF/doc (README files and other documentation) CCF/include CCF/lib (initially empty) 3) Build CCF for the current architecture: To build CCF, cd into the top-level directory and run make: make all CCF builds with standard Solaris, IRIX and GNU versions of make. This will create libraries and binaries for the current architecture. Building CCF requires access to the ANSI C and C++ compilers and utilities from the standard IRIX and Solaris development environments. Solaris: WorkShop 4.2 IRIX: MIPSpro 7.2 Building CCFringer additionally requires xforms and libXpm xforms (http://bragg.phys.uwm.edu:80/xforms) libXpm (get this at any sunsite mirror) Note that the makefiles contain compiler specific flags. The current distribution will NOT make properly in Solaris or IRIX with gcc and g++ without some modifications. If your X11 lib and include files are in non-standard locations you will need to modify the CCF makefiles to specify the new locations. The normal build process may generate makefile errors that are ignored (e.g. attempts to build directories that already exist) and a few compiler warnings. To restart a build after a failure: make all To remove intermediate files produced by the failed build make clean If you have difficulties, you may be able to build some subsystems properly by using the "-k" option to make. 4) If you wish to build for another architecture in the same source tree, access the source from a machine of the appropriate type and run make: make clean all If you do not clean before making, the build will fail trying to link .o files of the incorrect architecture from the previous build. EXECUTION: Running CCFaudio is simple: ccfaudio -session [remote-host] so 'ccfaudio -session foo' starts a new conference called foo and 'ccfaudio -session bar www.whitehouse.gov' joins the conference called bar running at the machine www.whitehouse.gov. See the file README.audio for more information. To run CCFringer, just execute 'ccfringer' with no arguments. Click on the resulting icon to launch a new session or answer a call. See the file README.ringer for more information. REPORTING BUGS/KUDOS: When reporting bugs, problems, suggestions or contributions, please to send them to the ccf@mathcs.emory.edu. DISCLAIMER: This is alpha release 0.99 of CCF -- Collaborative Computing Frameworks. This software is provided as is with no warranty expressed or implied. We hope you find it useful, but we won't be held responsible for any damage that may occur from reading, compiling, installing, using, or even thinking about it. LICENSE: CCF is Copyright (C) 1996 by Emory University except for the code in directories GSM, LPC, LPC10 in the CCFaudio directory and is distributed under the terms of GNU General Public License (GPL) and the GNU Library General Public License (LPGL). The files COPYING and COPYING.LIB in each directory will tell exact licensing restrictions. This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the license, or (at your option) any later version. CREDITS: CCF was created by Vaidy Sunderam, Injong Rhee, Alan Krantz, Shun Yan Cheung, Julie Sult, Soeren Olesen, Paul Gray, Phil Hutto, Sarah Chodrow, Michael Hirsch, Ted Goddard, Mic Grigni, N. Balaguru, Jim Nettles, Luigi Marzilli, Sue Onuschak, Scott Childs, Kevin Williams. The CCF project is sponsored by the U.S. National Science Foundation under the multidisciplinary challenges initiative. CCF currently supports three platforms: IRIX-6.2, SunOS-5.6, and SunOS-5.5.1. The SunOS-5.6 version is the most thoroughly tested. -- Michael D, Hirsch Work: (404) 727-4969 Emory University, Atlanta, GA 30322 FAX: (404) 727-5611 email: hirsch@mathcs.emory.edu http://www.mathcs.emory.edu/~hirsch/ Public key for encrypted mail available upon request (or finger hirsch@cssun.mathcs.emory.edu).