简体   繁体   English

Lync UCMA SDK服务器-全局订阅所有Presentation的状态更新

[英]Lync UCMA SDK Server - Globally subscribe to presence updates for all Presentities

Is it possible to globally catch ALL presence changes from Lync server without subscribing to all presentities individually? 是否可以从Lync服务器全局捕获所有状态更改,而无需单独订阅所有状态?

What we're after seems to be very similar to the RemotePresenceView class in the UCMA SDK but that class only allows you to subscribe to presentities that you know about. 我们所追求的似乎与UCMA SDK中的RemotePresenceView类非常相似,但是该类仅允许您订阅您知道的实体。 Would we need to load all presentities and then subscribe to them - and even if you could is this a scalable solution? 我们是否需要加载所有实体然后订阅它们-即使您可以采用可扩展的解决方案?

Just notice your question and although it's getting a little old, thought I'd answer it just in case. 只是注意到您的问题,尽管它有点老了,以为我会回答以防万一。

There's nothing in UCMA that I know of but perhaps there is a repository of SIPs you can get to (from AD perhaps?) and subscribe to presence via RemotePresenceView as normal. UCMA没有什么我知道的,但是也许有一个SIP的存储库,您可以从中访问(也许从AD?)并像往常一样通过RemotePresenceView订阅状态。

My experience is that RPV subscriptions actually scale fairly well, although you may want to call RPV.BeginSubscription(sips) with batches of sips of a few hundred rather than individually as you won't always get a SubscriptionStateChange event otherwise. 我的经验是RPV订阅实际上可以很好地扩展,尽管您可能想用几百个而不是单个的Sip来调用RPV.BeginSubscription(sips),否则您将不会总是收到SubscriptionStateChange事件。

You may have trouble using RPV.BeginSubscription(sips) for more than 1000 sips in any individual call but I've certainly written systems that eventually subscribe to 10,000+ sips over time. 您可能在任何单个呼叫中都使用RPV.BeginSubscription(sips)超过1000个sip,但是我肯定编写了一些系统,这些系统最终会随着时间的流逝而订阅10,000 + sip。

An alternative suggestion, if you're looking to capture presence changes across an entire system, is to use the Lync Server 2010 SDK ( download | MSDN ). 如果要捕获整个系统的状态变化,另一种建议是使用Lync Server 2010 SDK( 下载 | MSDN )。 This will allow you to create a SIP filter to "sniff" each presence change as it happens. 这将允许您创建一个SIP筛选器,以“嗅探”每次状态更改。 When a presence change occurs, the client actually "asks" the server to change the presence, and the server then sends out the presence change to all interested parties: such as other devices you're signed in on, and anyone tagging your status. 发生状态更改时,客户端实际上会“询问”服务器以更改状态,然后服务器将状态更改发送给所有相关方:例如您登录的其他设备以及标记您状态的任何人。

You can write a SIP filter to just read these presence change instructions. 您可以编写SIP筛选器以仅阅读这些状态更改指示。 The SDK allows you to async off whatever you want to do with them, without impacting performance of Lync by slowing down the delivery of the messages. 通过SDK,您可以异步执行任何操作,而不会通过减慢消息传递的速度来影响Lync的性能。

(the SDK also lets you do other stuff, such as prevent or change delivery etc. but that's outside scope of this) (SDK还允许您执行其他操作,例如阻止或更改交付等,但这不在此范围内)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM