Opened 8 years ago
Closed 7 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 , 7 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Судя по отсутствию комментариев, описанный в тикете баг больше не возникает. Закрываю тикет.
Уточнение: последним покинувшим осн.конф. был 2708@ (ГРС Рюмино)