开发者

Detecting which MCUs to connect on an incoming conference

SO. I'm working with the OCS UCCAPI, developing a custom OCS client.

I'm currently having a hard time detecting what "kind" of Conference my client is being invited to. Using the Office Communicator client, I can start "IM conferences" (by inviting more than 1 person and selecting "start a IM conversation") or "video conferences" (by selecting more than 1 person and selecting "start a video call"). The Office Communicator client, on the invitees' end, starts correctly the appropriate session (just IM, just Video or IM+Video).

However, when receiving the conference invite on my custom client, there's no data about the kind of session I'm being invited. I need this information, in order to make a decision whether or not to connect to the AV MCU and capture/show video.

I've tried already:

  • When handling _IUccSessionManagerEvents.OnIncomingSession, parse the RemoteSessionDescription property on the UccIncomingInvitationEvent object: no luck, the only data about the conference modality is an element on the XML about the IM being enabled or not (<im available="true"> or <im available="false">), but nothing about the session having video available or not.

  • When handling _IUccConferenceSessionEvents.OnEnter, check the Media property on the UccConferenceSession. Don't work, all media types are present (MESSAGE, AUDIO, VIDEO, DATA e TELEPHONY), regardless of the type of conference I'm being invited.

  • Also when handling _IUccConferenceSessionEvents.OnEnter, check the Entities collection on the UccConferenceView object, to check which MCUs are enabled for this conference. Don't work either, all MCUs are listed as available (IM, AV, DATA and CONTROL), regardless of the type of conference I'm being invited.

开发者_如何学C

I'm running out of ideas.

Some references I'm using:

  • http://msdn.microsoft.com/en-us/library/bb664307.aspx
  • http://msdn.microsoft.com/en-us/library/dd170830.aspx

Thanks a lot.


Well, in my custom client I got something like this:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