Форум: "WinAPI";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];
ВнизРабота с TAPI на Delphi под Win 98 и Win XP Найти похожие ветки
← →
viv-x © (2005-09-03 20:13) [0]Для реализации удаленного доступа и связи компьютеров по TCP/IP по 4-х пров. выделенной линии пишу дозвонщик (Dialer) на Delphi 6.0 с использованием TAPI. Для работы выбраны модемы ZyXEL U-336S, которые настраиваются для работы на 4-х пров. выделенной линии, в связи с чем пришлось поправить установочные inf-файлы для этого модема (для Win"98 - mdmz336s.inf, для XP - mdmzyxel.inf, mdmzyxlg.inf).
Первоначально звонилка была сделана для Win"98 и успешно работала. Затем пришлось ее доработать для XP. Однако в XP возникли проблемы. Если Win"98 ложил трубку (RasHangUpA) в течении 1-2 секунд и корректно сбрасывал модем, то Win"XP RasHangUpA выполнял секунд 40, при этом все это время программа ожидала возвращения управления. Между тем, для модема ZyXEL в режиме 4-х пров. линии (как и для большинства модемов) сброс модема производится снятием сигнала DSR (готовность компьютера). В 98 сигнал DSR на панели модема сбрасывался, а в XP оставался поднятым.
Указанная ситуация поторялась и с использованием стандартного соединения компонента "Удаленноый доступ" системы Windows XP (без участия моего дозвонщика).
Не могу понять почему продвинутый во времени XP не может корректно положить трубку и сбросить модем, а устаревший Win"98 делает это нормальным образом.
Подскажите почему так происходит и как с этим бороться ?
--- LOG-файл работы модема в 98"ом ---
09-02-2005 22:44:56.25 - ZyXEL U-336S, Plug&Play in use.
09-02-2005 22:44:56.25 - Modem type: ZyXEL U-336S, Plug&Play
09-02-2005 22:44:56.25 - Modem inf path: ZYXELC~1.INF
09-02-2005 22:44:56.25 - Modem inf section: U336S
09-02-2005 22:44:56.49 - 57600,N,8,1
09-02-2005 22:44:56.49 - 57600,N,8,1
09-02-2005 22:44:56.49 - Initializing modem.
09-02-2005 22:44:56.49 - Send: AT&FE0X7<cr>
09-02-2005 22:44:56.49 - Recv: AT&FE0X7<cr>
09-02-2005 22:44:56.52 - Recv: <cr><lf>OK<cr><lf>
09-02-2005 22:44:56.52 - Interpreted response: Ok
09-02-2005 22:44:56.52 - Send: ATM0&D3*Q0S41=80S43=0S49=0<cr>
09-02-2005 22:44:56.53 - Recv: <cr><lf>OK<cr><lf>
09-02-2005 22:44:56.53 - Interpreted response: Ok
09-02-2005 22:44:56.53 - Send: AT<cr>
09-02-2005 22:44:56.54 - Recv: <cr><lf>OK<cr><lf>
09-02-2005 22:44:56.54 - Interpreted response: Ok
09-02-2005 22:44:56.54 - Send: ATS7=60S10=15&L2S52=88*P07S35=40&N70<cr>
09-02-2005 22:44:56.55 - Recv: <cr><lf>OK<cr><lf>
09-02-2005 22:44:56.55 - Interpreted response: Ok
09-02-2005 22:44:56.55 - Dialing.
09-02-2005 22:44:56.55 - Send: ATA<cr>
09-02-2005 22:45:01.92 - Hanging up the modem.
09-02-2005 22:45:01.92 - Send: <cr>
09-02-2005 22:45:03.92 - Session Statistics:
09-02-2005 22:45:03.92 - Reads : 33 bytes
09-02-2005 22:45:03.92 - Writes: 81 bytes
09-02-2005 22:45:03.92 - ZyXEL U-336S, Plug&Play closed.
--- LOG-Файл работы модема в XP ---
09-03-2005 17:46:07.431 - Тип модема: ZyXEL U-336S, Plug&Play
09-03-2005 17:46:07.431 - INF-файл модема: mdmzyxel.inf
09-03-2005 17:46:07.431 - Секция INF-файла модема: U336S
09-03-2005 17:46:07.431 - Соответствие аппаратному коду (ID): serenum\zyx0303
09-03-2005 17:46:07.441 - Opening Modem
09-03-2005 17:46:07.451 - 57600,8,N,1, ctsfl=1, rtsctl=2
09-03-2005 17:46:07.451 - Инициализация модема.
09-03-2005 17:46:07.461 - Послано: AT&FE0X7<cr>
09-03-2005 17:46:07.461 - Принято: AT&FE0X7<cr>
09-03-2005 17:46:07.461 - Режим вывода команд на экран
09-03-2005 17:46:07.491 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:46:07.491 - Интерпретированный ответ: ОК
09-03-2005 17:46:07.501 - Послано: ATM0&D3*Q0S41=80S43=0S49=0<cr>
09-03-2005 17:46:07.511 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:46:07.511 - Интерпретированный ответ: ОК
09-03-2005 17:46:07.522 - Послано: AT<cr>
09-03-2005 17:46:07.522 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:46:07.522 - Интерпретированный ответ: ОК
09-03-2005 17:46:07.522 - Отправка пользовательских команд инициализации.
09-03-2005 17:46:07.532 - Послано: ATS7=60S10=15&L2S52=88*P07S35=40&N70<cr>
09-03-2005 17:46:07.542 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:46:07.542 - Интерпретированный ответ: ОК
09-03-2005 17:46:07.552 - TSP(0000): Совершение звонка
09-03-2005 17:46:07.562 - Ожидание звонка.
09-03-2005 17:46:07.562 - 57600,8,N,1, ctsfl=1, rtsctl=2
09-03-2005 17:46:07.562 - Инициализация модема.
09-03-2005 17:46:07.572 - Послано: AT&FE0X7<cr>
09-03-2005 17:46:07.602 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:46:07.602 - Интерпретированный ответ: ОК
09-03-2005 17:46:07.612 - Послано: ATM0&D3*Q0S41=80S43=0S49=0<cr>
09-03-2005 17:46:07.622 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:46:07.622 - Интерпретированный ответ: ОК
09-03-2005 17:46:07.632 - Послано: AT<cr>
09-03-2005 17:46:07.632 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:46:07.632 - Интерпретированный ответ: ОК
09-03-2005 17:46:07.632 - Отправка пользовательских команд инициализации.
09-03-2005 17:46:07.642 - Послано: ATS7=60S10=15&L2S52=88*P07S35=40&N73<cr>
09-03-2005 17:46:07.652 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:46:07.652 - Интерпретированный ответ: ОК
09-03-2005 17:46:07.652 - Набор номера.
09-03-2005 17:46:07.652 - Завершение асинхронной операции (0x000102cd) поставщика
служб телефонии (TSP). Состояние 0x00000000
09-03-2005 17:46:07.652 - TSP(0000): LINEEVENT: LINECALLSTATE_DIALING
09-03-2005 17:46:07.652 - TSP(0000): LINEEVENT: LINECALLSTATE_PROCEEDING
09-03-2005 17:46:07.662 - Послано: ATA<cr>
09-03-2005 17:46:15.443 - TSP(0000): Завершение звонка
09-03-2005 17:46:15.443 - Идет попытка отмены текущей команды
09-03-2005 17:46:15.443 - Послано: <cr>
09-03-2005 17:46:24.586 - TSP(0000): Закрытие звонка
09-03-2005 17:47:23.961 - TSP(0000): Совершение звонка
09-03-2005 17:47:27.667 - Ожидается отклик модема
09-03-2005 17:47:27.667 - Разрыв соединения модема.
09-03-2005 17:47:27.677 - Послано: +++
09-03-2005 17:47:32.684 - Ожидается отклик модема
09-03-2005 17:47:32.694 - Послано: +++
09-03-2005 17:47:37.701 - Ожидается отклик модема
09-03-2005 17:47:37.711 - Послано: +++
09-03-2005 17:47:42.718 - Ожидается отклик модема
09-03-2005 17:47:42.728 - Послано: +++
09-03-2005 17:47:47.736 - Ожидается отклик модема
09-03-2005 17:47:47.736 - 57600,8,N,1, ctsfl=1, rtsctl=2
09-03-2005 17:47:47.736 - Инициализация модема.
09-03-2005 17:47:47.746 - Послано: AT&FE0X7<cr>
09-03-2005 17:47:47.746 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:47:47.746 - Интерпретированный ответ: ОК
09-03-2005 17:47:47.756 - Послано: ATM0&D3*Q0S41=80S43=0S49=0<cr>
09-03-2005 17:47:47.916 - Принято: <cr><lf>NO CARRIER<cr><lf>
09-03-2005 17:47:47.916 - Интерпретированный ответ: Нет несущей частоты
09-03-2005 17:47:47.916 - Статистика сеанса:
09-03-2005 17:47:47.916 - Чтение: 20 байт
09-03-2005 17:47:47.916 - Запись: 36 байт
← →
viv-x © (2005-09-05 23:17) [1]Небольшая поправка. Для удаленного доступа мною используется конечно не TAPI, а RAS API. В стандартном Delphi 6.0 RAS разумеется не реализован, пришлось использовать пример из Inet"а. В остальном все так как изложено.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.053 c