Contents
Abstract
Linphone is a small Web phone application for your Linux desktop. It allows you to make two-party calls over the Internet. There is no need for special hardware items: a standard workstation with a properly configured sound card, microphone, and speakers or headphones is all you need to get started with Linphone.
Before you start using Linphone there are some basic decisions to make and some configuration tasks to complete. First, determine and configure the run mode of Linphone, determine the connection type to use, then start the Linphone configuration (+) to make the necessary adjustments.
Linphone can be run in two different different modes, depending on the type of desktop you run and on its configuration.
After the Linphone software has been installed, it can be started via the GNOME and KDE application menus or via the command line. When Linphone is not running, incoming calls cannot be received.
Linphone can be added to the GNOME panel. Right-click an empty area in the panel, select , and select Linphone. Linphone is then permanently added to the panel and automatically started on login. As long as you do not receive any incoming calls, it runs in the background. As soon as you get an incoming call, the main window opens and you can receive the call. To open the main window to call someone, just click the applet icon.
There are several different ways to make a call in Linphone. How you make a call and how you reach the other party is determined by the way you are connected to the network or the Internet.
Linphone uses the session initiation protocol (SIP) to establish a connection with a remote host. In SIP, each party is identified by a SIP URL:
sip:username@hostname
username is your login on your Linux
machine and hostname the name of the
computer you are using. If you use a SIP provider, the URL would
look like the following example:
sip:username@sipserver
username is the username chosen when
registering at a SIP server.
sipserver is the address of the SIP
server or your SIP provider. For details on the registration
procedure, refer to Section 8.1.5, “Configuring the SIP Options” and check the provider's registration documentation.
For a list of providers suitable for your purpose, check the Web
pages mentioned in Section 8.8, “For More Information”.
The URL to use is determined by the type of connection you choose. If you chose to call another party directly without any further routing by a SIP provider, you would enter a URL of the first type. If you chose to call another party via a SIP server, you would enter a URL of the second type.
If you intend to call a friend or coworker belonging to the same network, you just need the correct username and hostname to create a valid SIP URL. The same applies if this person wants to call you. As long as there is no firewall between you and the other party, no further configuration is required.
If you are connected to the Internet using a static IP
address, anyone who wants to call you just needs your username
and the hostname or IP address of your workstation to create a
valid SIP URL, as described in Section 8.1.2.1, “Calling in the Same Network”. If you
or the calling party are located behind a firewall that
filters incoming and outgoing traffic, open the SIP port
(5060) and the RTP port
(7078) on the firewall machine to enable
Linphone traffic across the firewall.
If your IP setup is not static—if you dynamically get a new IP address every time you connect to the Internet—it is impossible for any caller to create a valid SIP URL based on your username and an IP address. In these cases, either use the services offered by a SIP provider or use a DynDNS setup to make sure that an external caller gets connected to the right host machine. More information about DynDNS can be found at http://en.wikipedia.org/wiki/Dynamic_DNS.
Machines hidden behind a firewall do not reveal their IP address over the Internet. Thus, they cannot be reached directly from anyone trying to call a user working at such a machine. Linphone supports calling across network borders and firewalls by using a SIP proxy or relaying the calls to a SIP provider. Refer to Section 8.1.5, “Configuring the SIP Options” for a detailed description of the necessary adjustments for using an external SIP server.
Most of the settings contained in the tab do not need any further adjustments. You should be able to make your first call without changing them.
Enable this option only if you find yourself in a
private network behind a firewall and if you do not use a
SIP provider to route your calls. Select the check box and
enter the IP address of the firewall machine in dot
notation, for example, 192.168.34.166.
Linphone uses the real-time transport protocol (RTP)
to transmit the audio data of your calls. The port for RTP
is set to 7078 and should not be
modified, unless you have another application using this
port. The jitter compensation parameter is used to control
the number of audio packages Linphone buffers before
actually playing them. By increasing this parameter, you
improve the quality of transmission. The more packages
buffered, the greater a chance for “late
comers” to be played back. On the other hand
increasing the number of buffered packages also increases
the latency—you hear the voice of your
counterpart with a certain delay. When changing this
parameter, carefully balance these two factors.
If you use a combination of VoIP and landline telephony, you might want to use the dual tone multiplexed frequency (DTMF) technology to trigger certain actions, like a remote check of your voice mail just by punching certain keys. Linphone supports two protocols for DTMF transmission, SIP INFO and RTP rfc2833. If you need DTMF functionality in Linphone, choose a SIP provider that supports one of these protocols. For a comprehensive list of VoIP providers, refer to Section 8.8, “For More Information”.
Once your sound card has been properly detected by Linux,
Linphone automatically uses the detected device as the default
sound device. Leave the value of as it is. Use to determine which recording source should be
used. In most cases, this would be a microphone
(micro). To select a custom ring sound, use
to choose one and test your choice
using . Click
to accept your changes.
The dialog contains all SIP configuration settings.
Determine on which port the SIP user agent should
run. The default port for SIP is 5060.
Leave the default setting unchanged unless you know of any
other application or protocol that needs this port.
Anyone who wants to call you directly without using a SIP proxy or a SIP provider needs to know your valid SIP address. Linphone creates a valid SIP address for you.
This list holds one or more SIP service providers where you have created a user account. Server information can be added, modified, or deleted at any time. See Adding a SIP Proxy and Registering at a Remote SIP Server to learn about the registration procedure.
To register at a remote SIP server, provide certain authentication data, such as a password and username. Linphone stores this data once provided. To discard this data for security reasons, click .
The list can be filled with several addresses of remote SIP proxies or service providers.
Procedure 8.1. Adding a SIP Proxy and Registering at a Remote SIP Server
Choose a suitable SIP provider and create a user account there.
Start Linphone.
Go to ++.
Click to open a registration form.
Fill in the appropriate values for , , and . If working from behind a firewall, always select and enter an appropriate value for . This resends the original registration data after a given time to keep the firewall open at the ports needed by Linphone. Otherwise, these ports would automatically be closed if the firewall did not receive any more packages of this type. Resending the registration data is also needed to keep the SIP server informed about the current status of the connection and the location of the caller. For , enter the SIP URL that should be used for local calls. To use this server also as a SIP proxy, enter the same data for . Finally, add an optional route, if needed, and leave the dialog with .