会议

TAPI 3 的 会合 IP 电话会议介绍了使用基于 IP 的网络的高级会议。 以下材料与基本会议相关。

会议会话是同时包含两个以上各方的会话。 可以使用基于服务器的外部网桥或基于交换机的会议网桥进行设置。

在基于服务器的会议会话中,所有参与方都拨入服务器,服务器将媒体流混合在一起,并向每个参与者发送混合。 会议呼叫中可能没有单个参与方的概念,只有应用程序和网桥服务器之间的单个呼叫的概念。 对 TAPI,这种类型的电话会议似乎是正常的一对一连接。

基于交换机的会议分阶段进行,如果服务提供商支持,其中一些会议可能会合并:

  1. 启动普通通信会话。
  2. 创建具有其第一个成员的会议会话,该成员是发起会议的一方。
  3. 在当前连接的另一端与参与方创建会议咨询会话。
  4. 将咨询会话添加到会议。

会话成为会议的成员后,成员的状态将恢复为已会议。 会议会话的状态通常会变为 连接状态。 会议以及所有添加的参与方的会话标识符保持有效。 可以接收有关所有调用的状态事件。 例如,如果其中一个成员通过挂断断开连接,则相应的状态消息可以通知应用程序此事实。

TAPI 2.x: 应用程序可以使用 PBX 的“不举行会议”功能,方法是使用 LINECALLPARAMFLAGS_NOHOLDCONFERENCE 选项;此功能允许其他设备(如监督器或录音设备)以无提示方式连接到该线路。

当取消与第三方进行会议协商时,或者在之前建立的会议中删除第三方时,服务提供商可能会释放会议,并将会话还原回正常的两方连接。 如果是这种情况,会议会话将过渡到 空闲 状态,唯一剩余的参与会话将从会议过渡到 连接 状态。

并非所有服务提供商都支持会议。

TAPI 2.x:lineSetupConference 函数将原始的两方呼叫作为输入,分配一个电话会议,将原始呼叫连接到会议,并分配一个将句柄返回到应用程序的咨询呼叫。

如果应用程序要将另一个成员添加到会议,则可以在咨询呼叫上执行拨号操作。 然后,在 lineAddToConference 函数中使用会议呼叫句柄和咨询呼叫连接。 如果服务提供商支持,也可以使用 linePrepareAddToConference 函数添加会议成员。

如果服务提供商支持,则使用 lineRemoveFromConference 函数删除会议成员。

或者,可以使用 lineSetupTransfer 函数创建会议,该函数返回一个咨询呼叫句柄,并使用包含会议选项的 lineCompleteTransfer 函数 (而不是 转移 选项) 。

TAPI 3.x:ITBasicCallControl::Conference 方法将现有会话作为输入,并创建一个 CallHub 对象(如果尚不存在)。 ITBasicCallControl::Finish 方法将咨询调用添加到 CallHub。 可以使用 ITAddress::CreateCall 创建其他咨询会话,并使用 会议和Finish 方法添加。

注意

寻址线路设备的功能可以限制在单个呼叫中召开的参与方数,以及会议是否以正常的两方呼叫开始。