Missing Messages (finding them later on a different computer) when logged in from multiple locations

We have OpenFire 3.7.1 running under windows

I use Spark on 3 Computers and IMO Beta (android) on 2 Devices simultaneously, all as different resources BUT SAME account name: marcs

Problem:

If a friend sends me a message, it MIGHT show up in any of the 5 places.

If I send a message from computer #1, my message (seem to) ALWAYS be sent back to computer #1 from then on.

Google talk seems to handle it better (and the way I want OpenFire/Spark) to work

GT seems to have the first message send to ALL places im logged in.

once I reply to the message GT seems to then have my friends replies come to the computer i replied from …BUT… after a certain (unknown) timeout the next message from my friend (if sent an hour later) comes again to ALL my GT logins (Awesome --cause i dont miss any messages)

Sooooo…

Am I asking too much, or logging to many places, or is this something that is a simple config change on OpenFire (I hope).

TIA

PS I did search for this issue and found a few people asking the same question here on these forums, but couldnt find a solution. Most threads seemed to have stopped years ago.

For the case of a friend sending a message, what you are seeing are both valid examples of how the spec determines that such a scenario can be handled, as defined in Section 8.5.2.1.1 . This shows that the friend is sending to the bare JID instead of one of the 5 full JID’s.

For the case of you sending to your friend. Their client is replying with the full JID, as they recieved in the originating message, so the message will always reach the right client.

I don’t know if there is any option for OpenFire to switch from one method to the other (like Google).

The only thing you can do is to add a system property for Openfire route.all-resources with a value true. Then every message going through this server will be routed to every logged client with the same JID and the same (highest) priority. It means, if you set all of you clients with the same priority, they all will be getting every message, no matter from what client you reply. If you set one of them with a lower priority, it will not receive messages. That’s if your contacts will be sending messages to your bare JID like marc@server and not to a particular resource like marc@server/android. In the latter case only the android resource will be getting these messages, no matter the routing property. Speaking about the xmpp priorities, 2 is higher than 1.

And now I know that there is an option

This should be documented in the properties document, I will add it.