Reference:TAPI Service Provider

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

The PBX supports a TAPI interface (also known as TSP Tapi Service Provider) This documents describes how to install and use it as well how to configure the PBX in order for the TSP to work properly.

Applies To

This information applies to

  • PBX, V5, V6

Build 02-5362 and later.

More Information

System Requirements

The TSP will install on any Windows 2000 or Windows XP platform. The standard setup program provided will install the retail version. A debug version is available in the tapi/debug folder.


The TSP may be installed on each machine where a desired TAPI based application is to be run. If for example, Outlook is to be used, then each client PC running Outlook may have the TSP installed. Although this is typical for a 1st party configuration, all clients may have full 3rd party functionality, that is, they may control all existing lines.

As an alternative, the TSP can be installed on a single machine and a 3rd party TAPI server product (such as the IXI-Call Server available as a separate product) may be used to provide the network clients with a TAPI interface.

Microsoft’s Remote TAPI Server is currently not supported.

When the setup is done, your TSP is up and running, there is no need to go to the control panel. Also, it is recommended to use the setup instead of the control panel to de-install the TSP.

TAPI Service Provider 01.png

While the folder where the TSP is installed to is of your choice, you should not install it into the windows system32 folder as other service provider do.

Due to a problem with the Microsoft installer, do not install the TSP for “Everyone”. Otherwise it may not de-install correctly.

During the installation, the TAPI configuration dialog will be launched (see below).


When you attempt to upgrade the TSP from a previous version, the Windows installer will first remove any previous installation. Up to build 03-5391, this will result in the de-installation of the TSP from the TAPI system. When the new software is installed then, the TSP will be installed again into the TAPI system. Unfortunately, this will result in a new provider ID which in turn will most likely require you to re-configure most of the TAPI applications using the TSP.


The TSP configuration dialog looks like this:

TAPI Service Provider 02.png

Gateway The IP address or host name of the IP21, IP400 or IP3000 the PBX is installed on
Account The gateways admin account name ( For 3rd party installations, you need to provide the gateways admin account and password here so that the TSP can control all users. However, for 1st party configurations, you may provide valid PBX user credentials instead)
Password The accounts password
Use non-standard port Tick this if your gateways http Server runs on a non-standard http port.
Status During a “Verify”, checkmarks will be set here
PBX Access Provide the “Name” of the PBX user the TSP shall work on behalf of
TAPI Line Names The TSP will create a TAPI “line device” for each PBX user it sees. You can specify a template for the

TAPI device name generated for each line. You can either choose one of the 3 pre-defined templates or create your own template (tick “Use specified template” and type your template into the template edit field)

Control Determines the kind of access the TSP will grant to the line devices.
Mode Access
Control selected user, monitor all users Will show the busy state of all visible lines and allow full control over the users line. Typical 1rd party configuration.
Control and monitor all users Will allow full control over all visible lines. Typical 3rd party configuration. Requires admin credentials.
Monitor all users Will show the busy state of all visible lines. This gives a “read-only” configuration where no users may be controlled.

The TAPI device name will be generated by substituting the following meta strings in the template

