lineAddToConference 函数 (tapi.h)

lineAddToConference 函数将 hConsultCall 指定的调用添加到 hConfCall 指定的电话会议中。

语法

LONG lineAddToConference(
  HCALL hConfCall,
  HCALL hConsultCall
);

参数

hConfCall

电话会议句柄。 应用程序必须是此调用的所有者。 对电话会议的任何监视 (媒体、音调、数字) 仅适用于 hConfCall,不适用于单个参与呼叫。 hConfCall 的调用状态必须为 onHoldPendingConferenceonHold

hConsultCall

要添加到电话会议中的呼叫的句柄。 应用程序必须是此调用的所有者。 此呼叫不能是另一个会议的父级或任何会议的参与者。 根据 LINEADDRESSCAPS 中指示的设备功能, hConsultCall 不一定是使用 lineSetupConferencelinePrepareAddToConference 建立的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 (例如,它必须已使用 lineSetupConferencelinePrepareAddToConference) ;或 hConsultCallhConfCall 在不同的开放行上调用。

将呼叫添加到会议后,添加方呼叫句柄保持有效。 其状态通常更改为 “已开会 ”,而电话会议的状态通常变为 连接状态。 使用 lineGetConfRelatedCalls,可以获取与指定呼叫属于同一电话会议呼叫一部分的呼叫句柄列表。 指定的呼叫是电话会议或电话会议中的参与者呼叫。 为应用程序尚没有句柄的调用生成新句柄,并授予应用程序对这些调用的监视权限。 稍后可以使用单个参与呼叫的句柄,使用 lineRemoveFromConference 从会议呼叫中删除该参与方。

如果在 lineAddToConference 之后立即调用 lineGetConfRelatedCalls,则它可能不会返回相关呼叫的完整列表,因为 TAPI 会等待接收LINE_CALLSTATE消息,指示呼叫已进入LINECALLSTATE_CONFERENCED,然后再将呼叫视为会议 (即会议状态由服务提供商) 确认。 应用程序收到LINE_CALLSTATE消息后, lineGetConfRelatedCalls 返回完整信息。

注意 作为会议一部分的所有呼叫必须位于同一条开放行上。
 
参与会议的呼叫的呼叫状态不独立。 例如,在拨打电话会议时,所有参与的呼叫都可以自动变为空闲状态。 应用程序应查阅线路的设备功能,以确定可用的会议删除形式。 应用程序应跟踪LINE_CALLSTATE消息,以确定涉及的调用发生的情况。

电话会议是通过 lineSetupConferencelineCompleteTransfer 建立的。 添加到会议的呼叫通常是使用 lineSetupConferencelinePrepareAddToConference 建立的。 某些开关可以允许向会议添加任意呼叫,此类呼叫可以使用 lineMakeCall 设置,并且 (硬) 保留。 应用程序可以检查 LINEADDRESSCAPS 结构的 dwAddrCapFlags 成员以确定允许的操作。

要求

要求
目标平台 Windows
标头 tapi.h
Library Tapi32.lib
DLL Tapi32.dll

另请参阅

会议概述

LINEADDRESSCAPS

LINE_CALLSTATE

补充线路服务函数

lineCompleteTransfer

lineGetConfRelatedCalls

lineMakeCall

linePrepareAddToConference

lineRemoveFromConference

lineSetupConference