Reference8:Release Notes TAPI

From innovaphone wiki
Jump to navigation Jump to search
There are also other versions of this article available: Reference | Reference8 (this version)

These release notes describe the V8 (that is, pbx800.wsdl based) TAPI driver implementation.

Please see the disclaimer before using the information presented here!


V8 Change Requests

1022 - Support for multi-Party Conferences

Ticket #53063. Allows users to set up a conference. Involves lineSetupConference, lineAddToConference,lineRemoveFromConference. This might be implemented using PBX bc-conf objects.

1083 - tapi: notify held/retrieved status on far end

Ticket #53800. allows for better visibility of transfer operations on the transferred end.

V8 Hotfix 1

1330 - config option ClearFwdOnSet to accomodate different behaviour when setting call forwards

Ticket #60202. The tapi spec is somewhat unclear on how lineForward actually works. As a result, applications behave different. Some assume that setting call forwards actually modify the current settings. Others assume that they replace the settings. This cannot be known by the service provider.

To work around this issue, a new configuration option ClearFwdOnSet was introduced. If set to a non-zero DWORD value, the replace-semantic is assumed.

1328 - lineForward() did not work for lines with no registration

Ticket #60186. Call forwards could only be set if there was at least one registration on the line.

1329 - trap when monitoring user with very large user record

Ticket #60188. The TSP fails during startup when a user with a very large user record is monitored. This may happen for users which store larger personal phone configs. Moving the phone config fully or partly in to a template object may help to work around this problem.

V8 Hotfix 2

1914 - Trap when invalid destination address is dialled

Ticket #68454. For example, a call to "^1" will cause a TSP trap.

1913 - Write Dump File when TSP crashes

Ticket #68452. Enables better problem analysis

V8 Hotfix 3

3057 - Ability to configure an un-encrypted user/password

Ticket #87155. See Rolling_out_First_Party_TSPs_to_multiple_PCs

3061 - Ability to disable 3PTY special treatment for all lines

Ticket #87161. The TSP will detect 3PTY situation on IP phones and announce them to the TAPI application appropriately. Some TAPI applications however get confused with 3PTY calls and cannot handle them correctly. If this feature is enabled, 3PTY calls will be shown as normal unrelated calls to the TAPI application.

3064 - allow more parallel threads to work with a higher number of PBXs

Ticket #87164. when maximum number of threads is exceeded, response times will be slow. See System Requirements

3062 - Changed generation of Call-IDs when transferring calls

Ticket #87162. Changed calling sequence of UserTransfer arguments to ensure a consistent und useful setting of the CALLIDs of the calls remaining after a transfer.

3065 - Do not retrieve user configuration for objects named '*'

Ticket #87165. Possible trap when calling Admin() on objects named '*'.

3058 - Memory Debug Feature

Ticket #87156. Debug Version only

3063 - performance improvements for slow networks

Ticket #87163. handles line initializations and destructions asynchronously, avoiding sluggish response times when PBXs come and go

3060 - Proprietary Support for SOAP UserRc

Ticket #87158. Ability to send SOAP UserRc to arbitrary calls (abusing lineBlindTransfer with magic called name "USERRC" and facility in called subbaddress)

