Subject: Matrix client not receiving presence updates from OpenFire
My company has built a system using XMPP for inter-device messaging using OpenFire, Matrix for Android, and Smack (for a straight Java app). The system architecture has a set of "remote" devices (running an app built in Android Studio using the Smack XMPP SDK) all updating their presence periodically in response to environmental changes. Listening for those presence updates are various "monitor" devices build with Xamarin.Android and using the Matrix SDK. In some environments, we're seeing that the monitor devices are not getting the presence updates from the remotes. The OpenFire "sessions" list shows the correct current presence of all of the connected devices, but the devices using the Matrix SDK don't show any presence stanzas coming over the wire when we hook up the OnSendXml and OnReceiveXml events and emit the XML to the android log. In one case, the presence updates of one connected "remote" continued uninterrupted, and the rest were silent. That leads me to point to the XMPP server, but I can't be for sure.
We never get any sort of Matrix connection error when this happens, we just quit getting the XML.
We are trying to isolate which component might be the culprit, but we can only reproduce this behavior in some environments but not all (like our office). We are in the process of attaching other, generic XMPP clients to the system to watch the XML log, but since we cannot reproduce in our office, we have to wait for our client to perform this task and wait for things to hang up.
Is there anything else we should be looking for?
Thanks,
Matthew
We never get any sort of Matrix connection error when this happens, we just quit getting the XML.
We are trying to isolate which component might be the culprit, but we can only reproduce this behavior in some environments but not all (like our office). We are in the process of attaching other, generic XMPP clients to the system to watch the XML log, but since we cannot reproduce in our office, we have to wait for our client to perform this task and wait for things to hang up.
Is there anything else we should be looking for?
Thanks,
Matthew
mrbelk
Show profile
Link to this post