AddTapi.NET 5.2 has been released

We just released version 5.2 of our computer telephony library AddTapi.NET. The demo version is available for download from To upgrade the purchased version of AddTapi.NET please send your serial number to Here is a list of new features in AddTapi.NET 5.2:

Call data support

The call data field is used to provide additional information related to a call in TAPI. Some systems, for example Avaya Voicemail Pro, use this field to pass additional information to TAPI applications monitoring the calls. New TapiCall.CallData property gives the application access to the call data. The CallData flag has been added to the TapiCallInfoState enumeration. AddTapi.NET fires the TapiApp.CallInfo event with this flag set when the call data becomes available or changes.

Special Information Tone (SIT) detection

Special information tones such as Reorder, Intercept or No Circuit indicate that an outgoing call has failed. AddTapi.NET 5.2 can detect and report special information tones to the application when running on telephony hardware with SIT detection capabilities such as Way2Call Hi-Phone. When a SIT is detected the call transitions to the SpecialInfo state and then disconnects. AddTapi sets the TapiCall.DisconnectMode property based on the type of SIT that was detected.

Call duration

New version adds TapiCall.CallDuration property that contains duration of the call. Call duration is calculated from the moment the call transitions to the Connected state.

Improved call state processing

In previous versions of AddTapi.NET the application could miss a call state transition if TapiApp.CallState events were firing quickly one after another. Version 5.2 processes call state messages from TAPI more efficiently and ensures that the TapiCall.State reported to the application in the TapiApp.CallState event handler matches call state in the corresponding TAPI message.

Other small fixes and improvements

– Added TapiAddress.AddressFeatures property that describes the operations that can be invoked on the address.

– Added CallID and RelatedCallID flags to the TapiCallInfoState enumeration. These flags indicate that the TapiCall.CallID or TapiCall.RelatedCallID property has changed in the TapiApp.CallInfo event.

– Fixed: Some incoming calls where reported as outgoing on HiPath TAPI 170.

– Fixed: Non-directed TapiCall.Park(String) could time out on some systems.

AddTapi.NET has been updated to 5.1

Our computer telephony library AddTapi.NET has been updated to version 5.1. You can download the demo version from To upgrade the purchased version of AddTapi.NET please send your serial number to

Version 5.1 is a small update that adds TapiLine.SetupForwarding method for setting up call forwarding and do-not-disturb on the line.

This update also contains workarounds for non-standard behavior of Aastra TSP in some configurations.

AddTapi.NET 5.0 is available

New version 5.0 of our computer telephony library AddTapi.NET is available for download from To upgrade the purchased version of AddTapi.NET please send your serial number to Here is a list of new features in AddTapi.NET 5.0:

Conference call support

AddTapi.NET 5.0 adds support for conference calls with three or more parties. The application can use TapiLine.SetupConference or TapiCall.CompleteTransfer resolved as a 3-way conference to setup a conference call. Additional parties can be added to the conference using TapiCall.PrepareAddToConference and TapiCall.AddToConference methods.

Audio playback and text-to-speech in Windows service applications

This version includes new audio engine that supports audio playback and text-to-speech in applications that run as a service. With AddTapi.NET 5.0 you can develop Windows services that play .wav files and speak to the callers using text-to-speech. Both TapiCall.Play and TapiCall.Speak can be used in Windows service applications without any problems.

Line device state information

New version adds TapiApp.LineDeviceState event that fires when the state of the line device changes. The application can use this event to find out when the line goes out-of-service and back in-service (TapiLineDeviceStatus.IsInService property), when the line is connected/disconnected to TAPI (TapiLineDeviceStatus.IsConnected property) or when the message waiting indicator turns on/off (TapiLineDeviceStatus.IsMsgWaitOn property).

Device-specific information about the line status

Version 5.0 adds TapiLineDeviceStatus.DeviceSpecificInfo property to obtain device-specific information about the line status. Avaya IP Office system uses this property to provide a lot of additional information about the line/extension, including call forwarding/DND information, number of read/new voicemail messages, user login information and much more. Please contact us for more information and we will provide a code sample that shows how to use this feature of the Avaya IP Office phone system.

Separate assemblies for .NET 4.x and .NET 2.0/3.x

Starting from version 5.0, AddTapi.NET assemblies located in the installation folder are compiled for .NET 4.0 and will not work with earlier versions of .NET Framework. If your application is targeting .NET 2.0 or 3.x, please reference Traysoft.AddTapi.dll located in the NET2 folder of your AddTapi.NET installation.

Other small fixes and improvements

– Incoming calls were reported as outgoing on some phone systems with non-standard TAPI drivers.

– Implemented a workaround for outgoing calls on Tadiran Coral IP PBX. The TAPI driver for the Coral system does not list any addresses that support outgoing calls and AddTapi was showing an error.

– Version 5.0 uses 8kHz 16-bit audio format on Avaya IP Office for better audio quality.

TapiApp.OutgoingCall event was not fired when establishing dial-up connection.

AddTapi.NET 4.0 has been released

Yesterday we released new version 4.0 of our telephony library AddTapi.NET. You can download the demo version of AddTapi.NET from To upgrade the purchased version of AddTapi.NET please send your serial number to Here is what’s new in AddTapi.NET 4.0:

Call pickup

AddTapi.NET 4.0 adds TapiLine.Pickup methods to pick up a call ringing on another extension. These methods can also be used to pick up a call-waiting call. TapiAddress.SupportsPickupCallWaiting property indicates if the telephony hardware supports call-waiting call pickup.

Call forwarding support

The application can use TapiAddress.GetForwardingInfo() method to obtain call forwarding information for the address. Forwarding information describes when incoming calls are forwarded and the destination number(s) for call forwarding. New TapiAddress.ForwardModes property describes forwarding modes supported by the telephony hardware. AddTapi.NET fires ForwardingInfo event when call forwarding information changes.

Device-specific information for calls, lines and addresses

New version adds TapiCall.DeviceSpecificInfo, TapiLine.DeviceSpecificInfo and TapiAddress.DeviceSpecificInfo properties allowing applications to obtain device-specific information about calls, lines and addresses.

TAPI re-initialization

AddTapi.NET 4.0 fires ReInit event when TAPI requires re-initialization. The application can handle this event to shutdown and re-initialize its use of TAPI without application restart. This is especially useful for long-running TAPI applications and services.

DTMF digit generated event

Version 4.0 adds Generated event that fires when DTMF digit generation has terminated. The application can use event arguments to find out if the generation was completed successfully or if it was canceled.

Obtaining existing calls

When the application opens a line for incoming calls, version 4.0 checks for existing calls on the line and adds them to the TapiLine.Calls collection. AddTapi.NET 4.0 also obtains call information and call state for all existing calls automatically.

Other small fixes and improvements

– Added OutOfOrder, Forwarded, Pickup, Cancelled and BadAddress to the TapiDisconnectMode enumeration to provide more information about the reason for call disconnect.

– Improved compatibility with NeoSpeech and Scansoft Text-to-Speech engines.

– Added TapiLine.ProviderInfo and TapiLine.SwitchInfo properties.

– New MonitorTones flag in TapiAddress.CallFeatures indicates if TapiCall.WaitForSilence(Int32, Int32) is supported by the telephony hardware.

– Fixed “Cannot find a request that matches reply message” errors that were occurring with some telephony hardware.

– Fixed an error with SIPTAPI telephony service provider.

– Fixed a problem with non-directed TapiCall.Park(String) on some systems.