Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
uniphone:asterisk [2017/10/06 12:55] mcvet Исправлено описание cmd.meetings.details |
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// | Идентификатор записи разговора. | |
Строка 206: | Строка 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> | ||
Строка 218: | Строка 238: | ||
"from":object(Caller), | "from":object(Caller), | ||
"to_number":string, | "to_number":string, | ||
- | "auto_answer":bool | + | "auto_answer":bool, |
+ | "user_data":object | ||
}</code> | }</code> | ||
Строка 225: | Строка 246: | ||
| **from**\\ [[uniphone:asterisk#caller|object(Caller)]] | Данные инициатора вызова. Заполняется только поле "extension". | | | **from**\\ [[uniphone:asterisk#caller|object(Caller)]] | Данные инициатора вызова. Заполняется только поле "extension". | | ||
| **to_number**\\ string | Номер вызываемого абонента (внутренний или внешний). | | | **to_number**\\ string | Номер вызываемого абонента (внутренний или внешний). | | ||
- | | **auto_answer**\\ bool | Если параметр установлен, то добавляет в SIP заголовок команду автоподъема трубки. Не все телефоны могут поддерживать данную функцию. | | + | | **auto_answer**\\ bool | (Не обязательный) Если параметр установлен, то добавляет в SIP заголовок команду автоподъема трубки. Не все телефоны могут поддерживать данную функцию. | |
+ | | **user_data**\\ object | (Не обязательный) Позволяет передать вместе со звонком набор пользовательских данных. Данные должны быть сформированы как json объект вида ключ-значения. Допускаются только строковые значения ключей. | | ||
== Пример: == | == Пример: == | ||
Строка 232: | Строка 254: | ||
"extension":"SIP/34" | "extension":"SIP/34" | ||
}, | }, | ||
- | "to_number":"40" | + | "to_number":"40", |
+ | "auto_answer":true, | ||
+ | "user_data":{ | ||
+ | "key1":"value1", | ||
+ | "key2":"value2" | ||
+ | } | ||
}</code> | }</code> | ||
Строка 281: | Строка 308: | ||
== JSON формат: == | == JSON формат: == | ||
<code>{ | <code>{ | ||
- | "call_id":string | + | "call_id":string, |
+ | "whom":object(Caller) | ||
}</code> | }</code> | ||
Строка 287: | Строка 315: | ||
^ Наименование поля ^ Описание ^ | ^ Наименование поля ^ Описание ^ | ||
| **call_id**\\ string | Глобальный идентификатор вызова (в формате провайдера). | | | **call_id**\\ string | Глобальный идентификатор вызова (в формате провайдера). | | ||
+ | | **whom**\\ [[uniphone:asterisk#caller|object(Caller)]] | (Не обязательный) Данные абонента, со стороны которого нужно завершать вызов. Имеет особое значение при переводе вызова. | | ||
== Пример: == | == Пример: == | ||
Строка 482: | Строка 511: | ||
| data.**conversation**\\ //integer// | Продолжительность разговора в секундах (время от начала разговора и до его завершения). Если вызов находился на удержании (hold), то время удержания будет вычтено. | | | data.**conversation**\\ //integer// | Продолжительность разговора в секундах (время от начала разговора и до его завершения). Если вызов находился на удержании (hold), то время удержания будет вычтено. | | ||
| data.**duration**\\ //integer// | Продолжительность вызова в секундах. | | | data.**duration**\\ //integer// | Продолжительность вызова в секундах. | | ||
- | | data.**record_file**\\ //string// | Ссылка на файл записи разговора. | | + | | data.**record_file**\\ //string// | Идентификатор записи разговора. | |
Строка 499: | Строка 528: | ||
"total":integer, | "total":integer, | ||
"data":{ | "data":{ | ||
+ | "name":string, | ||
"extension":string, | "extension":string, | ||
"number":string, | "number":string, | ||
Строка 510: | Строка 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 | Добавочный номер абонента. | | ||
Строка 597: | Строка 628: | ||
== Параметры: == | == Параметры: == | ||
^ Наименование поля ^ Описание ^ | ^ Наименование поля ^ Описание ^ | ||
- | | **record**\\ string | Cсылка на файл записи разговора. | | + | | **record**\\ string | Идентификатор записи разговора. | |
| **listener**\\ [[uniphone:asterisk#caller|object(Caller)]] | Данные абонента, который будет прослушивать разговор. Заполняется только поле "extension". | | | **listener**\\ [[uniphone:asterisk#caller|object(Caller)]] | Данные абонента, который будет прослушивать разговор. Заполняется только поле "extension". | | ||
Строка 618: | Строка 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>{ | ||
+ | "record":"/storage/usbdisk1/askoziapbx/callrecordings/40/askozia-1501854278.119_28_40_2017-08-04-17-44-38.gsm" | ||
+ | }</code> | ||
+ | |||
+ | === Ответ === | ||
+ | |||
+ | == JSON формат: == | ||
+ | <code>{ | ||
+ | "result":string | ||
+ | "data":{ | ||
+ | "path":string | ||
+ | } | ||
+ | }</code> | ||
+ | |||
+ | == Параметры: == | ||
+ | ^ Наименование поля ^ Описание ^ | ||
+ | | **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | ||
+ | | data.**path**\\ string | Прямая ссылка к файлу записи разговора. | | ||
Строка 626: | Строка 710: | ||
<code>{ | <code>{ | ||
"organizer":object(Caller), | "organizer":object(Caller), | ||
- | "auto_answer":bool | + | "auto_answer":bool, |
+ | "members":array[object(F)] | ||
}</code> | }</code> | ||
Строка 632: | Строка 717: | ||
^ Наименование поля ^ Описание ^ | ^ Наименование поля ^ Описание ^ | ||
| **organizer**\\ [[uniphone:asterisk#caller|object(Caller)]] | Данные организатора телеконференции. Организатор получит приглашение присоединиться к телеконференции или автоматически присоединиться к ней, если параметр "auto_answer" установлен в "true". | | | **organizer**\\ [[uniphone:asterisk#caller|object(Caller)]] | Данные организатора телеконференции. Организатор получит приглашение присоединиться к телеконференции или автоматически присоединиться к ней, если параметр "auto_answer" установлен в "true". | | ||
- | | **auto_answer**\\ bool | Если параметр установлен, то добавляет в SIP заголовок команду автоподъема трубки. Не все телефоны могут поддерживать данную функцию. | | + | | **auto_answer**\\ bool | (Не обязательный) Если параметр установлен, то добавляет в SIP заголовок команду автоподъема трубки. Не все телефоны могут поддерживать данную функцию. | |
+ | | **members**\\ [[uniphone:asterisk#caller|array[object(Caller)]]] | (Не обязательный) Список абонентов, которым нужно отправить приглашение присоединиться к телеконференции. Для внутренних абонентов заполняется поле "extension", для внешних - поле "number". | | ||
== Пример: == | == Пример: == | ||
Строка 669: | Строка 755: | ||
^ Наименование поля ^ Описание ^ | ^ Наименование поля ^ Описание ^ | ||
| **room**\\ string | Номер комнаты. Используется для идентификации телеконференции. | | | **room**\\ string | Номер комнаты. Используется для идентификации телеконференции. | | ||
- | | **members**\\ [[uniphone:asterisk#caller|array[object(Caller)]]] | Список абонентов, которым нужно отправить приглашение присоединиться к телеконференции. Для внутренних абонентов заполняется поле "extension", для внешних -поле "number". | | + | | **members**\\ [[uniphone:asterisk#caller|array[object(Caller)]]] | Список абонентов, которым нужно отправить приглашение присоединиться к телеконференции. Для внутренних абонентов заполняется поле "extension", для внешних - поле "number". | |
+ | | **auto_answer**\\ bool | (Не обязательный) Если параметр установлен, то добавляет в SIP заголовок команду автоподъема трубки. Не все телефоны могут поддерживать данную функцию. Допускается использовать только для повторного приглашения организатора телеконференции, в остальных случаях игнорируется. | | ||
== Пример: == | == Пример: == | ||
Строка 676: | Строка 763: | ||
"members":[{ | "members":[{ | ||
"extension":"SIP/40" | "extension":"SIP/40" | ||
+ | }, | ||
+ | { | ||
+ | "number":"74952293042" | ||
}] | }] | ||
}</code> | }</code> | ||
Строка 762: | Строка 852: | ||
| **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | | **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | ||
| data.**room**\\ string | Номер комнаты. Используется для идентификации телеконференции. | | | 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)]]] | Список участников, которым отправлено приглашение. | | ||
Строка 796: | Строка 918: | ||
^ Наименование поля ^ Описание ^ | ^ Наименование поля ^ Описание ^ | ||
| **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | | **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | ||
- | | data.**room**\\ string | Номер комнаты. Используется для идентификации телеконференции. | | ||
| data.**organizer**\\ [[uniphone:asterisk#caller|object(Caller)]] | Данные организатора телеконференции. | | | data.**organizer**\\ [[uniphone:asterisk#caller|object(Caller)]] | Данные организатора телеконференции. | | ||
| data.**members**\\ [[uniphone:asterisk#caller|array[object(Caller)]]] | Список участников телеконференции. | | | data.**members**\\ [[uniphone:asterisk#caller|array[object(Caller)]]] | Список участников телеконференции. | | ||
| data.**invites**\\ [[uniphone:asterisk#caller|array[object(Caller)]]] | Список участников, которым отправлено приглашение. | | | data.**invites**\\ [[uniphone:asterisk#caller|array[object(Caller)]]] | Список участников, которым отправлено приглашение. | | ||