Licensing & services

Description

Linphone is an open source SIP phone for voice/video calls and instant messaging, and is available for mobile and desktop environments (iOS, Android, GNU/Linux, macOS, Windows).

Linphone features a separation between the user interfaces and the core engine, allowing the creation of various kinds of user interface on top of the same functionalities.

The user interface frontends are:

  • A Qt/QML interface for Windows desktop, macOS and GNU/Linux
  • A console interface (linphone-daemon)
  • An iPhone application built in objective C
  • An Android application running in Java

Liblinphone is the core engine, this is the library that implements all the functionalities of Linphone.Liblinphone is a powerful SIP-based SDK for Voice and Video over IP, that anyone can use to add audio and video calls or instant messaging capabilities to an application. It provides a high-level API to initiate, receive and terminate audio and video calls.

Liblinphone relies on the following software components:

  • Mediastreamer2, a powerful multimedia SDK for audio/video streaming and processing
  • oRTP, a simple RTP library
  • belle-sip, the SIP library

Liblinphone and all its dependencies are written in C++ and C.

Source code

The linphone-sdk project bundles Liblinphone and its dependencies as git submodules, in the purpose of simplifying the compilation and packaging of the whole Liblinphone suite, comprising Mediastreamer2, Belle-sip, Ortp and many others.
The submodules that are not developped or maintained by the Linphone team are grouped in the external/ directory.
The currently supported platforms are Android, iOS, Desktop (Linux, Windows, Mac OS X) and UWP (Universal Windows Platform).

You can find on GitLab the source code of linphone-sdk and of liblinphone, or you can clone it with Git. 

It is still possible to compile the liblinphone project alone, but we recommend to compile linphone-sdk, as it is holding all the dependencies to build a full Linphone SDK.

Project Git repository
linphone-sdk, an umbrella project that contains liblinphone and all its dependencies git clone https://gitlab.linphone.org/BC/public/linphone-sdk.git —recursive

Source code

Linphone source code is available from our GitLab, or can be cloned with Git:

Project

Git repository

linphone-desktop, comprising:​

  • linphone (Qt user interface)
  • linphone-sdk

git clone https://gitlab.linphone.org/BC/public/linphone-desktop.git —recursive

linphone-iphone (iOS application)

git clone https://gitlab.linphone.org/BC/public/linphone-iphone.git

linphone-android (Android application)

git clone https://gitlab.linphone.org/BC/public/linphone-android.git

For those who are behind a proxy:
You can change the access method from git:// to http:// as follows:
Normal git access:
git clone git://git.linphone.org/msilbc.git
Behind a proxy, use http access:
git clone git.linphone.org/msilbc.git

Usage

You can provide a provisioning URL in the settings of Linphone for supported platforms so that user can enter or modify the URL where configuration is loaded. 

The configuration will be downloaded and applied at the next start of the application (for Android, it is before the initialization of the Linphone core).

The default value for the URL can be set in the initial linphonerc configuration file included in the packages, in which case the configuration is fetched and loaded immediately at first start.

You can also directly fill the URL in the account wizard, in which case the application will automatically restart itself and download the configuration.

§ linphone_proxy_config_normalize_sip_uri()

* linphone_proxy_config_normalize_sip_uri ( proxy,
const char *  username 
)

Normalize a human readable sip uri into a fully qualified LinphoneAddress. A sip address should look like DisplayName <sip:username@domain:port> . Basically this function performs the following tasks

  • if a phone number is entered, prepend country prefix and eventually escape the ‘+’ by 00 of the proxy config.
  • if no domain part is supplied, append the domain name of the proxy config. Returns NULL if no proxy is provided at this point.
  • if no sip: is present, prepend it.

The result is a syntactically correct SIP address.

Parameters
proxy object containing country code, escape symbol and/or domain name. Can be NULL if domain is already provided.
username the string to parse
Returns
NULL if invalid input, normalized sip address otherwise.

Source code

Linphone source code is available from our GitLab, or can be cloned with Git:

Project

Git repository

linphone-desktop, comprising:​

  • linphone (Qt user interface)
  • linphone-sdk

git clone https://gitlab.linphone.org/BC/public/linphone-desktop.git —recursive

linphone-iphone (iOS application)

git clone https://gitlab.linphone.org/BC/public/linphone-iphone.git

linphone-android (Android application)

git clone https://gitlab.linphone.org/BC/public/linphone-android.git

