Версия 5.1 |
||||||||||||||||||||||||||||||
|
|
Пользователи могут настроить свои устройства (IP телефоны, средства для организации аудио/видео конференций, программы для передачи мгновенных сообщений) на подключение к выбранному SIP Серверу автоматически при наличии соединения с Интернет. Сервер регистрирует пользователей, запоминая их "SIP идентификаторы" и используемые ими сетевые (IP) адреса.
Каждый пользователь имеет уникальный "SIP идентификатор", называемый также AOR (Address of Record, Адрес Записи).
Каждый пользователь может иметь несколько активных регистраций если он имеет несколько коммуникационных устройств, находящихся в режиме онлайн (офисный IP телефон, рабочая станция, программы для обмена мгновенными сообщениями на ноутбуке и т.д.).
Регистрации позволяют SIP пользователям взаимодействовать друг с другом не зная сетевых адресов, используя только "SIP идентификаторы" (AORы).
AORы имеют тот же вид, что и адреса электронной почты: username@domainName. AORом пользователя CommuniGate Pro является его полное имя Пользователя, и таким образом, SIP AOR в точности совпадает с адресом электронной почты.
CommuniGate Pro использует компонент Маршрутизатор для всех операций реального времени, так что Псевдонимы, Переадресаторы и других механизмы Маршрутизации также будут работать и для Коммуникаций Реального Времени.
Сигнал является базовой Задачей Реального времени. Одна из участников коммуникаций Реального Времени отправляет Сигналы другому участнику для начала, изменения или прекращения коммуникационного диалога, изменения статуса и т.п.
Отправляющая сторона формирует объект с Запросом и посылает его в модуль Signal сервера CommuniGate Pro. Модуль Signal обрабатывает Запрос, отправляет, если требуется, Запросы другим участникам и возвращает объект с Откликом отправляющей стороне.
Многие модули и компоненты CommuniGate Pro могут использовать Сигналы:
Когда модуль Signal получает Запрос, он вычисляет для него требуемый единообразный идентификатор ресурса URI. Он берет URI Запроса (или первый имеющийся Route URI из набора Route Запроса) и использует компонент Маршрутизатор для определения назначения Запроса. Далее существует несколько вариантов развития событий:
Следующая диаграмма иллюстрирует направление Сигналов в Сервере CommuniGate Pro:
После того, как адрес был обработан при помощи Маршрутизатора, но до того, как он был ретранслирован локальному или удалённому участнику, применяются Общие для Сервера и Общие для Кластера Правила Автоматической Обработки Сигналов.
Правила управляют ходом обработки запроса: они могут перенаправить его на другой адрес или отвергнуть Запрос.
С помощью Автоматических Правил обрабатываются только Запросы, инициирующие Диалог.
Модуль Signal обслуживает наборы AOR (Адресов Записи) и Contact для каждого обрабатываемого Запроса. Модуль начинает процесс Подключения, обрабатывая адреса из набора AOR.
При получении во время обработки любого AOR отклика типа 2xx, обработка останавливается. Если Запрос имел тип INIVTE, то все невыполненные Запросы, ретранслированные на другие AOR, отменяются.
После обработки всех AOR, модуль возвращает "лучший" результат обработки источнику Запроса.
Если AOR, подлежащий обработке, Направляется на не локальный адрес, то этот адрес помещается в набор Contact.
Если AOR, подлежащий обработке, Направляется на локальную Группу, то все участники группы добавляются в набор AOR.
Если AOR, подлежащий обработке, Направляется на локального Пользователя, то все активные Регистрации Пользователя (зарегистрированные адреса устройств Пользователя) добавляются в набор Contact.
Если AOR уже существует в наборе AOR, то он не добавляется к набору AOR.
Если адрес уже существует в наборе Contact, то он не добавляется к набору Contact.
Модуль Signal проверяет каждый адрес и добавляет его к набору Contact.
Если новый адрес Contact является адресом Локального Узла, то Запрос передается на обработку в этот Узел.
Если новый адрес Contact является внешним адресом, то Запрос передается в SIP Модуль для релеинга.
Для того, что бы настроить параметры модуля Signal, используйте Веб Интерфейс Администратора. Откройте в области Установки страницу Real-Time, затем откройте страницу Сигналы:
Сервер CommuniGate Pro для определённых Запросов требует авторизации пользователя.
Когда запросы отправляются удалённо через SIP, аутентификация выполняет в SIP Модуле.
Модули XIMSS и XMPP отправляют все Сигналы от имени зарегистрированного Пользователя, предварительно проведя аутентификацию.
Приложения Реального Времени отправляют Сигналы аутентифицировавшись от имени текущего Пользователя (если только Приложение не представляется как "никто").
Когда Сигнал типа call (начальный запрос INVITE с аудио/видео дескриптором сессии) аутентифицирован, Модуль Signal проводит дополнительную обработку аутентифицированного Пользователя.
Компонент Signal может ограничить число "звонков", которое Пользователь может совершать в течении указанного периода времени.
Если первый AOR в наборе (AOR, указанный в URI Запроса) является локальным адресом Пользователя, а Запрос имеет тип INVITE, то запрашивается регистрация устройства Пользователя и значения некоторых опций из Установок и Настроек Пользователя.
Пользователь может иметь Автоматические Правила по Обработке Сигналов, которые запрашиваются одновременно с регистрациями устройств Пользователя. Эти Правила, наряду с Правилами, Общими для Домена пользователя, применяются ко всем запросам, отправляемым Пользователю.
Компонент Signal управляет количеством "звонков" (начальных INVITE запросов с аудио/видео Дескрипторами Сессии), которые Пользователь может принимать в течении заданного интервала времени.
Если запрос направлен на имя *nnnn в любой из локальных Доменов (где nnnn это любая последовательность, начинающаяся с десятичной цифры), то Запрос перенаправляется инициатору (на адрес Запроса From:).
Это возможность позволяет пользователю набирать *nnnn номера для получения от Сервера специальных услуг. Запрос направляется на Пользователя, у которого запускается приложение Авто-Ответа. Приложение обеспечивает требуемый сервис, получая значение набранной "опцию сервиса" из адреса To: Запроса.
Коммуникационные устройства, используемые пользователями CommuniGate Pro, должны зарегистрировать себя до того, как они смогут получать запросы от других участников.
Запросы на Регистрацию требуют проведения Аутентификации Пользователя.
При изменения регистраций Пользователя могут использоваться Полномочия другого Пользователя, если аутентифицированный Пользователь имеет право доступа Может выступать от имени других для соответствующего Домена.
Для того, что бы настроить Услуги Регистрации, откройте в области Установки страницу Real-Time и перейдите по ссылке Сигналы.
Модуль Signal поддерживает несколько Наборов Событий. При получении Запроса SUBSCRIBE, предназначенного для локального Пользователя, модуль может обработать Запрос самостоятельно, не пересылая его зарегистрированным устройствам Пользователя.
Модуль Signal обслуживает "кортежи" состояний для каждого Пользователя и для каждого поддерживаемого Набора Событий. Модуль позволяет одному или нескольким устройствам обновлять "кортежи" и агрегирует их в единую для всего Набора "информацию о состоянии" Пользователя. Когда агрегированная "информация о состоянии" изменяется, модуль отправляет всем подписанным участникам запросы NOTIFY, содержащие обновлённое состояние.
Модуль Signal позволяет внешним участникам изменять "кортежи" используя запросы PUBLISH.
Модуль Signal позволяет внешним участникам изменять "кортежи" для определённых Наборов используя нестандартные запросы SERVICE.
Модуль Signal обеспечивает специальную обработку для запросов REGISTER. Если внешний участник (SIP устройство) указывает поддержку метода SUBSCRIBE, то модуль устанавливает с этим участником диалог подписки на статус присутствия.
Затем модуль обрабатывает все запросы NOTIFY, отправляемые этим участником для обслуживания "кортежа" или "сегмента" его Статуса Присутствия.
Агрегированное значение события - это значение сегмента с самым высоким приоритетом или значение Вне сети, если сегменты отсутствуют.
При формировании запроса NOTIFY агрегированное значение преобразовывается в документ статуса присутствия в одном из поддерживаемых форматов.
В Модуле Signal реализован сервис MWI (Индикация Ожидающих Сообщений). Модуль поддерживает формат представления Информации simple-message-summary.
Сервер самостоятельно обслуживает кортеж/сегмент "INBOX" для этого набора Событий. Значение сегмента являются массивом:Агрегированное значение события - это массив, содержащий поэлементную сумму всех значений массивов сегментов.
Когда формирует запрос NOTIFY, использующий информацию в формате simple-message-summary, то значение первого элемента агрегированного массива используется как число новых голосовых сообщений, а разница между значением второго и первого элементов используется как число старых голосовых сообщений.
Если значение первого элемента не равно нулю, то элемент Messages-Waiting устанавливается в значение yes; в противном случае оно сбрасывается в no.
Подписка на набор Сводка о Сообщениях возможна только для самого Пользователя и для Пользователей, обладающих Правами Доступа "Может выступать от имени других".
В Модуле Signal реализована Услуга Мониторинга за Регистрацией. Модуль поддерживает формат представления Информации reginfo+xml и может информировать участников, находящихся в сети (таких, как SIP клиенты) обо всех других устройствах, зарегистрированных за Пользователем.
Подписка на набор Регистрация возможна только для самого Пользователя и для Пользователей, обладающих Правами Доступа "Может выступать от имени других".
Сервер CommuniGate Pro динамически создаёт, запускает и удаляет Узлы Реального Времени.
Узел - это внутренний объект Сервера CommuniGate Pro, который может получать Запросы Сигналов и давать Отклики на эти Запросы. Узел также может отправлять Запросы и обрабатывать Отклики.
Различные компоненты и модули CommuniGate Pro используют Узлы для работы с Сигналами:Для того, что бы настроить параметры компонента Узлы, используйте Веб Интерфейс Администратора. Откройте в области Установки страницу Real-Time, затем откройте страницу Узлы:
Сервер создаёт специальные Локальные Узлы, называемые Плечи Звонка. Каждое Плечо Звонка терминирует сигналы для одного телефонного звонка. Каждая Задачи PBX является Плечом Звонка и каждая XIMSS сессия может создавать одно или более Плечо Звонка для обслуживания телефонных звонков, инициированных или принятых в XIMSS сессии пользователя.
Настройки на панели Плечи Звонков применяются для всех типов Плечей Звонков:
Модуль Signal может генерировать Детализированную Информацию о Звонках об обработанных им транзакциях INVITE и BYE.
CDR может генерироваться и храниться в файлах Журнала CDR.Когда включена программа Помощник Внешний Обработчик CDR, то модуль Signal генерирует CDR и отправляет его в эту программу.
CDR данные имеют следующий формат: