Call recording. Version 2.0 adds support for recording audio to a wave file. Use StartRecording(String) method to start recording and StopRecording()()() to stop it. Please note that some telephony hardware does not support playing and recording at the same time. StopPlayback()()() method was added to stop audio playback before recording on such hardware.
New TapiAddress class and related functionality. Some PBX systems are represented in TAPI as several lines with multiple addresses (phone extensions) on each line. TapiAddress class was added to simplify development for such systems. New Addresses property provides information about available addresses on the line. New Dial(String, Boolean, TapiMediaMode, TapiAddress) and Dial(String, Boolean, TapiMediaMode, String) methods accept TapiAddress or String parameter to specify originating address for an outgoing call. New Address property gets an address that received the call.
Support for device specific functions and events. Many Telephony Service Providers (TSP) provide functionality specific to the telephony system using device specific extensions. Version 2.0 fully supports device specific functionality and provides an easy way to access device specific functions and events. DeviceSpecificExtensionID property shows ID of the supported extension. NegotiateDeviceSpecificExtensionVersion(UInt32, UInt32) method allows to negotiate the version of the extension to use on the line. DeviceSpecific and DeviceSpecificFeature are device specific events. DeviceSpecific(Object, TapiAddress, TapiCall, Type) and DeviceSpecific(array<Byte>[]()[], TapiAddress, TapiCall, Int32) methods allow you to call device specific functions. DeviceSpecificFeature(Object, UInt32, Type) and DeviceSpecificFeature(array<Byte>[]()[], UInt32, Int32) methods provide access to device specific features.
New Accept and Redirect methods to route calls using route points. Route points are special lines (extensions) that can redirect incoming calls to other extensions. Route points do not support call answer or call transfer. Instead, incoming calls have to be accepted on the route point using Accept()()() then redirected to another extension using Redirect(String).
Support for Hold/Unhold functionality. Hold()()() method puts a call on hold. Unhold()()() method retrieves a held call.
New properties to specify format of audio input/output. AudioInputFormat and AudioOutputFormat properties specify format for audio recording and playback. By default AddTapi.NET uses best format supported by the telephony hardware.
New CallID and RelatedCallID properties of TapiCall object. CallID and RelatedCallID properties have been added to enable matching of related calls.