lineAddToConference 函数 (tapi.h)
lineAddToConference 函数将 hConsultCall 指定的调用添加到 hConfCall 指定的电话会议中。
语法
LONG lineAddToConference(
HCALL hConfCall,
HCALL hConsultCall
);
参数
hConfCall
电话会议句柄。 应用程序必须是此调用的所有者。 对电话会议的任何监视 (媒体、音调、数字) 仅适用于 hConfCall,不适用于单个参与呼叫。 hConfCall 的调用状态必须为 onHoldPendingConference 或 onHold。
hConsultCall
要添加到电话会议中的呼叫的句柄。 应用程序必须是此调用的所有者。 此呼叫不能是另一个会议的父级或任何会议的参与者。 根据 LINEADDRESSCAPS 中指示的设备功能, hConsultCall 不一定是使用 lineSetupConference 或 linePrepareAddToConference 建立的。 hConsultCall 的调用状态必须已连接、onHold、继续或回拨。 许多 PBX 允许在实际应答之前将呼叫添加到会议。
返回值
如果异步完成函数,则返回正请求标识符;如果发生错误,则返回负错误号。 如果函数成功,则相应LINE_REPLY消息的 dwParam2 参数为零;如果发生错误,则为负错误号。 可能的返回值为:
LINEERR_CONFERENCEFULL、LINEERR_NOTOWNER、LINEERR_INVALCONFCALLHANDLE、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALCALLHANDLE、LINEERR_OPERATIONFAILED、LINEERR_INVALCALLSTATE、LINEERR_RESOURCEUNAVAIL、LINEERR_NOMEM、LINEERR_UNINITIALIZED。
注解
如果返回LINEERR_INVALCALLHANDLE,则添加的调用的指定调用句柄无效; hConsultCall 是另一个会议的父级或已是会议的参与者;由于其他原因,无法添加 hConsultCall (例如,它必须已使用 lineSetupConference 或 linePrepareAddToConference) ;或 hConsultCall 和 hConfCall 在不同的开放行上调用。
将呼叫添加到会议后,添加方呼叫句柄保持有效。 其状态通常更改为 “已开会 ”,而电话会议的状态通常变为 连接状态。 使用 lineGetConfRelatedCalls,可以获取与指定呼叫属于同一电话会议呼叫一部分的呼叫句柄列表。 指定的呼叫是电话会议或电话会议中的参与者呼叫。 为应用程序尚没有句柄的调用生成新句柄,并授予应用程序对这些调用的监视权限。 稍后可以使用单个参与呼叫的句柄,使用 lineRemoveFromConference 从会议呼叫中删除该参与方。
如果在 lineAddToConference 之后立即调用 lineGetConfRelatedCalls,则它可能不会返回相关呼叫的完整列表,因为 TAPI 会等待接收LINE_CALLSTATE消息,指示呼叫已进入LINECALLSTATE_CONFERENCED,然后再将呼叫视为会议 (即会议状态由服务提供商) 确认。 应用程序收到LINE_CALLSTATE消息后, lineGetConfRelatedCalls 返回完整信息。
电话会议是通过 lineSetupConference 或 lineCompleteTransfer 建立的。 添加到会议的呼叫通常是使用 lineSetupConference 或 linePrepareAddToConference 建立的。 某些开关可以允许向会议添加任意呼叫,此类呼叫可以使用 lineMakeCall 设置,并且 (硬) 保留。 应用程序可以检查 LINEADDRESSCAPS 结构的 dwAddrCapFlags 成员以确定允许的操作。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | tapi.h |
Library | Tapi32.lib |
DLL | Tapi32.dll |