Определение MCU для подключения на входящей конференции - PullRequest
1 голос
/ 08 апреля 2010

SO. Я работаю с OCS UCCAPI, разрабатываю собственный клиент OCS.

В настоящее время мне сложно определить, на какую «конференцию» приглашается мой клиент. С помощью клиента Office Communicator я могу запустить «IM-конференции» (пригласив более 1 человека и выбрав «Начать IM-разговор») или «Видеоконференции» (выбрав более 1 человека и выбрав «Начать видеозвонок») , Клиент Office Communicator со стороны приглашенных правильно запускает соответствующий сеанс (только IM, просто Video или IM + Video).

Однако, когда я получаю приглашение на конференцию на моем обычном клиенте, нет данных о том, какую сессию я приглашаю. Мне нужна эта информация, чтобы принять решение, подключать ли к 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, DATA и CONTROL), независимо от типа конференции, которую я приглашаю.

У меня заканчиваются идеи.

Некоторые ссылки, которые я использую:

Большое спасибо.

1 Ответ

1 голос
/ 15 апреля 2010

Ну, в моем клиенте я получил что-то вроде этого:

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