Компонент Операция

Описание

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

Table 1. Системные характеристики

Индекс

145

Краткое название

operation

Типы сценариев

svc

Стартовый модуль

r_script_component_operation_svc

Режим

Асинхронный

Иконка

145

Характер разветвления

Разветвляющий, замыкающий

Свойства

Table 2. Свойства
Спецификация Описание

Название: Тип операции
Код: type
Усл. видимости: нет
По умолчанию: CRUD в домене

Выбор категории операций.
Возможные значения:

  • CRUD в домене (crud, 0) – Группа операции над сущностями доменов (чтение, создание, модификация, удаление). Операция возможна только над классами, управляемыми доменным центром (роли mdc, sdc). Доступны в API через эндпойнты, отличные от /rest/v1/model/…​

  • Модель данных в домене (dms, 8) – Группа операций над сущностями динамической модели данных домена (чтение, создание, модификация, удаление, очистка, работа с вложениями). Операция возможна только над классами, управляемыми сервером модели данных (роль dms). Доступны в API через эндпойнты /rest/v1/model/…​

  • Регистрар (registrar,5) - Данные из регистрара.

  • Привязка звонка (bindings, 1) – Проставление метки в контекст к указанному звонку. Особенность метки в том, что она переходит от одного звонка к другому при переключениях (SIP REFER).

  • Управление звонком (callmanager, 3) – Группа операций логического управления звонками и конференциями.

  • Управление sipuser (sipuser, 6) – Операция управления sipuser для выставления huntblock.

  • Скачать запись разговора (records, 4) - Скачивает запись разговора с хранилища записей и размещает во временном каталоге сценария, записывая специальный путь к файлу в переменную с результатом.

Название: Домен
Код: crudDestTD
Усл. видимости: да
По умолчанию: Сценария

Выбор домена, в котором проводится операция.
Применяется для операций категории CRUD в домене.
Возможные значения:

  • Сценария (same, 0) – Домен текущего сценария.

  • Другой (specified, 1) – Указать домен.

Название: Имя домена
Код: crudDomain
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий имя домена для осуществления операции над сущностями. Допускается только указание доменов из дочернего дерева.
Применяется для операций категории CRUD в домене.

Название: Логин пользователя
Код: crudUser
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий логин пользователя в домене.
Применяется для операций категории CRUD в домене.

Название: Тип сущности
Код: crudObject
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий имя класса сущностей.
Применяется для операций категории CRUD в домене.

Название: Метод
Код: crudOperation
Усл. видимости: да
По умолчанию: Создать

Выбор операции.
Возможные значения:

  • Создать (create, 0) – Создание сущности.

  • Получить (read, 1) – Получение набора сущностей.

  • Обновить (update, 2) – Изменение сущности.

  • Удалить (delete, 3) – Удаление сущности.

Применяется для операций категории CRUD в домене.

Название: Данные
Код: crudData
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий либо json-объект со значениями полей при создании или обновлении, либо с идентификатором при удалении.
Применяется для операций категории CRUD в домене.

Правила формирования выражений для JSON-значений см. Экранирование JSON и Шаблоны.

Название: Фильтр
Код: crudFilter
Усл. видимости: да
По умолчанию: — 

Поисковый фильтр для операции получения сущностей категории CRUD в домене.
Указывается в виде JSON-структуры, содержащей объект. Порядок указания и применения (параметр filter).

Пример 1 (общий REST формат)
["&&",["like",["property","phonenumber"],"1*"], ["like",["property","login"],"sip*"]]
Пример 2 (формат доменного центра)
{"phonenumber": "1%", "login": "sip%"}

Название: Сортировка
Код: crudSort
Усл. видимости: да
По умолчанию: — 

Режим сортировки для операции получения сущностей категории CRUD в домене.
Указывается в виде JSON-структуры, содержащей массив. Порядок указания и применения (параметр order).

Пример 1
"phonenumber"
Пример 2
["phonenumber", "login"]
Пример 3
[{"phonenumber": "asc"}, {"login":"desc"}]

Название: Доп.параметры
Код: crudParam
Усл. видимости: да
По умолчанию: — 

Дополнительные параметры к запросу в доменный центр в формате JSON для получения сущностей категории CRUD в домене.

Пример 1
{"offset": 3}
Пример 2
[{"offset": 3}, {"limit": 2}, {"flat": true}]

Название: Поля
Код: crudFields
Усл. видимости: да
По умолчанию: — 

Маска выдачи объектов (поля) для операции получения сущностей категории CRUD в домене.
Указывается в виде строки с перечислением названий полей через запятую. Порядок указания и применения (параметр mask).