3067 - re-initialize pbx connector when connect fails (solves some COM initialization problems

Ticket #87167.

3066 - Trap on long PBX Admin() Result

Ticket #87166. long pbx Admin() result may trap TSP. This happens when there is a monitored line where the name starts with asterisk ('*') when using PBX firmware prior to V9 hotfix 17.

V8 Hotfix 4

3220 - 3PTY detection broken for some type of phones (e.g. SoftwarePhone)

Ticket #89654. results in being unable to drop the conference

3169 - Failback from Slave-Standby may fail

Ticket #88545. fix for #87163 which made fail-back from slave-standby to slave impossible

3168 - Option to show full calling number from root

Ticket #88544. Option to signal full calling number from root-node for incoming calls ("Show full E164 Numbers") in calling name, separated by "@" (e.g. name@497031730090). Requires V9 hotfix 19 or later on PBX.

3170 - possible deadlock when re-connecting or disconnecting failed PBXs

Ticket #88546. results in missing status updates from affected PBXs

3091 - Write info messages and warnings to windows event log

Ticket #87549. Trace messages of type INFO and WARNING are sent to Windows Application Event Log.

V8 Hotfix 5

3223 - Unability to write Windows Event Log

Ticket #89679. Installer failed to setup registry keys for windows event log event source registration. This also prevented the Debug version to start up.

V8 Hotfix 6

3271 - Ability to disable special disconnect Handling for monitored Lines

Ticket #90604. See Reference8:TAPI_Service_Provider#Miscellaneous_Flags

3233 - Ability to send arbitrary remote control facilities in lineMakeCall

Ticket #89903. Allows the invocation of 3rd party call control functions in call setup as per Reference:Remote Control Facility, e.g. call intrusion.

3266 - Allow HTTPS on non-standard Port

Ticket #90581. TSP can now connect securely although HTTPS is not on standard port 443.

3269 - Call Forwarding State was empty on TSP Startup

Ticket #90601. showed correct status only after a first change of the corresponding user object

3270 - ClearFwdOnSet Default now 1

Ticket #90602. See Section ClearFwdOnSet in Reference8:TAPI_Service_Provider#Tweaks. Although this is a change that alters the behaviour in a non-upward compatible way, it does seem more as a bug that it used to be like it did before. So the risk has been taken.

3232 - Installer Package signed now

Ticket #89860. The .msi packages are signed now.

V8 Hotfix 7

3312 - Allow Blind Transfer and Park on Calls in state "Conferenced"

Ticket #91431. Up til now, Conferenced calls did not have any call features enabled, except drop. Now we allow blind transfer and park too.

3294 - Call Forward Status not shown correctly if no Registration on PBX Object

Ticket #91156.

3305 - catch exception when TSP Control is not allowed to write TSP config due to Windows UAC

Ticket #91324. Now displays a message and advises to relax Windows' UAC settings.

3304 - false OUTOFSERVICE/DISCONNECTED line state

Ticket #91318. race condition when reconnecting master and standby may result in false disconnected/outofservice line state, which recovers on next line activity only

3292 - TAPI continuously connects and disconnects slaves

Ticket #91147. TAPI may connect and disconnect slaves endlessly under certain conditions. Only happens when slaves are monitored. This issue was introduced in hotfix 6.

3303 - TSP occasionally blocks for up to a minute

Ticket #91317. In rare cases, when a TSP looses connection to a PBX, it may block for up to a minute before continueing.

V8 Hotfix 8

3402 - Ability to configure Log File Disposition in tsptray.exe

Ticket #95286. option to "remove all", "keep last n" or "keep all" on telephony service shutdown

3401 - Ability to suppress Recording Calls in TAPI Call States

Ticket #95285. see HiddenRecordingNumber in

3409 - Call Features did not correctly reflect No3PTY=1 configurations

Ticket #95294. See "No3PTY" in

3407 - Do not turn on DEBUG and DVL Trace Levels with "set recommended"

Ticket #95291. creates too heavy trace load in larger installations

3403 - Enable hold without local Music-on-hold through Registry Tweak "SilentHold"

Ticket #95287. See "SilentHold" in

3405 - Installer installed default of 0xff for ProcessorMask

Ticket #95289. See "ProcessorMask" in

By default, the TSP was installed with a ProcessorMask of 0xFF. On systems with more than 8 cores, the TSP then would be locked on to the first 8 cores.

3404 - Problems in Provider Termination

Ticket #95288. Sometimes, provider termination failed with a trap or deadlock. This may have resulted in an inability to shut down and subsequently re-start the telephony service.

3406 - TSP8 failed to release some Thread Handles

Ticket #95290. In certain situationes, the TSP failed to release some operating system handles. This results in accumulating resources.

3408 - Useless Disconnect of not-yet-connected PBX

Ticket #95292. newly learned PBXs suffered from a connect/disconnect/connect cycle during startup, resulting in slow startup with many or large slaves

V8 Hotfix 9

3444 - line state may become inaccurate if PBX object changes registration PBX

Ticket #96433. This happens when the PBX attribute is changed in the PBX configuration. It may result in the lines wrong in-service state or inability to perform TAPI requests on it.

V8 Hotfix 10

3722 - HTTPS SOAP connections did not work on Windows8 / Server 2012

Ticket #104969. Windows8 / Server2012 enforce TLS1.2 for secure channels by default. However, the PBX does support up to TLS1.1 only. TLS1.0 / TLS1.1 is now negotiated explicitly on all systems.

3472 - impossible value for ProcessorMask in Registry floods traces

Ticket #97607. impossible values for processor affinity mask in registry resulted in endless setting the mask (flooding the log with info messages)

3701 - Installer failed on 32bit Windows XP (claiming a system protected file could not be updated)

Ticket #104572. The installer then showed a pop-up saying "The windows installer cannot update the system file C:\WINDOWS\system32\COMDLG32.dll because the file is protected by Windows."

3540 - longer SOAP request timeout

Ticket #99283. in very slow networks, the default SOAP request timeout of 5s could falsely trigger a pbx-has-trapped recovery cycle in the TSP. The timeout is 15s now.

3543 - race condition when Master PBX with Standby restarts

Ticket #99306. When a master PBX with standby restarts, fail-over from master to standby and back can create a race condition where a line is erroneously considered out-of-service. This recovered upon next line activity (e.g. a call).

3533 - TSP sometimes falsely sets a line to out-of-service

Ticket #99200. rare race conditions may result in lines that still show call activity but can not be controled (out of service)

V8 Hotfix 11

4015 - TSP does not report dynamically added lines on Windows Server 2012 and Windows 8 64bit

Ticket #113141. When a line is added (because a new member is added to the tapi group in the PBX), it is dynamically reported to the Windows TAPI subsystem. This did not work any more in newer 64bit OS platforms.

V8 Hotfix 12

4226 - TSP treats lines with active mobility as out-of-service

Ticket #119197. Lines without registrations on it were treated as "out-of-service" even if there is mobility enabled for the user. Even more, the TSP got confused by reported mobility calls, resulting in disconnection of the reporting PBX.

V8 Hotfix 13

4349 - TSP traps on lineUnhold and call deletion race condition

Ticket #123238. When a consultation call is unheld with lineUnhold while it is notified as terminated by the PBX, a trap may occur

V8 Hotfix 14

4822 - Do not report calls as diverted if the same local party is called

Ticket #144246. When a party was called not using the shortest possible number (e.g. when calling a party in the same node by calling the destination's complete number from the root), the outgoing call was reported as being diverted (as the number received in the alert or connect message differed from the called number). This was confusing.
Now, such calls are no longer shown as diverted, if the called parties CN is known and does not change.

4842 - New Registry Tweak UseFirstLeg2

Ticket #144799. Option to modify the default behaviour when TAPI reports call forward information (leg2). See <code>UseFirstLeg2</code> in

V8 Hotfix 15

9154 - TAPI does not work on Windows 10

In Windows 10, the user that runs the telephony services by default has no longer registry write access to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony. This used to be the place where the TAPI service provider stores its own configuration.
The configuration storage has been moved to HKEY_LOCAL_MACHINE\SOFTWARE\\innovaphone\innovaphone® PBX V8 TAPI Service Provider therefore.

The TSP will loose its configuration during upgrade to this version!

16171 - Trap on race condition with pending lineAnswer request

When a call was released while a lineAnswer TAPI request was waiting for the connected state, the TSP could trap.

V8 Hotfix 16

21937 - TAPI: configuration dialog did not run on Windows Server 2012

Wrong code that nevertheless did run on all windows systems since Windows2000 caused the configuration UI to abort. Therefore, a TSP could neither be added to nor configured in the system any more.

21802 - TAPI: trap when endpoint deregistered while a TAPI request is still pending

When a long-running TAPI request is still proceeding when the device de-registers, an internal resource is freed twice.

V8 Hotfix 17

23342 - TAPI sometimes fails to delete removed PBX Call Handles

In some situations, the TSP will keep call informaton although the call is already terminated. When the call handle of such call is re-used later on, the new call will erroneously be identified as the old call.

29401 - TAPI sometimes incorrectly reports pre-known lines

The TSP does some attempt to deal with 1st party TAPI applications which do not support dynamic notification of new lines during runtime (e.g. Microsoft's dialer.exe or Outlook). Available lines are enumerated and reported during startup therefore. However, some of these reports were invalid, resulting in error messages ("at least one telephony driver is not compatible to TAPI.DLL") or malfunction of the TAPI application.

24901 - TAPI: ignore TAPI incompatible Call Forwards with boolean Condition

The PBX supports certain call forward conditions which are not compatible with TAPI. Such call forwards are invisible to the TAPI application and can neither be modified nor set or deleted. However, call forwards with a boolean condition were treated as compatible. An attempt to set such a call forward resulted in loss of the condition.
Call forwards with boolean conditions are now treated as incompatible too.

V8 Hotfix 18

47888 - Provide Option to create Line GUID from Device "Name" instead of "Hardware Id"

The PBX provides GUIDs for PBX Objects, not for Devices. TAPI however needs a GUID per line. If "MapDevices" is set, each PBX Device is mapped to a TAPI line and the GUID is constructed by adding the device's "Hardware Id" to the object GUID.

This ensures unique GUIDs, as the "Hardware Id" is known to be unique. However, when the "Hardware Id" changes (because the users's phone is replaced), TAPI treats it like a new line. The new option changes the behaviour so that the "Name" is used. This way, the line does not change but the administrator must make sure that all the devices for a single PBX object have distinct names.

56343 - Support ridiculous long DNS names

V8 Hotfix 19 (8181)

71918 - Provide %T replacement for TAPI line device name

new replacement syntax for TAPI line device names: %T is replaced now by the line's "Hardware Id", see

V8 Hotfix 20 (8183)

75250 - TAPI does not allow TLS 1.2 connections

side effect of Windows 8 related fix for missing TLS1.2 in the PBX (introduced in tapiv8hotfix10 ).
The PBX now supports TLS1.2 so the TSP can offer it again.

75264 - TAPI: %t / %T line name options do not work properly

there was a wrong dependancy on the "UseNameForDeviceGuid" registry key

V8 Hotfix 21 (8188)

107801 - TAPI: fix dead line when registration moves between PBXs due to change of PBX attribute

Resulted in affected lines falsely considered out-of-service

V8 Hotfix 22 (8190)

138220 - Provide call conference GUID as CallData

To be able to relate TAPI call events to CDR data.