Правила исходящих вызовов (/dial_rule/)
Протестировать методы API можно на странице интерактивного обозревателя API и без написания кода
Некоторые ресурсы, описанные на странице, по умолчанию могут быть не доступны из-за типа приложения (см. Создание и авторизация приложений)
Данный ресурс удобно использовать для задач:
запрещения вызовов на некоторые направления;
различных конвертаций пользовательского набора (например, добавления префикса).
Внутреннему номеру и(или) всему клиенту можно задать список правил. АТС, получив от внутреннего номера запрос на вызов номера (прямым набором или с помощью переадресации), сначала проверяет правила внутреннего номера, затем правила клиента. Список правил в каждом блоке (блок внутреннего номера или клиента) проверяется до первого совпадения.
Описание структур данных
Правило исходящего вызова (dial_rule)
Имя | Тип | Обязательное | Значение по умолчанию | Описание |
---|---|---|---|---|
match_exp | string | да | null | Правило действует, если набор совпадает с "match_exp". Записывается в формате PCRE |
repl_exp | string | да | null | Данный параметр описывает, что нужно сделать с набором, если он соответствует "match_exp" |
Примеры
Допустим, клиенту с идентификатором id=12 нужно добавлять префикс "8812" к семизначному набору (будет применяться для всех внутренних номеров клиента). Сначала следует создать нужный список правил набора:
Ответ системы:
{
"id": 61,
"client_id": 12,
"dial_rules": [
{
"repl_exp": "8812\\1",
"match_exp": "^([0-9]{7})$"
}
]
}
Далее необходимо применить созданный список правил к клиенту:
Ответ системы:
{
...
"dial_rule_id": 61
...
}
А одному из внутренних номеров с идентификатором id=164 необходимо запретить вызовы куда-либо, кроме российских номеров, но по набору "1" разрешить вызов конкретного международного номера. Допустим, у вышестоящего провайдера международные вызовы принимаются в формате 8-10-код_страны-номер, а на номере 000001 установлен автоответчик о запрете исходящих вызовов на направление. Создание списка правил набора:
Ответ системы:
{
"id": 62,
"client_id": 12,
"dial_rules": [
{
"repl_exp": "8104412345678",
"match_exp": "^1$"
},
{
"repl_exp": "000001",
"match_exp": "^810(77|[012345689])"
}
]
}
Применение списка правил к внутреннему номеру:
Ответ системы: