Microsoft TAPI 2.1 and 3.0 are simply open specifications and developers interfaces for controlling and monitoring a telephone system (Avaya IP Office phone system for example).  TAPI is simply the common language protocol they use.  TAPI allows your Avaya phone system to talk with computer applications that are running TAPI

TAPI 2.1 and TAPI 3.0 are different specifications although they both work the same way.  Think of TAPI 3.0 as simply more advanced.  Most CTI applications we see for the Avaya IP 500 operate with the more basic Microsoft TAPI 2.1 driver.  TAPI 3.0 standard requires that more core functionality is implemented, and additionally defines a series of optional functionality that switch vendors (phone systems) may also implement.

The following table shows the very extensive Avaya device specific data available via TAPI.

Phone’s extension number
Forward on busy flag
Forward on no answer flag
Forward unconditional flag
Forward hunt group flag
Do not disturb flag
Outgoing call bar flag
Call waiting on flag
Voicemail on flag
Voicemail ring-back flag
Number of voicemail messages
Number of unread voicemail messages
Outside call sequence number
Inside call sequence number
Ring back sequence number
No answer timeout period
Wrap up time period
Can intrude flag
Cannot be intruded upon flag
X directory flag
Force login flag
Login code flag
System phone flag
Absent message id
Absent message set flag
Voicemail email mode
User’s extension number
Users Locale
Forward number
Follow me number
Absent text
Do not disturb exception list
Forward on busy number
User’s priority
Number of groups the user is a member of
Number of groups that the user is a member of that are currently outside their time profile
Number of groups the user is currently disabled from
Number of groups that the user is a member of that are currently out of service
Number of groups that the user is a member of that are currently on night service

Avaya TAPILink Lite provides the following functionality for TAPI 3.0:

ITTAPI:

Initialize
Shutdown
EnumerateAddresses
RegisterCallNotifications
Put_EventFilter

 

ITAddress:

get_AddressName
get_dialableAddress
get_ServiceProviderName
CreateCall

 

ITMediaSupport:

get_MediaTypes

ITCallInfo:

get_Address
get_CallState
get_CallInfoString
SetCallInfoBuffer

 

ITBasicCallControl:

Connect
Answer
Disconnect
Hold
SwapHold
ParkDirect
Unpark
BlindTransfer
Transfer

ITCallStateEvent:

get_Cause
get_State
get_Call

 

ITCallNotificationEvent:

get_Call

 

ITCallInfoChangeEvent:

get_Call

 

ITCallHubEvent:

get_Event
get_Call

Notes:

TAPILink Lite can be used from C, C++ and Delphi. Visual Basic cannot directly use TAPI 2.1, but does support TAPI 3.0 without any third-party tools.
TAPILink Lite provides detailed information on telephony events, including the ability to screen-pop based on CLI and/or DDI.

 

Avaya TAPILink Lite provides the following functionality for TAPI 2.1:

lineAddToConference
lineAnswer
lineBlindtransfer
lineCompleteTransfer
lineConfigDialog
lineClose
lineDeallocateCall
lineDial
lineDrop
lineGetAddressCaps
lineGetAddressID
lineGetAddressStatus
lineGetAppPriority
lineGetCallInfo
lineGetCallStatus
lineGetDevCaps
lineGetID
lineGetLineDevStatus
lineHold
lineInitialiseEx
lineMakeCall
lineNegotiateTAPIVersion
lineOpen
linePark
lineRedirect
lineRemoveFromConference
lineSetAppPriority
lineSetAppSpecific
lineSetCallPrivilege
lineSetStatusMessages
lineSetupTransfer
lineShutdown
lineSwapHold
lineUnhold
lineUnpark
lineSetCallData
lineDevSpecific
lineGenerateDigits
lineGenerateTone
lineMonitorDigits
lineMonitorTones