0

是否可以使用 UCMA 或任何 Lync API 创建可以代表Lync 客户端用户(以及该 Lync 客户端终结点)应答语音呼叫的服务器应用程序?

我的用例是能够拥有一个服务器应用程序,该应用程序可以代表使用 vanilla Lync 桌面客户端的用户进行操作。该服务将自动应答 Lync 用户的呼叫,并代表用户执行各种呼叫控制操作(保持、静音、断开连接、转接等)。目标是尽可能避免在桌面上进行任何自定义。

到目前为止,我已经收到了传入呼叫的​​事件,但是当我的服务应答它们时,似乎服务本身正在获取呼叫的所有权,而不是 Lync 客户端。有任何想法吗?

4

2 回答 2

1

中央服务器无法远程告诉 Lync 客户端远程应答呼叫。

您可以使用“Lync 客户端 SDK”来扩展在桌面上运行的 Lync 客户端,以从您自己的服务器获取命令并接听电话。

现在的问题是:

  • 确定何时有电话应答。例如,您可以使用 UMCA 应用程序来了解何时知道何时有来电。另一种方法是使用 Lync Server SDK 脚本/应用程序,但这可能比 UCMA 应用程序更难。

  • 如何确定要接听的电话。Lync 客户端上可能有多个呼叫响铃,并且 Lync 客户端 SDK 不会为您提供太多识别呼叫的方式。如果它总是来自同一个 callerid,那么你应该没问题。

于 2015-05-30T20:45:43.040 回答
1

根据您的问题,我假设您正在运行一个 UCMA 应用程序,并且它已经在拦截对您用户的调用。

现在,Lync 类是点对点的,这意味着调用中只有两个端点。在这种情况下,由于您使用 UCMA 应用程序、呼叫者和端点应答呼叫。

该服务将自动应答 Lync 用户的呼叫,并代表用户执行各种呼叫控制操作(保持、静音、断开连接、转接等)。

这里的困难部分是“自动回答”。所有其他操作都可以通过不实际接听电话来完成,而是创建一个背靠背呼叫(例如 UCMA3,但即使对于 Skype for Business 仍然有效)。

您将您的应用程序定位在调用者和原始目标之间的中间,然后您可以发送控制消息以保持、静音、转移等,看似代表另一方。音频仍将点对点传输。

但是,您要求自动接听电话意味着您的端点需要接听,然后希望获得原始目标用户上线。如何实现这一点取决于您的确切需求。您可以在 UCMA 中接听呼叫,向目标创建一个新呼叫并转接原始呼叫,或者您可以将所有 3 个端点放在一个会议中并从那里开始工作。

无论您采用哪种方式,这些解决方案都不需要在客户端机器上进行更改。

于 2015-06-02T16:29:46.820 回答