Asterisk/FreePBX: как отклонить все входящие звонки через несколько секунд?

У меня 3 тупых GSM-реле, которые контролируют ворота. Если звонит человек, чей номер находится в адресной книге устройства, ворота открываются. Вызов отклонен (в моей стране звонки, которые не были подключены или длились менее 5 секунд, бесплатны).

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

В качестве обходного пути я включил SIP для этих 3 номеров. Оператор одновременно направляет входящий вызов на GSM-модем по беспроводной связи и на SIP-аккаунт, где я вижу Caller ID.

Проблема в том, что теперь я должен использовать 3 древних телефона Android с приложением SIP оператора для записи входящих звонков. Это работает, но это странный неудобный клудж. Кроме того, это нарушает пользовательский опыт моих соседей - они привыкли, что их вызов мгновенно прерывается с помощью ретранслятора GSM, и теперь они будут слышать звонки, пока приложение SIP не решит отклонить вызов.

У меня есть старый нетбук, где я установил FreePBX дистрибутив. Я добавлю эти 3 SIP-аккаунта. Мне нужен совет о том, как настроить Asterisk для записи идентификатора вызывающего абонента каждого входящего вызова SIP плюс его дату и время в его базе данных MySQL, подождать несколько секунд и отклонить вызов. Позже я напишу простой Perl-скрипт, чтобы изучить эту базу данных и сделать для меня аккуратный HTML-отчет.

Я понимаю, что это должно быть очень просто, но такой вид установки является странным вариантом использования Asterisk, и я не могу найти ни одного существующего HOWTO на нем.

PS Редактирование прошивки GSM-реле для принятия и немедленного отклонения вызова не является опцией - это частная собственность.

0 ответов

Другие вопросы по тегам