2016-07-04 6 views
0

Я новичок в интеграции и разработке Lync.Запуск Lync-беседы с рабочего стола C# WPF, независимо от установленной версии клиента Lync

Я пытаюсь написать функцию, позволяющую существующей рабочей среде WPF для рабочего стола запускать Lync-разговор с другим пользователем в локальной интрасети, где приложение работает.

Сложность, с которой я сталкиваюсь, заключается в том, что приложение не будет знать, какая версия Lync-клиента установлена ​​на ПК пользователя. Приложение развертывается в разных организациях и поэтому не может делать предположений о версиях на стороне клиента или сервера.

На данном этапе приложение собирается попробовать запуск какой версии Lync исполняемый файл он может найти на компьютере, с помощью контекстного SIP, как показано здесь: https://technet.microsoft.com/en-us/library/gg398376(v=ocs.14).aspx

«Вы можете использовать параметры командной строки для быстрого запуска Microsoft Lync «

Я также рассматриваю API UCMA (серверной), хотя я беспокоюсь, что снова мне придется беспокоиться о том, какая версия сервера работает.

Есть ли лучший способ «версии агностик»?

Кажется, что каждая версия клиентского SDK несовместима с предыдущими версиями. Это будет означать, что мне нужно сначала определить, какая версия Lync установлена; а затем использовать соответствующий SDK. Это также означает распространение нескольких копий Lync SDK; и также, вероятно, будет означать необходимость создания новой версии приложения при выпуске последующих версий Lync.

Я заметил, что может существовать API-интерфейс на стороне сервера (UCMA), который я мог бы использовать в разных версиях Lync/OCS/Skype для бизнеса, хотя есть упоминания о том, что этот API более «продвинут» и «которого следует избегать».

Некоторые чтения я сделал:

what are difference between "Lync Server 2010 SDK"/"UCMA 3.0 SDK"/and UCC API?

http://blog.thoughtstuff.co.uk/2014/07/lync-development-picking-the-right-api/

Which Lync SDK? Send IMs from managed code

Может кто-нибудь поделиться какой-либо мысли об этой проблеме, я что-то пропустил?

В идеале я бы хотел, чтобы какой-то слой абстракции мог вызвать метод для начала разговора, а не беспокоиться о том, какой клиент установлен на ПК или какая версия установлена ​​на сервере. Я понимаю, что это может быть нереалистичным ожиданием!

Я пробовал поиск через SO на теге Lync; если это повторный вопрос, извините!

+0

На данный момент я решил нацелить клиентский SDK на Lync 2010, но по-прежнему оценил бы любой вход – GrahamMc

+0

Похоже, вы пытаетесь подключить пользователя LOB с поддержкой или внешним пользователем. Общее предложение - рассмотреть UCMA, поскольку он будет доступен через Lync 2010, 2013 и т. Д., И вы могли бы рассмотреть возможность использования его в качестве посредника между LOB-пользователем и пользователем поддержки, но для этого потребуется установка на стороне сервера приложения UCMA , – ShelbyZ

+0

Благодаря @ShelbyZ - это между пользователями в группе организаций, которые расположены в лесу Active Directory - несколько доменов и несколько версий Lync, установленных в разных местах. – GrahamMc

ответ

1

Похоже, вы хотите использовать SDK Lync Client. То, что этот SDK действительно делает, - это дистанционное управление «Lync Client». Чтобы запустить Lync-клиент, если он не запущен, просто запустите «lync.exe». Клиентская установка Lync всегда будет иметь этот exe в пути, поэтому просто запуск должен работать нормально. (делает для меня до сих пор)

Lync 2010 довольно старый. Я бы использовал Lync 2013 Client SDK. Я использую эту версию, поскольку она работает для клиента 2013 до последнего клиента Skype для бизнеса 2016.

Я бы загрузил/установил клиентский SDK и просмотрел примеры. Вам нужно найти примеры большинства вещей, которые вы хотите (начиная аудио-беседу, начиная чат-чат и т. Д.). Практически все, что вы можете вручную сделать на клиенте, вы можете дистанционно управлять через клиентский SDK.

Если вам нужен слой абстракции над версиями, вам придется сделать это самостоятельно, так как он не поддерживается самими SDK. Хотя я бы не стал беспокоиться и просто поддерживать Lync 2013 и выше.

Если вы собираетесь сделать слой абстракции, вам нужно будет протестировать все настройки сервера Lync. Удачи вам в этом ... У нас есть сервер Lync 2103 и настройка Skype для бизнеса здесь (они могут существовать), и это огромная настройка. Базовая установка может быть около 6-7 серверов, и она подключается к вашему AD. Поэтому для запуска разных версий потребуется несколько AD. Вам может потребоваться доступ к телефонной линии PSTN/sip для проверки внешних вызовов или настройки федерации для внешнего сетевого доступа к/от внешних клиентов или федеративных организаций (например, потребительский скайп). Если вам нужно идти где-нибудь рядом с высокой доступностью, требования к серверу просто взлетают ...

+0

Спасибо Шейн. Решение 2010 года - это ограничение клиента, а не меня. Если никто не ответит в ближайшие пару дней, я буду отмечать это как ответ, поскольку на данный момент я эффективно следую вашим советам, перейдя к клиентскому SDK. Приложение работает, однако, только на Lync 2010. Я хочу, чтобы был способ легко абстрагироваться над версиями. Концептуально, создание чата IM должно быть «одинаковым» для всех версий. Все, что изменилось, - это «сантехника» «как». – GrahamMc

Смежные вопросы