#403 closed задача (fixed)

Расширение функционала конференций

Reported by: alx Owned by: alx
Priority: средний Milestone: 2 очередь
Component: any Keywords:
Cc:

Description (last modified by alx)

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

В комментариях к этому тикету буду фиксировать идеи по реализации поставленной задачи для последующего возможного обсуждения.

Основные требуемые функции:

  • Вызов диспетчером оператора в конференцию;
  • Вызов оператором диспетчерской конференции;
  • Уведомления о подключении/отключении участников конференции.

Change History (7)

comment:1 by alx, 20 months ago

Description: modified (diff)

comment:2 by alx, 20 months ago

Description: modified (diff)

comment:3 by alx, 20 months ago

Для реализации задачи предлагается ввести понятие статических конференций.

В отличие от существующих сейчас "динамических" конференций, где фокус конференции создается при обращении абонента к conference-factory, фокусы статических конференций создаются автоматически при конфигурации платы. Отличия от существующих динамических конференций должны быть такие:

  • Статические конференции конфигурируются оператором. Может быть сконфигурировано несколько статических конференций (должен быть какой-то разумный лимит, например 100). Конфигурация статической конференции должна включать:
    • Имя конференции;
    • Имя/URI абонента, автоматически вызываемого в конференцию при подключении нового участника (это будет диспетчер).
    • Максимальное число участников (может и не надо, так как уже есть глобальный параметр).
    • "Белый список" участников (регулярное выражение).
  • Фокус конференции создается на основании конфигурации (при записи конфигурации в плату).
  • При подключении участника к конференции автоматически вызывается диспетчер (если его нет в конференции).
  • Фокус конференции не уничтожается, когда в конференции остается менее двух участников.

Вызов диспетчером оператора в конференцию

Диспетчер вызывает оператора в конференцию, отправляя фокусу конференции сообщение REFER:

Вызов оператором диспетчерской конференции

Вызов оператором конференции выполняется обычным образом (сообщением INVITE). После подключения опратора к конференции автоматически выполняется вызов в конференцию диспетчера (если он не находится уже в конференции):

Уведомления о подключении/отключении участников конференции

Уведомления о подключении/отключении участников конференции выполняется в соответствии с RFC:4579 и RFC:4575 (путем подписки на события конференции). Пример сеанса:

Соображения безопасности

Ситуация, когда любой UA может подключиться к любой конференции или подписаться на состояние любой конференции, может быть неприемлемой с точки зрения безопасности:

  • любой UA может прослушать переговоры конференции;
  • любой UA может наблюдать за подключением/отключением участников конференции;
  • любой UA может организовать DoS атаку на конференцию, сделав множество подключений к конференции и, таким образом, исчерпав ее емкость (максимальное число участников конференции), блокировав возможность подключения к конференции других участников.

Вероятно, требуется возможность ограничения прав на подключение к конференции. Например конфигурируемый оператором "белый список" участников (в виде регулярного выражения), когда подключиться к конференции или подписаться на состояние конференции может только участник, URI которого совпадает с выражением.

Last edited 19 months ago by alx (previous) (diff)

comment:4 by alx, 19 months ago

In 2092/sip_ua:

Реализовано создание, конфигурирование и удаление статических конференций.
Реализован "белый список" участников конференций. See #403.

comment:5 by alx, 19 months ago

In 2094/sip_ua:

Реализована функция автоматического вызова участника в конференцию
при подключении к конференции нового участника. See #403.

comment:6 by alx, 19 months ago

In 2096/sip_ua:

При получении запроса SUBSCRIBE на конференцию инициатор запроса проверяется по белому списку.
See #403.

comment:7 by alx, 19 months ago

Resolution: fixed
Status: newclosed

In 2098/sip_ua:

Исправлена ошибка: при отправке NOTIFY никогда не указывалось isfocus.
Closes #403.

Note: See TracTickets for help on using tickets.