В сервере CommuniGate Pro реализован интерфейс Parlay X для работы с сигналами реального времени, автоматическими правилами, тарификацией и другими функциями. Parlay X является протоколом на базе HTTP/XML. Он используется при обращении через модуль HTTP User CommuniGate Pro к разделу /ParlayX/.

Все HTTP запросы Parlay X должны быть аутентифицированы.

Поддерживается интерфейс Parlay X версии 2 и версии 3.

Управление звонками третьей стороной

Управление звонками третьей стороной через интерфейс ParlayX позволяет клиентскому приложению:

  • инициировать звонок между двумя сторонами,

  • читать статус инициированного звонка,

  • прервать инициированный звонок,

  • закончить инициированный звонок.

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

Параметры приложения являются параметрами запроса: адреса вызывающей и вызываемой стороны и, при необходимости, параметр charging.

Возвращаемый callIdentifier является идентификатором задачи запущенного приложения.

Запросы «прервать звонок» и «закончить звонок» отправляются в запущенное приложение как события cancelCall и endCall.

Запрос «прочитать статус» возвращает содержимое словаря «статус приложения», устанавливаемого запущенным приложением.

Запросы «добавить участника» и «удалить участника» отправляются в запущенное приложение как события addCallPeer и delCallPeer; в параметрах события содержится URI участника, указанное в запросе.

Запросы «переключить участника» отправляются в запущенное приложения как два события.
Первым отправляется событие transferTarget. Его параметры содержат идентификатор задачи для сессии, в которую должен быть передан участник.
Затем отправляется событие transferCallPeer. Его параметры содержит URI участника, указанного в запросе.

Приложение не завершает свою работу немедленно в случае аварийного завершения или прекращения звонка. Приложение продолжат работать ещё некоторое время (по умолчанию около 30 секунд), обрабатывая запросы "прочитать статус" для завершения звонка / сессии.

Уведомление о звонках

Интерфейс ParlayX для обработки звонков позволяет клиентским приложениям задавать сигнальные правила для пользователя. Эти правила включают в себя специальные действия Parlay, в которых реализованы команды "направление звонка" ("CallDirection") и «уведомление о звонке» (""CallNotification"") интерфейса Parlay.

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

Обратите внимание: запросы stopCallNotification и stopCallDirectionNotification должны содержать части addresses и criteria, а значение части correlator игнорируется.
Это необходимо по причине того, что правила задаются индивидуально для каждого пользователя, а данные correlator не позволяют серверу направить запрос на удаление правила для нужного пользователя.

Обратите внимание: сообщения handleXxxxResponse могут задавать действия “подключить” вместо действия “перенаправить к”. Адрес, указанный в части routingAddress добавляется в набор AOR-сигнала, но активным остаётся текущий набор AOR.

Платежи

Интерфейс для платежей ParlayX позволяет клиентскому приложению взаимодействовать с менеджером тарификации CommuniGate Pro.

Обратите внимание: пользователь CommuniGate Pro может иметь несколько остатков. Все запросы на платежи ParlayX должны включать элемент типа xsd:string balanceType, задающий имя остатка пользователя.

Управление пользователем

Интерфейс для управления пользователем ParlayX позволяет клиентскому приложению взаимодействовать с менеджером тарификации CommuniGate Pro.

Обработка звонков

Интерфес ParlayX для обработки звонков позволяет клиентским приложениям:

  • задавать сигнальные правила для пользователя,

  • прочитать сигнальные правила, заданные для пользователя.

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

Все элементы acceptList Parlay X преобразовываются в одно сигнальное правило.
Все элементы blockList Parlay X преобразовываются в одно сигнальное правило.
Элемент forward и каждый элемент forwardList Parlay X преобразовываются в три сигнальных правила.