Opened 8 years ago
Closed 8 years ago
#561 closed баг (fixed)
Пользователь не покидает основную конференцию в режим автоматически.
| Reported by: | viktam | Owned by: | alx |
|---|---|---|---|
| Priority: | major | Milestone: | 1 очередь |
| Component: | ПО MC04-Dispatcher. Пульт диспетчера/техника | Keywords: | |
| Cc: | san |
Description
Иногда случается так что пользователь программы не покидает основную конференцию, когда из неё выходят все непривилегированные пользователи.
Мой пользователь 2@ - Техник (режим автоматически)
Диспетчер - 1@ (режим постоянное)
Удалось поймать один из таких случаев в r810: на скриншоте ниже зафиксировано состояние основной конференции - в ней находятся 2 привилегированных пользователя. Время зафиксировано там же: 15:24 (2 мая).
Несколько ранее (точнее сказать нельзя) основную конференцию покинул непривилегированный пользователь, но пользователь 2@ не покинул основную конференцию после его ухода. Лог с места 2@ прилагается.

Attachments (7)
Change History (24)
by , 8 years ago
by , 8 years ago
| Attachment: | debug2017-05-02_crop.zip added |
|---|
comment:2 by , 8 years ago
Replying to san:
Уточнение: последним покинувшим осн.конф. был 2708@ (ГРС Рюмино)
посмотрел на картинку.... и что то тут не совпадает, у ГРС Рюмино другой uri :-D
(в списке пользователя в конце имени каждого пользователя Витя вписал его uri до @)
comment:3 by , 8 years ago
Согласно логу, выход пользователя 2708 из конференции "0" произошел в 15:23:46.749.
После получения сообщения о выходе пользователя из конференции выполнилась функция userLeftConference(), выполняющая необходимые проверки и, при их успешности, производящая отключение диспетчера от конференции.
Для срабатывания функции автоматического выхода необходимо одновременное выполнение пяти условий, вытекающих из требований пункта 2 тикета #410:
- диспетчер находится в режиме подключения "Автоматически";
- пользователь покинул основную конференцию;
- диспетчер присутствует в основной конференции;
- в основной конференции присутствуют только привилегированные пользователи (пользователи, имеющие роль либо диспетчера, либо техника);
- ранее в основной конференции был хотя бы один непривилегированный пользователь (то есть техник, не имеющий ролей "Диспетчер" и "Техник").
При выполнении первых четырех из этих пяти условий в лог должно вывестись сообщение "only dispatchers left in primary conference". Такого сообщения в логе нет. Следовательно, по мнению пульта, одно или несколько из первых четырех перечисленных условий не было выполнено.
К сожалению, на основании имеющейся в лог-файле информации можно подтвердить только выполнение первого условия - диспетчер действительно работает в режиме подключения "Автоматически" (и то лишь с допущением, что во время сеанса работы, зафиксированного лог-файлом, диспетчер не менял режим подключения). Поэтому для дальнейшего исследования проблемы требуется дополнительная информация. Я прошу приложить к этому тикету конфигурационный файл пульта диспетчерской связи, а также конфигурационный файл FreeSwitch, в котором сконфигурирован пользователь 2708@192.168.0.108.
comment:4 by , 8 years ago
Исправил свой предыдущий комментарий для более точного описания процесса проверки условий автоматического выхода.
by , 8 years ago
конфигурационный файл FreeSwitch?, в котором сконфигурирован пользователь 2708@192.168.0.108.
follow-up: 7 comment:5 by , 8 years ago
Постараюсь организовать завтра удаленный доступ к ПК Техника. Просьба уточнить наименование конфигурационного файла пульта диспетчерской связи, в ревизии 810.
comment:6 by , 8 years ago
Так как уже не впервые открывается тикет по поводу не выполнения автоматического выхода из основной конференции, думаю, что будет правильным добавить в код userLeftConference() более детальный отладочный вывод, который позволил бы определить, какое именно из условий автоматического выхода не было выполнено.
comment:7 by , 8 years ago
Replying to viktam:
Просьба уточнить наименование конфигурационного файла пульта диспетчерской связи, в ревизии 810.
Конфиг-файл называется MC04Dispatcher.xml. Каталог, в котором он находится, зависит от ОС. Для ubuntu и пдодобным ей - ~/.config, для Windows - C:/Users/<USER>/AppData/Local/<APPNAME>.
by , 8 years ago
| Attachment: | MC04Dispatcher.xml added |
|---|
конфигурационный файл пульта диспетчерской связи (Техник)
comment:9 by , 8 years ago
Спасибо. Конфиг-файл подтверждает, что конференция "0" - основная. Таким образом, первые три условия из comment:3 должны выполняться. Осталось неподтвержденным четвертое условие. Чтобы подтвердить, что на момент выхода из конференции пользователя 2708 в конференции остались только привилегированные участники, покажите, пожалуйста, файлы конфигурации пользователей 1 и 2.
comment:11 by , 8 years ago
Согласно конфигурационным файлам, пользователи 1 и 2 действительно являются привилегированными. Думаю, что наличие бага можно считать подтвержденным.
К сожалению, анализ лога и исходного кода не смог выявить причины проблемы, воспроизвести ее в лабораторных условиях также не удается. Рекомендую обновить пульт до ревизии 828 или выше, где в лог-файл должна выводиться более подробная отладочная информация, и при повторении бага прикрепить новый лог-файл.
by , 8 years ago
| Attachment: | debug2017-05-03_crop.zip added |
|---|
comment:12 by , 8 years ago
viktam:
Повторилось c r828 заметил после окончания конференции с ГРС Межево 2705 в 11-25 техник не вышел из конференции непродолжительное время оставался с диспетчером вдвоем (сек 10), потом диспетчер вызвал другого пользователя в 11-30 диспетчер провел последнюю конференцию, техник остался висеть с ним вдвоем в 11-33 вручную отбил техника
comment:13 by , 8 years ago
Согласно данным лога, отключения не произошло из-за того что, по мнению пульта, в конференции "0" присутствовал непривилегированный пользователь и, таким образом, не выполнялось четвертое из перечисленных в comment:3 условий.
comment:14 by , 8 years ago
Предположительно удалось воспроизвести баг: если на момент запуска пульта в основной конференции уже присутствует привилегированный участник, этому участнику не устанавливается признак привилегированности, в результате чего последующие проверки условия автоматического выхода дают ложный отрицательный результат.
comment:16 by , 8 years ago
В r830 исправлена ошибка, описанная в comment:14, но нет уверенности, что это был именно баг, описанный в этом тикете. Прошу проверить и сообщить, продолжает ли описанный баг воспроизводиться в пульте ревизии r830 (или выше).
comment:17 by , 8 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
Судя по отсутствию комментариев, описанный в тикете баг больше не возникает. Закрываю тикет.

Уточнение: последним покинувшим осн.конф. был 2708@ (ГРС Рюмино)