Voice over IP Intercom

Author: Andre Adrian
Version: 20apr2008

Introduction

This directory is about VoIP telephone conference with speaker phones (hands free telephones). The application is an intercom - a telephone that has only short-dial buttons. See file CHANGES for the actual set of features.

faq_ec.txt Frequently asked questions
draft-conference-01.txt Paper that explains the algorithm
CHANGES Version History
intercom-0.4.1-1.i386.rpm Latest Linux (SuSE 9.1) executeables RPM
intercom-0-4.1.tgz Latest Sources
intercom_user-guide_01.pdf User Guide for intercom
echounterdruck.pdf German article about AEC in intercom

The application can:
Intercom is still very limited. But the things it can do, it does very well!

Installation

To play with intercom, you should download intercom-0.4.1-1.i386.rpm now. Extract the RPM as superuser (root) with the command:

rpm -Uvh intercom-0.4.1-1.i386.rpm

To start the application enter as normal user:

intercom

If this is the first start of intercom you get a message to edit file ~/.intercom.conf for your short-dial labels and your IP-addresses. Please do so and start intercom again.

Read intercom_user-guide_01.pdf on this webpage and the shell script /usr/local/bin/intercom to get an idea of what is going on. For better echo cancellation start intercom with the -m or -l option.

For a first test talk to yourself by clicking the button for your own IP-address, e.g. EDDF TEC2 if your computer is 192.168.1.2. The button should become green.
Note: A short click (less then 300ms) toggles on/off, a long click works as push-to-talk.

ATTENTION: The intercom application needs PCM out for playback. This hardware device is used also by other sound programs like MP3 players (e.g. xmms) or WAV record/playback programs like sweep and audacity. The intercom application blocks (freezes) as long as another program uses PCM out. There are ways around this like using ALSA with dmix plugin or esound. But this is not implemented.

If you dial another intercom station, you have a one-way connection from your microphone to the loudspeaker of your intercom partner. If your partner clicks on the proper button (the magenta one), both of you have a two-way communication. Now you or your partner can dial more intercom stations to make a conference with maximum 6 stations.
Note: Start intercom with the -t option to get "everybody can talk and listen with everybody else".

Read the file draft-conference-01.txt for more information on telephone conference.

Read the file draft-aec-03.txt for more information about acoustic echo cancellation.

Supported royalty free Codecs:

For Codec License see ITU-T G.191, IETF RFC3951 or www.speex.org

Narrowband (8kHz sample frequency):
Name
Bandwidth
License
IETF iLBC 15.2kBit/s Global IP Sound iLBC Public License
ITU-T G.711 A-law 64kBit/s ITU-T SOFTWARE TOOLS' GENERAL PUBLIC LICENSE
ITU-T G.711 u-law 64kBit/s ITU-T SOFTWARE TOOLS' GENERAL PUBLIC LICENSE
ITU-T G.726 32kBit/s ITU-T SOFTWARE TOOLS' GENERAL PUBLIC LICENSE
3GPP GSM 13.2kBit/s ITU-T SOFTWARE TOOLS' GENERAL PUBLIC LICENSE

Wideband (16kHz sample frequency):
Name
Bandwidth
License
Speex 27.8kBit/s Xiph Licence (BSD like Licence)

Contact

Author: Andre Adrian
E-Mail: Andre dot Adrian at dfs dot de
Postal: DFS Tower Frankfurt
Mr. Andre Adrian
Flughafen Gebaeude 501
60549 Frankfurt, Germany