Модему все равно, кто дозванивается к вам (другой модем, Буш, Путин, Ющенко или все вместе взятые)
. Если у него установлено "снимать трубку" после первого поступившего звонка - то он так и будет делать. Все современные модемы поддерживают стандартный набор команд HAYES (вроде так пишется
), хотя и бывает некоторое отличие (но основные команды поддерживаются точно). Пролистайте руководство к модему (в конце команды должны быть описаны).
Так вот необходимо в настройках модема изменить содержимое регистра S0 на значение отличное от 1 (например на 5, т.е. после 5-го сигнала "звонка" модем снимет трубку) .
Это производится командой:
AT S0=5
(команду можно вводить в любой терминальной программе, например, в Hyperterminal - которая идет с Виндой)
А еще лучше задать эти настройки по умолчанию, чтобы при последующем выкл\вкл модема опять не нужно было писать эту команду (либо так, как описано в инструкции, либо в Свойствах модема на вкладке Дополнительные параметры связи в строке Дополнительные параметры инициализации вписать эту строчку).
Насколько я понял вашу проблему - у вас параллельно подключены к телефонной линии модем и телефонный аппарат. Необходимо сделать так, чтобы при поступлении звонка человек мог поднимать трубку на телефонном аппарате и говорить, если поступил обычный телефонный звонок, а не звонок от другого модема.
Подробно описываю предожение
Работа по предложенному мною способу будет производится так:
1) Исходное состояние - к линии подключен модем и телефон.
2) Поступает звонок - сейчас после 1-го сигнала модем сразу подключаться к линии не станет, а подождет пока еще услышит 4 "посылки вызова", человек имеет время (порядка 2сек*4=8 секунд), чтобы ответить на поступивший звонок. Если на протяжении этих 5 "посылок вызова" (звонков) человек трубку не поднимает - то срабатывает модет и подключается к линии.
Замечание
Следует заметить, что если вы точно не знаете, кто к вам звонит (модем или человек) то возможна ситуация:
1) Вы снимаете трубку, а к вам звнонил человек - ну все понятно (происходит разговор)
2) Вы сняли трубку, а к вам звонил модем (вы будете кричать "ОЛЕ" в трубку, а в ответ либо будет тишина, либо характерные звуки от звонящего к вам модема - все зависит от его настроек) - ну тогда вы понимаете, что к вам звонит модем и кладете трубку (заканчиваете разговор). И ждете, что через секунд 10-15 модем к вам перезвонит - и тогда вы уже не будете хватать трубку.
3) К вам знонит человек, долго ждет (5 гудков или столько, сколько вы сами установите) и слышит, что ему отвечает модем - ну тут он понимает, что никого нет и перезванивает в другое время.
Вот в общем и все. Идея проста (и проверена у меня на работе, где я поставил сервер удаленного доступа на FreeBSD, а на том же телефонном номере сидел еще и человек и действовал по алгоритму описанному выше ).
P.S. Ну, а если вы точно знаете когда к вам должны позвонить - так вообще нет проблем - попробуйте просто отсоединить модем от телефонной линии (непосредственно выдергиванием кабеля
)