Bug 47333 - После перезагрузки freeswitch не принимает запросы от клиентов без ручного использования init.d
Summary: После перезагрузки freeswitch не принимает запросы от клиентов без ручного ис...
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: freeswitch (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Anton Farygin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-08-24 13:58 MSK by Artem Varaksa
Modified: 2023-08-28 13:49 MSK (History)
11 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Artem Varaksa 2023-08-24 13:58:25 MSK
Описание ошибки
===============

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

3. Перезагрузить сервер с freeswitch (# reboot).

4. Выйти из linphone (нажать ПКМ на значок в системном трее > Выйти) и заново открыть его, после чего подождать, пока индикатор загрузки в выпадающем списке "Мой текущий идентификатор" изменится на другой значок.


Фактический результат:
* Linphone не подключается к серверу (в выпадающем списке "Мой текущий идентификатор" отображается "x").
* Перенастройка linphone не помогает.

Ожидаемый результат:
* Linphone должен подключаться к серверу.


Дополнительно
=============

(# systemctl restart freeswitch) не помогает.
(# systemctl stop freeswitch && systemctl start freeswitch) не помогает.

(# /etc/init.d/freeswitch restart) помогает в [sisyphus], не помогает в [p10].

См. также: https://freeswitch-users.freeswitch.narkive.com/yLFqKN5y/sofia-listens-only-on-127-0-0-1-after-server-vm-reboot

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

Воспроизводится с серверами на виртуальных машинах:

[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

Клиент - реальная машина:

[p10] kworkstation-10.1-x86-64
linphone-3.12.0-alt7.x86_64
Comment 1 Anton Farygin 2023-08-28 09:00:58 MSK
А если IP адрес прописать статически, то всё начинает работать нормально ?
Comment 2 Artem Varaksa 2023-08-28 13:38:11 MSK
(Ответ для Anton Farygin на комментарий #1)
> А если IP адрес прописать статически, то всё начинает работать нормально ?

Ошибка воспроизводится в [sisyphus] и после настройки IP-адреса вручную с помощью alterator > Ethernet-интерфейсы.

Примечание: в freeswitch IP-адрес уже задан принудительно в шаге 1:

> # 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
Comment 3 Anton Farygin 2023-08-28 13:44:30 MSK
hostname -i это не принудительно. А напишите там принудительно адрес.
Comment 4 Artem Varaksa 2023-08-28 13:49:49 MSK
(Ответ для Anton Farygin на комментарий #3)
> hostname -i это не принудительно. А напишите там принудительно адрес.

Подстановка вывода команды hostname -i производится в процессе изначальной настройки, поэтому в конфигурационном файле задан конкретный ip-адрес (cм. первую строку вывода):

> # cat /etc/freeswitch/vars.xml | grep local_ip
> <X-PRE-PROCESS cmd="set" data="force_local_ip_v4=1.2.3.4"/>
> <X-PRE-PROCESS cmd="set" data="local_ip_v4=$${force_local_ip_v4}"/>
>       local_ip_v4
>       local_ip_v6
>       FreeSWICH will default to $${local_ip_v4} unless changed.  Changing this setting does
>   <X-PRE-PROCESS cmd="set" data="domain=$${local_ip_v4}"/>