Microsoft Telephony API (TAPI)

telphonyLong ago, in a galaxy far, far away, JulMar was heavily involved in the telephony industry. During that time, we built a variety of products and services which utilize Microsoft’s Telephony API (TAPI).  Though we are no longer in this technology space,  this section hosts a variety of free tools and source code which have been released to the community – please use however you like.

These are provided as “unsupported” code and samples.

.NET TAPI Samples

Sample Description
ATAPI.NET .NET library for interacting with the Microsoft Telephony API (TAPI) 2.x. This library is for creating clients that consume telephony services on Windows XP or better.
ITAPI3 C++/CLI library is for applications that want to access TAPI 3.x functions using Microsoft .NET.  The existing .NET RCW cannot be used with TAPI 3.0 due to some issues in the TAPI 3.0 COM library.  This C++ wrapper works around these issues and provides a safe .NET implementation to use.

Native (C++) TAPI Samples

Sample Description
ATAPI TAPI 2.x C++ library for application development. All of the testing samples below are built with this library and if you would like to build any sample source code you will need this library.  It is quite old (last built with VS2002) and uses MFC for object list management and RTTI.  You are free to use it in any form or fashion. This library encapsulates TAPI 2.x 32-bit application development in a C++ class library. There is no documentation or support available, but full source code is provided with this download.
Answer Tool This sample answers inbound calls and demonstrates how to manipulate an inbound call using the ATAPI C++ library. It allows the inbound call to be accepted, answered and dropped.
Agent Monitor This sample allows you to monitor agent positions and (if the provider supports it) to change the agent state and groups.  It is primarily for 3rd party TAPI.
TAPI Call Monitor This sample opens all lines and monitors all call traffic across all lines, showing calls in a report-view control.  It allows for system-wide monitoring and is especially useful in the 3rd party environment running on the server.
Auto-start TAPI This program forces TAPI to load and stay running until you tell it to shutdown. This is useful to force TAPI to start and stop through a batch file when running under Windows 95/98/ME. This is not necessary for Windows NT 4 or beyond! Full source code is included.
Routepoint tester This sample tests the lineRedirect features of a service provider and allows for automated routing for incoming calls.  It is primarily for 3rd party TAPI (2.0+).
TAPI Soft phone This is a sample TAPI application which tests various aspects of TAPI.  It can open multiple lines and provides support for agent features if connected to a TAPI 2.1 or 3.x service provider.  It is similar in nature to the TAPI Browser but a little easier to use since you don’t need to know the TAPI APIs or parameters.
TAPI Line Monitor This sample shows the current line/address state for any available line in a dialog panel.
Make/Drop calls This sample demonstrates how to place outgoing calls using the ATAPI C++ library.
Enumerate TAPI Devices This sample enumerates through all the TAPI lines in the system and dumps various information structures from them. This one, unlike the original is a Win32 application and lists quite a bit more information.
Drop All Calls This sample immediately drops inbound calls when they hit a configured call state. It can optionally accept and/or answer the call.

TAPI Service Provider Development Tools

These tools were originally marketed and sold by JulMar Technology under the name “TSP++”, but when we dropped out of the development market for TAPI we released all of them into the public domain.  Feel free to download them and use them – but recognize there is no support or warranty supplied.
Sample Description
TAPI Service Provider SDK (3.053) This is a Visual C++ (VS.NET 2005) framework library for building TAPI Service Providers (TSPs).  It has full support for TAPI up to version 3.1 and includes support for agents, queues, shadow calls, and predictive dialing.  It was built with Visual Studio 2005 against TAPI 2.0/3.1.

The installer will prompt for a key to install it: J35M-3KXo-q60T
TAPI Service Provider SDK (2.0) The TSP++ SDK has been used by some of the largest companies in the world to create TAPI-compliant service providers for their hardware. Version 2.0 is an older copy of the source code which was intended for small numbers of lines.  It was built using Visual Studio 6.0 against TAPI 2.0.
TAPI Debug Level This is a tool for changing the debug level of TSPs built with JulMar’s TSP++ toolkit but can adjust the debug level of the TAPI system components as well.