Установка и настройка Linphone

Linphone - это SIP-совместимый программный терминал для аудио/видео звонков. Официальный сайт:
http://www.linphone.org/

Linphone - это свободное программное обеспечение, распространяемое под лицензией GPL.

В данной статье содержится инструкция по настройке Linphone для использования совместно с OpenMCU-ru. Всё сказанное относится к версии Linphone 3.6.1. Но может подойти и для других версий.

Установка

Linux

Linphone есть в репозиториях многих дистрибутивов Linux. Его установка производится стандартными средствами пакетных менеджеров.

Ubuntu

В Debian/Ubuntu также можно установить Linphone из официального репозитория. Но в репозитории версия не самая актуальная (например в данный момент в официальном репозитории нет кодека VP8), и кроме того - неполная (нет некоторых пакетов, в частности нет плагина x264). Поэтому для Ubuntu рекомендуется устанавливать из PPA.

Чтобы установить последнюю версию Linphone в Ubuntu 12.04 'Precise' и выше используйте Официальный PPA:

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

Тестовый PPA:

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

Debian Squeeze

Чтобы установить последнюю версию Linphone в Debian Squeeze сначала необходимо подключить репозиторий squeeze-backports. Когда он включен, установка производится следующими командами:

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

В данном репозитории доступны версии Linphone: 3.8.3, 3.8.2, 3.8.1, 3.7.0.

Debian Wheezy

Чтобы установить последнюю версию Linphone в 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

В данном репозитории доступны версии Linphone: 3.9.0, 3.8.3, 3.8.2, 3.8.1, 3.7.0.

Debian Jessie

Чтобы установить последнюю версию Linphone в 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

В данном репозитории доступны версии Linphone: 3.9.0, 3.8.3, 3.8.2, 3.8.1.

Другие системы

Версию Linphone для других систем (Windows, MacOS, Android, Blackberry, iOS) можно скачать с официального сайта.

Первоначальная настройка

Рекомендуется отключить в Linphone отображение своего видео, иначе собственное видео будет перекрывать картинку OpenMCU-ru. Нужно выключить вторую галку.

Настройка сети

В случае сложной организации сети, или например при использовании VPN, может понадобиться указать Linphone на каком адресе принимать соединения. Этот адрес нужно указать в поле «Внешний IP-адрес» и включить соответствующий пункт «Behind NAT / Firewall (specify gateway IP)». См. скриншот.

Другие параметры на вкладке «Настройки сети» нужно менять только при хорошем понимании их назначения.

Настройка мультимедиа

На этой вкладке можно:

  • включить/выключить эхоподавление;
  • выбрать устройство видеозахвата (вебкамеру);
  • указать предпочитаемое разрешение захвата и отправки видео.

Управление учетными записями SIP

Если Linphone используется только для соединения с OpenMCU-ru, то учетная запись SIP ему не нужна. Правда если нет ни одной учетной записи, тогда Linphone будет при каждом старте открывать «Мастер создания учетной записи». Можно указать какую-нибудь фальшивку с локалхостом, тогда он отстанет.

Кодеки

На вкладке с кодеками настраивается ширина полосы пропускания. В случае проблем со связью рекомендуется попробовать отключить автоматическое управление битрейтом (снять галку «Включить адаптивный контроль скорости») и выставить ограничения скорости. Субъективные наблюдения показывают, что надо ставить не больше 75% ширины интернет-канала.

VP8

Для VP8 в строке кодека необходимо указать предпочитаемое разрешение в формате:

width=704;height=576

Если ничего не указано - по умолчанию будет VP8-CIF. Если указать например «width=320;height=240» - будет VP8-CIF с разрешением 320×240.

H264

Кодек H264 по умолчанию тоже работает не выше CIF. Чтобы были доступны большие разрешения нужно задать соответствующий профиль:

profile-level-id=4280XX

где XX - это код профиля в особом «шестнадцатирично-десятичном» формате (подробности можно почитать здесь и здесь). Ниже приведена таблица с несколькими готовыми параметрами:

profile-level-id hex dec уровень макс.разрешение
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+ и H263

Кодеки H263+ (так же называют H263p или H263-1998) и H263 настраиваются одинаково. Чтобы включить для них разрешение 4CIF, нужно добавить в строчку параметров «CIF4=1» (именно так, а не «4CIF=1»). В результате должна получиться строчка:

CIF4=1;CIF=1;QCIF=1

Эхоподавление

Основная статья: Эхоподавление.

Настройка эхоподавления находится на странице «Настройка мультимедиа» (см. выше). Здесь находится галка включения/выключения эхоподавления. При включенном эхоподавлении звук становится чуть тише, но при этом (теоретически) должно подавляться эхо. Эта функция не всегда работает хорошо. При использовании колонок эхо может быть очень сильное. В этом случае можно использовать гарнитуры, а эхоподавление выключить.

Устранение неполадок

Для решения различных проблем с Linphone может потребоваться его отладочный вывод. Чтобы его показать нужно открыть «Окно отладки»: меню «Помощь» - «Показать окно отладки».

Точно такой же вывод (и даже чуть более информативный) можно получить в консоли, если запустить Linphone с ключом:

linphone --verbose

См.также