传输

传输操作允许应用程序将当前连接的通信会话发送到其他地址。

TAPI 提供两种机制,用于将当前会话传输到其他地址。 盲转 允许在一个阶段中将现有会话传输到指定的目标地址。 咨询转会 要求存在一个协商会议,除了目前的会议设置转让,然后完成转移。 在这两种类型之间进行选择通常基于服务提供商的功能,因为某些服务提供商不支持盲目传输。 在某些情况下,应用程序需求可能会使协商性转移成为首选方法,即使在可能进行盲目转移的情况下也是如此。

在 TAPI 2 和 TAPI 3 下,盲转操作基本相同,但咨询转移遵循的模式略有不同。

TAPI 2.x: 咨询转移从调用 lineSetupTransfer 开始,它将现有呼叫置于咨询保留状态,并将此呼叫标识为下一个转移完成请求的目标。 lineSetupTransfer 函数还分配了一个咨询呼叫,该调用可用于与呼叫将转移到的一方建立咨询呼叫。 应用程序可以使用 lineDial) 在咨询呼叫 (拨打目标方的分机,也可以放弃并解除分配咨询呼叫,转而使用 lineUnhold) 激活现有的保留呼叫 ((如果开关支持)。 当初始呼叫处于咨询保留状态且咨询呼叫处于活动状态时,应用程序可以使用 lineSwapHold 在这些呼叫之间切换。

TAPI 2.x: 应用程序使用 lineCompleteTransfer 完成咨询性传输。 这两个调用都将还原空闲状态

在调用 lineSetupTransfer 时,应用程序可以使用许多 PBX 的“单步传输”功能, (一个按钮,通过将 lpCallParams 参数设置为LINECALLPARAMFLAGS_常量的LINECALLPARAMFLAGS_ONESTEPTRANSFER成员,建立咨询传输) 。

TAPI 3.x: 咨询转移首先使用 ITAddress::CreateCall 创建对新目标地址的咨询呼叫。 然后,使用指向新咨询调用对象的指针作为参数对原始调用对象调用 ITBasicCallControl::Transfer。 在咨询调用对象上调用 ITBasicCallControl::Finish ,然后完成转移。

成功完成传输操作后,应用程序必须释放会话资源。

并非所有服务提供商都支持使用此操作。

TAPI 2.x: 请参阅 lineBlindTransferlineSetupTransferlineCompleteTransfer

TAPI 3.x: 请参阅 ITBasicCallControl::BlindTransferITAddress::CreateCallITBasicCallControl::TransferITBasicCallControl::Finish