IHU Manual Page

Version: 0.6.0


1. Introduction

Welcome to I Hear U (IHU), a Voice over IP (VoIP) application for Linux, that creates an audio stream between two computers easily and with the minimal traffic on the network.

The main features are:
The possibilities of use of IHU are endless, for example you can use it like a phone to talk with your friends all around the world, or at home/work to talk between computers in the LAN (talkback), etc.

1.1 Some important notes before starting...

First of all make sure you have the latest version of IHU (http://ihu.sourceforge.net). Follow the instructions contained in README and INSTALL files to compile the sources (you'll need the QT libraries, the ALSA sound driver, the Speex codec, the Soundtouch library, and the Ogg library). Anyway the automatic configure script will tell you what is missing.
If you want to transmit your voice/audio, then you need a microphone linked to your computer (but it's not necessary to use IHU) and, finally, you need a person to talk with, who has a computer linked to you (through the Internet or LAN) and IHU installed as well (unfortunately IHU it's not so useful alone on your computer, even if I spent hours talking to myself for tests ;-). Finally, I suggest to use headphones, to prevent feedback.
IHU's way to work is similar to a telephone: there is somebody who is waiting for phone calls, and somebody who wants to call this person. In the next paragraphs, the computer that will make the call will be named Caller and the computer that will receive the call will be named Receiver.

Now the next two steps are external to IHU and are necessary before continuing: setting up the network and the audio system.

1.1.1 Network settings

You need to know how your network is organized (is there any firewall between you and your IHU partner?). The most important thing is:

If you want to receive calls, then your computer must be able to receive incoming connections.

Those situations are possible:
  1. If both computers are accessible from each other's IP address, no problem, both can receive and make calls.
  2. If one computer (or both) computers are behind firewall but you could change the rules as described abow, still no problem.
  3. If one computer is behind firewall and you can't change rules, then on this computer you can't receive calls, but you can still make calls.
  4. If both computers are behind firewalls and it is not possible to change any rules (it seems that you are very unlucky!), then you have no chances to talk to your friend :-(
Tip: You can easily test if everything is fine using the netcat program: Receiver runs "nc -l -p 1793" (or for UDP "nc -u -l -p 1793"), and Caller runs "nc RECEIVER_IP_ADDRESS 1793" (or for UDP "nc -u RECEIVER_IP_ADDRESS 1793"). If you can see what your partner is typing (and viceversa), then IHU won't have any kind of problems.

1.1.2 Audio Settings

Then you need to set up the audio mixer, selecting the audio source and the optimal volumes. To do this you can open any mixer program (like "kmix" for KDE), paying attention to the recording source, that usually should be set to Microphone if you want to send your voice, and to the recording level (that for ALSA is usually named "Capture"). Also, take note of the playback volume (usually named "PCM", the one that you control also with XMMS, for example), because if it's too low, it will be hard to hear your partner.

Tip: You can easily test the audio settings directly with IHU. Click on Wait for calls button and then call yourself by typing "localhost" as receiver address and clicking the Call button. You will now hear yourself and you can check settings. But read the quick start to know how to do this if you have problems calling.

1.2 Quick start

Ok, you are ready to use IHU! Now you just need to know the address (IP or DNS) of the friends to call. Each IHU user who wants to receive calls should give his address to his IHU friends. Personally, I strongly suggest to register to a dynamic DNS service (such as dyndns), where you can register your computer with a fancy DNS address easy to remember (such as ihu.homelinux.org); then each time you go online, your IP should update and your friends can always call you with that address.
Let's suppose now that your internet address is ihu.homelinux.org and that you want the receive calls from your friends. Then, first of all, you have to run IHU and press the Wait for calls button. Your friend now will type ihu.homelinux.org in the Receiver address field and will press the Call button. Hopefully you will see an inbound call notification and sound and if you want, you can answer by clicking on the Answer button. At this point you should see the TX and RX leds flashing, and you should hear something, now you can finally cry out: "I Hear U!!!" ;-)

2. Detailed description

2.1 The main window

The main window (see screenshot) is composed by:

2.1.1 The FILE menu (Alt+F)

The FILE menu offers these simple functions:

2.1.2 The CALL menu (Alt+L)

This menu contains functions that will affect only the call in the current tab:

2.1.3 The OPTIONS menu (Alt+P)

The OPTIONS menu offers some interesting functions:

2.1.4 The HELP menu (Alt+E)

There are not so many things to say here, the only help available is what you are reading now! ;-)

2.2 The settings dialog

You can access the settings dialog from the Settings button in the main window or from the option menu (or Ctrl+S). The settings dialog allows you to change all the parameters and options of IHU, that are saved in a XML config file (default is "$HOME/.ihu.xml"). You can also save the configuration file manually, using the "Save to file" button in the dialog. The Settings dialog is organized in several tabs (please note that the default button will set the default parameters only for the current tab):

2.2.1 General settings

2.2.2 Network settings

This tab is divided into two parts. The first is about your IHU as Receiver (when you receive calls), the second is about your IHU as Caller (when you make calls):

2.2.3 Sound settings

2.2.4 Encoder settings

Here you can change the settings of your Speex encoder (so only for your outgoing stream). Those settings are very important to determine the sound quality of your voice and the use of network, so adjust them very carefully (please refer to the Speex website for more details).

2.2.5 Options settings

Here you find some settings about the Audio Delay Reduction (ADR) option:
You find also some settings about the Automatic Gain Control (AGC) option. There are two methods of AGC, you can choose to use only one of them, or you can use them together:

2.2.6 Security settings

Here you can find some settings about security and cryptography:

2.3 The file player dialog

The file player gives you the possibility to play a previously recorded IHU file (please above to know how to record a stream to file). If the stream was encrypted than it is not possible to play the file at this time, unless you know its passphrase (IHU will automatically ask you the passphrase when encountering encrypted streams).

3. Quick launch

If you are a command-line lover, you have the possibility to launch IHU with some quick launch options. Here is the list of available options (which you can get by starting with "--help"):
        ihu [OPTIONS]
        --conf  FILE    Use FILE as configuration file
        --wait          Wait for incoming calls
        --call  HOST    Call HOST (DNS or IP address)
        --file  FILE    Play a IHU FILE
        --encrypt       Encrypt the outgoing stream
        --noinput       Disable audio INPUT
        --nooutput      Disable audio OUTPUT
        --nogui         Start without GUI (no interaction)
As you can see there is one option (--nogui), which allows you to run IHU without GUI. This is useful when you don't have the possibility to use a X server or when you want to launch IHU on remote computers, but then you don't have any possibility to interact with the program. I strongly suggest to use this option only for special cases, please use the GUI instead, which offers a better interface (please note that when using --nogui you have to change settings directly from config file, the default is "$HOME/.ihu.xml").

4. Final notes

Please use the Tracker at IHU sourceforge page to report bugs, patch, support requests. For any other kind of informations, suggestions, flames (ouch!), just mail the author. Now enjoy IHU!!

Copyright (C) 2003-2008 Matteo Trotta <mtrotta@users.sourceforge.net>

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License.