LinuxBegin.ru - offline-версия от 26.04.2004
Главная | Все темы | Все статьи | Ссылки | Аналоги Windows-программ в Linux | Top 20

Настройка vgetty для автоответчика+PPP.
(Работа в Сети / браузеры / download / ..)


- Vladimir Afanasiev, 17.08.2000. -

Имеем: Acorp 56IMS, подключенный к /dev/ttyS3. Наш hostname - "hus". hostname удаленной машины считаем как "ppphost". Хотим: автоответчик, ждущий 4 звонка, берущий трубку, играющий записанное сообщение и пишуший абонента. Если абонент после сигнала молчит 5 секунд, то он - комп с модемом :). Коннектимся и даем ему PPP.

Скажу сразу - здесь я ничего пояснять не буду (почти не буду :), просто приведу свои настройки. Я не гарантирую, что они подойдут всем. Более того - я НЕ РЕКОМЕНДУЮ тупо копировать их. Вместо этого советую читать man mgetty, man vm, man pppd, man inittab, man hosts, /usr/doc/ppp-x.x.x/, /usr/doc/mgetty+sendfax-x.x.x/, применять /dev/head и /dev/hands, изредка поглядывая сюда.

Настраиваем vgetty:

Правим /etc/mgetty+sendfax/voice.conf

В /etc/mgetty+sendfax/login.config правим строчку с /AutoPPP/

/AutoPPP/ -     a_ppp   /etc/ppp/ppplogin

В /etc/mgetty+sendfax/mgetty.config пишем

speed 115200

В /etc/inittab пишем (у меня 4 виртуальных консоли mingetty)

5:2345:respawn:/sbin/vgetty ttyS3

В /etc/hosts пишем

192.168.0.1		hus
192.168.0.2		ppphost
Настраиваем pppd:

В /etc/ppp/options пишем

-detach
crtscts
kdebug 4
netmask 255.255.255.0
asyncmap 0
modem
refuse-chap
require-pap
noccp
noauth
noproxyarp

Создаем /etc/ppp/options.ttyS3

hus:ppphost

В /etc/ppp/pap-secrets пишем

*		*	""	192.168.0.2

Создаем /etc/ppp/ppplogin

#!/bin/sh

mesg n
tty
/usr/sbin/pppd noauth noccp -chap +pap kdebug 4 login

Пишем скрипты:

/usr/local/bin/playmsg - слушаем все сообщения

#!/bin/sh

cd /var/spool/voice/incoming

for i in `ls -x1 *.[Rr][Mm][Dd] 2> /dev/null`; do
	dm_date=$(date -r $i +Msg-%d%m%y-%H%M%S.wav)
	/usr/bin/rmdtopvf -b $i _tmp.pvf > /dev/null 2>&1
	/usr/bin/pvftowav _tmp.pvf $dm_date > /dev/null 2>&1
done

for i in `ls -x1 *.[Ww][Aa][Vv] 2> /dev/null`; do
	echo "Playing "$i"..."
	/usr/bin/play $i
	/usr/bin/play /etc/mgetty+sendfax/phrases/space.wav
done

rm -f *.[Pp][Vv][Ff]
rm -f *.[Rr][Mm][Dd]

/usr/local/bin/msgclear - стираем все сообщения

#!/bin/sh

rm -f /var/spool/voice/incoming/*.[Ww][Aa][Vv] > /dev/null 2>&1
rm -f /var/spool/voice/incoming/*.[Pp][Vv][Ff] > /dev/null 2>&1
rm -f /var/spool/voice/incoming/*.[Rr][Mm][Dd] > /dev/null 2>&1

/usr/local/bin/recgreetmsg - записываем приветствие с микрофона на модеме

#!/bin/sh

cd /var/spool/voice/messages
/usr/bin/vm record -m -l ttyS3 -v standard.rmd
/usr/bin/rmdtopvf standard.rmd tmp.pvf
/usr/bin/pvftowav tmp.pvf tmp.wav
rm -f *.pvf
/usr/bin/play tmp.wav

Пользователям пишем в ~/.profile - проверка автоответчика при логине
Внимание! Переносы строк.

MES_COUNT=`ls /var/spool/voice/incoming/*.[Rr][Mm][Dd] 2>
                                     /dev/null | wc -l`
if [ $MES_COUNT != "0" ]; then
	echo You have $MES_COUNT message(s) on
	     the answering machine.
fi

Просмотров: 2032  |  Рейтинг статьи: 3 (Голосов: 2).
3
Дата размещения статьи: 2002-12-09 12:40:41



5 последних поступлений в раздел Работа в Сети / браузеры / download / ..:

07.02.04: Настройка PPTP клиента в Linux Mandrake-9.2 (Всё больше стала встречаться ситуация, когда пользователи стали выходить в интернет через VPN. И как ...)
11.01.04: Jabber в качестве корпоративного стандарта обмена сообщениями (Когда возникла необходимость в корпоративной системе быстрого обмена сообщениями (IM), в первую очере...)
22.12.03: Links, а не Opera - самый быстрый браузер на Земле. (Отображение страницы начинается РАНЬШЕ обработки html кода. То есть, сначала на экране появляется пор...)
18.12.03: Postfix за 10 минут (Postfix - агент доставки почты (Mail Transfer Agent, MTA). В этой статье мы не будем рассматривать на...)
10.12.03: Сказание о боге Джа (В первое время я воспринимал Jabber как продвинутый IM. Ну открытый протокол, ну расширяемый, распред...)

Комментарии:

LinuxBegin.ru © 2003-2004 Valery V. Kachurov | Условия использования материалов | О проекте