We have a site that relies on jabber for customer alerts to a custom client that is installed on user’s machines. Part of this involves a php call that sends a chat to this user-installed client when an event happens.
We’re currently using jabberd2 for the XMPP server, but have been looking to move to openfire for the clustering support and load support. We’re finding one specific issue that we need to work, however.
In many situations, our clients will run multiple copies of our custom chat client all logged in as the same user, and we need to make sure that every one gets each message sent. The way I understand it, we can send messages to multiple clients, but if one of the clients responds then future messages will only be sent to the single client. Is this correct? If this is not, then the rest of this question might be mute.
The way the code has handled this has been to do a disco query to the node ‘sessions’ in order to obtain the full JID of a logged in user, including the resource name and then send the jabber alert messages to each full JID+/resource individually. We’re finding with openfire that we are not seeing the same nodes available to search.
Is there a way to expose this user info to a disco search?
The query we have been doing in the past looks something like this…