1

所以。我正在使用 OCS UCCAPI,开发自定义 OCS 客户端。

我目前很难确定我的客户被邀请参加的“类型”会议。使用 Office Communicator 客户端,我可以开始“IM 会议”(邀请超过 1 人并选择“开始 IM 对话”)或“视频会议”(通过选择超过 1 人并选择“开始视频通话”) . Office Communicator 客户端在受邀者端正确启动适当的会话(仅 IM、仅视频或 IM+视频)。

但是,在我的自定义客户端上收到会议邀请时,没有关于我被邀请的会话类型的数据。我需要这些信息,以便决定是否连接到 AV MCU 并捕获/显示视频。

我已经尝试过:

  • 处理时_IUccSessionManagerEvents.OnIncomingSession,解析对象的RemoteSessionDescription属性UccIncomingInvitationEvent:不走运,关于会议模式的唯一数据是 XML 上关于是否启用 IM 的元素(<im available="true"><im available="false">),但没有关于会话是否有视频可用的元素。

  • 处理时_IUccConferenceSessionEvents.OnEnter,请检查Media属性UccConferenceSession。不工作,所有媒体类型都存在(MESSAGE、AUDIO、VIDEO、DATA e TELEPHONY),无论我被邀请的会议类型如何。

  • 同样在处理时_IUccConferenceSessionEvents.OnEnter,检查对象Entities上的集合UccConferenceView,以检查哪些 MCU 为本次会议启用。也不行,所有 MCU 都被列为可用(IM、AV、DATA 和 CONTROL),无论我被邀请的会议类型如何。

我的想法不多了。

我正在使用的一些参考资料:

非常感谢。

4

1 回答 1

1

好吧,在我的自定义客户端中,我得到了这样的东西:

void _IUccSessionManagerEvents.OnIncomingSession(IUccEndpoint eventSource, UccIncomingSessionEvent eventData)
{
  // Handle incoming IM session
  if (eventData.Session.Type == UCC_SESSION_TYPE.UCCST_INSTANT_MESSAGING)
  {
    // ...
  }
  else if (eventData.Session.Type == UCC_SESSION_TYPE.UCCST_AUDIO_VIDEO)
  {
    // ... check here first if it's audio only or av...
  }
  // ...
}
于 2010-04-15T08:47:42.677 回答