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

不问归期 提交于 2019-12-04 18:12:10

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.

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.

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.

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). This will allow you to create a SIP filter to "sniff" each presence change as it happens. 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. 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.

(the SDK also lets you do other stuff, such as prevent or change delivery etc. but that's outside scope of this)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!