Обнаружение, какие MCU подключаться на входящей конференции
ТАК. Я работаю с 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), независимо от типа конференции, которую я приглашаю.
У меня заканчиваются идеи.
Некоторые ссылки, которые я использую:
- http://msdn.microsoft.com/en-us/library/bb664307.aspx
- http://msdn.microsoft.com/en-us/library/dd170830.aspx
Большое спасибо.
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...
}
// ...
}