Здравствуйте, cjpipa, Вы писали:
C>Такая проблема:
C>Использую функции TAPI, открываю линию(lineInitialize+lineOpen) и хочу сделать так, чтобы эмулировался входящий звонок(это как послать ata, если никто не звонит, или снять трубку с посылкой гудка). Просто нужно быстро получить хэндл hCall'а, который без настоящего входящего звонка не определён и состояние LINECALLSTATE_CONNECTED.
C>Не могу найти(выбрать) подобную функцию в TAPI(пробовал linePickup, lineHandoff, но вроде всё не то).
C>Помогите, пожалуйста, очень надо!!!
C>Пишите на cjpipa@mail.ru, заранее спасибо.
Посмотри в SDK утилиту EspExe.Exe — может, она сгодится — сам серьёзно её не пробовал — вот что у неё написано в хелпе
ABSTRACT:
ESP is a TAPI Service Provider that supports
multiple virtual line and phone devices. It is
configurable, requires no special hardware,
and implements the entire Telephony Service
Provider Interface (including Win95 TAPI
extensions). ESP will work in both Windows 3.1/
TAPI 1.0 and Windows95/TAPI 1.1 systems.
GETTING STARTED:
1. Choose 'File/Install' to install ESP.
2. Start a TAPI application and try to make
a call on one of ESP's line devices (watch for
messages appearing in the ESP window).
*. Choose 'File/Uninstall' to uninstall ESP.
MORE INFO:
* Double-click on a line, call, or phone
widget (in upper-left listbox) to view/modify
properties. The 'hd'widget field is the driver
handle; the 'ht' field is the TAPI handle.
* Press the 'LEvt' or 'PEvt' button to
indicate a line or phone event to TAPI.DLL.
Press the 'Call+' button to indicate an incoming
call.
* Choose 'Options/Default values...' to
modify provider paramters (SPI version, etc.)
* All parameter values displayed in
hexadecimal unless specified otherwise (strings
displayed by contents).
* Choose 'Options/Complete async requests/Xxx'
to specify async requests completion behavior.
Manually-completed requests appear in lower-left
listbox.
Здравствуйте, cjpipa, Вы писали:
C>Такая проблема:
C>Использую функции TAPI, открываю линию(lineInitialize+lineOpen) и хочу сделать так, чтобы эмулировался входящий звонок(это как послать ata, если никто не звонит, или снять трубку с посылкой гудка). Просто нужно быстро получить хэндл hCall'а, который без настоящего входящего звонка не определён и состояние LINECALLSTATE_CONNECTED.
Не очень понял, что конкретно ты хочешь получить, но если тебе надо создавать входящий звонок, например с помощью эмулятора, в случае отсутствия железа, чтобы написать обработчик событий, то можешь использовать утилиту, указанную в предыдущем посте (
ftp://ftp.microsoft.com/developr/TAPI/esp32.ZIP) или эмулятор от JulMar (
http://www.julmar.com/samples/dssp32.zip) он проще в использовании и все делается нажатием кнопок.
C>>Такая проблема:
C>>Использую функции TAPI, открываю линию(lineInitialize+lineOpen) и хочу сделать так, чтобы эмулировался входящий звонок(это как послать ata, если никто не звонит, или снять трубку с посылкой гудка). Просто нужно быстро получить хэндл hCall'а, который без настоящего входящего звонка не определён и состояние LINECALLSTATE_CONNECTED.
A>Не очень понял, что конкретно ты хочешь получить, но если тебе надо создавать входящий звонок, например с помощью эмулятора, в случае отсутствия железа, чтобы написать обработчик событий, то можешь использовать утилиту, указанную в предыдущем посте (ftp://ftp.microsoft.com/developr/TAPI/esp32.ZIP) или эмулятор от JulMar (http://www.julmar.com/samples/dssp32.zip) он проще в использовании и все делается нажатием кнопок.
Проблема в том, что у меня уже почти всё написано, суть существующей программы в том, что при входящем звонке она отвечает на звонок и проигрывает голосовое сообщение, но для этого нужен входящий звонок, а я хочу, чтобы было как в вентафаксе, нажимаешь на кнопочку, затем эмуляция соединения и проигрывается сообщение(просто wavedevice модема не проигрывает сообщения, если физическая линия не открыта...). Для этого мне нужна функция типа lineAnswer(lineAnswer к сожалению работает, только если есть звонок на линии). По-моему всё достаточно просто