转接背靠背呼叫,如何向客户提供状态

Transferring a Back-to-back call, how to provide status to client

在我们的应用程序中,我们通过构建的 ucma 应用程序在操作员(客户端)和调用者之间建立了背对背连接。现在我们要将呼叫者转移到另一个运营商或号码。

此转接有人参与,所以我们希望至少在转接完成之前在客户端保持呼叫。

客户端应用程序告诉 ucma 应用程序进行传输。因此,服务器从 ucma -> caller 进行转账。在这种情况下,从 ucma 到客户端应用程序的路径保持不变,但我们希望接收有关此传输的信息,以便我们可以在客户端应用程序中显示传输状态。如果转接失败,也应该让运营商清楚(转接期间也应该保持,转接失败后继续保持)。

在 UCMA 中执行此操作的正确方法是什么?

很难给你建议,因为根据你需要实现的目标,有多种方法可以做你想做的事。

我认为主要问题是你在中间进行传输,你不能告诉 Lync Client 继续 "hold"。因此,您只能从 UMCA 应用程序的角度保留呼叫。这意味着如果您必须提供自己的 UI 以在失败时取消保持呼叫,可能来自您自己的客户端应用程序 GUI.

您可以做的是编写一个 Lync Client SDK 控制的 Lync Client 应用程序。如果您有一个 Lync Client SDK 控制的 Lync Client,您可以远程控制 Lync Client 进行传输,这样您就会得到标准的 Lync Client 传输失败 UI。如果你这样做,申请UCMA的意义何在?

如果你必须从 UCMA 的角度来做,你可以:

  • 在您唯一的客户端应用程序中提供 UI(我认为不好),包括控制失败时的保持状态
  • Lync Client SDK 控制Lync Client 将呼叫置于保持状态,这是标准的Lync Client 失败时取消保持的方式,那么只需要担心传输失败的显示。可能会在您的客户端应用程序中显示一些内容,可能会从 UCMA 应用程序发送通话中的 IM?
  • 查看 Lync 客户端是否支持 BoardWork Extensions(特别是 Remote Control Hold 事件包)。如果是这样,那么您可以远程保持通话,但很可能没有:(