使用 UCMA 4.0 的呼叫队列方法

Posted

技术标签:

【中文标题】使用 UCMA 4.0 的呼叫队列方法【英文标题】:Call Queue approach with UCMA 4.0 【发布时间】:2014-03-25 15:15:35 【问题描述】:

我需要一些关于如何使用 UCMA 4.0 和 Lync 处理呼叫队列的帮助/建议。

我一直在研究一些 UCMA 4.0 核心文档,深入研究示例等,以找到开发呼叫队列的最佳实践。我一直在寻找受信任的应用程序用户/参与者、会议和音频路由。

但是我应该使用什么方法来使用 UCMA 4.0 创建呼叫队列?

召开会议,所有来电都在其中进行,并让受信任的会议用户来控制音频路由,这是否是正确的方式?据我所知,受信任的会议用户可以同时与同一个会议建立数百个音频连接,并决定谁可以听到谁的声音,并为其他人播放等待的音乐,将来电转移到企业内的另一个 UserEndpoint 等。 .

我的方法是使用 ApplicationEndpoint 创建一个 UCMA 4.0 应用程序。然后将会议作为我的来电队列(可能是 Lync 或 PSTN 呼叫),在我的 UCMA 应用程序中拥有一个受信任的会议用户,以控制该队列(通过转移、处理 AV 路由以建立代理 呼叫者会话,以及可能让主管静静地听特定的音频路由等)。

但我不确定这种方法是否正确,或者由于限制和/或其他原因,我是否需要更改任何内容。我寻求一些建议/建议,以走上正确的道路。

(MSDN 线程:http://social.msdn.microsoft.com/Forums/lync/en-US/16a13242-3e03-463c-b554-6b305e6cf00e/call-queue-approach-with-ucma-40?forum=ucmanagedsdk#16a13242-3e03-463c-b554-6b305e6cf00e)

编辑: 另一个想到这个。在研究受信任的会议用户时,我在想,呼叫者甚至可以呼叫会议/应用程序端点吗?我知道我可以使用 UserEndpoint 来做到这一点,后者将在线状态发布为在线状态。但是由于 TCU 不能发布状态,并且隐藏在会议名册中,甚至可以让我的用户呼叫会议吗?或者我应该有一个我的呼叫者呼叫的 UserEndpoint,然后将呼叫者代理到会议队列??

【问题讨论】:

【参考方案1】:

你绝对可以这样做。您必须做一些额外的工作,以确保呼叫队列中的所有人在同一会议中等待时不能互相交谈(尽管这听起来是一种很有趣的方式来通过等待连接的时间!)。但是,这种方法可能比替代方法具有更好的扩展性,即:

您可以让应用程序接受呼叫,并使用 AudioFlow 播放音乐。该应用程序可以处理多个已接受的呼叫,并且可以保留它们,直到代理准备好,然后才能转移它们。这可能比处理会议更容易。

我认为这两种方法都是可以接受的。会议方法意味着如果机器人重新启动,所有呼叫都不会掉线。应用程序方法意味着您可以选择在用户等待时向他们播放自定义音频(队列中的第 4 个,队列中的第 3 个等)。

再想一想,我认为规模问题可能不是问题。无论您选择哪种方法,如果您的规模足够大,您将开始遇到需要添加额外硬件的限制,这将发生在 Lync 基础架构中的不同位置,具体取决于您的方法。

【讨论】:

在第一种方法中,通过使用运行 ApplicationEndpoint 的应用程序,是否不可能拥有与第二种方法中提到的相同的队列位置音频(以达到连接丢失问题的稳定性,与UserEnpoints),并使用受信任的会议用户(TCU)来控制直到会议,并在参与者和代理/等待队列之间重新路由音频流?在某些时候,这两种方法都会在 Lync 2013 服务器上遇到限制。

以上是关于使用 UCMA 4.0 的呼叫队列方法的主要内容,如果未能解决你的问题,请参考以下文章

Lync 2010 UCMA 3.0 SDK - 呼叫转移

UCMA 呼叫建立仅在 30 秒后才给出忙响应

在 UCMA 中取消转移

如何使用 UCMA 可信应用程序监控域中所有用户的通话活动并加入通话

UCMA 如何在遇忙信号和终止信号之前检测呼叫响铃持续时间并转移呼叫?

如何为 UCMA 4.0 开发设置环境