Volgograd

Волгоград Linux User Group

Организована 23 ноября 2002 года

Проект заморожен Птн Июл 6 02:11:14 MSD 2012


Вход:  Пароль:  

Автоответчик


Автоответчик на базе модема 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]