
"Voice over IP" Version 0.0.3 (July 27, 2004)

Copyright (c) 2004, Frank Siebler. All rights reserved. Use at your own risk.

The included files are first steps towards a peer-to-peer voice-communication program.

At present the program connects to either itself:

- option "Local Client": locally simulate calling a remote computer;
- option "Local Server": locally simulate being called by a remote computer;

or to a user-selected IP address:

- option "IP address below": try and call a remote computer;

where the remote IP address is taken from the provided SysIP32 control.

The two simulation-modes simply play back to you what you have said a fraction of seconds before. The third mode, if established successfully, permits an actual conversation with a remote person (but see below).

Voice-data are sampled from the microphone in 16-bit, 8 kHz, PCM format. Before sending them over the network, the program encodes the voice-data into GSM 6.10 format. Received data are decoded from GSM format into PCM format before they go to the speaker. Thus, the program consumes a bandwith of 1650 bytes per second for sending data, and the same amount in addition for receiving data.

The program features a "silence-suppression" function, but that one does not yet work too well. Basically, the function prevents the program from sending any data when it thinks that you are not talking. If the function "triggers", it sounds like having lost the connection. Don't worry, just keep on talking.

For the "Delay" option: pull the slider more to the right if you hear a "machine-gun-like" voice.

My computer has Win2000 and is on a university link to the Internet. I regularly use the program with a friend who is on Win98 SE, uses AOL, and has a 28,800 modem. Basically, it works. The biggest problem is that we get an awful echo of both speakers' voices a couple of seconds after talking. At the moment I assume that most of the echo is due to the (cheap) microphones and speakers that we use. Some future version of the program should definitely include an echo filter.

Another problem is that the friend's IP address changes with each dial-in, so I cannot initiate the contact. My IP address, in contrast, is static, so it's no problem for the friend to call me. In the long run, I will need to provide an automatic means of telling each other one's current (dynamic) IP-address. But first I'll improve the silence-detection and implement an echo-filter ...

The executable requires Windows 95 or later, with Internet Explorer 4 or later. The source code is for FASM 1.53 or later.

You can contact me by email: frank.siebler@uni-bielefeld.de, or: siebler@gmx.net.
