Операции с устройствами (device)
Обзор
Производит управление зарегистрированными SIP-устройствами путем отправки соответствующих SIP-запросов.
Запросы
| HTTP verb | Endpoint | Описание |
|---|---|---|
|
|
Отправка команды устройствам
Выполняется администратором домена.
Инициация отправки команды на устройства, зарегистрированные под учетной записью.
Каждому зарегистрированному устройству отправляется SIP-запрос: для info и message - SIP INFO и SIP MESSAGE,
в остальных случаях - SIP NOTIFY, значение заголовка Event которого определяется полем operation либо задаётся напрямую полем event.
Поддерживаемые операции (operation):
-
sync- принудительная синхронизация настроек autoprovision (Event: check-sync; reboot=false). -
restart- перезагрузка устройства (Event: check-sync; reboot=true). -
resync- повторная синхронизация (Event: resync). -
info- отправка SIP INFO с теломcontent. -
message- отправка SIP MESSAGE с теломcontent.
Для sync и restart используется расширение Broadworks.
Некоторые виды устройств не поддерживают синхронизацию без перезагрузки, тем самым эти команды неразличимы.
| Поле | Тип | Описание |
|---|---|---|
|
str |
|
|
str |
Произвольное значение заголовка |
|
str, [str] |
Дополнительные SIP-заголовки в виде |
|
str |
Тело запроса. Передаётся только вместе с |
|
str |
Значение заголовка |
Ожидание ответа устройств - до 10 секунд.
Запрос
POST /rest/v1/uc/sipusers/abcdabcd-abcd-abcd-abcd-abcdabcdabcd/device HTTP/1.1
Content-Type: application/json; charset=utf-8
{
"operation": "sync"
}
Ответ
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"result": "true"
}
Поле result: "true" - получен ответ хотя бы от одного устройства; "false" - нет зарегистрированных устройств или ни одно не ответило;
"error" - ошибка выполнения, описание в поле errormsg.
POST /rest/v1/uc/sipusers/abcdabcd-abcd-abcd-abcd-abcdabcdabcd/device HTTP/1.1
Content-Type: application/json; charset=utf-8
{
"event": "check-sync",
"headers": ["X-Custom: 1"],
"content": "hello",
"contentType": "text/plain"
}
HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=utf-8
{
"error_code": 1506,
"error_message": "Access denied. Only administrator is allowed to perform request.",
"error_details": {
"msg_code":"10038"
}
}
{
"error_code":1413,
"error_message":"Invalid params. Sipuser not found: 'abcdabcd-abcd-abcd-abcd-abcdabcdabcd'"
}