Bug 47326

Summary: Аудио/видео не передаются и соединение нарушается через >30 секунд после начала звонка
Product: Sisyphus Reporter: Artem Varaksa <varaksaaa>
Component: freeswitchAssignee: Anton Farygin <rider>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: at, cas, crux, ender, lav, ldv, mike, qa_viy, rider, shaba, viy
Version: unstable   
Hardware: x86_64   
OS: Linux   
Attachments:
Description Flags
Лог /var/log/freeswitch/freeswitch.log (sisyphus) для поведения (3) none

Description Artem Varaksa 2023-08-23 14:56:21 MSK
Created attachment 14185 [details]
Лог /var/log/freeswitch/freeswitch.log (sisyphus) для поведения (3)

Описание ошибки
===============

1. Настроить сервер с freeswitch:
# apt-get install -y freeswitch-daemon freeswitch-lang-ru freeswitch-sounds-ru-ru-elena-*
# sed -i "/default_password/s/1234/Pa##word/" /etc/freeswitch/vars.xml
# sed -i "s/<include>/<include>\n<X-PRE-PROCESS cmd=\"set\" data=\"force_local_ip_v4=$(hostname -i)\"\/>\n<X-PRE-PROCESS cmd=\"set\" data=\"local_ip_v4=\$\${force_local_ip_v4}\"\/>/" /etc/freeswitch/vars.xml
# systemctl enable freeswitch; systemctl start freeswitch; systemctl status freeswitch


2. Настроить linphone на 2 клиентах (например, c номерами 1000 и 1001)
* При запуске закрыть мастер настройки.
* Открыть Опции > Параметры > вкладка по умолчанию Управление учётными записями SIP > в разделе Учётные записи нажать Добавить.
* Ввести данные:
** Ваш идентификатор SIP:  sip:<номер клиента>@<ip-адрес сервера c freeswitch>
** Адрес SIP прокси:   sip:<ip-адрес сервера c freeswitch>:5080
** Остальные параметры оставить по умолчанию.
** При запросе ввести пароль по умолчанию (Pa##word).
* Закрыть окно настроек.


Фактический результат:
(1) Аудио/видео не передаются, за исключением автоответчика, которого слышно (при звонке на номер 1005).
(2) После начала звонка отображаемое качество быстро приходит к уровню "0 (совсем плохой)" (кроме звонка на номер 1005, при котором качество поднимается до "5,0 (хороший)")
(3) При завершении звонка на любом из устройств он не завершается на другом. На другом устройстве поведение соответствует следующему пункту.
(4) Через >30 секунд в linphone как звонящего, так и принимающего звонок отображается ошибка "ACK Timeout", "Media lost" или "NORMAL_CLEARING". Звонок принудительно завершается.

При этом обмен сообщениями между пользователями через linphone работает.

Логи freeswitch при поведении (3) - во вложении.

Ожидаемый результат:
(1) Аудио/видео передаются в обе стороны.
(2) Качество не "0 (совсем плохой)".
(3) При завершении звонка на одном устройстве он должен завершаться и на другом.
(4) Ошибок нет.

См. также
=========

https://bugzilla.altlinux.org/41485 (Некорректная запись голосового сообщения для автоответчика в freeswitch)


Воспроизводимость
=================

Воспроизводится на клиентах:

[p10] kworkstation-10.1-x86-64 (реальная, виртуальная)
linphone-3.12.0-alt7.x86_64 

Пакет linphone был удалён из sisyphus в задании 291328, поэтому он использовался только из [p10].

Поведение также воспроизводится с помощью клиента https://apps.apple.com/ru/app/sessiontalk-sip-softphone/id362501443 v7.0.5, поэтому проблема в сервере или в его настройке.


Использовались сервера:

[p10] server-10.1-x86-64 (виртуальная)
freeswitch-daemon-1.10.9-alt1.x86_64

[sisyphus] server-10.1-x86-64 (виртуальная)
freeswitch-daemon-1.10.10-alt1.x86_64
Comment 1 Artem Varaksa 2023-08-29 14:44:25 MSK
Поведение воспроизводится и при воспроизведении PDF/GIF сервером в качестве видео в ответ на звонок с помощью mod_imagick (при настройке согласно шагам в https://bugzilla.altlinux.org/47382, при необходимости без опции {lazy=1}).

[p10] server-10.1-x86-64 (виртуальная)
freeswitch-imagick-1.10.9-alt1.x86_64

[sisyphus] server-10.1-x86-64 (виртуальная)
freeswitch-imagick-1.10.10-alt1.x86_64