2.4.2.10 Call Transfer

The Telephony SPI 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 TSPI_lineBlindTransfer. Under a consultation transfer, the existing call is first prepared for transfer using TSPI_lineSetupTransfer. This places the existing call on consultation hold, and identifies the call as the target for the next transfer completion request. TSPI_lineSetupTransfer also allocates a consultation call that can be used to establish the consultation call with the party to be transferred to. The TAPI DLL can dial the extension of the destination party on the consultation call (using TSPI_lineDial), or it can drop and deallocate the consultation call and instead activate an existing held call (using TSPI_lineUnhold), if supported by the switch.

While the initial call is on consultation hold and the consultation call is active, the TAPI DLL can toggle between these calls via TSPI_lineSwapHold.

Finally, the TAPI DLL completes the transfer in one of two ways using TSPI_lineCompleteTransfer:

TSPI_lineSetupTransfer

Prepares a specified call for transfer to another address.

TSPI_lineCompleteTransfer

Transfers a call that was set up for transfer to another call, or enter a three-way conference.

TSPI_lineBlindTransfer

Transfers a call that was set up for transfer to another call.

TSPI_lineSwapHold

Swaps the active call with the call currently on consultation hold.