У меня есть 3 тупых реле GSM, которые управляют воротами. Если звонит человек, номер которого есть в адресной книге устройства, ворота открываются. Звонок отклоняется (в моей стране звонки, которые не выполнялись или длились менее 5 секунд, бесплатны).
Проблема с этой настройкой заключается в том, что отклоненные вызовы не отображаются в регистре данных вызовов оператора (CDR) и, следовательно, в онлайн-заявлении. У меня не было возможности проверить, кто именно открыл ворота в данный момент.
В качестве обходного пути я включил SIP для этих 3 номеров. Оператор одновременно направляет входящий вызов на модем GSM по воздуху и на учетную запись SIP, где я вижу идентификатор вызывающего абонента.
Проблема в том, что теперь мне приходится использовать 3 старых телефона Android с приложением SIP оператора для регистрации входящих звонков. Это работает, но это странный неудобный кладж. Кроме того, это мешает работе моих соседей - они привыкли, что их вызов мгновенно прерывается реле GSM, и теперь они будут слышать звонки, пока приложение SIP не решит отклонить вызов.
У меня есть старый нетбук, на который я установил дистрибутив FreePBX. Я добавлю к нему эти 3 SIP-аккаунта. Мне нужен совет о том, как настроить Asterisk для записи идентификатора вызывающего абонента каждого входящего вызова SIP, а также его даты и времени в базе данных MySQL, Подождите несколько секунд и отвергать вызов. Позже я напишу простой Perl-скрипт, чтобы заглянуть в эту базу данных и сделать для меня аккуратный HTML-отчет.
Я понимаю, что это должно быть очень просто, но такая установка - странный вариант использования Asterisk, и я не могу найти на нем никаких существующих HOWTO.
P.S. Редактировать прошивку реле GSM, чтобы он принимал и немедленно отклонял вызов. не вариант - проприетарный.