Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Протестировать методы API можно на странице интерактивного обозревателя и без написания кода

...

Warning

Мы обновили документацию, актуальная версия страницы доступна по ссылке: Правила входящего вызова (/incom_rule/)

Table of Contents

Ресурс служит для задания правил обработки входящих вызовов, например, установления переадресации. Правила можно добавлять для добавочных любых типов.

...

РесурсМетодПараметры ПутиТело запросаОписание
extension/{extension_id}/incom_rule/POST

extension_id (integer) уникальный идентификатор добавочного, может принимать значение @me в случае пользователя типа "экстеншен"

поля IncomingRule 61870459, за исключением IncomingRule.id(генерируется автоматически)Добавить правило входящего вызова
extension/{extension_id}/incom_rule/GETextension_id (integer) уникальный идентификатор добавочного, может принимать значение @me в случае пользователя типа "экстеншен"  
Получить список входящих правил для добавочного
extension/{extension_id}/incom_rule/{rule_id}PUT

extension_id (integer) уникальный идентификатор добавочного, может принимать значение @me в случае пользователя типа "экстеншен"

rule_id (integer) идентификатор   IncomingRule.id 

обновленные поля IncomingRule61870459 , за исключением IncomingRule.idОбновляет правила входящего вызова
extension/{extension_id}/incom_rule/{rule_id}DELETE
Удаляет правило входящего вызова
extension/{extension_id}/incom_rule/{rule_id}GET
Получить правило входящего вызова
extension/{extension_id}/incom_rule/order/PUTextension_id (integer) уникальный идентификатор добавочного, может принимать значение @me в случае пользователя типа "экстеншен" IncomingRuleOrder61870459Изменить порядок правил входящего вызова
extension/{extension_id}/incom_rule/order/GETextension_id (integer) уникальный идентификатор добавочного, может принимать значение @me в случае пользователя типа "экстеншен"
Получить порядок правил входящего вызова

...

ИмяТипОбязательное

Значение По

Умолчанию

Описание

id

Anchor
IncomingRule.id
IncomingRule.id

integer

-


Уникальный идентификатор правила (в пределах добавочного). Поле только для чтения.

typestringда

Определяет тип действия со входящим вызовом. Реализованы следующие типы:

  • busy - ответить на входящий вызов сигналом "занято" (SIP/2.0 486 Busy Here)
  • transfer - выполнить перевод вызова (сделать переадресацию) на номер(а) из transfer_dst. Максимально возможное количество номеров передаресации – 10, для одновременной переадресации на большее количество номеров следует использовать тип group_call. 61870459.
  • simple_transfer - выполнить перевод вызова (сделать переадресацию) на номер(а) из transfer_dst 61870459. При данном типе переадресации правила входящего вызова для перечисленных в transfer_dst добавочных номеров не выполняются.
  • hangup - сбросить вызов (sip code 480)
  • playfile - проиграть файл (задается параметром playfile_sound 61870459)
  • voicemail - сделать перевод вызова на голосовую почту. Актуально для добавочных типа "phone" (настраивается в ресурсе /phone/)
  • cascade - переадресация с последовательным добавлением вызываемых номеров. Например, для добавочного 100 можно указать 20 секунд вызывать сам добавочный, потом подключить к вызову мобильный, чтобы они вызывались одновременно и т.д. Последовательность каскада задается параметром cascade_numbers 61870459
  • simple_cascade - работает также, как и cascade, но правила входящего вызова добавочных, указанных в cascade_numbers не выполняются
namestringнетnullИмя правила, не обязательно уникальное.
playfile_sound
Anchor
playfile_sound
playfile_sound
integerпри type playfilenullИдентификатор звукового файла для правила типа playfile.
transfer_dst
Anchor
transfer_dst
transfer_dst
stringпри type transfernullОбязателен для "type": "transfer". Переадресация на указанный номер. Если нужна переадресация на несколько номеров одновременно (одновременный вызов), то эти номера перечисляются через пробел.