For those who are behind a proxy:
You can change the access method from git:// to http:// as follows:
Normal git access:
git clone git://git.linphone.org/msilbc.git
Behind a proxy, use http access:
git clone git.linphone.org/msilbc.git

Настройка софтфона Linphone

Существует множество бесплатных и многофункциональных IP — софтфонов. В сегодняшней статье расскажем об одном из таких программных клиентов — Linphone и покажем, как подготовить его для использования вместе с IP-АТС Asterisk.

Теория

Linphone (Linux Phone) является кроссплатформенным решением для IP-телефонии, работающим по протоколу SIP, которое позволяет совершать аудио и видео звонки через Интернет.

Linphone доступен как в виде десктопных версий для операционных систем Microsoft Windows, Linux, Mac OS так и в виде мобильных приложений для устройств на базе операционных систем Android, iOS

Данный софтфон совместим и поддерживает следующие протоколы: SIP, SRTP, ZRTP, STUN, ipv6, обмен мгновенными текстовыми сообщениями по протоколу SIMPLE. Поддерживаются следующие типы аудиокодеков: G.711, GSM-FR, Speex, iLBC и видеокодеков: H.263, MPEG4, theora H.264

Настройка

Рассмотрим настройки софтфона Linphone для работы с IP-АТС Asterisk. Устанавливать будем клиент для операционной системы Windows. Для этого нужно сначала скачать дистрибутив с сайта разработчика linphone.org. Самая последняя версия – 3.10.2 от 13 августа 2016.

Затем нужно выполнить стандартную процедуру установки, согласившись со всеми лицензионными правилами и указав путь, куда необходимо установить программу.

В процессе установки, Вам предложат установить кодек Cisco H.264, рекомендуем согласиться с данным пунктом.

Когда установка будет завершена, Вам предложат создать учётную запись для совершения звонков по протоколу SIP. Нажимаем Forward

Далее нужно выбрать тип учётной записи. Доступно четыре варианта – создание учётной записи на сайте linphone.org, ввести аутентификационные данные ранее созданной учётной записи с сайта linphone.org, ввести учётные данные ранее созданной учётной записи SIP – нам подходит именно этот пункт, поскольку мы будем использовать учётные данные внутреннего номера , который создали ранее на нашей IP-АТС. И последний из доступных вариантов – указать URI удалённого сервера конфигурации. Итак, выбираем I have already a sip account and I just want to use it

А далее, просто переносим их в Linphone, 192.168.1.148 — это адрес нашей IP-АТС.

Если всё было сделано верно, то после регистрации напротив наших учётных данных мы увидим зеленый круг — Online, свидетельствующий о том, что наша учётная запись активна и можно совершать звонки при помощи клиента Linphone.

Программные телефоны для мобильных устройств

 Для звонков с мобильных телефонов мы рекомендуем софтфон onlinePBX, как его настроить читайте в отдельной статье.

 Работа мобильного интернета или Wi-FI зачастую нестабильна. Из-за этого во время разговора могут наблюдаться прерывания или задержка передачи голоса.

Grandstream Wave Lite — Video для Android

Шаг 1. Установка

Шаг 2. Добавление аккаунта

Откройте приложение. Нажмите «Параметры».

Выберите пункт «Параметры аккаунта».

Нажмите на кнопку «+».

Выберите пункт «Sip Аккаунт».

Шаг 3. Настройка

Введите необходимые параметры.

Домен необходимо прописывать с маленькой буквы, иначе регистрация не будет проходить.

Впишите ID пользователя SIP. Он же внутренний номер сотрудника (пользователя) в onlinePBX. Для подтверждения нажмите «ОК».

Введите пароль. Для подтверждения нажмите «ОК».

Нажмите на «✓» для сохранения настройки.

Готово! Для проверки введите в программе 9196 — эхо тест.

Grandstream Wave Lite для IOS

Шаг 2. Настройка аккаунта

Перейдите в Параметры > Параметры аккаунта

Нажмите «+», чтобы добавить новый аккаунт.

Выберите «Sip Account».

Далее в поле «Имя аккаунта» можете написать любое название. В поле «SIP-сервер» введите ваш домен onlinePBX. В полях «ID пользователя SIP» и «Аутентификационный идентификатор» напишите внутренний номер пользователя. В поле «Пароль» введите пароль пользователя. Нажмите на «Галочку» в правом верхнем углу.