Пример
id, login, phonenumber, opts

Название: Домен
Код: dmsDestTD
Усл. видимости: да
По умолчанию: Сценария

Выбор домена, в котором проводится операция.
Применяется для операций категории Модель данных в домене.
Возможные значения:

  • Сценария (same, 0) – Домен текущего сценария.

  • Другой (specified, 1) – Указать домен.

Название: Имя домена
Код: dmsDomain
Усл. видимости: да
По умолчанию: — 

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

Название: Логин пользователя
Код: dmsUser
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий логин пользователя в домене.
Применяется для операций категории Модель данных в домене.

Название: Имя класса
Код: dmsObject
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий имя класса динамической модели данных (поле classname в экземплярах коллекции classes).
Применяется для операций категории Модель данных в домене.

Пример
email/Accounts

Название: Метод
Код: dmsOperation
Усл. видимости: да
По умолчанию: Создать

Выбор операции.
Возможные значения:

  • Чтение коллекции (read_collection, 0) – Возвращает произвольные элементы с применением фильтра, сортировки, маскировки, лимита и сдвига.

  • Агрегация (read_aggr, 1) – Возвращает агрегированные данные по коллекции. Позволяет выбрать произвольные (в том числе сложные, с суперпозицией) основания и агрегирующие функции. Возвращает набор, состояющий только из указанных полей.

  • Поиск по ключу (lookup, 2) – Получение набора сущностей. Позволяет обнаружить идентификаторы сущностей по значениям их lookup-полей.

  • Чтение сущности (read_entity, 3) – Возвращает указанную сущность. Позволяет применить маскировку.

  • Создание сущности (create, 4) – Создает сущность в коллекции.

  • Замена сущности (replace, 5) – Заменяет сущность в коллекции на новую. Неупомянутые поля очищаются.

  • Изменение сущности (update, 6) – Изменяет сущность в коллекции. Неупомянутые поля остаются нетронутыми.

  • Удаление сущности (delete, 7) – Удаляет сущность из коллекции.

  • Очистка коллекции (clear, 8) – Очищает коллекцию целиком.

  • Скачать вложение (get_attach, 9) – Скачивает вложение во временный файл и сохраняет путь к нему в результат. Требует указания имени свойства с типом attachment. В случае если поле является списочным, то требует также указания имени файла.

  • Разместить вложение (put_attach, 10) – Размещает вложение из указанного файла в хранилище с привязкой к сущности. Требует указания имени свойства с типом attachment.

  • Удалить вложение (delete_attach, 11) – Удаляет вложение из хранилища и отвязывает его от сущности. Требует указания имени свойства с типом attachment. В случае если поле является списочным, то требует также указания имени файла.

  • Листинг вложений (list_attaches, 12) – Возвращает список вложений в рамках конкретного свойства конкретной сущности - объекты с указанием имени, размера, времени модификации, хеша. Требует указания имени свойства с типом attachment, которое обязательно должно быть списочным.

  • Очистить вложения (clear_attaches, 13) – Очищает список вложений в рамках конкретного свойства конкретной сущности. Требует указания имени свойства с типом attachment, которое обязательно должно быть списочным.

Применяется для операций категории Модель данных в домене.

Название: Путь (date/datetime)
Код: dmsPrepath
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий путь к сущности (для коллекций типа history и transactionlog. Дата или дата/время соответствующее значению из поля, указанного в class.opts.partition_property).
Применяется для операций категории Модель данных в домене по отношению к коллекциям типов history и transactionlog.

Название: Ид сущности
Код: dmsId
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий идентификатор сущности.
Применяется для операций категории Модель данных в домене.

Название: Название свойства
Код: dmsProperty
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий название свойства, содержащего целевое вложение.
Применяется для операций категории Модель данных в домене.

Название: Имя файла (multi)
Код: dmsSubId
Усл. видимости: да
По умолчанию: — 

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

Название: Начало интервала (date/datetime)
Код: dmsIntervalFrom
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий дату/время начала интервала выборки объектов из коллекций с типом history и transactionlog.
Применяется для операций категории Модель данных в домене.

Название: Конец интервала (date/datetime)
Код: dmsIntervalTo
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий дату/время конца интервала выборки объектов из коллекций с типом history и transactionlog.
Применяется для операций категории Модель данных в домене.

Название: Фильтр (json)
Код: dmsFilter
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий json-список c описанием фильтра для выборки элементов коллекции.
Применяется для операций категории Модель данных в домене.

