Opened 8 years ago

Closed 8 years ago

Last modified 7 years ago

#181 closed баг (fixed)

При неудачном вызове кнопка пользователя не меняет цвет

Reported by: alx Owned by: dimag
Priority: blocker Milestone: 2 очередь
Component: ПО MC04-Dispatcher. Пульт диспетчера/техника Keywords: algorithm
Cc: san

Description (last modified by alx)

При вызове пользователя в конференцию, если при выполнении вызова возникла ошибка, это никак не отображается на дисплее: фон "плашки" этого пользователя не становится оранжевым, кнопка повторного вызова не появляется.

Устранить предлагаю следующим образом. Программа должна подписываться на событие BACKGROUND_JOB. При вызове абонента в конференцию надо запоминать JOB UUID. При получении события BACKGROUND_JOB опознавать "наши" и анализировать код завершения с соответствующей реакцией на ошибки.

Change History (24)

comment:1 by san, 8 years ago

Небольшая поправка по внешнему виду:

Прямоугольник по левому краю - дублирует цвет "кружочка" в дереве абонентов. (варианты зарегистрирован/незарег./вызывается/ГБ/в конференции). Зелёный = зарегистрирован.

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

comment:2 by dimag, 8 years ago

Resolution: fixed
Status: newclosed

Зелёная плашка означает что пользователь подключен к серверу, для пользователей чей вызов завершился неудачно часть плашки занятой именем пользователя будет иметь темно-оранжевый(цвет зрелого апельсина) фон. Пользователь не остается навсегда его можно удалить нажав на красный крестик.
Неудачный вызов я отслеживаю по сообщению CHANNEL_CALLSTATE, по параметру Channel-State. Сообщение BACKGROUND_JOB от сервера я не обрабатываю.

comment:3 by alx, 8 years ago

Description: modified (diff)
Resolution: fixed
Status: closedreopened

Описание бага изменено в соответствии с замечанием.

comment:4 by dimag, 8 years ago

Resolution: fixed
Status: reopenedclosed

Кнопка повторного вызова - Пиктограмма с изображением телефонной трубки на фоне синего круга. проверьте в r231

comment:5 by alx, 8 years ago

Resolution: fixed
Status: closedreopened

Проверил, в r231 по-прежнему не работает.

comment:6 by dimag, 8 years ago

Что именно? Если попытка установления связи с абонентом завершилась неудачно, о абонент выводиться в красном прямоугольнике, слева полоска показывающая текущее присутствие абонента в сети, справа иконка повторной попытки в виде телефонной трубки на фоне синего круга и иконка удаление абонента из списка.

in reply to:  6 ; comment:7 by alx, 8 years ago

Replying to dimag:

Что именно?

Цвет фона плашки (части, занятой именем абонента) абонента не изменился на красный (темно-оранжевый) и на этой плашке не появилась кнопка повторного вызова - пиктограмма с изображением телефонной трубки на фоне синего круга.

in reply to:  7 ; comment:8 by san, 8 years ago

Replying to alx:

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

in reply to:  8 comment:9 by alx, 8 years ago

Replying to san:

Алексей, уточни пожалуйста условия эксперимента

Конкретно моего эксперимента?

  1. Регистрирую на коммутаторе пользователя test66@voip.kolez.com (конкретно по IPv6/TCP, но думаю, что что IPv6/IPv4 в данном случае не существенно).
  2. Запускаю программу диспетчера и вхожу как 2@voip.kolez.com.
  3. Выполняю вызов в конференцию пользователя test66. При вызове (в результате бага с формированием путей в INVITE) возникает ошибка.

Но я думаю, что Дима может добиться аналогичного эффект проще - посылать заведомо плохую команду вызова (например "originat" вместо "originate")...

Version 0, edited 8 years ago by alx (next)

comment:10 by san, 8 years ago

Дима, получилось воспроизвести баг?

comment:11 by dimag, 8 years ago

Keywords: algorithm added

Пока нет, но я пробовал воспроизвести его всего пару раз.

comment:12 by san, 8 years ago

Но я думаю, что Дима может добиться аналогичного эффект проще - посылать заведомо плохую команду вызова (например "originat" вместо "originate")...

Пробовал так?

comment:13 by san, 8 years ago

Priority: minorcritical
Summary: При неудачном вызове пользователь остается в списке участниковПри неудачном вызове кнопка пользователя не меняет цвет

Похоже что в #293 примерно этот же баг только в другом проявлении

Для абонента с ролью Техник/диспетчер не индицируются состояния вызова(ожидания подключения) и неудачного вызова

comment:14 by dimag, 8 years ago

Александр, уточните.

comment:15 by san, 8 years ago

Алексей, баг устранён?

in reply to:  15 comment:16 by alx, 8 years ago

Replying to san:

Алексей, баг устранён?

??? Нет, не устранен. По крайней мере, об устранении мне ничего не известно: здесь записей об устранении нет, в логе репозитория тоже ничего такого не видел...

comment:17 by san, 8 years ago

Повтори пожалуйста эксперимент, я подозреваю что это тот же баг что и #293 и соответственно тоже должен быть пофиксен уже.

comment:18 by alx, 8 years ago

Эксперимент повторил. Баг воспроизвелся.

Что не удивительно, ведь программа по-прежнему не подписывается на событие BACKGROUNG_JOB (такой строки вообще нет в исходниках).

comment:19 by san, 8 years ago

Priority: criticalblocker

Дима, по заявлению Алексея баг всё-ещё присутствует, что мешает исправить?

comment:20 by dimag, 8 years ago

Прежде всего непонятно что за сообщение BACKGROUNG_JOB, может быть BACKGROUND_JOB?
Я пробовал получать сообщения BACKGROUNG_JOB и ни одно не пришло.

in reply to:  20 comment:21 by alx, 8 years ago

Description: modified (diff)

Replying to dimag:

Прежде всего непонятно что за сообщение BACKGROUNG_JOB, может быть BACKGROUND_JOB?

Все верно - BACKGROUND_JOB, конечно. Прошу прощения за опечатку. Описание тикета исправлено.

comment:22 by dimag, 8 years ago

Resolution: fixed
Status: reopenedclosed

comment:23 by alx, 8 years ago

Подтверждаю, теперь фон "плашки" становится оранжевым, кнопка повторного вызова появляется.

comment:24 by san, 7 years ago

Milestone: Текущее2 очередь

Milestone renamed

Note: See TracTickets for help on using tickets.