Управление конференциями пользователями (conferences)
Обзор
Управляет существующими активными конференциями посредством команд API (без использования инициатив со стороны SIP-устройств).
Управлению доступны любые конференции, в том числе и селекторные совещания, управление которыми производится также независимо через /rest/v1/api/selectors.
Обслуживание запросов производится функциональной ролью mware.
Сервис доступен также из сценариев через компонент Операция.
Запросы
HTTP verb | Endpoint | Описание |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Получение списка конференций
Возвращает список активных конференций в пределах текущего домена.
Конференция относится к домену, если маршрутизация на нее проходит через КАФ этого домена (сущность featurecode с типом conference
).
Запрос
Имя | Тип | Описание |
---|---|---|
|
|
Фильтр по значениям полей. |
|
|
Список полей для вывода. Доступные поля для выдачи: |
|
|
Смещение в списке ресурсов, подлежащих выдаче. |
|
|
Максимальное количество ресурсов в списке. |
|
|
Порядок сортировки ресурсов в списке. |
|
|
Преобразование в плоский вид составных полей. |
|
|
Возврат лишь количества элементов. |
GET /rest/v1/uc/conferences?offset=0&limit=2 HTTP/1.1
curl -vvv -b ~/.curl-cookie http://oktell.studio/rest/v1/uc/conferences\?filter\='\{"conftype":"videoconference"\}'
Ответ
Возвращает ограниченное количество полей: confid, confroomnum, confnumber, uri, site, startts, uris. При указании других полей в mask они будут проигнорированы.
Возвращает список объектов, каждый из которых представляет собой отдельный диалог. Состав возвращаемых полей ограничен: confid, confroomnum, confnumber, uri, site, startts, uris
.
При указании других полей в параметре mask
они будут проигнорированы.
Поле | Описание |
---|---|
|
Идентификатор активной конференции, применяемый при формировании endpoint. Уникален в рантайме, однако не является глобально уникальным и может повторяться через некоторое время в рамках одной и той же системы. |
|
Номер конференц-комнаты. Строковое представление числа в десятичном виде. Используется совместно с префиксом featurecode в телефонном номере доступа в конференцию. |
|
Номер конференции. Строковое представление числа в шестнадцатиричном виде.
Используется в идентификаторе конференции |
|
Строковое представление URI конференц-комнаты. Формат: |
|
Строковый. Тип конференции. Может быть "videoconference" или "conference". |
|
Название сайта, серверы которого обслуживают конференцию. |
|
Тайм-штамп времени поступления инициирующего SIP-запроса INVITE на сервер конференций. Является представлением момента времени и может быть преобразован к конкретной дате в любом часовом поясе. Например, |
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
[
{
"confid": "rCF-005-PhKjyX",
"confnumber": "PhKjyX",
"confroomnum": "9",
"confuri": "<sip:conf-9@test.okteller.ru>",
"site": "SITE1",
"startts": 1572033454296
},
{
"confid": "rCF-005-Sglne4",
"confnumber": "Sglne4",
"confroomnum": "99652",
"confuri": "<sip:conf-99652@test.okteller.ru>",
"site": "SITE1",
"startts": 1572036671705
}
]
Поиск конферениции по ключу
Производит поиск ресурса (активной конференции) по указанному ключу.
Возвращается список с идентификаторами обнаруженных конференций, подходящих по условиям поиска.
Поиск конференции производится либо непосредственно, либо через диалог, одним из участников которого является конференция, а другим любой другой SIP-UA.
Применение поисковых полей производится по одному в порядке убывания приоритета в приведенной ниже таблице. Поисковые поля содержат в описании "Значение для поиска". Множественный возврат возможен, например, в случае поиска по логину SIP-пользователя, если он участвует в нескольких диалогах, каждый из которых соединен с конференцией.
Параметр | Тип | Описание |
---|---|---|
|
|
Значение для поиска диалога с конференцией. Идентификатор диалога. Уникален в рантайме, однако не является глобально уникальным и может повторяться через некоторое время в рамках одной и той же системы. Например, |
|
|
Значение для поиска диалога с конференцией. Глобально уникальный идентификатор вызова, приводящего к диалогу. Формируется при поступлении в систему SIP-запроса INVITE и существует вплоть до завершения диалога. Присутствует во всех событиях CDR класса callevents. Например |
|
|
Значение для поиска диалога с конференцией. Идентификатор звонка Например, |
|
|
Значение для поиска диалога с конференцией. SIP URI: |
|
|
Значение для поиска диалога с конференцией. Номер телефона или логин SIP-пользователя, используемые в качестве Может использовать дополнительный параметр
По умолчанию Обнаруживаются диалоги, где одной из сторон выступает указанный абонент текущего домена.
Поиск производится аналогично |
|
|
Значение для поиска диалога с конференцией. Идентификатор учетной записи SIP-пользователя. |
|
|
Значение для поиска диалога с конференцией. Логин учетной записи SIP-пользователя. |
|
|
Значение для поиска диалога с конференцией. Номер телефона учетной записи SIP-пользователя. |
|
|
Значение для поиска диалога с конференцией. Идентификатор учетной записи пользователя системы. Если имеет место привязка учетных записей SIP-пользователей к пользователю системы, то обнаруживаются диалоги, где один из этих SIP-пользователей является одним из абонентов. |
|
|
Значение для поиска конференции. Идентификатор конференции, применяемый при формировании endpoint. Уникален в рантайме, однако не является глобально уникальным и может повторяться через некоторое время в рамках одной и той же системы. Например, |
|
|
Значение для поиска конференции. SIP URI конференц-комнаты Например, |
|
|
Значение для поиска конференции. Номер конференц-комнаты. Строковое представление числа в десятичном виде. Используется совместно с префиксом featurecode в телефонном номере доступа в конференцию. Например, |
|
|
Значение для поиска конференции. Номер конференции. Строковое представление числа в шестнадцатиричном виде.
Используется в идентификаторе конференции Например, |
Получение данных конференции
Возвращает информацию об активной конференции.
При выполнении из сценария и обнаружении нескольких подходящих конференций, операция применяется только к первой из них.
Запрос
Имя | Тип | Описание |
---|---|---|
|
|
Идентификатор конференции. Передается как часть Endpoint URI. В качестве параметра может использоваться при отправке команды из сценария. |
|
|
Список полей для вывода. |
|
|
Преобразование в плоский вид составных полей. |
GET /rest/v1/uc/conferences/rCF-005-PhKjyX HTTP/1.1
Ответ
Возвращает объект с представлением конференции.
Поле | Описание |
---|---|
|
Идентификатор активной конференции, применяемый при формировании endpoint. Уникален в рантайме, однако не является глобально уникальным и может повторяться через некоторое время в рамках одной и той же системы. |
|
Номер конференц-комнаты. Строковое представление числа в десятичном виде. Используется совместно с префиксом featurecode в телефонном номере доступа в конференцию. |
|
Номер конференции. Строковое представление числа в шестнадцатиричном виде.
Используется в идентификаторе конференции |
|
Строковое представление URI конференц-комнаты. Формат: |
|
Название сайта, серверы которого обслуживают конференцию. |
|
Тайм-штамп времени поступления инициирующего SIP-запроса INVITE на сервер конференций. Является представлением момента времени и может быть преобразован к конкретной дате в любом часовом поясе. Например, |
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"confid": "rCF-005-PhKjyX",
"confnumber": "PhKjyX",
"confroomnum": "9",
"confuri": "<sip:conf-9@test.okteller.ru>",
"site": "SITE1",
"startts": 1572033454296
}
Завершение конференции
Завершает активную конференцию.
Сервер выступает инициатором разрыва для всех участников конференции (отправляет каждому SIP-запрос BYE).
Если конференция имеет исходящие звонки, не завершенные окончательным ответом 2xx-6xx
, то всем вызываемым абонентам отправляется SIP-запрос CANCEL.
Результат возвращается сразу после размещения запроса в очереди сервера конференций – без ожидания завершения конференции и ответов всех абонентских устройств.
При выполнении из сценария и обнаружении нескольких подходящих конференций, операция применяется только к первой из них.
Запрос
Имя | Тип | Описание |
---|---|---|
|
|
Идентификатор конференции. Передается как часть Endpoint URI. В качестве параметра может использоваться при отправке команды из сценария. |
DELETE /rest/v1/uc/conferences/rCF-005-PhKjyX HTTP/1.1
Получение списка участников конференции
Особенности
Возвращает список активных участников конференции.
При выполнении из сценария и обнаружении нескольких подходящих конференций, операция применяется только к первой из них.
Запрос
Имя | Тип | Описание |
---|---|---|
|
|
Идентификатор конференции. Передается как часть Endpoint URI. В качестве параметра может использоваться при отправке команды из сценария. |
|
|
Фильтр по значениям полей. |
|
|
Список полей для вывода. Доступные поля для выдачи: |
|
|
Смещение в списке ресурсов, подлежащих выдаче. |
|
|
Максимальное количество ресурсов в списке. |
|
|
Порядок сортировки ресурсов в списке. |
|
|
Преобразование в плоский вид составных полей. |
|
|
Возврат лишь количества элементов. |
GET /rest/v1/uc/conferences/rCF-005-PhKjyX/participants?offset=0&limit=2 HTTP/1.1
Ответ
Поле | Описание |
---|---|
|
Идентификатор участника конференции. Используется в endpoint. |
|
Состояние участника. Варианты значений: |
|
Call-Id плеча между b2b и conf. Содержится в соответствующем заголовке SIP-запроса INVITE (полученного или отправленного). На схеме: |
|
Строковое представление URI конференции (у всех участников одинаковое значение, совпадающиее со значением поля На схеме: |
|
Локальный таг в URI конференции в диалоге с участником на плече с конференцией. На схеме: |
|
Строковое представление URI участника. Формат: На схеме: |
|
Таг в URI абонента в диалоге с участником на плече с конференцией. На схеме: |
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
[
{
"participantid": "139cfa11-016e-04e2-7efe-02004c4f4f50",
"state": "active",
"callid": "rB2-002-1rG74m-01-934846955@192.168.0.146",
"luri": "<sip:conf-9@test.okteller.ru>",
"ltag": "rCF-005-9aGAQr",
"ruri": "<sip:13@test.okteller.ru>",
"rtag": "rB2-002-ARuy"
},
{
"participantid": "5fade58d-016e-04e2-6ac5-02004c4f4f50",
"state": "active",
"callid": "rB2-002-MonYHz-01-2617018390@192.168.0.147",
"luri": "<sip:conf-9@test.okteller.ru>",
"ltag": "rCF-005-AHoiiQ",
"ruri": "<sip:11@test.okteller.ru>",
"rtag": "rB2-002-OZQo"
},
{
"participantid": "6f6faa22-016e-047e-e0d8-02004c4f4f50",
"state": "active",
"callid": "rB2-002-aSB1Mw-01-17719884@192.168.0.149",
"luri": "<sip:conf-9@test.okteller.ru>",
"ltag": "rCF-005-CZ0Jjl",
"ruri": "<sip:12@test.okteller.ru>",
"rtag": "rB2-002-aoMh"
}
]
Добавление участника в конференцию
Инициирует новый вызов из конференции на указанный номер.
Результат возвращается без ожидания ответа абонента сразу после добавления участника в конференцию.
При выполнении из сценария и обнаружении нескольких подходящих конференций, операция применяется только к первой из них.
Запрос
Имя | Тип | Описание |
---|---|---|
|
|
Идентификатор конференции. Передается как часть Endpoint URI. В качестве параметра может использоваться при отправке команды из сценария. |
|
|
Номер вызываемого абонента. |
POST /rest/v1/uc/conferences/rCF-005-PhKjyX/participants HTTP/1.1
Content-Type: application/json; charset=utf-8
{
"to":"2216"
}
Ответ
Поле | Описание |
---|---|
|
Идентификатор конференции. Дублирует идентификатор из endpoint. Может применяться при выполнении команды из сценария и указания конференции отличным от идентификатора способом. |
|
Call-Id инициирующего автоматического звонка IVR→X (отличается от CallId плечей целевого диалога). Присутствует в любом случае. |
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"confid": "rCF-009-5HkaiZ",
"participantid": "c47067b6-016d-9085-40fd-e0d55eb5fab1"
}
Получение данных участника
Возвращает информацию об участнике конференции.
При выполнении из сценария и обнаружении нескольких подходящих конференций, операция применяется только к первой из них.
Запрос
Имя | Тип | Описание |
---|---|---|
|
|
Идентификатор конференции. Передается как часть Endpoint URI. В качестве параметра может использоваться при отправке команды из сценария. |
|
|
Идентификатор участника конференции. Передается как часть Endpoint URI. В качестве параметра может использоваться при отправке команды из сценария. |
|
|
Список полей для вывода. |
|
|
Преобразование в плоский вид составных полей. |
GET /rest/v1/uc/conferences/rCF-005-PhKjyX/participants/139cfa11-016e-04e2-7efe-02004c4f4f50 HTTP/1.1
Ответ
Возвращает объект с представлением участника конференции.
Поле | Описание |
---|---|
|
Идентификатор участника конференции. Используется в endpoint. |
|
Состояние участника. Варианты значений: |
|
Call-Id плеча между b2b и conf. Содержится в соответствующем заголовке SIP-запроса INVITE (полученного или отправленного). На схеме: |
|
Строковое представление URI конференции (у всех участников одинаковое значение, совпадающиее со значением поля На схеме: |
|
Локальный таг в URI конференции в диалоге с участником на плече с конференцией. На схеме: |
|
Строковое представление URI участника. Формат: На схеме: |
|
Таг в URI абонента в диалоге с участником на плече с конференцией. На схеме: |
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"participantid": "139cfa11-016e-04e2-7efe-02004c4f4f50",
"state": "active",
"callid": "rB2-002-1rG74m-01-934846955@192.168.0.146",
"luri": "<sip:conf-9@test.okteller.ru>",
"ltag": "rCF-005-9aGAQr",
"ruri": "<sip:13@test.okteller.ru>",
"rtag": "rB2-002-ARuy"
}
Удаление участника конференции
Исключает участника из конференции, в следствие чего абоненту отправляется SIP-запрос BYE.
Результат возвращается сразу после размещения запроса в очереди сервера конференций – без ожидания ответа абонентского устройства.
При выполнении из сценария и обнаружении нескольких подходящих конференций, операция применяется только к первой из них.
Запрос
Имя | Тип | Описание |
---|---|---|
|
|
Идентификатор конференции. Передается как часть Endpoint URI. В качестве параметра может использоваться при отправке команды из сценария. |
DELETE /rest/v1/uc/conferences/rCF-005-PhKjyX/participants/139cfa11-016e-04e2-7efe-02004c4f4f50 HTTP/1.1
Ответ
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"confid": "rCF-005-PhKjyX",
"participantid": "139cfa11-016e-04e2-7efe-02004c4f4f50"
}
HTTP/1.1 404 Not Found
Content-Type: application/json; charset=utf-8
{
"error_code": 1404,
"error_message": "Call/Participant not found"
}
При запросе из сценария
Выполняя команды из сценария компонентом Операция, идентификатор целевой конференции следует передавать среди параметров запроса.
При выполнении запроса из сценария указать на целевую конференцию можно разными способами – перечислены ниже в порядке убывания приоритета с кратким описанием. Подробно о них см. в параметрах операции поиска конференции.
-
Через указание диалога, одной из сторон которого является целевая конференция:
-
dialogid
– по идентификатору диалога. -
inviteid
– по идентификатор вызова, приводящего к диалогу. -
callid
– по идентификаторуCall-Id
одного из плечей диалога. -
uri
– по URI одного из участников диалога:"<sip:username@domain>"
. -
from
– по номеру телефона или логину SIP-пользователя. Используется дополнительный параметрmode
:"number"
или"sipuser"
. -
sipuserid
– по идентификатору учетной записи SIP-пользователя. -
sipuserlogin
– по логину учетной записи SIP-пользователя. -
sipuserphonenumber
– по номеру телефона учетной записи SIP-пользователя. -
userid
– по идентификатор учетной записи пользователя системы.
-
-
Через непосредственное указание конференции:
-
confid
– по идентификатору конференции. -
confroomnum
– по номеру конференц-комнаты. -
confnumber
– по телефонному номеру доступа в конференцию, содержащему префикс featurecode.
-
См. также
-
API /rest/v1/uc/conferences_by_participation для управления ограниченным набором конференций домена с участием авторизованного пользователя.
-
API /rest/v1/uc/calls для управления произвольными звонками домена.
-
Компонент сценариев Операция.
-
Функциональная роль conf.
-
Функциональная роль mware.