RealVoice: A Real-Time Voice Networking Protocol
and Product
Boris Kerbikov, Timothy Milliron, and Philip Nikolov
COS461 Final Project, Fall, 1997-98
How to Compile and Run
To compile RealVoice, on an SGI Indigo2, type the command:
% make
RealVoice can be run in two modes, one which accepts connections, and one which attempts to make one. To run RealVoice to accept connections, type the command:
% RV
To run RealVoice to attempt to make a connection, type the command:
% RV USER_NAME MACHINE_NAME
Where USER_NAME is the name of the user you wish to connect to, and MACHINE_NAME is the machine you wish to connect to.
NOTE: REALVOICE MAKES USE OF SILICON GRAPHICS SOUND INPUT AND OUTPUT LIBRARIES. YOU SHOULD BE ON A WORKSTATION WITH SPEAKERS (OR HEADPHONES) AND A MICROPHONE.
ALSO NOTE: A BINARY VERSION OF REALVOICE HAS BEEN INCLUDED IN CASE THE ABOVE MAKE COMMAND DOESN'T WORK ON A SPECIFIC SYSTEM. THE EXECUTABLE IS GZIP COMPRESSED. THE FILE IS RV.GZ. ONCE UNZIPPED, THIS SHOULD RUN ON ANY MODERN SGI SYSTEM.
Overview
RealVoice is a network protocol that provides for real-time
transmission of voice data across the internet between two peers.
Essentially, then, RealVoice creates telephone-call semantics for voice
conversations over the net.As a high-level protocol, RealVoice includes
different levels of protocol definition.
RealVoice also refers to the application RV, which participates in the protocol defined by RealVoice, and also provides the basic functionality of playing and receiving sound data. The RealVoice sound input and sound output classes are designed to provide a system-independent interface to system-dependent routines and system calls, and are implemented on SGI systems (writeup by Boris Kerbikov)
Platforms
The RealVoice protocol layers, and the RV application that receives and
plays the sound data, are all implemented on the Silicon Graphics IRIX
platform. Network and Sound input and output classes are designed to be
easy to port to other systems, though no such port was made.
Work Distribution