Пример
["&&",["like",["property","phonenumber"],"1*"], ["like",["property","login"],"sip*"]]

Название: Сортировка (json)
Код: dmsOrder
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий json-список с описанием последовательности сортировки элементов коллекции.
Применяется для операций категории Модель данных в домене.

Указывается в виде JSON значения - поле, список полей, список объектов с указанием направления сортировки. Порядок указания и применения (параметр order).

Пример 1
"phonenumber"
Пример 2
["phonenumber", "login"]
Пример 3
[{"phonenumber": "asc"}, {"login":"desc"}]

Название: Маска (json)
Код: dmsMask
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий json-список из полей, подлежащих выборке.
Применяется для операций категории Модель данных в домене.

Указывается в виде JSON-списка строк - имен полей. Порядок указания и применения (параметр mask).

Пример
["id", "name", "description"]

Название: Сдвиг
Код: dmsOffset
Усл. видимости: да
По умолчанию: — 

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

Название: Количество
Код: dmsLimit
Усл. видимости: да
По умолчанию: — 

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

Название: Поля группировки (json)
Код: dmsGroupBy
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий json-объект из полей группировки. Значения элементов - списки, представляющие функцию для расчета базы агрегации.
Применяется для операций категории Модель данных в домене.

Название: Поля агрегации (json)
Код: dmsAggr
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий json-объект из полей агрегации. Значения элементов - списки, представляющие агрегирующую функцию. Может быть применена суперпозиция для расчета сложных показателей агрегации.
Применяется для операций категории Модель данных в домене.

Название: Содержимое (json)
Код: dmsContent
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий json-объект со значениями полей при сохранении сущности.
Применяется для операций категории Модель данных в домене.

Правила формирования выражений для JSON-значений см. Экранирование JSON и Шаблоны.

