Install and configure Linphone

Linphone - is SIP-compliant software terminal for audio/video calls. Official website:
http://www.linphone.org/

Linphone - is free software, licensed under the GPL.

This article contains instructions for setting Linphone for use with OpenMCU-ru. All this applies to the Linphone version 3.6.1. But may be appropriate for other versions.

Install

Linux

Linphone is present in the repositories of many Linux distributions. Its installation can be performed by package managers.

Ubuntu

In Debian/Ubuntu you can also install Linphone from the official repository. But there is not the most current version in the repository (eg currently the official repositories has no VP8 codec), and moreover - version in the repository is incomplete (absent some packages, in particular there is no x264 plugin). Therefore, it is recommended to install in Ubuntu from PPA.

To install latest Linphone in Ubuntu 12.04 'Precise' and above use Official PPA:

sudo add-apt-repository ppa:linphone/release
sudo apt-get update
sudo apt-get install linphone

Development PPA:

sudo add-apt-repository ppa:rayanayar/linphone
sudo apt-get update
sudo apt-get install linphone

Debian Squeeze

To install latest Linphone in Debian Squeeze first must be enabled squeeze-backports repository. When it enabled, install using these commands:

wget http://openmcu.ru/public/linphone/openmcu-ru-linphone.asc -O - | apt-key add -
echo "deb http://openmcu.ru/public/linphone/ squeeze main" > /etc/apt/sources.list.d/openmcu-ru-linphone.list
apt-get update
apt-get install linphone

Available Linphone: 3.8.3, 3.8.2, 3.8.1, 3.7.0.

Debian Wheezy

To install latest Linphone in Debian Wheezy:

wget http://openmcu.ru/public/linphone/openmcu-ru-linphone.asc -O - | apt-key add -
echo "deb http://openmcu.ru/public/linphone/ wheezy main" > /etc/apt/sources.list.d/openmcu-ru-linphone.list
apt-get update
apt-get install linphone

Available Linphone: 3.9.0, 3.8.3, 3.8.2, 3.8.1, 3.7.0.

Debian Jessie

To install latest Linphone in Debian Jessie:

wget http://openmcu.ru/public/linphone/openmcu-ru-linphone.asc -O - | apt-key add -
echo "deb http://openmcu.ru/public/linphone/ jessie main" > /etc/apt/sources.list.d/openmcu-ru-linphone.list
apt-get update
apt-get install linphone

Available Linphone: 3.9.0, 3.8.3, 3.8.2, 3.8.1.

Other OS

Linphone version for other operation systems (Windows, MacOS, Android, Blackberry, iOS) can be downloaded from official site.

Initial configuration

It is recommended to disable Linphone show your video, otherwise own video image will override OpenMCU-ru video. Turn off the second checkbox.

Network settings

In case of complex network configuration, for example when using VPN, you may need to specify at what address Linphone accept connections. This address should be specified in the «Public IP-address» and must be enabled the appropriate item «Behind NAT / Firewall (specify gateway IP)». See the screenshot.

Other options on the page «Network Settings» should be changed only if you understand their purpose.

Multimedia settings

On this tab, you can:

  • enable/disable echo cancellation;
  • select a video capture device (webcam);
  • specify the preferred resolution for capture and send video.

Manage SIP accounts

If Linphone is used only to connect to OpenMCU-ru, then SIP account is not needed. However, if there is no SIP account - Linphone will open «Account Wizard» on the each start. You can specify any fake account with localhost, then Linphone will fall behind.

Codecs

On the codecs page can be configured bandwidth. In case of communication problems it is encouraged to try to disable automatic bitrate (disable the checkbox «Enable adaptive rate control») and set the bitrate limit. Subjective observations indicate that you should not set more than 75% of the width of the Internet channel.

VP8

For VP8 codec in the parameters line must be specified the preferred resolution in the format:

width=704;height=576

If nothing is specified - defaults to VP8-CIF. If you specify eg «width=320;height=240» - will be VP8-CIF resolution 320×240.

H264

H264 codec by default also does not work higher than CIF. To make available larger resolutions must be set the appropriate profile:

profile-level-id=4280XX

where XX - is profile code in «hex-decimal» format (details are here and here). Below is a table with a few ready options:

profile-level-id hex dec level max resolution
428014 14 20 2.0 352×288
42801E 1E 30 3.0 720×576
42801F 1F 31 3.1 1280×720
428028 28 40 4.0 1920×1080, 2048×1024

H263+ and H263

Codecs H263+ (also called H263p or H263-1998) and H263 are configured identically. To enable them to resolution 4CIF must be added to the parameters line «CIF4=1» (exactly, but not «4CIF=1»). As a result, should get a line:

CIF4=1;CIF=1;QCIF=1

Echo cancellation

Main article: Echo cancellation.

Echo canceling settings located on the page «Multimedia settings» (see above). There is a checkbox for on/off echo cancellation. When the echo cancellation is on - sound is a little quieter, but (theoretically) echo should be suppressed. This function does not always work well. When using speakers echo can be very loud. In this case, you can use the headset and turn off echo cancellation.

Troubleshooting

For solving various problems with Linphone you may need the debug output. To show it you need to open «Debug window»: menu «Help» - «Show debug window».

Exactly the same output (and even a little more informative) can be obtained from the console if you start Linphone with parameter:

linphone --verbose

See also