lineSetupTransfer 函数启动由 hCall 参数指定的调用的传输。 它建立了咨询电话,lphConsultCall,可以拨打方,成为转移的目标。 应用程序获取 lphConsultCall 参数的所有者权限。
语法
LONG lineSetupTransferW(
HCALL hCall,
LPHCALL lphConsultCall,
LPLINECALLPARAMS const lpCallParams
);
参数
hCall
要转移的呼叫的句柄。 应用程序必须是调用的所有者。 hCall 的调用状态必须 连接。
lphConsultCall
指向 hCall 句柄的指针。 然后,此位置将加载一个识别临时咨询呼叫的句柄。 设置转接呼叫时,会自动分配咨询呼叫,使 lineDial 拨打与呼叫的新转接目标关联的地址。 发起方可以在完成转移之前就此咨询电话进行对话。 hConsultCall 的调用状态不适用。
对于某些线路设备,此传输过程可能无效。 应用程序可能需要忽略新的咨询呼叫,并取消保留现有的保留呼叫(使用 lineUnhold)来标识转移的目标。 在支持跨地址呼叫转移的交换机上,咨询呼叫可以存在于与要转移的呼叫不同的地址上。 此外,通过 lineMakeCall,将咨询电话设置为全新的呼叫,以转会目的地。 呼叫的地址功能中指定了哪些形式的传输。
lpCallParams
指向 LINECALLPARAMS 结构(包含建立咨询呼叫时要使用的调用参数)的指针。 如果不需要特殊调用设置参数,则可以将此参数设置为 NULL。
返回值
如果函数异步完成,则返回正请求标识符;如果发生错误,则返回负错误号。 如果函数成功,则
LINEERR_BEARERMODEUNAVAIL、LINEERR_INVALRATE、LINEERR_CALLUNAVAIL、LINEERR_NOMEM、LINEERR_INUSE、LINEERR_NOTOWNER、LINEERR_INVALADDRESSMODE、LINEERR_OPERATIONFAILED、LINEERR_INVALBEARERMODE、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALCALLHANDLE、LINEERR_RATEUNAVAIL、LINEERR_INVALCALLPARAMS、LINEERR_RESOURCEUNAVAIL、LINEERR_INVALCALLSTATE、LINEERR_STRUCTURETOOSMALL、LINEERR_INVALLINESTATE、LINEERR_UNINITIALIZED、LINEERR_INVALMEDIAMODE、LINEERR_USERUSERINFOTOOBIG、LINEERR_INVALPOINTER。
言论
lineSetupTransfer 函数设置由 hCall指定的调用的传输。 转移的设置阶段建立了一个咨询呼叫,使应用程序能够将目的地(要转接方)的地址发送到交换机,同时保持呼叫转移。 此新呼叫称为咨询呼叫(hConsultCall),可以独立于原始呼叫删除或操作。
当咨询呼叫到达 拨号 呼叫状态时,应用程序可以通过拨打目标地址并跟踪其进度或取消保留现有呼叫来继续转移呼叫。 使用 lineCompleteTransfer完成对所选目标的原始调用的转移。
虽然存在咨询电话,但原始呼叫通常过渡到 据点PendingTransfer 状态。 应用程序可以使用 lineSwapHold在咨询呼叫与原始呼叫之间切换。 可以通过调用 lineDrop 来取消咨询电话。 删除咨询呼叫后,原始呼叫通常会转换回 连接 状态。 如果原始调用的调用状态 holdPendingTransfer,则可以使用 lineUnhold 函数来恢复调用。 在这种情况下,咨询呼叫的呼叫状态设置为 空闲。
应用程序还可以在一个步骤中转移呼叫,而无需处理干预咨询电话,方法是使用 lineBlindTransfer。
注意
tapi.h 标头将 lineSetupTransfer 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
目标平台 | 窗户 |
标头 | tapi.h |
库 | Tapi32.lib |
DLL | Tapi32.dll |