пятница, 22 января 2016 г.

Ограничение звонков на межгород в Elastix без использования Custom Contexts и PIN-кодов

Необходимость ограничения платных звонков по междугородней и международной связи определённым категориям пользователей возникает практически в каждом офисе.
Штатные возможности WEB-интерфейса Elastix или FreePBX позволяют сделать это лишь косвенно: либо ограничив доступ к соответствующему маршруту при помощи PIN-кодов, либо установив дополнительный модуль Custom Contexts.
Как показала практика, защита маршрута PIN-кодом не слишком эффективна, т.к. рано или поздно эти PIN'ы становятся известны всем. Модуль Custom Contexts на самом деле более нагляден и я не вижу причин не использовать его, но это дело привычки (как сделать то же самое с использованием Custom Contexts написано здесь).
В этой заметке описано как корректно ограничить платные звонки для конкретных номеров без использования PIN-кодов и модуля Custom Contexts.
Для этого мы не будем пользоваться WEB-интерфейсом, а отредактируем конфигурационный файл FreePBX /etc/asterisk/extensions_custom.conf.
Находим там контекст [from-internal-custom] и добавляем в него строки примерно такого содержания:
exten => _8./_27[45],1,NoOp("${CALLERID(num)}: заблокирован междугородный звонок!")
exten => _8./_27[45],n,Playback(feature-not-avail-line)
exten => _8./_27[45],n,Hangup()
В этом примере мы полностью заблокировали звонки по междугородной и международной связи (_8.) для внутренних номеров 274 и 275 (_27[45]).
При попытке набора запрещённого номера автоинформатор сообщит пользователю, что данный вид связи недоступен и Asterisk завершит звонок.

2 комментария:

  1. Здравствуйте,
    подскажите пожалуйста: в шаблоне, в записях вида - exten => _8./_27[45] ...
    допускается замена 8 на +7 (для запрета сотовых номеров с российским префиксом) или надо как-то по другому указывать?

    ОтветитьУдалить
  2. сразу забыл ещё уточнить (допишу к вопросу выше): как лучше всего будет разместить запись с префиксом +7 в extensions_custom.conf - оформить отдельной (т.е. ещё одной) секцией [from-internal-custom] или можно прямо под строками, что выше дописать?

    ОтветитьУдалить