是否可以在不单独订阅所有呈现体的情况下从 Lync 服务器全局捕获所有呈现更改?
我们所追求的似乎与 UCMA SDK 中的 RemotePresenceView 类非常相似,但该类只允许您订阅您所知道的呈现体。我们是否需要加载所有存在物然后订阅它们——即使你可以,这是一个可扩展的解决方案吗?
是否可以在不单独订阅所有呈现体的情况下从 Lync 服务器全局捕获所有呈现更改?
我们所追求的似乎与 UCMA SDK 中的 RemotePresenceView 类非常相似,但该类只允许您订阅您所知道的呈现体。我们是否需要加载所有存在物然后订阅它们——即使你可以,这是一个可扩展的解决方案吗?
请注意您的问题,虽然它已经有点老了,但我想我会回答它以防万一。
我不知道 UCMA 中的任何内容,但也许有一个 SIP 存储库,您可以访问(可能来自 AD?)并像往常一样通过 RemotePresenceView 订阅存在。
我的经验是 RPV 订阅实际上可以很好地扩展,尽管您可能希望以数百个而不是单独的批次调用 RPV.BeginSubscription(sips),否则您不会总是收到 SubscriptionStateChange 事件。
您可能无法在任何单独的呼叫中使用 RPV.BeginSubscription(sips) 超过 1000 次,但我确实编写了最终订阅超过 10,000 次的系统。
如果您希望捕获整个系统的状态更改,另一种建议是使用 Lync Server 2010 SDK(下载| MSDN)。这将允许您创建一个 SIP 过滤器来“嗅探”每个状态变化的发生。当状态发生变化时,客户端实际上“要求”服务器更改状态,然后服务器将状态变化发送给所有相关方:例如您登录的其他设备,以及任何标记您的状态的人。
您可以编写一个 SIP 过滤器来阅读这些在线状态更改说明。SDK 允许您异步处理您想要对它们执行的任何操作,而不会因减慢消息的传递速度而影响 Lync 的性能。
(SDK 还允许您做其他事情,例如阻止或更改交付等,但这不在此范围内)