Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
uniphone:asterisk [2017/09/08 11:23] mcvet Добавлено calls.hold и calls.unhold |
uniphone:asterisk [2021/03/29 12:33] (текущий) mcvet |
||
---|---|---|---|
Строка 17: | Строка 17: | ||
"status":string, | "status":string, | ||
"record":string, | "record":string, | ||
- | "line_number":string | + | "line_number":string, |
+ | "user_data":object | ||
}</code> | }</code> | ||
Строка 29: | Строка 30: | ||
| **to**\\ [[uniphone:asterisk#caller|object(Caller)]] | Данные вызываемого. | | | **to**\\ [[uniphone:asterisk#caller|object(Caller)]] | Данные вызываемого. | | ||
| **status**\\ string | Статус вызова (при наличии) по завершению звонка. Принимает следующие значения:\\ //ANSWER// - на вызов был ответ;\\ //BUSY// - получен сигнал "занято";\\ //NOANSWER// - на вызов не было ответа;\\ //CANCEL// - звонящий отменил вызов;\\ //CONGESTION// - произошла ошибка во время вызова;\\ //CHANUNAVAIL// - у вызываемого абонента отсутствует регистрация. | | | **status**\\ string | Статус вызова (при наличии) по завершению звонка. Принимает следующие значения:\\ //ANSWER// - на вызов был ответ;\\ //BUSY// - получен сигнал "занято";\\ //NOANSWER// - на вызов не было ответа;\\ //CANCEL// - звонящий отменил вызов;\\ //CONGESTION// - произошла ошибка во время вызова;\\ //CHANUNAVAIL// - у вызываемого абонента отсутствует регистрация. | | ||
- | | **record**\\ string | Содержит ссылку на файл записи разговора. | | + | | **record**\\ string | Идентификатор записи разговора. | |
- | | **line_number**\\ string | Номер телефона (при наличии), предоставляемого провайдером, на который был совершен звонок. | | + | | **line_number**\\ string| Номер телефона (при наличии), предоставляемого провайдером, на который был совершен звонок. | |
+ | | **user_data**\\ object | Содержит набор пользовательских данных, указанных в команде [[uniphone:asterisk#request_providerv1cmdcallsdial|calls.dial]]. | | ||
=== Caller === | === Caller === | ||
Строка 94: | Строка 96: | ||
| **conversation**\\ //integer// | Продолжительность разговора в секундах (время от начала разговора и до его завершения). Если вызов находился на удержании (hold), то время удержания будет вычтено. | | | **conversation**\\ //integer// | Продолжительность разговора в секундах (время от начала разговора и до его завершения). Если вызов находился на удержании (hold), то время удержания будет вычтено. | | ||
| **duration**\\ //integer// | Продолжительность вызова в секундах. | | | **duration**\\ //integer// | Продолжительность вызова в секундах. | | ||
- | | **record_file**\\ //string// | Ссылка на файл записи разговора. | | + | | **record_file**\\ //string// | Идентификатор записи разговора. | |
Строка 139: | Строка 141: | ||
}, | }, | ||
"action":"Joined" | "action":"Joined" | ||
+ | }</code> | ||
+ | |||
+ | |||
+ | ==== [subscribe] provider.v1.meetings ==== | ||
+ | Сообщает о начале телеконференции или изменении состава ее участников. | ||
+ | |||
+ | == JSON формат: == | ||
+ | <code>{ | ||
+ | "time":string, | ||
+ | "room":string, | ||
+ | "action":string, | ||
+ | "organizer":object(Caller), | ||
+ | "member":object(Caller), | ||
+ | "total_members":integer | ||
+ | }</code> | ||
+ | |||
+ | == Параметры: == | ||
+ | ^ Наименование поля ^ Описание ^ | ||
+ | | **time**\\ string | Дата и время возникновения события в формате RFC3339. | | ||
+ | | **room**\\ string | Номер комнаты. Используется для идентификации телеконференции. | | ||
+ | | **action**\\ string | Действие выполняемое в телеконференции. Принимает следующие значения:\\ //Started// - телеконференция началась;\\ //MemberInvite// - участник получил приглашение присоединиться к телеконференции;\\ //MemberJoined// - новый участник подключился к телеконференции;\\ //MemberLeave// - участник отключился от телеконференции;\\ //MemberTalking// - участник говорит в этот момент;\\ //MemberSilent// - участник перестал говорить;\\ //Ended// - телеконференция завершена. | | ||
+ | | **organizer**\\ [[uniphone:asterisk#caller|object(Caller)]] | Данные организатора телеконференции. | | ||
+ | | **member**\\ [[uniphone:asterisk#caller|object(Caller)]] | Данные участника телеконференции. | | ||
+ | | **total_members**\\ integer | Общее количество присоединившихся участников. | | ||
+ | |||
+ | |||
+ | == Пример: == | ||
+ | <code>{ | ||
+ | "time":"2017-03-15T17:05:34", | ||
+ | "room":"2244", | ||
+ | "action":"MemberJoined", | ||
+ | "organizer":{ | ||
+ | "extension":"SIP/34", | ||
+ | "number":"34" | ||
+ | }, | ||
+ | "member":{ | ||
+ | "extension":"SIP/40", | ||
+ | "number":"40" | ||
+ | }, | ||
+ | "total_members":2 | ||
}</code> | }</code> | ||
Строка 166: | Строка 208: | ||
"number":"34", | "number":"34", | ||
"online":true | "online":true | ||
+ | }</code> | ||
+ | |||
+ | |||
+ | ==== [subscribe] provider.v1.calls.intercept ==== | ||
+ | Содержит информацию о вызове ожидающем ответа. Событие формируется при первом появлении информации о вызове и предназначено для перехвата на ответственного сотрудника. Информация об ответственных заполняется результатами выполнения запроса [[uniphone:crmapi#request_crmv1cmdwhois|whois]]. | ||
+ | |||
+ | == JSON формат: == | ||
+ | <code>{ | ||
+ | "time":string, | ||
+ | "entire_id":string, | ||
+ | "call_id":string, | ||
+ | "state":string, | ||
+ | "from":object(Caller), | ||
+ | "to":object(Caller), | ||
+ | "status":string, | ||
+ | "line_number":string, | ||
+ | "client":string, | ||
+ | "responsible":array[object(Employee)] | ||
}</code> | }</code> | ||
Строка 178: | Строка 238: | ||
"from":object(Caller), | "from":object(Caller), | ||
"to_number":string, | "to_number":string, | ||
- | "auto_answer":bool | + | "auto_answer":bool, |
+ | "user_data":object | ||
}</code> | }</code> | ||
Строка 185: | Строка 246: | ||
| **from**\\ [[uniphone:asterisk#caller|object(Caller)]] | Данные инициатора вызова. Заполняется только поле "extension". | | | **from**\\ [[uniphone:asterisk#caller|object(Caller)]] | Данные инициатора вызова. Заполняется только поле "extension". | | ||
| **to_number**\\ string | Номер вызываемого абонента (внутренний или внешний). | | | **to_number**\\ string | Номер вызываемого абонента (внутренний или внешний). | | ||
- | | **auto_answer**\\ string| Если параметр установлен, то добавляет в SIP заголовок команду автоподъема трубки. Не все телефоны могут поддерживать данную функцию. | | + | | **auto_answer**\\ bool | (Не обязательный) Если параметр установлен, то добавляет в SIP заголовок команду автоподъема трубки. Не все телефоны могут поддерживать данную функцию. | |
+ | | **user_data**\\ object | (Не обязательный) Позволяет передать вместе со звонком набор пользовательских данных. Данные должны быть сформированы как json объект вида ключ-значения. Допускаются только строковые значения ключей. | | ||
== Пример: == | == Пример: == | ||
Строка 192: | Строка 254: | ||
"extension":"SIP/34" | "extension":"SIP/34" | ||
}, | }, | ||
- | "to_number":"40" | + | "to_number":"40", |
+ | "auto_answer":true, | ||
+ | "user_data":{ | ||
+ | "key1":"value1", | ||
+ | "key2":"value2" | ||
+ | } | ||
}</code> | }</code> | ||
Строка 218: | Строка 285: | ||
^ Наименование поля ^ Описание ^ | ^ Наименование поля ^ Описание ^ | ||
| **call_id**\\ string | Глобальный идентификатор вызова (в формате провайдера). | | | **call_id**\\ string | Глобальный идентификатор вызова (в формате провайдера). | | ||
+ | |||
+ | == Пример: == | ||
+ | <code>{ | ||
+ | "call_id":"askozia-1489583124.183" | ||
+ | }</code> | ||
=== Ответ === | === Ответ === | ||
Строка 229: | Строка 301: | ||
^ Наименование поля ^ Описание ^ | ^ Наименование поля ^ Описание ^ | ||
| **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | | **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | ||
- | |||
- | == Пример: == | ||
- | <code>{ | ||
- | "call_id":"askozia-1489583124.183" | ||
- | }</code> | ||
Строка 241: | Строка 308: | ||
== JSON формат: == | == JSON формат: == | ||
<code>{ | <code>{ | ||
- | "call_id":string | + | "call_id":string, |
+ | "whom":object(Caller) | ||
}</code> | }</code> | ||
Строка 247: | Строка 315: | ||
^ Наименование поля ^ Описание ^ | ^ Наименование поля ^ Описание ^ | ||
| **call_id**\\ string | Глобальный идентификатор вызова (в формате провайдера). | | | **call_id**\\ string | Глобальный идентификатор вызова (в формате провайдера). | | ||
+ | | **whom**\\ [[uniphone:asterisk#caller|object(Caller)]] | (Не обязательный) Данные абонента, со стороны которого нужно завершать вызов. Имеет особое значение при переводе вызова. | | ||
+ | |||
+ | == Пример: == | ||
+ | <code>{ | ||
+ | "call_id":"askozia-1489583124.183" | ||
+ | }</code> | ||
=== Ответ === | === Ответ === | ||
Строка 258: | Строка 332: | ||
^ Наименование поля ^ Описание ^ | ^ Наименование поля ^ Описание ^ | ||
| **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | | **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | ||
- | |||
- | == Пример: == | ||
- | <code>{ | ||
- | "call_id":"askozia-1489583124.183" | ||
- | }</code> | ||
==== [request] provider.v1.cmd.calls.redirect ==== | ==== [request] provider.v1.cmd.calls.redirect ==== | ||
- | Завершает разговор между текущими абонентами и переводит вызов на другой внутренний номер. | + | Завершает разговор между текущими абонентами и переводит вызов на другой внутренний номер. В качестве номера для перевода может быть указан номер комнаты телеконференции. |
== JSON формат: == | == JSON формат: == | ||
Строка 280: | Строка 349: | ||
| **call_id**\\ string | Глобальный идентификатор вызова (в формате провайдера). | | | **call_id**\\ string | Глобальный идентификатор вызова (в формате провайдера). | | ||
| **method**\\ string | Метод перевода звонка:\\ //blind// - без консультативный ("слепой") перевод вызова;\\ //attended// - консультативный (с удержанием) перевод звонка.\\ | | | **method**\\ string | Метод перевода звонка:\\ //blind// - без консультативный ("слепой") перевод вызова;\\ //attended// - консультативный (с удержанием) перевод звонка.\\ | | ||
- | | **to_number**\\ string | Номер вызываемого абонента (внутренний). | | + | | **to_number**\\ string | Номер вызываемого абонента (внутренний) или номер комнаты телеконференции. | |
| **whom**\\ [[uniphone:asterisk#caller|object(Caller)]] | (Не обязательный) Данные абонента, которого нужно перевести. Заполняется только поле "extension". По умолчанию переводиться инициатор вызова. | | | **whom**\\ [[uniphone:asterisk#caller|object(Caller)]] | (Не обязательный) Данные абонента, которого нужно перевести. Заполняется только поле "extension". По умолчанию переводиться инициатор вызова. | | ||
+ | |||
+ | == Пример: == | ||
+ | <code>{ | ||
+ | "call_id":"askozia-1489583124.183", | ||
+ | "method":"blind", | ||
+ | "to_number":"28", | ||
+ | "whom":{ | ||
+ | "extension":"SIP/34" | ||
+ | } | ||
+ | }</code> | ||
=== Ответ === | === Ответ === | ||
Строка 293: | Строка 372: | ||
^ Наименование поля ^ Описание ^ | ^ Наименование поля ^ Описание ^ | ||
| **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | | **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | ||
- | |||
- | == Пример: == | ||
- | <code>{ | ||
- | "call_id":"askozia-1489583124.183", | ||
- | "method":"blind", | ||
- | "to_number":"28", | ||
- | "whom":{ | ||
- | "extension":"SIP/34" | ||
- | } | ||
- | }</code> | ||
Строка 316: | Строка 385: | ||
^ Наименование поля ^ Описание ^ | ^ Наименование поля ^ Описание ^ | ||
| **call_id**\\ string | Глобальный идентификатор вызова (в формате провайдера). | | | **call_id**\\ string | Глобальный идентификатор вызова (в формате провайдера). | | ||
+ | |||
+ | == Пример: == | ||
+ | <code>{ | ||
+ | "call_id":"askozia-1489583124.183" | ||
+ | }</code> | ||
=== Ответ === | === Ответ === | ||
Строка 327: | Строка 401: | ||
^ Наименование поля ^ Описание ^ | ^ Наименование поля ^ Описание ^ | ||
| **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | | **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | ||
- | |||
- | == Пример: == | ||
- | <code>{ | ||
- | "call_id":"askozia-1489583124.183" | ||
- | }</code> | ||
Строка 345: | Строка 414: | ||
^ Наименование поля ^ Описание ^ | ^ Наименование поля ^ Описание ^ | ||
| **call_id**\\ string | Глобальный идентификатор вызова (в формате провайдера). | | | **call_id**\\ string | Глобальный идентификатор вызова (в формате провайдера). | | ||
+ | |||
+ | == Пример: == | ||
+ | <code>{ | ||
+ | "call_id":"askozia-1489583124.183" | ||
+ | }</code> | ||
=== Ответ === | === Ответ === | ||
Строка 356: | Строка 430: | ||
^ Наименование поля ^ Описание ^ | ^ Наименование поля ^ Описание ^ | ||
| **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | | **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | ||
- | |||
- | == Пример: == | ||
- | <code>{ | ||
- | "call_id":"askozia-1489583124.183" | ||
- | }</code> | ||
Строка 392: | Строка 461: | ||
| **no**\\ integer | Номер текущего сообщения отправленного в очередь. Каждое сообщение пронумеровано в интервале 1..[total]. | | | **no**\\ integer | Номер текущего сообщения отправленного в очередь. Каждое сообщение пронумеровано в интервале 1..[total]. | | ||
| **total**\\ integer | Общее количество сообщений с данными активных вызовов, которые будут отправлены. | | | **total**\\ integer | Общее количество сообщений с данными активных вызовов, которые будут отправлены. | | ||
- | | **data**\\ [[uniphone:asterisk#subscribe_providerv1calls|array[object(Call)]]] | Информация о вызове. Подробное описание полей в разделе [[uniphone:asterisk#subscribe_providerv1calls|provider.v1.calls]] | | + | | **data**\\ [[uniphone:asterisk#subscribe_providerv1calls|object(Call)]] | Информация о вызове. Подробное описание полей в разделе [[uniphone:asterisk#subscribe_providerv1calls|provider.v1.calls]] | |
+ | |||
+ | |||
+ | ==== [request] provider.v1.cmd.calls.history ==== | ||
+ | Возвращает список последних вызовов выполненных с указанного внутреннего номера телефона или принятых на него. | ||
+ | |||
+ | == JSON формат: == | ||
+ | <code>{ | ||
+ | "number":string, | ||
+ | "limit":integer | ||
+ | }</code> | ||
+ | |||
+ | == Параметры: == | ||
+ | ^ Наименование поля ^ Описание ^ | ||
+ | | **number**\\ string | Номер телефона внутреннего абонента. | | ||
+ | | **limit**\\ integer | Максимальное количество возвращаемых записей. | | ||
+ | |||
+ | === Ответ === | ||
+ | |||
+ | == JSON формат: == | ||
+ | <code>{ | ||
+ | "result":string, | ||
+ | "no":integer, | ||
+ | "total":integer, | ||
+ | "data":{ | ||
+ | "call_id":string, | ||
+ | "started":string, | ||
+ | "finished":string, | ||
+ | "status":string, | ||
+ | "from":object(Сontact), | ||
+ | "to":object(Сontact), | ||
+ | "conversation":integer, | ||
+ | "duration":integer, | ||
+ | "record_file":string | ||
+ | } | ||
+ | }</code> | ||
+ | |||
+ | == Параметры: == | ||
+ | ^ Наименование поля ^ Описание ^ | ||
+ | | **result**\\ //string// | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | ||
+ | | **no**\\ //integer// | Номер текущего сообщения отправленного в очередь. Каждое сообщение пронумеровано в интервале 1..[total]. | | ||
+ | | **total**\\ //integer// | Общее количество сообщений с записями истории звонков, которые будут отправлены. | | ||
+ | | data.**call_id**\\ //string// | Глобальный идентификатор вызова (в формате провайдера). | | ||
+ | | data.**started**\\ //string// | Дата и время начала вызова в формате RFC3339. | | ||
+ | | data.**finished**\\ //string// | Дата и время завершения вызова в формате RFC3339. | | ||
+ | | data.**status**\\ //string// | Статус завершения вызова (в формате провайдера). | | ||
+ | | data.**from**\\ [[uniphone:asterisk#caller|object(Caller)]] | Данные инициатора вызова. | | ||
+ | | data.**to**\\ [[uniphone:asterisk#caller|object(Caller)]] | Данные вызываемого. | | ||
+ | | data.**conversation**\\ //integer// | Продолжительность разговора в секундах (время от начала разговора и до его завершения). Если вызов находился на удержании (hold), то время удержания будет вычтено. | | ||
+ | | data.**duration**\\ //integer// | Продолжительность вызова в секундах. | | ||
+ | | data.**record_file**\\ //string// | Идентификатор записи разговора. | | ||
Строка 409: | Строка 528: | ||
"total":integer, | "total":integer, | ||
"data":{ | "data":{ | ||
+ | "name":string, | ||
"extension":string, | "extension":string, | ||
"number":string, | "number":string, | ||
Строка 420: | Строка 540: | ||
| **no**\\ integer | Номер текущего сообщения отправленного в очередь. Каждое сообщение пронумеровано в интервале 1..[total]. | | | **no**\\ integer | Номер текущего сообщения отправленного в очередь. Каждое сообщение пронумеровано в интервале 1..[total]. | | ||
| **total**\\ //integer// | Общее количество сообщений с данными активных вызовов, которые будут отправлены. | | | **total**\\ //integer// | Общее количество сообщений с данными активных вызовов, которые будут отправлены. | | ||
+ | | data.**name**\\ string | Имя абонента по данным Caller ID. | | ||
| data.**extension**\\ string | Идентификатор внутреннего абонента. | | | data.**extension**\\ string | Идентификатор внутреннего абонента. | | ||
| data.**number**\\ string | Добавочный номер абонента. | | | data.**number**\\ string | Добавочный номер абонента. | | ||
Строка 440: | Строка 561: | ||
| **method**\\ string | Метод присоединения к звонку:\\ //listen// - подслушивание разговора;\\ //whisper// - режим шепота коллеге (подключаемого слышит только внутренний абонент);\\ //interfere// - вмешаться в разговор (слышат оба абонента). | | | **method**\\ string | Метод присоединения к звонку:\\ //listen// - подслушивание разговора;\\ //whisper// - режим шепота коллеге (подключаемого слышит только внутренний абонент);\\ //interfere// - вмешаться в разговор (слышат оба абонента). | | ||
| **spy**\\ [[uniphone:asterisk#caller|object(Caller)]] | Данные абонента, которого нужно подключить к разговору. Заполняется только поле "extension". | | | **spy**\\ [[uniphone:asterisk#caller|object(Caller)]] | Данные абонента, которого нужно подключить к разговору. Заполняется только поле "extension". | | ||
+ | |||
+ | == Пример: == | ||
+ | <code>{ | ||
+ | "call_id":"askozia-1489583124.183", | ||
+ | "method":"listen", | ||
+ | "spy":{ | ||
+ | "extension":"SIP/34" | ||
+ | } | ||
+ | }</code> | ||
=== Ответ === | === Ответ === | ||
Строка 451: | Строка 581: | ||
^ Наименование поля ^ Описание ^ | ^ Наименование поля ^ Описание ^ | ||
| **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | | **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | ||
+ | |||
+ | |||
+ | ==== [request] provider.v1.cmd.spy.stop ==== | ||
+ | Отключает супервизора от звонка. | ||
+ | |||
+ | == JSON формат: == | ||
+ | <code>{ | ||
+ | "call_id":string, | ||
+ | "spy":object(Caller) | ||
+ | }</code> | ||
+ | |||
+ | == Параметры: == | ||
+ | ^ Наименование поля ^ Описание ^ | ||
+ | | **call_id**\\ string | Глобальный идентификатор вызова (в формате провайдера). | | ||
+ | | **spy**\\ [[uniphone:asterisk#caller|object(Caller)]] | Данные абонента, которого нужно отключить. Заполняется только поле "extension". | | ||
== Пример: == | == Пример: == | ||
<code>{ | <code>{ | ||
"call_id":"askozia-1489583124.183", | "call_id":"askozia-1489583124.183", | ||
- | "method":"listen", | ||
"spy":{ | "spy":{ | ||
"extension":"SIP/34" | "extension":"SIP/34" | ||
Строка 461: | Строка 605: | ||
}</code> | }</code> | ||
+ | === Ответ === | ||
- | ==== [request] provider.v1.cmd.spy.stop ==== | + | == JSON формат: == |
- | Отключает супервизора от звонка. | + | <code>{ |
+ | "result":string | ||
+ | }</code> | ||
+ | |||
+ | == Параметры: == | ||
+ | ^ Наименование поля ^ Описание ^ | ||
+ | | **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | ||
+ | |||
+ | |||
+ | ==== [request] provider.v1.cmd.records.listen ==== | ||
+ | Воспроизводит запись разговора с помощью телефона абонента. Для абонента операция выглядит как входящий звонок. | ||
== JSON формат: == | == JSON формат: == | ||
<code>{ | <code>{ | ||
- | "call_id":string, | + | "record":string, |
- | "spy":object(Caller) | + | "listener":object(Caller) |
}</code> | }</code> | ||
== Параметры: == | == Параметры: == | ||
^ Наименование поля ^ Описание ^ | ^ Наименование поля ^ Описание ^ | ||
- | | **call_id**\\ string | Глобальный идентификатор вызова (в формате провайдера). | | + | | **record**\\ string | Идентификатор записи разговора. | |
- | | **spy**\\ [[uniphone:asterisk#caller|object(Caller)]] | Данные абонента, которого нужно отключить. Заполняется только поле "extension". | | + | | **listener**\\ [[uniphone:asterisk#caller|object(Caller)]] | Данные абонента, который будет прослушивать разговор. Заполняется только поле "extension". | |
+ | |||
+ | == Пример: == | ||
+ | <code>{ | ||
+ | "record":"/storage/usbdisk1/askoziapbx/callrecordings/40/askozia-1501854278.119_28_40_2017-08-04-17-44-38.gsm", | ||
+ | "listener":{ | ||
+ | "extension":"SIP/34" | ||
+ | } | ||
+ | }</code> | ||
=== Ответ === | === Ответ === | ||
Строка 486: | Строка 649: | ||
^ Наименование поля ^ Описание ^ | ^ Наименование поля ^ Описание ^ | ||
| **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | | **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | ||
+ | |||
+ | |||
+ | ==== [request] (устарел) provider.v1.cmd.records.access ==== | ||
+ | Возвращает набор параметров для доступа к скачиванию записей разговора. | ||
+ | |||
+ | == Параметры: == | ||
+ | //Не имеет параметров.// | ||
+ | |||
+ | === Ответ === | ||
+ | |||
+ | == JSON формат: == | ||
+ | <code>{ | ||
+ | "result":string, | ||
+ | "data":map[string]string | ||
+ | }</code> | ||
+ | |||
+ | == Параметры: == | ||
+ | ^ Наименование поля ^ Описание ^ | ||
+ | | **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | ||
+ | | **data**\\ map[string]string | Параметры доступа к скачиванию записей разговора. Количество и содержание параметров определяется в файле ///historyd/config.json// секции "call_records". | | ||
+ | |||
+ | |||
+ | ==== [request] provider.v1.cmd.records.get ==== | ||
+ | Возвращает прямую ссылку к записи разговора. Время жизни ссылки может быть ограничено, поэтому сохранять прямые ссылки не рекомендуется. | ||
+ | |||
+ | == JSON формат: == | ||
+ | <code>{ | ||
+ | "record":string | ||
+ | }</code> | ||
+ | |||
+ | == Параметры: == | ||
+ | ^ Наименование поля ^ Описание ^ | ||
+ | | **record**\\ string | Идентификатор записи разговора. | | ||
== Пример: == | == Пример: == | ||
<code>{ | <code>{ | ||
- | "call_id":"askozia-1489583124.183", | + | "record":"/storage/usbdisk1/askoziapbx/callrecordings/40/askozia-1501854278.119_28_40_2017-08-04-17-44-38.gsm" |
- | "spy":{ | + | }</code> |
+ | |||
+ | === Ответ === | ||
+ | |||
+ | == JSON формат: == | ||
+ | <code>{ | ||
+ | "result":string | ||
+ | "data":{ | ||
+ | "path":string | ||
+ | } | ||
+ | }</code> | ||
+ | |||
+ | == Параметры: == | ||
+ | ^ Наименование поля ^ Описание ^ | ||
+ | | **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | ||
+ | | data.**path**\\ string | Прямая ссылка к файлу записи разговора. | | ||
+ | |||
+ | |||
+ | ==== [request] provider.v1.cmd.meetings.create ==== | ||
+ | Создает новую телеконференцию. Телеконференции разделены между собой и имеет свой идентификатор - номер комнаты, возвращаемый командой в случае успеха. | ||
+ | |||
+ | == JSON формат: == | ||
+ | <code>{ | ||
+ | "organizer":object(Caller), | ||
+ | "auto_answer":bool, | ||
+ | "members":array[object(F)] | ||
+ | }</code> | ||
+ | |||
+ | == Параметры: == | ||
+ | ^ Наименование поля ^ Описание ^ | ||
+ | | **organizer**\\ [[uniphone:asterisk#caller|object(Caller)]] | Данные организатора телеконференции. Организатор получит приглашение присоединиться к телеконференции или автоматически присоединиться к ней, если параметр "auto_answer" установлен в "true". | | ||
+ | | **auto_answer**\\ bool | (Не обязательный) Если параметр установлен, то добавляет в SIP заголовок команду автоподъема трубки. Не все телефоны могут поддерживать данную функцию. | | ||
+ | | **members**\\ [[uniphone:asterisk#caller|array[object(Caller)]]] | (Не обязательный) Список абонентов, которым нужно отправить приглашение присоединиться к телеконференции. Для внутренних абонентов заполняется поле "extension", для внешних - поле "number". | | ||
+ | |||
+ | == Пример: == | ||
+ | <code>{ | ||
+ | "organizer":{ | ||
"extension":"SIP/34" | "extension":"SIP/34" | ||
} | } | ||
}</code> | }</code> | ||
+ | === Ответ === | ||
- | ==== [request] provider.v1.cmd.records.listen ==== | + | == JSON формат: == |
- | Воспроизводит запись разговора с помощью телефона абонента. Для абонента операция выглядит как входящий звонок. | + | <code>{ |
+ | "result":string | ||
+ | "data":{ | ||
+ | "room":string | ||
+ | } | ||
+ | }</code> | ||
+ | |||
+ | == Параметры: == | ||
+ | ^ Наименование поля ^ Описание ^ | ||
+ | | **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | ||
+ | | data.**room**\\ string | Номер комнаты. Используется для идентификации телеконференции. | | ||
+ | |||
+ | |||
+ | ==== [request] provider.v1.cmd.meetings.invite ==== | ||
+ | Приглашает новых участников присоединиться к телеконференции. | ||
== JSON формат: == | == JSON формат: == | ||
<code>{ | <code>{ | ||
- | "record":string, | + | "room":string, |
- | "listener":object(Caller) | + | "members":array[object(Caller)] |
}</code> | }</code> | ||
== Параметры: == | == Параметры: == | ||
^ Наименование поля ^ Описание ^ | ^ Наименование поля ^ Описание ^ | ||
- | | **record**\\ string | Cсылка на файл записи разговора. | | + | | **room**\\ string | Номер комнаты. Используется для идентификации телеконференции. | |
- | | **listener**\\ [[uniphone:asterisk#caller|object(Caller)]] | Данные абонента, который будет прослушивать разговор. Заполняется только поле "extension". | | + | | **members**\\ [[uniphone:asterisk#caller|array[object(Caller)]]] | Список абонентов, которым нужно отправить приглашение присоединиться к телеконференции. Для внутренних абонентов заполняется поле "extension", для внешних - поле "number". | |
+ | | **auto_answer**\\ bool | (Не обязательный) Если параметр установлен, то добавляет в SIP заголовок команду автоподъема трубки. Не все телефоны могут поддерживать данную функцию. Допускается использовать только для повторного приглашения организатора телеконференции, в остальных случаях игнорируется. | | ||
+ | |||
+ | == Пример: == | ||
+ | <code>{ | ||
+ | "room":"2244", | ||
+ | "members":[{ | ||
+ | "extension":"SIP/40" | ||
+ | }, | ||
+ | { | ||
+ | "number":"74952293042" | ||
+ | }] | ||
+ | }</code> | ||
=== Ответ === | === Ответ === | ||
Строка 520: | Строка 779: | ||
^ Наименование поля ^ Описание ^ | ^ Наименование поля ^ Описание ^ | ||
| **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | | **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | ||
+ | |||
+ | |||
+ | ==== [request] provider.v1.cmd.meetings.kick ==== | ||
+ | Исключает участника из телеконференции. | ||
+ | |||
+ | == JSON формат: == | ||
+ | <code>{ | ||
+ | "room":string, | ||
+ | "member":object(Caller) | ||
+ | }</code> | ||
+ | |||
+ | == Параметры: == | ||
+ | ^ Наименование поля ^ Описание ^ | ||
+ | | **room**\\ string | Номер комнаты. Используется для идентификации телеконференции. | | ||
+ | | **member**\\ [[uniphone:asterisk#caller|object(Caller)]] | Участник, которого необходимо исключить из телеконференции. Необходимо заполнять оба поля "extension" и "number". | | ||
== Пример: == | == Пример: == | ||
<code>{ | <code>{ | ||
- | "record":"/storage/usbdisk1/askoziapbx/callrecordings/40/askozia-1501854278.119_28_40_2017-08-04-17-44-38.gsm", | + | "room":"2244", |
- | "listener":{ | + | "member":{ |
+ | "extension":"SIP/40", | ||
+ | "number":"40" | ||
+ | } | ||
+ | }</code> | ||
+ | |||
+ | === Ответ === | ||
+ | |||
+ | == JSON формат: == | ||
+ | <code>{ | ||
+ | "result":string | ||
+ | }</code> | ||
+ | |||
+ | == Параметры: == | ||
+ | ^ Наименование поля ^ Описание ^ | ||
+ | | **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | ||
+ | |||
+ | |||
+ | ==== [request] provider.v1.cmd.meetings.transform ==== | ||
+ | Преобразует звонок в телеконференцию с двумя участниками. Организатору будет отправлено приглашение. Если его телефон поддерживает функцию автоподъема трубки, он присоединиться автоматически. | ||
+ | |||
+ | == JSON формат: == | ||
+ | <code>{ | ||
+ | "call_id":string, | ||
+ | "organizer":object(Caller) | ||
+ | }</code> | ||
+ | |||
+ | == Параметры: == | ||
+ | ^ Наименование поля ^ Описание ^ | ||
+ | | **call_id**\\ string | Глобальный идентификатор текущего вызова (в формате провайдера). | | ||
+ | | **organizer**\\ [[uniphone:asterisk#caller|object(Caller)]] | Данные организатора телеконференции. | | ||
+ | |||
+ | == Пример: == | ||
+ | <code>{ | ||
+ | "call_id":"askozia-1489583124.183", | ||
+ | "organizer":{ | ||
"extension":"SIP/34" | "extension":"SIP/34" | ||
} | } | ||
}</code> | }</code> | ||
+ | |||
+ | === Ответ === | ||
+ | |||
+ | == JSON формат: == | ||
+ | <code>{ | ||
+ | "result":string, | ||
+ | "data":{ | ||
+ | "room":string | ||
+ | } | ||
+ | }</code> | ||
+ | |||
+ | == Параметры: == | ||
+ | ^ Наименование поля ^ Описание ^ | ||
+ | | **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | ||
+ | | data.**room**\\ string | Номер комнаты. Используется для идентификации телеконференции. | | ||
+ | |||
+ | |||
+ | ==== [request] provider.v1.cmd.meetings.active ==== | ||
+ | Возвращает список текущих телеконференций. | ||
+ | |||
+ | == Параметры: == | ||
+ | //Не имеет параметров.// | ||
+ | |||
+ | === Ответ === | ||
+ | |||
+ | == JSON формат: == | ||
+ | <code>{ | ||
+ | "result":string, | ||
+ | "no":integer, | ||
+ | "total":integer, | ||
+ | "data":{ | ||
+ | "room" | ||
+ | "organizer":object(Caller), | ||
+ | "members":array[object(Caller)] | ||
+ | "invites":array[object(Caller)] | ||
+ | } | ||
+ | }</code> | ||
+ | |||
+ | == Параметры: == | ||
+ | ^ Наименование поля ^ Описание ^ | ||
+ | | **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | ||
+ | | **no**\\ integer | Номер текущего сообщения отправленного в очередь. Каждое сообщение пронумеровано в интервале 1..[total]. | | ||
+ | | **total**\\ integer | Общее количество сообщений с данными активных телеконференций, которые будут отправлены. | | ||
+ | | data.**room**\\ string | Номер комнаты. Используется для идентификации телеконференции. | | ||
+ | | data.**organizer**\\ [[uniphone:asterisk#caller|object(Caller)]] | Данные организатора телеконференции. | | ||
+ | | data.**members**\\ [[uniphone:asterisk#caller|array[object(Caller)]]] | Список участников телеконференции. | | ||
+ | | data.**invites**\\ [[uniphone:asterisk#caller|array[object(Caller)]]] | Список участников, которым отправлено приглашение. | | ||
+ | |||
+ | |||
+ | ==== [request] provider.v1.cmd.meetings.details ==== | ||
+ | Возвращает информацию о телеконференции и ее участниках. | ||
+ | |||
+ | == JSON формат: == | ||
+ | <code>{ | ||
+ | "room":string | ||
+ | }</code> | ||
+ | |||
+ | == Параметры: == | ||
+ | ^ Наименование поля ^ Описание ^ | ||
+ | | **room**\\ string | Номер комнаты. Используется для идентификации телеконференции. | | ||
+ | |||
+ | == Пример: == | ||
+ | <code>{ | ||
+ | "room":"2244" | ||
+ | }</code> | ||
+ | |||
+ | === Ответ === | ||
+ | |||
+ | == JSON формат: == | ||
+ | <code>{ | ||
+ | "result":string | ||
+ | "data":{ | ||
+ | "organizer":object(Caller), | ||
+ | "members":array[object(Caller)] | ||
+ | "invites":array[object(Caller)] | ||
+ | } | ||
+ | }</code> | ||
+ | |||
+ | == Параметры: == | ||
+ | ^ Наименование поля ^ Описание ^ | ||
+ | | **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | ||
+ | | data.**organizer**\\ [[uniphone:asterisk#caller|object(Caller)]] | Данные организатора телеконференции. | | ||
+ | | data.**members**\\ [[uniphone:asterisk#caller|array[object(Caller)]]] | Список участников телеконференции. | | ||
+ | | data.**invites**\\ [[uniphone:asterisk#caller|array[object(Caller)]]] | Список участников, которым отправлено приглашение. | | ||