Meta Replacement
%c The user name
%d The users display name
%h h323 alias
%e e164
%n host name (of pbx)
%p :port-number (of pbx's http access, empty if 80)
%P raw port number of pbx
%u url-like user name (user@host)
%U user url as per draft-levin-iptel-h323-url-scheme-04 (h323:://user@host:port)

In a 1st party configuration, where the TSP is installed on a PC on behalf of the PC’s user, you will typically use the users PBX name as “Username”. Also, you will probably turn on the “Control selected user, monitor all users” control mode. In this case, you may either use the PBX admin account as “Account” and provide the admin password or you may use the users PBX name as “Account” and provide the users PBX password. Note that in this case, the user must have a password defined in the PBX.

In a 3rd party configuration, where the TSP is installed on a server acting on behalf of all network users, you will probably use a PBX user account which is an active member of a group in which all PBX users which shall be seen by TAPI are members. You may for example create an otherwise unused PBX user “_TAPI_” for this.

Please note that there currently is a limitation to 2000 users (500 in V5) being in all active groups of a particular user. Thus, you cannot configure more than 2000 (500 in V5) users to be handled by TAPI. This is a PBX limitation (and applies for all PBX groups).

The VERIFY button will verify the configuration. Note that the Username drop down list will only be populated after a successful verify.

The OK button will save the configuration.

The CANCEL button will quit the configuration without saving any changes. If it is the initial configuration during the installation, the TSP will not be added and the software will not be installed.

When the configuration is OK you can configure the line to use in the TAPI application you intend to use.

Here is a screenshot of the respective Outlook configuration:

TAPI Service Provider 03.png

User Configuration

There is no special requirement regarding the PBX user configuration for the use of TAPI. Be aware though that a user that is not “active” in any group, will see only itself and thus only the TAPI line device which represents himself. To see the status of more PBX users, put the user as an “active” member into one or more groups.

The TSP is a PBX SOAP API based application. As such, the scope of what the TAPI sees in terms of users follows the rules imposed by the PBX. The TSP will issue exactly one Initialize call for the user configured as PBX ACCESS USERNAME. It will then issue a UserInitialize for each controlled user, depending on the CONTROL mode selected.


The test applications provided with this setup comes from [Julmar Technology Inc].

Known Problems

You cannot configure more than 500 users to be handled by TAPI on V5 PBX.

Windows 9x and Windows NT platforms are unsupported.

The TSP doesn’t seem to run under Microsoft’s Remote Tapi Server.

The TSP will read its configuration when it is loaded by the system. Thus, configuration changes require a re-load of the TSP. Unfortunately, there is no reliable way to force the system to unload the TSP, so you may have to reboot the system for changes to take effect.

The TSP will use HTTP basic authentication to talk the PBX. So if you disable basic authentication in the gateways configuration, the TSP will not work.

V5 Gateway Configuration
V6 Gateway Configuration

List of supported TSPI functions

The TSP supports the following TAPI Service Provider Interface Functions. Note that these do not map one to one with TAPI user functions. For more information, see the Microsoft TAPI documentation.

Mandatory functions

  • TSPI_lineClose
  • TSPI_lineCloseCall
  • TSPI_lineGetAddressCaps
  • TSPI_lineGetAddressID
  • TSPI_lineGetAddressStatus
  • TSPI_lineGetCallAddressID
  • TSPI_lineGetCallInfo
  • TSPI_lineGetCallStatus
  • TSPI_lineGetDevCaps
  • TSPI_lineGetID
  • TSPI_lineGetLineDevStatus
  • TSPI_lineGetNumAddressIDs
  • TSPI_lineOpen
  • TSPI_lineSetAppSpecific
  • TSPI_lineSetCallParams
  • TSPI_lineSetCurrentLocation
  • TSPI_lineSetDefaultMediaDetection
  • TSPI_lineSetMediaMode
  • TSPI_lineSetStatusMessages
  • TSPI_lineGetCallIDs
  • TSPI_providerConfig
  • TSPI_lineNegotiateTSPIVersion
  • TSPI_providerUIIdentify
  • TSPI_providerEnumDevices
  • TSPI_providerShutdown
  • TSPI_providerRemove
  • TSPI_providerInstall

Basic functions

  • TSPI_lineAnswer
  • TSPI_lineDrop
  • TSPI_lineMakeCall

Supplementary features

  • TSPI_lineBlindTransfer
  • TSPI_lineCompleteTransfer
  • TSPI_lineHold
  • TSPI_lineUnhold
  • TSPI_lineSwapHold
  • TSPI_linePickup
  • TSPI_lineRedirect

Dynamic line creation

  • TSPI_providerCreateLineDevice

Related Articles

Howto:Troubleshooting the TAPI service provider

Support:TAPI doesnt install under Windows Vista

Support:TAPI fails on multi-processor system

Support:How should TAPI line device be registered?