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 <sessionname> [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 c...@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: hir...@mathcs.emory.edu http://www.mathcs.emory.edu/~hirsch/
Public key for encrypted mail available upon request (or finger
hir...@cssun.mathcs.emory.edu).