Название: Путь к файлу (string)
Код: `dmsFromPath

Усл. видимости: да
По умолчанию: — 

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

Название: Тип сущности
Код: regType
Усл. видимости: да
По умолчанию: — 

Выбор из списка видов регистрируемых сущностей".
Возможные значения:

  • Пользователи (user, 1) – Регистрации и подключения пользователей.

  • SIP-пользователи (sipuser, 2) – Регистрации SIP-устройств.

Применяется для операций категории Регистрар.

Название: Метод
Код: regOperationU
Усл. видимости: да
По умолчанию: Получить вебсокет подключения

Выбор операции.
Возможные значения:

  • Получить вебсокет подключения (read_user_websock_connections, 1) – Получение массива данных о вебсокет-подключениях в виде JSON.

  • Получить регистрации (read_user_registrations, 2) – Получение массива данных о регистрацих по HTTP в виде JSON.

Применяется для операций категории Регистрар для выбранного типа сущностей Пользователи.

Название: Метод
Код: regOperationSU
Усл. видимости: да
По умолчанию: Получить регистрации

Выбор операции.
Возможные значения:

  • Получить регистрации (read_user_registrations, 1) – Получение массива данных о регистрацих устройств.

Применяется для операций категории Регистрар для выбранного типа сущностей SIP-пользователи.

Название: Учетная запись
Код: regAccU
Усл. видимости: да
По умолчанию: — 

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

Название: Учетная запись
Код: regAccSU
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий логин или идентификатор сущностий. Если значение пустое, то вернутся все записи.
Применяется для операций категории Регистрар для выбранного типа сущностей SIP-пользователи.

Название: Фильтр
Код: regFilter
Усл. видимости: да
По умолчанию: — 

Поисковый фильтр для операции получения сущностей категории Регистрар.
Указывается в виде JSON-структуры, содержащей объект. Порядок указания и применения (параметр filter).

Название: Сортировка
Код: regSort
Усл. видимости: да
По умолчанию: — 

Режим сортировки для операции получения сущностей категории Регистрар.
Указывается в виде JSON-структуры, содержащей массив. Порядок указания и применения (параметр order).

Название: Поля
Код: regFields
Усл. видимости: да
По умолчанию: — 

Маска выдачи объектов (поля) для операции получения сущностей категории Регистрар.
Указывается в виде JSON-структуры, содержащей объект. Порядок указания и применения (параметр mask).

Название: Доп.параметры
Код: regParam
Усл. видимости: да
По умолчанию: — 

Дополнительные параметры операции выборки категории Регистрар.
Дополнительные поля: offset, limit и т.д. Порядок указания и применения.

Название: Метод
Код: bindingOperation
Усл. видимости: да
По умолчанию: Добавить

Выбор операции с метками контекста звонка.
Применяется для операций категории Привязка звонка.
Возможные значения:

  • Добавить (add, 0) – Добавляет метку.

  • Удалить (remove, 1) – Удаляет метку.

  • Изменить (setx, 2) – Заменяет метку на новую.

  • Очистить (cleanup, 3) – Очищает метку.

  • Проверить (contains, 4) – Проверяет наличие указанной метки и возвращает 1 или 0.

  • Получить (get, 5) – Возвращает метку.

Название: Идентификатор звонка
Код: bindingCallOrDlgId
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий идентификатор звонка: CallId или DialogId.
Применяется для операций категории Привязка звонка.

Название: Метка
Код: bindingLabel
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий текстовое содержание метки.
Применяется для операций категории Привязка звонка.

Название: Метод
Код: callmanagerOperation
Усл. видимости: да
По умолчанию: Исходящий вызов

Выбор операции для управления звонком.
Применяется для операций категории Управление звонком.
Возможные варианты:

  • Поиск звонка (lookupcall, 9) – Возвращает идентификатор звонка (DialogId) по одному из ключевых значений: DialogId, InviteId, CallId одного из плеч, URI одного из плеч в формате <sip:Username@Domain> и др.

  • Поиск конференции (lookupconf, 10) – Возвращает идентификатор конференции (ConfId) по одному из ключевых значений: ConfId, номер комнаты, URI конференции.

  • Список звонков (listcalls, 11) – Возвращает список звонков в домене.

  • Список конференций (listconfs, 12) – Возвращает список идентификаторов конференций (ConfId) в домене.

  • Информация о звонке (getcall, 13) – Возвращает информацию о звонке.

  • Информация о конференции (getconf, 14) – Возвращает информацию о конференции.

  • Исходящий вызов (invite, 0) – Инициирует новый вызов от одного абонента к другому. Совершается сервисом IVR, который вызывает сначала одного абонента, а потом переключает его на другого с помощью SIP-запроса REFER. У первоначального (интерком)-вызова устройства инициирующего абонента из IVR проставляется признак Ghost=invite.

  • Исходящий вызов от IVR (invitebyivr, 18) – Инициирует новый вызов и соединяет его с указанным сценарием IVR. Совершается сразу сервисом IVR. Абонент может быть указан как через номер, так и через учетную запись. У вызова из IVR проставляется признак Ghost=invitebyivr.

  • Завершение звонка (bye, 1) – Завершает указанный вызов или совокупность вызовов по указанному URI.

  • Уведомление (notify, 17) - Отправляет на устройство запрос NOTIFY с указанным в параметре event типом события (Например, расширение BroadSoft для управления устройством). Параметр callid указывает плечо, за которым находится конкретное устройство. Команда выполняется только если в соответствии с RFC3265 устройство сообщило о поддержке указанного типа событий (расширения). Опциональные параметры: body и contenttype.

  • Перевод на номер (refer, 2) – Осуществляет перевод абонента указанного звонка на указанный номер. Совершается сервисом IVR, который подменяет плечо (SIP-запрос INVITE+Replaces) и отправляет SIP-запрос REFER. У взрезающего вызова из IVR проставляется признак Ghost=refer.

  • Перевод на IVR (refertoivr, 19) – Осуществляет перевод абонента указанного звонка на указанный сценарий IVR. Совершается сразу сервисом IVR, который подменяет плечо (SIP-запрос INVITE+Replaces). У взрезающего вызова из IVR проставляется признак Ghost=refertoivr.

  • Соединение (referreplaces, 3) – Осуществляет соединение абонентов двух разных звонков, отбивая оставшихся. Совершается сервисом IVR, который подменяет плечо (SIP-запрос INVITE+Replaces), после этого переводит на другого абоненета с помощью SIP-запроса REFER+Replaces. У взрезающего вызова из IVR проставляется признак Ghost=referreplaces.

  • Перевод на конференцию (referconf, 8) – Осуществляет переключение одного из абонентов указанного звонка на указанную конференцию. Если второй абонент держит конференцию на удержании, то ему остается нажать HOLD. У взрезающего вызова из IVR проставляется признак Ghost=refer.

  • Преобразование в конференцию (switchconf, 4) – Осуществляет перевод обоих абонентов звонка в общую конференцию. Совершается сервисами IVR, каждый из которых подменяет отдельное плечо с помощью SIP-запроса INVITE+Replaces, и затем переводит на номер конференц-комнаты с помощью SIP-запроса REFER. У взрезающих вызовов из IVR проставляется признак Ghost=switchconf.

  • Остановка конференции (stopconf, 5) – Осуществляет завершение указанной конференции с автоматическим отключением всех участников.

  • Список участников (getparticipants, 15) – Возвращает список участников конференции.

  • Информация об участнике (getparticipant, 16) – Возвращает информацию об участнике конференции.

  • Присоединение участника (attachparticipant, 6) – Осуществляет исходящий вызов из указанной конференц на указанный номер.

  • Исключение участника (detachparticipant, 7) – Осуществляет отключение участника из конференции.

Название: Параметры (JSON)
Код: callmanagerParams
Усл. видимости: да
По умолчанию: — 

Параметры для операции управления звонком.
Значение для каждого из методов представляет собой JSON-структуру в виде объекта с содержанием, соответствущем API управления звонками и конференциями.
Применяется для операций категории Управление звонком.

Название: Метод
Код: sipuserOperation
Усл. видимости: да
По умолчанию: Установка huntblock

Выбор метода.
Возможные значения:

  • Установка huntblock (huntblock, 0) – Установка huntblock.

Применяется для операций категории Управление sipuser.

Название: Логин или Id
Код: sipuserLoginOrId
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий логин или id сущности sipuser в домене.
Применяется для операций категории Управление sipuser.

Название: Тип таймаута
Код: sipuserHBStrat
Усл. видимости: да
По умолчанию: Заменить

Выбор типа таймаута.
Возможные значения:

  • Заменить (single_newexpire, 1) – Замена одиночного состояния на другое такое же с установкой нового таймера автоудаления.

  • Максимальный (single_maxexpire, 2) – Замена одиночного состояние на другое такое же с установкой таймера автоудаления на время равное max(остаток, новое время).

Применяется для операций категории Управление sipuser.

Название: Таймаут, сек.
Код: sipuserTTLSec
Усл. видимости: да
По умолчанию: — 

Время блокировки указанного sipuser для очередей huntq в секундах.

Применяется для операций категории Управление sipuser.

Название: Комментарий
Код: sipuserComment
Усл. видимости: да
По умолчанию: — 

Комментарий блокировки указанного sipuser для очередей huntq.

Применяется для операций категории Управление sipuser.

Название: Ид хранилища
Код: recStorageId
Усл. видимости: да
По умолчанию: — 

Аргумент содержащий идентификатор/код хранилища.
Применяется для операций в категории Скачать запись разговора.

Название: Путь к записи в хранилище
Код: recPath
Усл. видимости: да
По умолчанию: — 

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

Название: Имя домена
Код: extauthDomain
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий имя домена для операции. Допускается указание любого существующего в системе домена.
Применяется для операций категории Внешняя аутентификация методами Проверка пароля и Создание сессии.

Название: Логин или Id
Код: extauthLoginOrId
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий логин или идентификатор пользователя (значение поля login или id) сущности user в домене.
Применяется для операций категории Внешняя аутентификация методами Проверка пароля и Создание сессии.

Название: Пароль
Код: extauthPwd
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий пароль (значение поля pwd) сущности user в домене.
Применяется для операций категории Внешняя аутентификация метода Проверка пароля.

Название: Ключ данных wsban
Код: extauthWsbanKey
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий ключ данных для добавления неудавшейся попытки в wsban.
Чтобы противостоять перебору данных аутентификации, необходимо их применить при формировнии ключа для wsban.
Применение ключа позволяет избегать блокирования неправильно реализованных клиентов, которые несмотря на негативный ответ попытки аутентификации, продолжают слать одни и те же данные снова и снова.
Например, Создание сессии применяет {Domain,Login,Pwd} в качестве ключа.
Полученное значение ключа подвергается хешированию и не сохраняется в явном виде. Если не передавать в ключ какое-либо поле, оно будет подвержено перебору, т.к. не учитывая его будет создана только одна запись (при совпадении всех других полей), что само по себе ещё не вызовет блокировки.
Применяется для операций категории Внешняя аутентификация методами Создание сессии и Добавление в wsban.

Название: Результат в переменную
Код: resultVariable
Усл. видимости: нет
По умолчанию: — 

Переменная для сохранения результата операции.

Название: Переход
Код: transfer
Усл. видимости: нет
По умолчанию: — 

Компонент, которому передается управление при успешном завершении операции.

Название: Переход, время
Код: transferTimeout
Усл. видимости: нет
По умолчанию: — 

Компонент, которому передается управление по истечении таймауте ожидания результата операции.

Название: Переход, ошибка
Код: transferError
Усл. видимости: нет
По умолчанию: — 

Компонент, которому передается управление в случае возникновения ошибки.

См. также