检索 Lync 客户端的呼叫转接(路由)规则
Posted
技术标签:
【中文标题】检索 Lync 客户端的呼叫转接(路由)规则【英文标题】:Retrieve call forwarding (routing) rules of a Lync client 【发布时间】:2015-04-01 11:45:23 【问题描述】:如何使用 UCMA 或 MSPL 检索 lyn 客户端的呼叫转移(路由)规则?
我尝试使用 UserEndpoint 检索它并订阅RemotePresenceView
的PresenceNotificationReceived
事件。
不幸的是,这似乎不起作用。根据msdn documentation,只能通过本地访问(LocalOwnerPresence
)查询路线类别。
另一个选项是使用 ApplicationEndpoint 来模拟我想要检索呼叫转移规则的每个用户。但在我看来,这似乎是一个肮脏的解决方案。
这也可以用 MSPL 完成吗?
【问题讨论】:
【参考方案1】:在我的测试中:
另一个选项是使用 ApplicationEndpoint 来模拟我想要检索呼叫转移规则的每个用户。但在我看来,这似乎是一个肮脏的解决方案。
一直是唯一可行的解决方案(直接查询数据库之外)。
如果您想在 MSPL 中完成此操作,请查看 QueryCategory。问题是您需要正确的ContainerNumber
和Instance
id。
但是,如果您查找它们(请参阅MSDN for Presence data source and category instance ID),您会发现没有列出用于路由的实例编号。可以在此处找到容器编号信息:Routing category instance value element,其中确实列出了一些实例 ID。
有趣的一点是路由数据被归类为“仅限本地”,见Local-access only category instances:
路由类别实例包含路由规则,用于转发由托管容器的任何成员进行的入站呼叫。它们是私有类别实例,对作为托管容器成员的远程用户不可见。
到目前为止,我还没有找到可以给出任何结果的名称 ('routing'
)、ContainerNumber
和 Instance
id 的组合,所以如果你发现任何东西,请更新。
【讨论】:
是的,您可能在用户端点设置中将AutomaticPresencePublicationEnabled
属性设置为true
。当您连接端点时,这会自动将用户发布为在线。将其设置为 false 并手动订阅在线状态:msdn.microsoft.com/en-us/library/office/… 在连接之前还将端点的状态设置为离线:userEndpointSettings.Presence.UserPresenceState = PresenceState.UserOffline
。
是的,你是对的,AutomaticPresencePublicationEnabled
属性设置为true
。 “手动订阅状态”是什么意思?因为当我订阅myUserEndpoint.LocalOwnerPresence.PresenceNotificationReceived
时,我只得到路由信息,当它们发生变化时我必须立即接收。
把它放在一个新问题而不是 cmets 中可能会更好,但这里有。在建立之前,您需要将事件处理程序添加到存在接收事件。使用AutomaticPresencePublicationEnabled = false
和UserPresenceState = PresenceState.UserOffline
创建端点。处理LocalPresenceNotificationReceived
事件,之后调用Establish
,并在建立调用LocalOwnerPresence.Subscribe
时处理。很快,您的处理程序应该会以所有“当前”设置触发。【参考方案2】:
This question 的三个链接很好地解释了如何使用 UCMA 来实现这一点(特别是 the first one)。
【讨论】:
以上是关于检索 Lync 客户端的呼叫转接(路由)规则的主要内容,如果未能解决你的问题,请参考以下文章