lineSetupConference 函数 (tapi.h)
lineSetupConference 函数为添加第三方设置电话会议。
语法
LONG lineSetupConference(
HCALL hCall,
HLINE hLine,
LPHCALL lphConfCall,
LPHCALL lphConsultCall,
DWORD dwNumParties,
LPLINECALLPARAMS const lpCallParams
);
参数
hCall
标识会议呼叫的第一方的初始呼叫的句柄。 在某些 (,如设备功能) 中所述,必须存在呼叫才能启动电话会议,并且应用程序必须是此呼叫的所有者。 在其他电话环境中,最初不存在呼叫, hCall 必须保留 NULL,并且必须指定 hLine 以标识要发起电话会议呼叫的线路。 hCall 的调用状态必须已连接。
hLine
行的句柄。 如果 hCall 为 NULL,则此句柄用于标识发起电话会议呼叫的线路设备。 如果 hCall 为非 NULL,则忽略 hLine 参数。
lphConfCall
指向 HCALL 句柄的指针。 然后,使用标识新创建的电话会议呼叫的句柄加载此位置。 应用程序是此调用的初始唯一所有者。 hConfCall 的调用状态不适用。
lphConsultCall
指向 HCALL 句柄的指针。 设置添加新群的呼叫时,将自动分配新的临时呼叫 (咨询呼叫) 。 最初,应用程序是此调用的唯一所有者。
dwNumParties
会议通话中的预期派对数。 此数字将传递给服务提供商。 服务提供商可以随意使用此数字执行操作:忽略它,将其用作在交换机内分配适当大小的会议网桥的提示,等等。
lpCallParams
指向 LINECALLPARAMS 结构的指针,该结构包含建立咨询调用时要使用的调用参数。 如果不需要特殊调用设置参数,则可以将此参数设置为 NULL 。
返回值
如果异步完成函数,则返回正请求标识符;如果发生错误,则返回负错误号。 如果函数成功,则相应LINE_REPLY消息的 dwParam2 参数为零;如果发生错误,则为负错误号。 可能的返回值为:
LINEERR_BEARERMODEUNAVAIL、LINEERR_UNINITIALIZED、LINEERR_CALLUNAVAIL、LINEERR_INVALMEDIAMODE、LINEERR_CONFERENCEFULL、LINEERR_INVALPOINTER、LINEERR_INUSE、LINEERR_INVALRATE、LINEERR_INVALADDRESSMODE、LINEERR_NOMEM、LINEERR_INVALBEARERMODE、LINEERR_NOTOWNER、LINEERR_INVALCALLHANDLE、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALCALLSTATE、LINEERR_OPERATIONFAILED、LINEERR_INVALCALLPARAMS、LINEERR_RATEUNAVAIL、LINEERR_INVALLINEHANDLE、LINEERR_RESOURCEUNAVAIL、LINEERR_INVALLINESTATE、LINEERR_STRUCTURETOOSMALL、LINEERR_USERUSERINFOTOOBIG。
注解
如果返回LINEERR_INVALLINESTATE,则表示行当前不处于可执行此操作的状态。 可以在 LINEDEVSTATUS 结构中 LINEFEATURE) 类型的 dwLineFeatures 成员 (中找到当前有效操作的列表。 (呼叫行GetLineDevStatus 更新 LINEDEVSTATUS.) 如果返回LINEERR_INVALMEDIAMODE,检查 LINEDEVCAPS 结构中 dwMediaModes 成员中行上支持的媒体类型。
lineSetupConference 函数提供两种方法来建立新的电话会议,具体取决于是否需要一个正常的两方呼叫来预先存在。 从现有两方呼叫设置电话会议时, hCall 参数是一个有效的呼叫句柄,最初由 lineSetupConference 请求添加到电话会议; 忽略 hLine 。 在电话会议设置不以现有呼叫开始的交换机上, hCall 必须为 NULL ,并且必须指定 hLine 以标识要启动电话会议的线路设备。 在任一情况下,都会分配咨询呼叫,以便连接到要添加到呼叫的参与方。 然后,应用程序可以使用 lineDial 拨打另一方的地址。
会议呼叫通常转换为 onHoldPendingConference 状态,咨询呼叫转换为 拨号 状态,如果有一个) 进入 会议 状态,则初始呼叫 (。
电话会议也可以由解析为三向会议的 LineCompleteTransfer 进行设置。 应用程序可以使用 lineSwapHold 在咨询呼叫和电话会议之间切换。
可以通过调用 lineDrop 来取消咨询呼叫。 断开咨询呼叫时,现有电话会议通常会转换回 连接 状态。 应用程序应观察LINE_CALLSTATE消息,以确定调用的确切情况。 例如,如果会议呼叫恢复为常规的两方呼叫,则会议呼叫将变为空闲状态,原始参与者呼叫可以还原连接。
如果应用程序在调用 lineUnhold 函数时指定原始呼叫 (hCall) 句柄,则会议呼叫和咨询呼叫通常都进入空闲状态。
要求
目标平台 | Windows |
标头 | tapi.h |
Library | Tapi32.lib |
DLL | Tapi32.dll |