Lync UCMA SDK服务器 - 全球订阅所有在线状态的状态更新

时间:2013-03-08 04:35:56

标签: c# ucma lync-server-2010

是否可以从Lync服务器全局捕获所有状态更改而无需单独订阅所有存在?

我们所追求的似乎与UCMA SDK中的RemotePresenceView类非常相似,但该类只允许您订阅您知道的在线实体。我们是否需要加载所有在线实体,然后订阅它们 - 即使您可以这是一个可扩展的解决方案?

2 个答案:

答案 0 :(得分:1)

请注意你的问题,尽管它有点老了,我想我会回答它以防万一。

我所知道的UCMA中没有任何内容,但是也许你可以获得一个SIP存储库(从AD开始?)并通过RemotePresenceView正常订阅存在。

我的经验是RPV订阅实际上可以很好地扩展,尽管您可能想要使用几百次的啜饮而不是单独调用RPV.BeginSubscription(sips),否则您将不会总是获得SubscriptionStateChange事件。 / p>

您可能无法在任何个人通话中使用RPV.BeginSubscription(sips)超过1000次啜饮,但我确实已经编写了系统,随着时间的推移最终订阅了10,000多个啜饮。

答案 1 :(得分:0)

如果您希望捕获整个系统中的状态更改,则另一种建议是使用Lync Server 2010 SDK(download | MSDN)。这将允许您创建一个SIP过滤器,以“嗅探”每个存在更改。当发生状态变化时,客户端实际上“请求”服务器更改状态,然后服务器将状态更改发送给所有感兴趣的各方:例如您登录的其他设备以及任何标记您状态的设备。

您可以编写SIP过滤器来阅读这些状态更改说明。 SDK允许您在不影响Lync性能的情况下异步关闭它们,而不会影响Lync的性能。

(SDK还允许您执行其他操作,例如阻止或更改交付等,但这超出了此范围)