views:

164

answers:

1

Hello, 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.

I'm running out of ideas.

Some references I'm using:

Thanks a lot.

+2  A: 

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...
  }
  // ...
}
AOI Karasu
That test works for P2P conversations, but not for conferences: a conference is a third kind of session on your example, where `eventData.Session.Type == UCC_SESSION_TYPE.UCCST_APPLICATION`. Seehttp://msdn.microsoft.com/en-us/library/bb664307(v=office.12).aspx . My problem is, once I get the Application Session and extract the conference info (Focus URI, available MCUs, etc), I'm not able to differentiate between a "IM-only conference" and a "IM plus AV conference".
Fábio Batista