transfer_timeout

integer

нет

60

Обязателен для "type": "transfer" и "type": "cascade". Время в секуднах, в течении которого будет пытаться осуществиться перевод. Если время истекло, а перевода не произошло, то происходит переход к обработке следующего правила

cascade_numbers
Anchor
cascade_numbers
cascade_numbers
arrayпри type cascade[ ]

Обязателен для "type": "cascade". Задает последовательность подключаемых к вызову номеров и время подключения каждого нового номера в виде массива cascade_number элементов:

 cascade_number:

  • delay - (integer) определяет момент подключения номера к вызову. Отсчитывается от начала вызова в секундах
  • number - (string) номер, подключаемый к вызову

Например:
"cascade_numbers": [ { "delay": 0, "number": "097" }, { "delay": 5, "number": "00018966" } ]
Сначала будет вызываться номер "097", а через 5 секунд будут одновременно вызываться номера "097" и "00018966"

Примечание: при каскадном вызове сразу начинает звонить номер с минимальным delay, независимо от его фактического значения. Например:
"cascade_numbers": [ { "delay": 3, "number": "097" }, { "delay": 5, "number": "00018966" } ]
идентично последовательности 
"cascade_numbers": [ { "delay": 0, "number": "097" }, { "delay": 5, "number": "00018966" } ] 

allow_public_transferbooleanнетfalseЕсли переадресация была на внешний номер (не добавочный внутри сети), то указывает, можно ли с него будет делать трансфер звонка.  
caller_id
Anchor
caller_id
caller_id
stringнетnullПравило будет работать только для вызовов, источник которых определяется этим полем. Поле заполняется в виде регулярного выражения PCRE. Например: "^(\+|)7812" будет соответствовать всем источникам, начинающимся на "+7812" или "7812"

caller_id_action

string

нет

'any'

определяет метод анализа источника вызова caller_id:

  • 'matches' должен совпадать (caller_id должен быть задан)
  • 'not_matches' должен не совпадать (caller_id должен быть задан)
  • 'anonymous' источник скрыт
  • 'any' любой источник

call_status

string

нет

'any'

Правило отработает только в случае, если статус предыдущего вызова (самого добавочного либо предыдущего правила переадресации) соответствует значению, переданному в этом параметре

  • 'no_answer' - не было ответа (по таймауту или какая-либо ошибка, кроме "SIP/2.0 486 Busy Here")
  •  'busy' - номер занят (получен SIP/2.0 486 Busy Here)
  • 'any' - любой результат
extension_call_status

string

нет

'any'

Правило отработает только в случае, если статус вызова добавочного (если он вызывался) соответствует значению, переданному в этом параметре.

  • 'no_answer' - не было ответа (по таймауту или какая-либо ошибка, кроме "SIP/2.0 486 Busy Here")
  •  'busy' - номер занят (получен SIP/2.0 486 Busy Here)
  • 'any' - любой результат

extension_status

string

нет

'any'

Правило отработает лишь при таком статусе добавочного. Принимает одно из значений:

  •  'registered' добавочный зарегистрирован
  •  'unreachable' добавочный недоступен (например, потеряна регистрация, или добавочный не отвечает из-за проблем с сетью)
  • 'any' статус не имеет значения

interval

integer

нет

null

Правило отработает при попадании во временной интревал

enabled

boolean

нет

true

Опция позволяет включать/выключать существующие правила

ignore_early_media

boolean

нет

true

Не транслировать вызывающему абоненту "early media". Может быть полезно, если происходит серия последовательных переадресаций на разные номера и вызывающий абонент может слышать автоответчик вида "номер не доступен"

final

boolean

нет

true

Это правило является последним и последующие обрабатывать не нужно

enable_call_screeningbooleanнетfalseВключение функции call_screening для данного правила переадресации. Параметр применим только к правилами типа transfer и cascade.

...