Fixed some problems, namely a serious timing issue while loading the Sound subsystem that could cause erratic behaviour.
Fixed compatibilty issues with Microsoft Visual Studio 2010 and 2008 (ActiveX control only, of course).
The control failed to register properly on Windows Vista.
The control failed to register itself properly on Windows Server 2003.
When applications using the control/component were not running in the foreground the incoming sound will disappear. Now, you can choose through the ReceiveSoundWithoutFocus Property what behaviour you prefer. We believe most users prefer the application to receive the incoming sound when the application lose focus so this is the default value.
Simultaneous incoming calls could confuse the control/component bringing several issues, namely disconnecting both calls when running the All Features sample supplied with previous releases. Now, the OnDisconnected and OnIncomingPhoneCall events include an extra parameter, the PLCI (Physical Link Connection Identifier). This parameter may be used to solve the issue, as shown in the reviewed sample.
Now, the control/component checks whether another application or device on the same Bus has already sent an Alert to the network for the incoming call. The new IgnoreAlertAlreadySent Property, when True, perserves the old behaviour, i.e, the OnIncomingPhoneCall event fires and the call is submitted for aceptance. When IgnoreAlertAlreadySent is False, if another application or device on the same Bus has already sent an Alert to the network for the incoming call, the OnIncomingPhoneCall event will not fire and the call is ignored.
Now, the OnIncomingPhoneCall event contains extra parameters that inform whether the incoming call was redirected and where it was redirected from.
When a call has been put on Hold by the operator and an incoming call was Ignored by the operator, the call on Hold was automatically Retrieved. Now, the call will continue on Hold until the operator Retrieves it.
Release 2.11 (Delphi components only)
Creating the component at runtime (as opposed to dropping it on a form) caused an exception.
Now, direct phone conversation can be made almost in real time. We added a new property, named DataBlock, which specifies the size of each transmitted or received data block across the network. Smaller blocks tend to improve performance on a fast system but will have an adverse effect on a slow system. When you decrease the DataBlock you may need to increase the values for the PlaySoundBuffer and CaptureSoundBuffer properties to avoid missing bits and pieces of the conversation.
For the PlaySoundBuffer and CaptureSoundBuffer properties, the size of each buffer block is twice the DataBlock mentioned above. This differs from previous releases where the size was fixed at 4096 bytes.
The syntax for the OnSendData and OnReceiveData events has been changed and includes now a parameter with the count of data bytes in the passed variant array. Of course, the count of data bytes can be determined directly from the variant array header, but this makes its use more straightforward.
Two new samples, one for Visual Basic and other for Delphi, have been included in the registered version of the control/component. They feature an interesting mini call center where users are routed through DTMF tones to various options, namely receiving a second message with further instructions (in the sample this is the option to “talk with the president”), leave a message, talk with the operator who may be available or not available, etc. For non-registered users, the compiled version of the sample is available in the site and is definitely worthwhile to download (you will see why…).
Fixed compatibility issues on machines with hyperthreading CPUs.
Additionally, the control/component now takes benefit of hyperthreading CPUs and machines with multiple CPUs, by orienting the most active threads to particular CPUs.