检索 Lync 客户端的呼叫转接(路由)规则

Posted

技术标签:

【中文标题】检索 Lync 客户端的呼叫转接(路由)规则【英文标题】:Retrieve call forwarding (routing) rules of a Lync client 【发布时间】:2015-04-01 11:45:23 【问题描述】:

如何使用 UCMA 或 MSPL 检索 lyn 客户端的呼叫转移(路由)规则? 我尝试使用 UserEndpoint 检索它并订阅RemotePresenceViewPresenceNotificationReceived 事件。 不幸的是,这似乎不起作用。根据msdn documentation,只能通过本地访问(LocalOwnerPresence)查询路线类别。

另一个选项是使用 ApplicationEndpoint 来模拟我想要检索呼叫转移规则的每个用户。但在我看来,这似乎是一个肮脏的解决方案。

这也可以用 MSPL 完成吗?

【问题讨论】:

【参考方案1】:

在我的测试中:

另一个选项是使用 ApplicationEndpoint 来模拟我想要检索呼叫转移规则的每个用户。但在我看来,这似乎是一个肮脏的解决方案。

一直是唯一可行的解​​决方案(直接查询数据库之外)。

如果您想在 MSPL 中完成此操作,请查看 QueryCategory。问题是您需要正确的ContainerNumberInstance id。

但是,如果您查找它们(请参阅MSDN for Presence data source and category instance ID),您会发现没有列出用于路由的实例编号。可以在此处找到容器编号信息:Routing category instance value element,其中确实列出了一些实例 ID。

有趣的一点是路由数据被归类为“仅限本地”,见Local-access only category instances:

路由类别实例包含路由规则,用于转发由托管容器的任何成员进行的入站呼叫。它们是私有类别实例,对作为托管容器成员的远程用户不可见。

到目前为止,我还没有找到可以给出任何结果的名称 ('routing')、ContainerNumberInstance id 的组合,所以如果你发现任何东西,请更新。

【讨论】:

是的,您可能在用户端点设置中将AutomaticPresencePublicationEnabled 属性设置为true。当您连接端点时,这会自动将用户发布为在线。将其设置为 false 并手动订阅在线状态:msdn.microsoft.com/en-us/library/office/… 在连接之前还将端点的状态设置为离线:userEndpointSettings.Presence.UserPresenceState = PresenceState.UserOffline 是的,你是对的,AutomaticPresencePublicationEnabled 属性设置为true。 “手动订阅状态”是什么意思?因为当我订阅myUserEndpoint.LocalOwnerPresence.PresenceNotificationReceived时,我只得到路由信息,当它们发生变化时我必须立即接收。 把它放在一个新问题而不是 cmets 中可能会更好,但这里有。在建立之前,您需要将事件处理程序添加到存在接收事件。使用AutomaticPresencePublicationEnabled = falseUserPresenceState = PresenceState.UserOffline 创建端点。处理LocalPresenceNotificationReceived 事件,之后调用Establish,并在建立调用LocalOwnerPresence.Subscribe 时处理。很快,您的处理程序应该会以所有“当前”设置触发。【参考方案2】:

This question 的三个链接很好地解释了如何使用 UCMA 来实现这一点(特别是 the first one)。

【讨论】:

以上是关于检索 Lync 客户端的呼叫转接(路由)规则的主要内容,如果未能解决你的问题,请参考以下文章

没有 lync 客户端的 Lync 应用程序

Lync 2010 事件监控和呼叫控制 API

Lync 客户端 SDK PSTN 呼叫

Lync 2013 客户端,当 2 个传入 AV 呼叫时,ExtensibilityWindow 未打开

Lync 项目经验-16-呼叫前客户端性能测试

从 UCMA 应用程序中的电话号码检索 Lync 联系人