
TuxCall
Call waiting detector for Linux

1 What's this?

This program detects voice calls and hangs up the connection, allowing 
to answer phone. It receives sound from audio card, and because of this you 
must connect modem's speaker output to card's line input.

If your modem doesn't have speaker output there are other possible
alternatives (not tested by me). e.g. You can connect a cable directly to the
speaker... Take a look at http://members.es.tripod.de/olcall/inst_enu.html,
olcall's web page, a program for Windows (method 2). I'm not responsible of
what happens to your modem or sound card, I haven't tested this, and if this
works for you please send me how you did it.

Remember that this program is beta, and is distributed without warranty...
It can blow your audio card, your computer, even your head... test it under
your responsibility.

2 How do I install this?

"configure", "make", & "make install" to copy programs "tuxcall" & "xtuxcall" 
on /usr/local/bin.

If you only want to install "tuxcall" execute "configure" with parameter "--disable-xtuxcall".

In directory doc/ you can find "tuxcallrc" a sample config file. You can
copy it as /etc/tuxcallrc for system wide config or as $HOME/.tuxcallrc for
per user config.

Right now there are these configurable options on tuxcall:
        
        * comando: When TuxCall detects a call executes this command for
          ending ppp connection. Usually is "killall -9 pppd" but on some
          winmodems (like mine), you should unload some kernel modules,
          i.e. "killall -9 pppd; hsfstop".
          
        * frecuencia: Call waiting tone frequency (Hertz).

        * dispositivo: Audio input device, usually /dev/dsp but when using
          devfs it should be /dev/audio/dsp.

        * modo: Telephonic mode. Can have values EU (European) or USA (American)
          On european system call waiting tones consist of 2 beeps, on american
          is only 1 beep.

        * limitmult: This value especifies the multiplier used to identify what 
          is a call waiting tone. If you are experiencing false detections use a
          higher number. A safe bet would be numbers between 3.0 and 4.0, but 
          your mileage may vary.


Xtuxcall is configured from the GUI, and stores its values on $HOME/.xtuxcallrc.

3 How does it work?

Execute program as root (or user who launched pppd) once you're connected and
it will begin to show data on screen. If you have call waiting activated on
your phone line program will detect its tones and hang up your modem.
Then you should hear rings on your phone and answer the call.

If program works and you don't want to see all these data on screen you
can exec configure like this:

configure --disable-debug

Then "make" and "make install", and they're gone.

XTuxCall works like TuxCall, but using a GTK interface for drawing a graph 
representing sound received. It draws normal values in blue and incoming call 
tones in red.

This graph auto-adjust its Y axis scale depending on the sound input values and
draws a number showing maximum value represented.

This means that don't worry if ALL the values of the graph are growing, just
use the drawn number as reference. Remember that graph is auto-adjusting on 
Y axis...

4 It doesn't work!...

Remember that program must receive modem's sound...

Make sure that modem's speaker is active and with the highest volume.
For this you should use modem's command ATM2. If you connect using scripts,
you must put this on your chat script. See mine:

ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT
'NO DIAL TONE' ABORT 'NO ANSWER'

# modeminit
'' AT&F
'OK' ATW1
'OK' ATM2
'OK' ATDT999999999
CONNECT \d\c

If you're using some programs like kppp you should set speaker's volume at 
maximum from the program and make sure that command associated with that
volume is M2 (without AT, but this is on kppp... I don't know how other
programs behave...).

Sound card must record sound received from the modem. For this select as
recording input the one where you connected modem's output (I use line in).
You can use some program like aumix, or under KDE or GNOME you should have
something similar installed.

Program works for me, but it doesn't mean that it's going to work on every
computer/modem/phone company. If it doesn't work after all, use the email Luke:

Some data I would like to know.

* Modem's model (internal, external).
* How do you connected modem to soundcard.
* Phone company (and country).
* Some linux info (distro, kernel, gcc, libc...)

5 It works!...

If TuxCall works without any problem, and you want to send me some 500 euro 
notes, I won't stop you :).

Well... I think that with an email telling it works fine or some ideas for new
versions I will be content.

6 Distribution

This program is distributed under GPL license, if you have questions about
that read COPYING or visit http://www.gnu.org/licenses/gpl-faq.html.

ngel Luis Jimnez Martnez

e-mail: inspector_chan@ono.com
homepage: http://tuxcall.sourceforge.net