Домен необходимо прописывать с маленькой буквы, иначе регистрация не будет проходить.

Шаг 3. Дополнительные настройки

Если не проходит регистрация пользователя, в разделе «Параметры» выберите созданный аккаунт.

В поле «Протокол передачи» вместо значения «UDP» выберите «TCP».

Шаг 4. Настройка сети

Чтобы Grandstream Wave использовал только Wi-Fi — включите опцию «Только WiFi» в дополнительных настройках аккаунта. Если используется 3g или 4g — отключите опцию.

Готово! Для проверки введите в программе 9196 — эхо тест.

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
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

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

В случае сложной организации сети, или например при использовании 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
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

Поддерживаемые терминалы

источник

Настройка и установка софтфона Linphone на Windows

Этой статьёй хочу закончить цикл про софтфон Linphone. Осталось только настройка для Windows, но здесь также будет пару слов о видео связи, заодно расскажу как на мобильных операционных системах отключить авто префикс набора номера. Linphone (англ. Linux Phone) — кроссплатформенная программа клиент VoIP-телефонии с открытым исходным кодом, распространяемый по лицензии GNU GPL. Linphone создана для

Этой статьёй хочу закончить цикл про софтфон Linphone. Осталось только настройка для Windows, но здесь также будет пару слов о видео связи, заодно расскажу как на мобильных операционных системах отключить авто префикс набора номера.

Linphone (англ. Linux Phone) — кроссплатформенная программа клиент VoIP-телефонии с открытым исходным кодом, распространяемый по лицензии GNU GPL. Linphone создана для организации аудио и видео-вызовов, и обмена текстовыми сообщениями через Интернет. Поддерживает основные мобильные и десктопные ОС.

Ссылки установки на другие операционные системы Linphone на Android, IOS, Linux.

Скачать дистрибутив можно на официальном сайте. Для настольной Windows пока доступна только 32-х битная версия. Довольно простая установка.

Запускаем программу, нам предлагают войти/создать в аккаунт Linphone либо войти под SIP аккаунтом. Забыл сказать подключать мы его будем к Asterisk 13 на CentOS 7. Для начала заведем там SIP профиль. В консоли CentOS переходим в директорию с конфигурационными файлами Asterisk. Открываем файл sip.conf

В файле добавляем следующие поля:

Я заранее прописал для пользователя кодеки и разрешил видеосвязь.

Больше о том что значат все эти значения Конфигурация пользовательских устройств. Как завести пользователя в FreePBX можно Управление внутренними номерами абонентов во FreePBX.

Возвращаемся на Windows к нашему софтфону.

Вводим наши данные для подключения к Asterisk:

Username — 103 — это имя пользователя.

SIP — domain — адрес сервера в сети, т.к. мой софтфон в одной сети с сервером тут внутренний IP.

Password — $upper$ecretPassword1234567890 В sip.conf пароль называется secter

Transport — UDP — Он поумолчанию в Asterisk если не указан явно другой.

linphone-01.gif — Вводим наши данные.

Далее настроим Call and Chat в настройки можно попасть через хоткей Ctrl+P.

Я отключил шифрование и авто ответ.

Во вкладке Network включам DTMF — RFC 2833 т.к. самый распространённый канал. Отключаем если не используем IPv6. Можно использовать рандомный порт для UDP, а можно прописать необходимый. Включаем UDP port.

Добавить ещё SIP-аккаунты и изменить действующий. Вкладка SIP accounts.

Проверим настройки Видео. Включаем кодек h264. Проверяем нашу камеру и ставим разрешение оптимальное для вашего соединения.

Чтобы проверить видеосвязь на свой Android аппарат устанавливаю версию Linphone из PlayMarket. Настройка описана в статье. Отмечу что Linphone добавляет префикс вашей страны. отключить это можно в настройках Аккаунта — Префикс. Удаляем префикс в моём случае это +7. Все теперь можно звонить на внутренние номера.

Также необходимо в настройках — Видео — Включить видео, Инициирование видеозвонков, принимать входящие запросы на видео, Кодек — H264. Все это включить. также разрешить использовать камеру.

Отлично есть и звук и видео. На этом можно закончить настройку Linphone.

По итогу получается хороший кроссплатформенный софтфон с поддержкой основных протоколов безопасности, аудио, видео кодеков. Распространяется по GNU GPL лицензии.

источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector