Opened 8 years ago

Closed 8 years ago

Last modified 7 years ago

#548 closed баг (fixed)

Гонки при вызове в конференцию

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

Description

Еще одни гонки происходят примерно так, как это описано в #546, но вызов в конференцию успешен. В этом случае реальное сообщение add-member от конференции приходит раньше, чем "синтетическое" сообщение, которое посылает наша программа, о намерении вызвать пользователя в конференцию. В результате, когда от FS приходит наше "синтетическое" событие add-member, пульт думает, что это новый вызов и рисует новую "плашку".

Change History (3)

comment:1 by alx, 8 years ago

Как показало исследование, при реальном подключении нового участника к конференции, в событии add-member присутствует поле Channel-Call-UUID, содержащее UUID вызова, установленный при отправке команды originate. В "синтетическом" событии add-member тот же UUID присутствует в поле Member-Call-UUID. По этому UUID мы можем определить, к какому именно участнику конференции относится полученное событие.

comment:2 by alx, 8 years ago

Resolution: fixed
Status: newclosed

In 778/dispatcher:

При добавлении любого (в том числе реального) участника конференции в список
участников конференции запоминается его Channel-Call-UUID.
При получении "синтетического" события add-member проверяется, нет ли уже
участника с таким же Channel-Call-UUID в списке. Если есть, новое событие
игнорируется. Fixes #548.
В отправляемом "синтетическом" событии поле Member-Call-UUID переименовано
в Channel-Call-UUID для единообразия.

comment:3 by san, 7 years ago

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

Milestone renamed

Note: See TracTickets for help on using tickets.