I’ve been asked to write some .NET code that integrates with a phone system using a TAPI API. I read that there is no .NET interface for this API ( http://support.microsoft.com/kb/841712). Is there good third party .NET interface for TAPI? Or can anyone point me in the right direction to get started?
There is no working out-of-the-box interface from .NET for TAPI, and COM-Interop is not reliably working, that's right. But, there is a C++/CLI TAPI 3.1 wrapper for .NET 2.0 freely available from Julmar (you just have to give credit) . Look there for ITAPI3. They include also some basic inbound/outbound call samples.
If you want to code against TAPI 2.x, then you could use the wrapper provided by Helen Warn and Agile-Soft which can be downloaded from Andreas Marschall's TAPI FAQ site. See this newsgroup post for the link. It's also free for use (check the readme).
Actually, TeleTools has an excellent set of controls for any TAPI or SIP device and Visual Studio. The new version has a a new set of controls that is even easier to use for 90% of the applications out there so you don't have to learn a large set of events, methods and properties. A wrapper around TAPI is still way too much work than a good set of controls that do most of the work for you. Most applications like caller id and dialing are only a few lines of code. In addition, ExceleTel is the only telephony company with TeleScope, which is a prototyping, logging, learning tool that is unique. The logging will save you a lot of time and let you see exactly what your device/phone line/application is doing.
ExceleTel has been around for over a decade working with TAPI and consulting with the manufacturers who write the TAPI drivers (TSPs) to make their devices work. You can find a lot of information on the website, www.exceletel.com, and you can get more info on the tapi for win32 newsgroup where we all share information.