Правила исходящих вызовов (/dial_rule/)

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

Ресурс удобно использовать для задач:

  • запрещения вызовов на некоторые направления
  • различные конвертации пользовательского набора (например, добавление префикса)

Добавочному и(или) всему клиенту можно задать список привил. АТС, получив от добавочного запрос на вызов  номера (прямым набором или переадресацией), сначала проверяет правила добавочного, потом правила клиента. Список правил  в каждом блоке (блок добавочного или клиента) проверяется до первого совпадения.

Описание структур данных

Правило исходящего вызова (dial_rule)

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

Значение По

Умолчанию

Описание

match_exp

string

да

nullправило действует, если набор совпадает с "match_exp". Записывается в формате PCRE
repl_exp
stringдаnullописывает, что нужно сделать с набором, если он соотвествует "match_exp"

Пример

Допустим, клиенту с идентификатором id=12, нужно добавлять префикс "8812" к семизначному набору (будет применяться для всех добавочных клиента):

Сначала следует создать нужный список правил набора:

метод
ресурс
данные
ответ
POST
client/12/dial_rule/

{
"dial_rules": [
{
"repl_exp": "8812\\1",
"match_exp": "^([0-9]{7})$"
}
]
}

{

"id": 61,
"client_id": 12,
"dial_rules": [
{
"repl_exp": "8812\\1",
"match_exp": "^([0-9]{7})$"
}
]
}

Далее необходмио применить созданный список правил к клиенту:

метод
ресурс
данные
ответ
PUT
/client/12/client/

{
"dial_rule_id": 61
}

{

...

"dial_rule_id": 61

...
}

А одному из его  добавочных с идентификатором id=146 запретить вызовы куда-либо, кроме российских номеров, но по набору "1" разрешить вызов конкретного международного номера. Допустим, у вышестоящего провайдера международные вызовы принимаются в формате 8-10-код_страны-номер, а на номере 000001 установлен автоответчик о запрете исходящих вызовов на направление:

Создание списка правил набора:

метод
ресурс
данные
ответ
POST
/client/12/dial_rule/

{
"dial_rules": [
{
"repl_exp": "8104412345678",
"match_exp": "^1$"
},
{
"repl_exp": "000001",
"match_exp": "^810(77|[012345689])"
}
]
}

{

"id": 62,
"client_id": 12,
"dial_rules": [

{
"repl_exp": "8104412345678",
"match_exp": "^1$"
},
{
"repl_exp": "000001",
"match_exp": "^810(77|[012345689])"
}
]
}

Применение списка правил к добавочному:

метод
ресурс
данные
ответ
PUT
/client/12/extension/164

{
"dial_rule_id": 62
}

{

...

"dial_rule_id": 62

...
}

Ресурсы

Раздел "клиент"

PUT /client/{client_id}/dial_rule/

Обновить dial rules

Параметры URL

Имя

Тип

client_id

string

Параметры JSON

Имя

Тип

Обязательный

dial_rules

array [dial_rule]

да

Ресурс dial_rule

Имя

Тип

Обязательный

repl_exp

string

да

match_exp

string

да

Поля ответа

Имя

Тип

dial_rules

array [dial_rule]

Ресурс dial_rule

Имя

Тип

Обязательный

repl_exp

string

да

match_exp

string

да

GET /client/{client_id}/dial_rule/

Получить dial rules

Параметры URL

Имя

Тип

client_id

string

Поля ответа

Имя

Тип

dial_rules

array [dial_rule]

Ресурс dial_rule

Имя

Тип

Обязательный

repl_exp

string

да

match_exp

string

да

Теги по теме