Как принять входящий видеозвонок после того, как он был отклонен с помощью Lync Client API 2010?

Я реализую приложение с использованием Lync Client API 2010, которое позволит пользователю принимать/отклонять обмен мгновенными сообщениями/аудио/видео Lync через него, а не через окно клиента Lync. В большинстве случаев приложение работает должным образом, за исключением следующего сценария:

  1. Предположим, что учетная запись LyncA начинает аудиовызов с учетной записью LyncB.
  2. Мое приложение (установленное на ПК с учетной записью LyncB) обнаруживает, что в учетной записи LyncB создается новый разговор lync с помощью события ConversationAdded.
  3. Нажмите кнопку «Принять» в «Моем приложении», чтобы принять вызов от LyncA (затем мое приложение вызовет функцию BeginConnect AudioVideoModality). Все работает так, как ожидалось. LyncB принимает аудиовызов от LyncA.
  4. LyncA нажимает кнопку «Видео» в окне Lync, чтобы добавить видео в беседу.
  5. LyncB обнаруживает это и автоматически отображает окно видео без какого-либо взаимодействия с пользователем, а видеоканал начинает передачу.
  6. Теперь нажмите кнопку «Завершить видео» в окне Lync LyncB, чтобы завершить передачу видео из LyncA. Видео останавливается, но аудиовызов продолжается.
  7. Теперь LyncA снова нажимает кнопку «Видео» в окне Lync, чтобы снова добавить видео в беседу.
  8. В это время LyncB открывается с окном сообщения «Принять/отклонить», чтобы запросить у пользователя разрешение на принятие или отклонение передачи видео. Мое приложение обнаруживает это через событие ActionAvailabilityChanged класса AudioVideoModality. Однако в настоящее время мое приложение не может использовать Lync API 2010 для приема передачи видео. Я пробовал метод Accept в AudioVideoModality, а также метод BeginConnect. Также попробовал BeginStart VideoChannel в AudioVideoModality, но все равно не смог принять входящую передачу видео. При вызове метода BeginConnect было выдано исключение UnauthorizedAccessException.

Кто-нибудь еще сталкивается с такой же проблемой здесь? Очень ценю, если вы можете дать мне несколько советов по решению этой проблемы.

Спасибо.


person user526929    schedule 08.06.2012    source источник


Ответы (1)


Это всего лишь предположение: возможно, Видеоканал все еще активен, но приостановлен. Вы можете попробовать использовать метод AVModality BeginRetrieve для извлечения видео.

В каком состоянии видеоканал?

person Maxwell    schedule 20.06.2012
comment
В это время состояние VideoChannel — Notified. Я попытался вызвать метод AVModality.BeginRetrieve, но все равно не удалось. Он выдал исключение UnauthorizedAccessException. - person user526929; 11.07.2012