tags:

views:

285

answers:

2

Hi, can anyone recommend a TAPI component for use with C++ in the MS Windows environment? I have tried the standard MS implementations of TAPI 2 and 3 and had problems with both. Mainly recovery from modems been switched off or losing connections.
The latest problem is the TAPI device disappearing after a couple of days of working perfectly - but only on some computers.
I don't have a problem paying for a component - I just want one that works!

Two problems we haven't figured out yet:
1) if the modem is switched off while we are using it, we can't use it again until we reboot the computer
2) we receive a callback "CTapiLine::OnCallStateChange (hCall, dwState, dwStateDetail, dwPrivilage);", where dwState = LINECALLSTATE_DISCONNECTED; and dwStateDetail=LINEDISCONNECTMODE_NODIALTONE staight after making a connection, but we have already switched off the "wait for dial tone" in the modem properties. Connecting to the same destination with a different computer works fine, so we don't think it is the destination's problem.

+1  A: 

If you have the stomach for writing COM code in C++, you can use any of the TAPI OCX controls. The last time I worked with TAPI (years ago), I used the Exceletel TeleTools OCX. It worked well, and was (IMHO) the best option back in the day. If you look around, you can find some free and shareware OCX controls that have similar functionality. However, if you're using C++, you're better off just calling TAPI directly instead of adding complexity by using an OCX.

You don't say what TAPI device you're using, but I would guess that it's a voicemodem. If so, your problems probably aren't with Microsoft's TAPI implementation (which most third party TAPI components will use to talk to the voicemodem), but with the voicemodem hardware or the Unimodem TSP. Exceletel's support page has an excellent description of the problems involved with using voicemodems for telephony work. If at all possible, you should use a dedicated voice telephony device instead of a voicemodem if you expect to have any kind of reliability for your application.

dfjacobs
A: 

We are giving up on TAPI - no matter how we coded it, the test dept could always find a way to break it (usually by turning the modem off at some critical point), so that the only solution was a reboot of the PC. So it's back to direct modem control via the serial port. The sooner we can wean our customers on to ADSL and 3G modems the better...

Eamon