Автоответчик на базе модема Acorp Sprinter@56k и vgetty
Все больше пользователей оставляют компьютер постоянно включенным, когда они находятся вне дома. Ведь работающий под управлением
Linux компьютер способен самостоятельно в заданное время соединиться с интернетом, проверить почту, отослать смс хозяину по приходу новых писем, скачать нужные файлы... да и вообще быть доступным с работы, если понадобятся
какие-нибудь файлы, оставаясь при этом защищенным от сетевых атак и вирусов.
В данной статье пойдет речь об использовании комьютера в качестве автоответчика. Причем с сответствующей правкой конфигов, автоответчик можно будет использовать не только для указанного модема, но и для любого другого голосового модема.
Установка
Практически в каждом дистрибутиве Linux есть программа для приема модемных звонков mgetty. Но у нее есть и расширение для приема голосовых звонков vgetty. Соответствующий пакет в дистрибутиве обычно называется
mgetty-voice. В случае отсутствия mgetty в дистрибутиве исходники можно скачать с адреса
ftp://alpha.greenie.net/pub/mgetty/source/
Настройка
vgetty хранит свою конфигурацию в файле /etc/mgetty+sendfax/voice.conf. Укажем следующие параметры в этом файле:
Это рабочая папка программы, относительно которой будут располагаться все остальные
В эту папку будут помещаться принятые голосовые сообщения
В эту папку надо поместить записанное приветствие для автоответчика
Имя файла приветствия
Скорость порта. В документации программы указано, что на многих машинах не будет работать со скоростью выше 38400, но этой скорости может оказаться явно недостаточно для работы в голосовом режиме.
Порог определения тишины. На модеме Acorp Sprinter@56k (
EMSF-2) нельзя указывать произвольный порог, надо ставить уже предопределенные значения.
Принудительно указываем vgetty, что модем поддерживает голосовые команды стандарта V253. В противном случае программа определяет модем как стандартный Rockwell и пытается использовать rockwell'овский набор команд, который отличается от V253.
Число звонков, после которых модем берет трубку. Значения меньше 2 не поддерживаются. Это связанно с тем. что программа пытается использовать определение номера по стандарту CID, который на наших линиях практически не используется.
Путь к программе которая запускается после приема звонка. Ниже будет указано, как использовать эту программу.
Задержка между импульсами звонка. Для указанного модема надо использовать 1.
Записываем приветствие в формате WAV, а затем конфертируем его сначала в pvf командой wavtopvf, а затем в rmd командой pvftormd, переименовываем файл в standatd.rmd и кладем его в папку messages.
Что необходимо сделать, когда будет получено голосовое сообщение? Желательно сконвертировать его в WAV, чтобы можно было прослушать на любом плэере, а также неплохо бы отправить SMS, что был получен звонок. Этим занимается скрипт
sendsms:
А программа
sendsms.php занимается отправкой смс (в указанном примере на билайн через его
mail-sms шлюз. При использовании указанного скрипта надо поменять:
7XXXXXXXXXX на номер телефона
xxxxx@xxx.xxx действующий
e-mail адрес (шлюз билайна может отправлять смс только с реальных адресов. поэтому программа mail, которая отправляет письма с адресов вида sergey@localhost не подходит)
Естественно, для отправки письма необходимо соединение с интернетом. Поэтому в случае диалапа необходимо вставлять в скрипт в начале команды для дозвона, а в конце для разрыва соединения.
Запуск
Для запуска vgetty добавляем в файл /etc/inittab строчку
где ttyS0 компорт, на котором установлен модем.
После этого перечитываем inittab:
После этого модем готов к приему голосовых звонков.
см также:
http://www.modemsite.ru/main/modules.php?op=modload&name=PNphpBB2&file=viewtopic&t=102 обсуждение настройки vgetty.
на мою главную страницу
[
/ Category Tips]