Call Transfer
TAPI provides two mechanisms for call transfer: blind transfer and consultation transfer.
-
In blind transfer (or single-step transfer), an existing call is transferred to a specified destination address in one phase using lineBlindTransfer.
-
In a consultation transfer, the existing call is first prepared for transfer to another address using lineSetupTransfer. This places the existing call on consultation hold, and identifies the call as the target for the next transfer-completion request. The lineSetupTransfer function also allocates a consultation call that can be used to establish the consultation call with the party to which the call will be transferred. The application can dial the extension of the destination party on the consultation call (using lineDial), or it can drop and deallocate the consultation call and instead activate an existing held call (using lineUnhold), if supported by the switch.
While the initial call is on consultation hold and the consultation call is active, the application can toggle between these calls using lineSwapHold.
Finally, the application completes the transfer in one of two ways using lineCompleteTransfer:
-
Transfer the call on transfer hold to the destination party. Both calls will revert to the idle state.
-
Enter a three-way conference. A new call handle is created to represent the conference and this handle is returned to the application.
In TAPI version 2.0 and later, applications can use the "one step transfer" feature of many PBXs (a single button press to establish a consultation transfer) using LINECALLPARAMFLAGS_ONESTEPTRANSFER with lineSetupTransfer.