1

我是 Lync 集成和开发的新手。

我正在尝试编写一项功能,以允许现有桌面 WPF 业务线应用程序与运行应用程序的本地 Intranet 上的另一个用户启动 Lync 对话。

我面临的困难是应用程序不会预先知道用户 PC 上安装了哪个版本的 Lync 客户端。该应用程序部署在各种组织中,因此无法对客户端或服务器端版本做出假设。

在这个阶段,应用程序将尝试使用快捷方式 SIP 启动它可以在 PC 上找到的任何版本的 Lync 可执行文件,如下所示: https://technet.microsoft.com/en-us/library/gg398376( v=ocs.14).aspx

“您可以使用命令行参数快速启动 Microsoft Lync”

我也在考虑 UCMA(服务器端)API,虽然我担心我会再次担心正在运行的服务器版本。

有没有更好的“与版本无关”的方式来做到这一点?

客户端SDK的每个版本似乎都与以前的版本不兼容。这意味着我需要首先检测安装的 Lync 版本;然后使用适当的 SDK。这也意味着分发多个 Lync SDK 副本;并且还可能意味着在发布后续版本的 Lync 时需要创建应用程序的新版本。

我确实注意到可能有一个服务器端 API (UCMA),我可以在不同版本的 Lync/OCS/Skype for Business 中使用它,尽管有人提到这个 API 更“高级”并且“要避免” ”。

我读过的一些书:

“Lync Server 2010 SDK”/“UCMA 3.0 SDK”/和 UCC API 有什么区别?

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

哪个 Lync SDK?从托管代码发送 IM

任何人都可以分享关于这个问题的任何想法,我错过了什么吗?

理想情况下,我想要某种抽象层,我可以在其中调用一个方法来开始对话,而不用担心 PC 上安装了什么客户端或服务器上安装了什么版本。我意识到这可能是一个不切实际的期望!

我尝试在 Lync 标签上搜索 SO;如果这是一个重复的问题,对不起!

4

1 回答 1

1

听起来您想使用 Lync Client SDK。这个 SDK 真正做的是远程控制“Lync 客户端”。如果 Lync 客户端未运行,则要启动它,只需运行“lync.exe”即可。Lync 客户端安装将始终在路径中包含此 exe,因此只需运行它就可以正常工作。(到目前为止对我有用)

Lync 2010 相当旧。我会使用Lync 2013 Client SDK。我使用该版本,因为它适用于 2013 客户端到最新的 Skype For Business 2016 客户端。

我会下载/安装客户端 SDK 并查看示例。您应该找到您想要的大多数事情的示例(开始音频对话、开始 IM 对话等)。您可以在客户端中手动执行的几乎所有操作都可以通过客户端 SDK 进行远程控制。

如果您想要版本之上的抽象层,您必须自己做,因为 SDK 本身不支持它。虽然我不会打扰,只是支持 Lync 2013 及更高版本。

如果您要进行抽象层,则需要在所有 Lync 服务器设置上进行测试。祝你好运……我们在这里有 Lync 2103 服务器和 Skype for Business 设置(它们可以共存),这是一个巨大的设置。基本设置可以是大约 6-7 台服务器,它会连接到您的 AD。因此,运行不同的版本也需要多个 AD。您可能需要 PSTN / sip 中继访问来测试外部呼叫或联合设置,以便外部网络访问/来自外部客户端或联合组织(如消费者 Skype)。如果您需要接近高可用性,您的服务器需求就会飙升......

于 2016-07-04T20:07:34.100 回答