The kISDN telephone
kISDN's (v0.7) most
thrilling feature is its built in telephone. It is the first - at least
as far as we know - that you can make telephone calls with your Linux
computer using a GUI program. This new feature is quite demanding when
it comes to hard and software requirements, you will read more about
it in the next chapter. We are planning on separating the telephone
from kisdn in the same way it happened to kcmkisdn. kISDN
will then be a package or individual components, which will all rely
on one configuration.
Before you can enjoy a tool that was
previously exclusively available to users of alternative operating systems
(you probably know what I mean), you will have to do some extra preparations.
The central keyword to telephony is fullduplex; what does that
mean? A telephone conversation is (usually) a dialogue, meaning that
the communication is bidirectional: I can hear him(her) and he(she)
can hear me. The other party can hear me, because my voice is translated
into electric impulses by the microphone, which are again turned into
digital format by my soundcard, from where it will then be send to the
other party over the ISDN connection. This is also why I can hear the
other side: I receive digital information from the ISDN connection,
which are in turn turned into analog data and made audible through my
speakers/stereo. To be able to hear and speak at the same time,
both soundcard and driver must be able to transport audio data in two
directions. Cards and drivers that can only transport audio in one direction
at a time are called halfduplex devices, those capable of operating
in two directions are called fullduplex devices.
Obviously it makes little sense to use halfduplex hard and/or
software for telephony, thus you must find out about your hard/softwares
capabilities.
Hardware (Soundcards)
Unfortunately we have very little information
about fullduplex capabilities of the different soundcards available.
On thing we can say for sure, though: The Soundblaster 16 and all of
its successors (AWE32/AWE64/AWE64Gold) are fullduplex
devices.
Software (drivers)
The most common problem arises from
the standard Linux sound driver (OSS/Free) which is not fullduplex
capable :-( There are said to be patches which add fullduplex
capability, but you will probably be happier with one of the following
alternatives:
- The commercial version of OSS/Linux
(Open Sound System, current version 3.9.1g), available against a fee
of $20. Get it at 4Front-Tech
- The ALSA-Treiber (Advanced Linux Sound
Architecture), wich is currently under development and licensed under
the terms of the GPL (free); it is available at http://alsa.jcu.cz
We tested kISDN with
both drivers and found both to be good, but the installation of the ALSA
driver turned out to be slightly more complicated than that of the OSS/Linux
drivers.
If you successfuly installed your new drivers, you can easily verify their
fullduplex capability by typing:
cat /dev/sndstat
You will find usually find a hint at
it:
Audio devices: |
0: SoundBlaster PnP (4.16) (DUPLEX) |
1: SB secondary device (DUPLEX) |
You should also test if other sound applications work correctly with
the driver to disclude potential error sources.
Please start the dialer (kisdn)
and open the main window (if kisdn was docked). Have a look at
the two LEDs below the telephone button:
If the green LED is lit (like in the
image above), your audio system is set up correctly - if the red one
is lit, there is an error somewhere; kISDN usually displays a
message box describing the problem on startup.
As long as the red LED is lit, kISDN telephony is disabled. The
monitoring of incoming calls still works, but you cannot accept them.
If the green LED is lit you are most likely ready to go :-).
Please open the telephone dialogue by
pressing the button mentioned above; you should now see the following
window:
Enter the MSN of your regular phone;
this can be done either with the mouse or with the keyboard. Go ahead
and click the 'Dial' button,
(don't forget to activate both speakers
and microphone) and go to your phone: it rings. Calling yourself is
usually quite difficult, so go ahead and press the 'Hangup' button.
Your phone should mute. Press space
to clear the number in the display and enter the number of some info
service or that of a (good) friend (you can never know what happens
to kISDN on your first call, thus it's probably not a good idea
to call your boss ;-). Again, all you have to do the 'Dial' button;
you should not have any problems, but who knows ...
Have a look at the telephones different
items. This is the telephone display, for example:
The upper line shows the other party's
phone number, below you will either see a name, if kISDN knows
the number (it must be entered in the phonebook) or 'unknown'. The third
line shows the ISDN line's status, in the case above it's 'Idle', meaning
that we are neither connected nor are we being called.
Possible values are:
- Idle
- The line is not being used (neither
incoming nor outgoing).
- Incoming call
- A call is coming in; You can accept
it by pressing the 'Dial' button.
- Outgoing call
- You have entered a number and pressed
the 'Dial' button, a connection has not yet been established (the
other party did not answer yet)
- Connected (on)/(off)
- We are connected; '(on)' or '(off)'
indicate whether we have to pay for the connection.
- Mute (on)/(off)
- Indicates if the connection was set
to 'mute'; Caution: '(on)' and '(off)' concern the state of the muting
function!
- Failure (off)
- You tried to make a call, but a connection
could not be made (e.g. you tried to call your own MSN).
- Hungup (We)/(He)
- Will be displayed for a couple of
seconds after a connection was terminated, '(We)' indicated that we
hung up, '(He)' on the other hand tells up that the phone was hung
up on us ;-(.
To the right of the line state
indicator is a small clock that tells us something about the call's duration
(which can be very helpful !).
Below the display you can see different buttons that do the following
:
 |
The currently displayed number is called, if no number
is displayed and a call comes in, you can accept it using this button. |
 |
The connection is terminated or a dial attempt is canceled. |
 |
Turns the answering machine on or off (new in kISDN 0.8). |
 |
Opens the phonebook that you can use to choose a number you want
to call. |
 |
Opens the caller's list; all incoming calls are listed with date
and time. |
The telephone 'keyboard' also contains
some function keys:
 |
Deletes the rightmost digit on the display - equivalent
to pressing the [BackSpace] key on your keyboard. |
 |
Deletest the entire number currently displayed - equivalent
to pressing [Space] on your keyboard. |
 |
Call repitition. The number that was called last is
shown on the display; a click on the 'Dial' button redials that
number. |
 |
Muting. Pressing this button will mute the connection in both
directions, the display will show 'Mute'. Repressing the button
will exit muting mode, the display will show 'Connected'. |
There's a little built in gimmick: If
you enter the first digits of a phonenumber and kISDN can find
an exact match, it can be completed by pressing the [<] key.
Quit often, you will notice during a connection, that the other party
can barely be heard; likewise, he(she) might complain that you are too
loud. Since you speak freely, this can be hardly avoided. Also, if your
speakers are set too loud, the other party might hear itself (or - in
the worst case - a terrible whisle - acustic feedback). kISDN
allows setting your microphones sensitivity and the speakers volume
to remove the need for a mixer:
Moving the slider all the way to the left mutes the speakers/microphone,
moving it all the way to the right sets it/them to maximum. The use
of headsets greatly reduces the problems mentioned above, but high quality
headsets are rather expensive.
Last but not least there's the recorder,
which is not yet implemented in version 0.7. It will allow recording
entire conversations or parts; we have extensive plans, when the future
of kISDN is concerned (caller-sensitive answering machine, least
cost routing, videotelephone etc...).
Depending on the dialogues open and
their state, incoming calls are handeled differently.
- If the phone dialogue is closed or
kISDN docked, a small message box pops up:
Now you may either ignore the call
(Caution: you won't be able to change your mind, even though the
call is still waiting, as can be noticed by a lit yellow LED!) or
accept it. Given the latter case, the phone dialogue is opened and
caller, line state and duration are displayed.
- If the phone dialogue is open and
you were just entering a number (the phonenumber display is not
empty), again a message box pops up (if it didn't, all digits entered
so far would be deleted, no matter if you want to answer the incoming
call or not). The rest of the process is as previously described.
- If the phone dialogue is open, but
the display is still empty (you did not start entering a phone number),
then kISDN prints all information directly into the display.
You may then accept the call by pressing the 'Dial' button.
Back to the overview
T. Westheider, Ch. Zander / January
8 1999 - kISDN Release 0.8.0