Ресурс инициации вызова позволяет с помощью API инициировать вызов между номерами. После успешного API-запроса системой вызываются все номера-источники вызова, а после поднятия трубки одним из них начинает вызываться номер назначения.
Если номер-источник - это Телефонный терминал (/phone/) - то при таком вызове его правила переадресации будут проигнорированы. Правила переадресации телефонного терминала работают только при вызове в качестве номера-назначения
В ресурсе можно использовать Переменные . Необходимо сначала задать их в ресурсе Переменные . Затем при запросе на callback их можно использовать вместо параметров запроса через:
“@{VAR_NAME}” , если это extension_id в url запроса
“$cv({VAR_NAME})” , если это параметр в теле запроса
Переменные может использовать только пользователь клиента. См. пример ниже
Идентификатор звука, который проиграется при поднятии трубки номером-источником до того, как начнет вызываться номер назначения
call_duration
long
нет
Системное значение
Максимальная продолжительность разговора в секундах
caller_id_name
string
нет
Имя вызывающего абонента. Если значение не будет задано, будет использовано имя внутреннего номера, от имени которого инициируется вызов
caller_id_number
string
нет
Номер вызывающего абонента. Если значение не будет задано, будет использован внутренний номер, от имени которого инициируется вызов
src_ani
string
нет
Номер из списка внешних номеров клиента, который будет передан в качестве АОНа при вызове внешнего номера или номеров из массива src_num. Не передается на внутренние номера. В случае указания номера не из списка внешних номеров клиента (DID) src_ani будет проигнорирован
dst_ani
string
нет
Номер из списка внешних номеров клиента, который будет передан в качестве АОНа при вызове внешнего номера из dst_num. Не передается на внутренние номера. В случае указания номера не из списка внешних номеров клиента (DID) dst_ani будет проигнорирован
dst_announce_sound_id
long
нет
Идентификатор звука, который проиграется при поднятии трубки на вызываемой стороне, будет слышен всем участникам разговора. Проигрывается только для звонков по внешней сети.
dst_dtmf
string
нет
Последовательность DTMF-тонов, которые будут переданы номеру dst_num, как только вызов dst_num будет отвечен. Допустимы цифры 0123456789*#, а также символы W и w. W – пауза длиной в одну секунду, w – пауза длинной в полсекунды
dst_num
string
да
Номер назначения вызова. В отличии от src_num, тут отрабатывают все правила входящего вызова для номера и могут быть указаны очереди, голосовое меню (IVR)
src_caller_id_name
string
нет
Имя вызывающего абонента, которое будет передано на номера из src_num. Если значение не будет задано, будет использован параметр caller_id_name. Если caller_id_name не задан, будет использовано имя внутреннего номера, от имени которого инициируется вызов
src_caller_id_number
string
нет
Номер вызывающего абонента, который будет передан на номера из src_num. Если значение не будет задано, будет использован параметр caller_id_number. Если caller_id_number не задан, будет использован внутренний номер, от имени которого инициируется вызов
src_num
string
да
Массив номеров-источников вызова, например, список внутренних и/или мобильных номеров. Тут не могут быть указаны внутренние номера типа "IVR". Номера из массива вызываются без учета правил входящего вызова
transfer_after_dst_hangup
string
нет
Номер, на который система переведет вызов, если сторона инициации вызова src_num останется последней в разговоре
transfer_after_src_hangup
string
нет
Номер, на который система переведет вызов, если сторона назначения dst_num останется последней в разговоре
callback_rate_limit
int
нет
У каждого клиента существует ограничение на количество вызовов - calls limit. В случае, если необходимо, чтобы callback не занимал весь лимит звонков, а только % вызовов от calls limit - необходимо указать callback_rate_limit от 0% до 100%, чем больше %- тем выше вероятность, что callback не пройдет, а при 100% callback точно отобьется ошибкой callback_rate_limit_exceeded
Максимальное время ожидания снятия трубки в секундах. Сначала ожидается снятие трубки номерами-источниками вызова, затем ожидается снятие трубки на номере назначения dst-num. Если наdst-num проиграется early-media, то с момента проигрывания early-media возобновится таймер времени ожидания wait_for_pickup. Если за время wait_for_pickup трубка не будет снята, вызов не будет совершен (в случае передачи параметров transfer_after_* рекомендуется дожидаться истечения таймеров wait_for_pickup)
call_api_id
string
да
Возвращается в ответ на запрос callback. Используется для возможности последующего управления вызовом
call_id
string
да
Возвращается в ответ на запрос callback и является его идентификатором. По нему можно фильтровать события, относящиеся к данному callback, получать отчеты по его результатам. Является синонимом call_uuid для ресурса истории вызовов
Результат callback После инициации вызова можно осуществить запрос на ресурс “История вызовов (/call_history/, /calls/)”: GET /client/{client_id}/call_history/{call_uuid} указав полученный в результате инициации вызова "call_id" в качестве "{call_uuid}"
Пример использования переменных в запросе
Использовать уже заданные в ресурсе Переменные переменные :
ext_id = 34535
caller_id_name = Ivan
Ресурсы раздела "Внутренний номер"
POST /extension/{extension_id}/callback/
Инициировать вызов. Указанный в пути extension_id должен быть идентификатором внутреннего номера типа ‘phone’