代码之家  ›  专栏  ›  技术社区  ›  Fábio Batista Raza Ahmed

在传入会议上检测要连接的MCU

  •  1
  • Fábio Batista Raza Ahmed  · 技术社区  · 14 年前

    所以。我正在与OCS UCCAPI合作,开发一个定制的OCS客户端。

    我现在很难发现我的客户被邀请参加什么样的会议。使用Office Communicator客户端,我可以启动“IM会议”(邀请多人并选择“启动IM对话”)或“视频会议”(选择多人并选择“启动视频通话”)。受邀者端的Office Communicator客户端正确启动相应的会话(仅IM、仅视频或IM+视频)。

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

    我已经试过了:

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

    • 处理时 _IUccConferenceSessionEvents.OnEnter ,检查 Media 上的属性 UccConferenceSession . 不工作,所有媒体类型都存在(消息、音频、视频、数据和电话),无论我被邀请的会议类型如何。

    • 处理时也是如此 _IUccConferenceSessionEvents.OnEnter文件 ,检查 Entities UccConferenceView 对象,以检查为此会议启用了哪些MCU。也不要工作,所有MCU都列为可用(IM、AV、数据和控制),无论我被邀请的会议类型如何。

    我没什么主意了。

    我使用的一些参考资料:

    谢谢。

    1 回复  |  直到 14 年前
        1
  •  1
  •   Aoi Karasu    14 年前

    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...
      }
      // ...
    }