You don't need an account on server X to get presence status for accounts on server X. All you need to do is log into some other Jabber server (server Y) and add contacts from server X. If server X has federation enabled and is configured to approve contact requests automatically, then the users on server X don't even have to approve the request to add them as contacts.
For server-to-server type applications, where the application wants to monitor presence status for multiple users, see the 'Presence Web Service' APIs (REST and SOAP), covered in the Developer Guide you can view/download from here:
If you want to use SOAP presence web services, this is how you'd normally do it: Create an Application User on the main Cisco Jabber server. Then when you use PWS (presence web services, soap or rest), you follow this logic in your code:
1. Log in as the app user, get the session key.
2. Use that session key to register an endpoint. The endpoint is a URL to a web service (you need to write that separately) that handles the presence notifications. You will get an endpoint ID.
3. Use that endpoint ID to subscribe to the presence of end user contacts to get notifications.
4. Repeat as needed until you have subscribed to the presence of all the contacts.
When a presence changes for one of the end users you subscribed, it should trigger a call to endpoint web service.
Again, here's where you can view/download the documentation for EPASSoap and PWS:
If you can't create and use an Application User on the main Cisco Jabber server, then I think you'd need to take another approach, like Jabber SDK, or any of a dozen other Jabber APIs in various languages that can log in as Yun and process presence notifications. David Staudt can correct me if I'm wrong on this, but that's how I understand it.
Here's what I was referring to re: XMPP federation. It looks like if you define the main server as a federated domain, your separate Cisco Jabber server can get presence updates from the main server.
Please sign in to leave a comment.