В Птн, 15.10.2004, в 22:01, avm7 пишет:
> avm7 пишет:
> > При подключении к инету по модему мне приходится отключать телефонный
> > аппарат, т.к. он вносит помехи и качество связи ухудшается. После
> > отключения (опускания трубки модемом) не всегда вспоминаю, что телефон
> > отключен, да и лень бегать его включать-выключать каждый раз. Хотелось
> > бы настроить индикацию вызова на компьютере, чтобы не пропустить звонки.
> > Подскажите, пожалуйста, кто знает как это можно сделать.
> >
> Какие-то у меня вопросы, то ли сложные, то ли никто такими не
> занимается, но ответов на них меньше всех :(
> Ну да ладно...
> Кому интересно, вот вариант решения. Скриптописатель из меня аховый,
> поправьте, где можно было бы написать более оптимально и лаконично.
Я задался тоже подобной целью, но цель стоит другая -- подключение прову
иногда происходит не удачно. С учетом того, что меня рядом нет, то нужно
в случае обрыва или если у провайдера занято запустить скрипт дозвона. Я
как думал - если есть процесс pppd, значит все в порядке, если нет -
нужно выполнить соединение. То же самое можно сделать к примеру и здесь.
> > #!/bin/bash
temp_file=/tmp/temp.file
ps ax|grep pppd > $temp_file
> #SERIAL='/proc/tty/driver/serial';
> while [ true ]; do
> # RING=`grep -c \|RI $SERIAL`
if ["sed $= $temp_file" = 2];
> #if [ "$RING" == 0 ];
> then sleep 1
> else
> /usr/bin/playwave -r 44100 /usr/share/sounds/ktalkd.wav >/dev/null
> sleep 1
> fi
> done
> Смысл в проверке процесса ps ax|grep pppd > $temp_file и запись
результата во временный файл /tmp/temp.file. Если есть коннект то
запущен pppd, то в файле будет две строки (т.к. добавляется строка grep
pppd). В противном случае проигрывается звуковой файл. Не буду
утверждать, что этот вариант лучше, но я выразил свою мысль на эту тему.
> Смысл в том, что при вызове на линии модем выдает строки RING, но это я
> использовать не сумел. Еще модем видимо выставляет сигнал на одной из
> линий управления порта в моменты прохождения звонка, который я и
> использовал, считывая его периодически из файла /proc/tty/driver/serial
> Путь к файлу может отличаться у разных систем (?). В файле несколько
> строк соответсвенно каждому COM порту, но я не стал усложнять проверку,
> т.к. модем обычно один.
> При наличии вызывного сигнала (звонка) строка в файле выглядит как:
> > 1: uart:16550A port:2F8 irq:3 baud:115200 tx:60520 rx:654359
> RTS|CTS|DTR|DSR|RI
> ^^^
> > в паузах и вообще без вызывного сигнала:
> 1: uart:16550A port:2F8 irq:3 baud:115200 tx:60520 rx:654359 RTS|CTS|DTR|DSR
> > Скрипт в бесконечном цикле проверяет наличие строки |RI, и если таковая
> появляется - проигрывает звуковой файл (у меня звук звонка).
> Программу можно запустить в фоне. Отжирает она на моей старушке 0.3%
> процессорного времени.
> С удовольствием приму советы по оптимизации.
-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 12567; Возраст листа: 452; Участников: 1274
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/248084
-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.linux.discuss
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Отписаться: mailto:comp.soft.linux.discuss--unsub@subscribe.ru?subject=comp.soft.linux.discuss
http://subscribe.ru/ http://subscribe.ru/feedback