获取 UCMA 中所有呼叫的状态 - Skype

Getting the status of all calls in UCMA - Skype

我是 Lync 开发领域的新手。我有一个简单的要求,即获取发布到我的 API 的所有 Lync 调用的状态,这些调用在 Lync Server 上进行。简而言之,我需要调用事件挂钩。

我看到 UCMA 通常用于在 IVR 之后路由呼叫,因此我认为仅获取所有呼叫的状态应该不是问题,但找不到任何相关文档。我还查看了 Trusted Application API,但找不到任何可以为我提供所有调用状态挂钩的服务。

如果这些状态可以从 Skype 客户端发送,那也很好,但我不需要在我的代码中使用客户端 SDK,我只需要一些用于调用的事件挂钩。

如果可行,请告诉我。

首先我们需要定义这些东西是什么:

UCMA:Lync 的 SIP 端点库。即它允许您提供 "Endpoint" 呼叫可以结束的地方。对于特定端点,您将获得 sip 呼叫事件,例如来电、已接电话(仅在您的端点)等。

Lync 客户端:Lync 客户端的远程控制库。即它用于控制 运行 Lync 客户端。

因此,如果您想在 UCMA 端点处理之间跟踪呼叫,那么您需要处理呼叫并跟踪它们然后是的,使用正常的呼叫处理来处理呼叫并跟踪它们。

如果您想要跟踪仅处理特定 Lync 客户端的呼叫,则可以使用 Lync 客户端 API 来跟踪它们。连接到对话管理器并在来电和去电时获取事件很容易。

如果您想要跟踪特定 Lync 用户(或多个用户)的所有实时呼叫,那就是当它变得非常困难时。您需要编写一个 Lync Server SDK 应用程序,在用户驻留的所有前端服务器上作为 SIP 代理运行。要执行此操作,您需要非常了解 SIP。它也不能移植到 Office365。您可以进行 "simple" 跟踪,但在很多情况下,您会遇到您误解的用户呼叫(例如直接 DDI 呼叫)或呼叫不是实际用户的用户(拥有的电话会议)例如由用户)。

也可以跟踪实时通话相信你也可以使用Skype SDN (Software Defined Networking) API。我从来没有用过这个 API 所以我不知道它有多复杂。

如果您只想知道 Lync 用户的呼叫列表而他们不需要 "live" 那么您可以使用呼叫详细记录 (CDR) 数据库在呼叫发生后跟踪呼叫。

这些是我在 Lync/Skype for Business 中知道的所有选项。