API реализуемое на стороне провайдера IP-телефонии.
Содержит информацию об активном вызове. Событие формируется при первом появлении информации о вызове или смене его состояния.
{ "time":string, "entire_id":string, "call_id":string, "state":string, "from":object(Caller), "to":object(Caller), "status":string, "record":string, "line_number":string, "user_data":object }
Наименование поля | Описание |
---|---|
time string | Дата и время возникновения вызова в формате RFC3339. |
entire_id string | Глобальный идентификатор группы вызовов (в формате провайдера). Объединяет все вызовы, которые формируются в процессе переадресации звонка. |
call_id string | Глобальный идентификатор текущего вызова (в формате провайдера). |
state string | Текущие состояние вызова. Принимает следующие значения: Calling - инициация вызова; Connected - соединение двух абонентов; OnHold - вызов на удержании; Finished - вызов завершен. |
from object(Caller) | Данные инициатора вызова. |
to object(Caller) | Данные вызываемого. |
status string | Статус вызова (при наличии) по завершению звонка. Принимает следующие значения: ANSWER - на вызов был ответ; BUSY - получен сигнал «занято»; NOANSWER - на вызов не было ответа; CANCEL - звонящий отменил вызов; CONGESTION - произошла ошибка во время вызова; CHANUNAVAIL - у вызываемого абонента отсутствует регистрация. |
record string | Идентификатор записи разговора. |
line_number string | Номер телефона (при наличии), предоставляемого провайдером, на который был совершен звонок. |
user_data object | Содержит набор пользовательских данных, указанных в команде calls.dial. |
Содержит информацию об абоненте. Абонентом может выступать внутренний номер или внешний (например, мобильный номер).
{ "number":string, "extension":string }
Наименование поля | Описание |
---|---|
number string | Номер телефона абонента (внутренний или внешний). |
extension string | Идентификатор внутреннего абонента. Может использоваться в качестве аргумента при вызове методов удаленных процедур. Для внешнего абонента содержит пустую строку. |
{ "time":"2017-03-15T17:05:34", "entire_id":"askozia-1489583124.183", "call_id":"askozia-1489583124.183", "state":"Finished", "from":{ "extension":"SIP/34", "number":"34" }, "to":{ "extension":"SIP/40", "number":"40" }, "status":"NOANSWER" }
Содержит подробную информацию о завершенном вызове.
{ "call_id":string, "started":string, "answered":string, "finished":string, "status":string, "from":object(Caller), "to":object(Caller), "call_flow":string, "conversation":integer, "duration":integer, "record_file":string }
Наименование поля | Описание |
---|---|
call_id string | Глобальный идентификатор вызова (в формате провайдера). |
started string | Дата и время начала вызова в формате RFC3339. |
answered string | Дата и время ответа на вызов в формате RFC3339. |
finished string | Дата и время завершения вызова в формате RFC3339. |
status string | Статус завершения вызова (в формате провайдера). |
from object(Caller) | Данные инициатора вызова. |
to object(Caller) | Данные вызываемого. |
call_flow string | Идентификатор маршрута, по которому исполнялся вызов на момент завершения. |
conversation integer | Продолжительность разговора в секундах (время от начала разговора и до его завершения). Если вызов находился на удержании (hold), то время удержания будет вычтено. |
duration integer | Продолжительность вызова в секундах. |
record_file string | Идентификатор записи разговора. |
Сообщает о подключении к вызову стороннего абонента. Абонент с правами супервизора может подключиться к произвольному звонку с целью подслушать или вмешаться в разговор.
{ "time":string, "entire_id":string, "call_id":string, "from":object(Caller), "to":object(Caller), "spy":object(Caller), "action":string }
Наименование поля | Описание |
---|---|
time string | Дата и время возникновения вызова в формате RFC3339. |
entire_id string | Глобальный идентификатор группы вызовов (в формате провайдера). Объединяет все вызовы, которые формируются в процессе переадресации звонка. |
call_id string | Глобальный идентификатор текущего вызова (в формате провайдера). |
from object(Caller) | Данные инициатора вызова. |
to object(Caller) | Данные вызываемого. |
spy object(Caller) | Данные подключившегося абонента (супервизора). |
action string | Действие выполняемое абонентом. Принимает следующие значения: Joining - в процессе подключения к вызову; Joined - подключился к вызову; Leave - отключился. |
{ "time":"2017-03-15T17:05:34", "entire_id":"askozia-1489583124.183", "call_id":"askozia-1489583124.183", "from":{ "extension":"SIP/34", "number":"34" }, "to":{ "extension":"SIP/40", "number":"40" }, "spy":{ "extension":"SIP/51", "number":"51" }, "action":"Joined" }
Сообщает о начале телеконференции или изменении состава ее участников.
{ "time":string, "room":string, "action":string, "organizer":object(Caller), "member":object(Caller), "total_members":integer }
Наименование поля | Описание |
---|---|
time string | Дата и время возникновения события в формате RFC3339. |
room string | Номер комнаты. Используется для идентификации телеконференции. |
action string | Действие выполняемое в телеконференции. Принимает следующие значения: Started - телеконференция началась; MemberInvite - участник получил приглашение присоединиться к телеконференции; MemberJoined - новый участник подключился к телеконференции; MemberLeave - участник отключился от телеконференции; MemberTalking - участник говорит в этот момент; MemberSilent - участник перестал говорить; Ended - телеконференция завершена. |
organizer object(Caller) | Данные организатора телеконференции. |
member object(Caller) | Данные участника телеконференции. |
total_members integer | Общее количество присоединившихся участников. |
{ "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 }
Сообщает об изменении статус регистрации на АТС добавочного номера.
{ "time":string, "extension":string, "number":string, "online":bool }
Наименование поля | Описание |
---|---|
time string | Дата и время возникновения события в формате RFC3339. |
extension string | Идентификатор внутреннего абонента. |
number string | Добавочный номер абонента. |
online bool | Статус регистрации добавочного номера. |
{ "time":"2017-03-15T17:05:34", "extension":"SIP/34", "number":"34", "online":true }
Содержит информацию о вызове ожидающем ответа. Событие формируется при первом появлении информации о вызове и предназначено для перехвата на ответственного сотрудника. Информация об ответственных заполняется результатами выполнения запроса whois.
{ "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)] }
Инициирует вызов. Система сперва выполняет вызов инициатора. После установления соединения с инициатором выполняется попытка дозвона по заданному номеру телефона.
{ "from":object(Caller), "to_number":string, "auto_answer":bool, "user_data":object }
Наименование поля | Описание |
---|---|
from object(Caller) | Данные инициатора вызова. Заполняется только поле «extension». |
to_number string | Номер вызываемого абонента (внутренний или внешний). |
auto_answer bool | (Не обязательный) Если параметр установлен, то добавляет в SIP заголовок команду автоподъема трубки. Не все телефоны могут поддерживать данную функцию. |
user_data object | (Не обязательный) Позволяет передать вместе со звонком набор пользовательских данных. Данные должны быть сформированы как json объект вида ключ-значения. Допускаются только строковые значения ключей. |
{ "from":{ "extension":"SIP/34" }, "to_number":"40", "auto_answer":true, "user_data":{ "key1":"value1", "key2":"value2" } }
{ "result":string }
Наименование поля | Описание |
---|---|
result string | Результат выполнения команды. Содержит «Success» в случае успеха и описание ошибки в ином случае. |
Программно отвечает на входящий звонок (снимает трубку). Выполнение возможно только в том случае, если телефон поддерживает функцию автоподъема.
{ "call_id":string }
Наименование поля | Описание |
---|---|
call_id string | Глобальный идентификатор вызова (в формате провайдера). |
{ "call_id":"askozia-1489583124.183" }
{ "result":string }
Наименование поля | Описание |
---|---|
result string | Результат выполнения команды. Содержит «Success» в случае успеха и описание ошибки в ином случае. |
Принудительно завершает вызов.
{ "call_id":string, "whom":object(Caller) }
Наименование поля | Описание |
---|---|
call_id string | Глобальный идентификатор вызова (в формате провайдера). |
whom object(Caller) | (Не обязательный) Данные абонента, со стороны которого нужно завершать вызов. Имеет особое значение при переводе вызова. |
{ "call_id":"askozia-1489583124.183" }
{ "result":string }
Наименование поля | Описание |
---|---|
result string | Результат выполнения команды. Содержит «Success» в случае успеха и описание ошибки в ином случае. |
Завершает разговор между текущими абонентами и переводит вызов на другой внутренний номер. В качестве номера для перевода может быть указан номер комнаты телеконференции.
{ "call_id":string, "method":string, "to_number":string, "whom":object(Caller) }
Наименование поля | Описание |
---|---|
call_id string | Глобальный идентификатор вызова (в формате провайдера). |
method string | Метод перевода звонка: blind - без консультативный («слепой») перевод вызова; attended - консультативный (с удержанием) перевод звонка. |
to_number string | Номер вызываемого абонента (внутренний) или номер комнаты телеконференции. |
whom object(Caller) | (Не обязательный) Данные абонента, которого нужно перевести. Заполняется только поле «extension». По умолчанию переводиться инициатор вызова. |
{ "call_id":"askozia-1489583124.183", "method":"blind", "to_number":"28", "whom":{ "extension":"SIP/34" } }
{ "result":string }
Наименование поля | Описание |
---|---|
result string | Результат выполнения команды. Содержит «Success» в случае успеха и описание ошибки в ином случае. |
Ставит вызов на удержание. При этом вызов перемещается на свободный слот парковки, а удерживаемый абонент (всегда внешний) слышит музыку. Телефон внутреннего абонента переходит в режим ожидания.
{ "call_id":string }
Наименование поля | Описание |
---|---|
call_id string | Глобальный идентификатор вызова (в формате провайдера). |
{ "call_id":"askozia-1489583124.183" }
{ "result":string }
Наименование поля | Описание |
---|---|
result string | Результат выполнения команды. Содержит «Success» в случае успеха и описание ошибки в ином случае. |
Возвращает вызов с удержание. При этом он возвращается к тому же внутреннему абоненту, который принимал вызов до удержания. Телефон внутреннего абонента будет звонить как при входящем звонке. Если телефон поддерживает функцию автоподъема, то вызов будет возобновлен моментально.
{ "call_id":string }
Наименование поля | Описание |
---|---|
call_id string | Глобальный идентификатор вызова (в формате провайдера). |
{ "call_id":"askozia-1489583124.183" }
{ "result":string }
Наименование поля | Описание |
---|---|
result string | Результат выполнения команды. Содержит «Success» в случае успеха и описание ошибки в ином случае. |
Возвращает список активных вызовов.
Не имеет параметров.
{ "result":string, "no":integer, "total":integer, "data":{ "time":string, "entire_id":string, "call_id":string, "state":string, "from":object(Caller), "to":object(Caller), "line_number":string } }
Наименование поля | Описание |
---|---|
result string | Результат выполнения команды. Содержит «Success» в случае успеха и описание ошибки в ином случае. |
no integer | Номер текущего сообщения отправленного в очередь. Каждое сообщение пронумеровано в интервале 1..[total]. |
total integer | Общее количество сообщений с данными активных вызовов, которые будут отправлены. |
data object(Call) | Информация о вызове. Подробное описание полей в разделе provider.v1.calls |
Возвращает список последних вызовов выполненных с указанного внутреннего номера телефона или принятых на него.
{ "number":string, "limit":integer }
Наименование поля | Описание |
---|---|
number string | Номер телефона внутреннего абонента. |
limit integer | Максимальное количество возвращаемых записей. |
{ "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 } }
Наименование поля | Описание |
---|---|
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 object(Caller) | Данные инициатора вызова. |
data.to object(Caller) | Данные вызываемого. |
data.conversation integer | Продолжительность разговора в секундах (время от начала разговора и до его завершения). Если вызов находился на удержании (hold), то время удержания будет вычтено. |
data.duration integer | Продолжительность вызова в секундах. |
data.record_file string | Идентификатор записи разговора. |
Возвращает данные о состоянии регистрации добавочных номеров.
Не имеет параметров.
{ "result":string, "no":integer, "total":integer, "data":{ "name":string, "extension":string, "number":string, "online":bool } }
Наименование поля | Описание |
---|---|
result string | Результат выполнения команды. Содержит «Success» в случае успеха и описание ошибки в ином случае. |
no integer | Номер текущего сообщения отправленного в очередь. Каждое сообщение пронумеровано в интервале 1..[total]. |
total integer | Общее количество сообщений с данными активных вызовов, которые будут отправлены. |
data.name string | Имя абонента по данным Caller ID. |
data.extension string | Идентификатор внутреннего абонента. |
data.number string | Добавочный номер абонента. |
data.online bool | Статус регистрации добавочного номера. |
Присоединяет супервизора к звонку в режиме разговора или подслушивания.
{ "call_id":string, "method":string, "spy":object(Caller) }
Наименование поля | Описание |
---|---|
call_id string | Глобальный идентификатор вызова (в формате провайдера). |
method string | Метод присоединения к звонку: listen - подслушивание разговора; whisper - режим шепота коллеге (подключаемого слышит только внутренний абонент); interfere - вмешаться в разговор (слышат оба абонента). |
spy object(Caller) | Данные абонента, которого нужно подключить к разговору. Заполняется только поле «extension». |
{ "call_id":"askozia-1489583124.183", "method":"listen", "spy":{ "extension":"SIP/34" } }
{ "result":string }
Наименование поля | Описание |
---|---|
result string | Результат выполнения команды. Содержит «Success» в случае успеха и описание ошибки в ином случае. |
Отключает супервизора от звонка.
{ "call_id":string, "spy":object(Caller) }
Наименование поля | Описание |
---|---|
call_id string | Глобальный идентификатор вызова (в формате провайдера). |
spy object(Caller) | Данные абонента, которого нужно отключить. Заполняется только поле «extension». |
{ "call_id":"askozia-1489583124.183", "spy":{ "extension":"SIP/34" } }
{ "result":string }
Наименование поля | Описание |
---|---|
result string | Результат выполнения команды. Содержит «Success» в случае успеха и описание ошибки в ином случае. |
Воспроизводит запись разговора с помощью телефона абонента. Для абонента операция выглядит как входящий звонок.
{ "record":string, "listener":object(Caller) }
Наименование поля | Описание |
---|---|
record string | Идентификатор записи разговора. |
listener object(Caller) | Данные абонента, который будет прослушивать разговор. Заполняется только поле «extension». |
{ "record":"/storage/usbdisk1/askoziapbx/callrecordings/40/askozia-1501854278.119_28_40_2017-08-04-17-44-38.gsm", "listener":{ "extension":"SIP/34" } }
{ "result":string }
Наименование поля | Описание |
---|---|
result string | Результат выполнения команды. Содержит «Success» в случае успеха и описание ошибки в ином случае. |
Возвращает набор параметров для доступа к скачиванию записей разговора.
Не имеет параметров.
{ "result":string, "data":map[string]string }
Наименование поля | Описание |
---|---|
result string | Результат выполнения команды. Содержит «Success» в случае успеха и описание ошибки в ином случае. |
data map[string]string | Параметры доступа к скачиванию записей разговора. Количество и содержание параметров определяется в файле /historyd/config.json секции «call_records». |
Возвращает прямую ссылку к записи разговора. Время жизни ссылки может быть ограничено, поэтому сохранять прямые ссылки не рекомендуется.
{ "record":string }
Наименование поля | Описание |
---|---|
record string | Идентификатор записи разговора. |
{ "record":"/storage/usbdisk1/askoziapbx/callrecordings/40/askozia-1501854278.119_28_40_2017-08-04-17-44-38.gsm" }
{ "result":string "data":{ "path":string } }
Наименование поля | Описание |
---|---|
result string | Результат выполнения команды. Содержит «Success» в случае успеха и описание ошибки в ином случае. |
data.path string | Прямая ссылка к файлу записи разговора. |
Создает новую телеконференцию. Телеконференции разделены между собой и имеет свой идентификатор - номер комнаты, возвращаемый командой в случае успеха.
{ "organizer":object(Caller), "auto_answer":bool, "members":array[object(F)] }
Наименование поля | Описание |
---|---|
organizer object(Caller) | Данные организатора телеконференции. Организатор получит приглашение присоединиться к телеконференции или автоматически присоединиться к ней, если параметр «auto_answer» установлен в «true». |
auto_answer bool | (Не обязательный) Если параметр установлен, то добавляет в SIP заголовок команду автоподъема трубки. Не все телефоны могут поддерживать данную функцию. |
members array[object(Caller)] | (Не обязательный) Список абонентов, которым нужно отправить приглашение присоединиться к телеконференции. Для внутренних абонентов заполняется поле «extension», для внешних - поле «number». |
{ "organizer":{ "extension":"SIP/34" } }
{ "result":string "data":{ "room":string } }
Наименование поля | Описание |
---|---|
result string | Результат выполнения команды. Содержит «Success» в случае успеха и описание ошибки в ином случае. |
data.room string | Номер комнаты. Используется для идентификации телеконференции. |
Приглашает новых участников присоединиться к телеконференции.
{ "room":string, "members":array[object(Caller)] }
Наименование поля | Описание |
---|---|
room string | Номер комнаты. Используется для идентификации телеконференции. |
members array[object(Caller)] | Список абонентов, которым нужно отправить приглашение присоединиться к телеконференции. Для внутренних абонентов заполняется поле «extension», для внешних - поле «number». |
auto_answer bool | (Не обязательный) Если параметр установлен, то добавляет в SIP заголовок команду автоподъема трубки. Не все телефоны могут поддерживать данную функцию. Допускается использовать только для повторного приглашения организатора телеконференции, в остальных случаях игнорируется. |
{ "room":"2244", "members":[{ "extension":"SIP/40" }, { "number":"74952293042" }] }
{ "result":string }
Наименование поля | Описание |
---|---|
result string | Результат выполнения команды. Содержит «Success» в случае успеха и описание ошибки в ином случае. |
Исключает участника из телеконференции.
{ "room":string, "member":object(Caller) }
Наименование поля | Описание |
---|---|
room string | Номер комнаты. Используется для идентификации телеконференции. |
member object(Caller) | Участник, которого необходимо исключить из телеконференции. Необходимо заполнять оба поля «extension» и «number». |
{ "room":"2244", "member":{ "extension":"SIP/40", "number":"40" } }
{ "result":string }
Наименование поля | Описание |
---|---|
result string | Результат выполнения команды. Содержит «Success» в случае успеха и описание ошибки в ином случае. |
Преобразует звонок в телеконференцию с двумя участниками. Организатору будет отправлено приглашение. Если его телефон поддерживает функцию автоподъема трубки, он присоединиться автоматически.
{ "call_id":string, "organizer":object(Caller) }
Наименование поля | Описание |
---|---|
call_id string | Глобальный идентификатор текущего вызова (в формате провайдера). |
organizer object(Caller) | Данные организатора телеконференции. |
{ "call_id":"askozia-1489583124.183", "organizer":{ "extension":"SIP/34" } }
{ "result":string, "data":{ "room":string } }
Наименование поля | Описание |
---|---|
result string | Результат выполнения команды. Содержит «Success» в случае успеха и описание ошибки в ином случае. |
data.room string | Номер комнаты. Используется для идентификации телеконференции. |
Возвращает список текущих телеконференций.
Не имеет параметров.
{ "result":string, "no":integer, "total":integer, "data":{ "room" "organizer":object(Caller), "members":array[object(Caller)] "invites":array[object(Caller)] } }
Наименование поля | Описание |
---|---|
result string | Результат выполнения команды. Содержит «Success» в случае успеха и описание ошибки в ином случае. |
no integer | Номер текущего сообщения отправленного в очередь. Каждое сообщение пронумеровано в интервале 1..[total]. |
total integer | Общее количество сообщений с данными активных телеконференций, которые будут отправлены. |
data.room string | Номер комнаты. Используется для идентификации телеконференции. |
data.organizer object(Caller) | Данные организатора телеконференции. |
data.members array[object(Caller)] | Список участников телеконференции. |
data.invites array[object(Caller)] | Список участников, которым отправлено приглашение. |
Возвращает информацию о телеконференции и ее участниках.
{ "room":string }
Наименование поля | Описание |
---|---|
room string | Номер комнаты. Используется для идентификации телеконференции. |
{ "room":"2244" }
{ "result":string "data":{ "organizer":object(Caller), "members":array[object(Caller)] "invites":array[object(Caller)] } }
Наименование поля | Описание |
---|---|
result string | Результат выполнения команды. Содержит «Success» в случае успеха и описание ошибки в ином случае. |
data.organizer object(Caller) | Данные организатора телеконференции. |
data.members array[object(Caller)] | Список участников телеконференции. |
data.invites array[object(Caller)] | Список участников, которым отправлено приглашение. |