Problems sending messages to one user on multiple devices

Hi, Greetings from Colombia!

I have a server with openfire last version, and users with spark, i have the server with a public ip, and im trying to connect from iphones and android devices, but when I to connect the user on the pc and mobile at the same time the messages that the other users send only arrives to one device, is possible that messages reach all devices at the same time?

I appreciate your help.

EnriqueC.

enrikekrranza@hotmail.com

Hi,

For each connection (one per device) the user has to the server, he has a presence.

Each presence has a priority level.

If you set the property : route.all-resources , to true on your OpenFire server, messages sent to user Toto will arrive to every device with the highest priority Toto is currently logged in.

For example, if you set this property to true.

Then Toto logs in using his phone, home computer and laptop.

If his phone, computer and laptop all have a presence with a priority of , let’s say 1 , and you send him a message he will receive it on all three devices.
Whereas if his computer and laptop use a priority of 2 but his phone uses a priority of 1, if you send him a message he will only receive it on his computer and laptop but not on his phone.

Is it clear ?

In Spark you can specify which priority to use for your presence and status messages in the menu below your username once you’re logged in.

1 Like

Hi Snowrom, I appreciate so much your help, actually Im new using this platform, so I dont know how to set this property, I attach an image, would you say to me if is there where i have to set the property please? Thank you so much!

Yep, it’s right there.

Property Name : route.all-ressources

Property Value : true

This is a complicated issue (combined of two parts). I suggest to read my reply here Multi-endpoint sessions

Hi, where can I set user priority?

Thx

Hi, I set the property and restart the server, but still not work, any suggest?

Thank you

Hi, if I change the resource to the same the server wont take just one session? the others connections falls

Have you read my message at the link i gave? You can’t have what you want (message synchronization between clients).

Route.all-resources only works for the first message. After one of the resources replies, all incoming messages will go to that resource.

You can have outgoing messages synced to all connected resources, but you have to use a client which supports that. Spark** doesn’t** support this.

If you set same priority for two clients, one of them will be kicked based on the policy that you can see/change at Admin Console > Server Settings > Resource Policy. But even on that page you can only set how another session will be kicked. You can’t have two clients with the same username and same resource connected at the same time.

Hi, exist a client that support that? do you know about any? Pidgin supports that? thank you.

I know (and have tested) only one client supporting this. It’s - Yaxim, an Andorid client. It seems that Pidgin doesn’t support it yet https://developer.pidgin.im/ticket/15508

This feature is called XEP-0280: Message Carbons so you can try searching for a client supporting this yourself. This is an experimental feature, so many clients won’t hurry to support this. Btw, this will only sync outgoing messages when both resources are online. If one of them is offline, then it won’t get same messages that were sent from the second resource during that time.

Still, this is only solving one part of a problem. You can’t sync incoming messages, and this is more important. There is even no XEP feature for this. This needs some custom solution both for the server and probably the client.

i believe that “conversations” on android and “gajim” offer what you want. Msges get synced very smooth, BUT remember remember if you use otr / openpgp, you got crypto bla on “other” devices. Pidgin kind of half supports it If answer to a conversation from my mobilephone MY SENT msges don’t get into pidgins conversation.

Gajim is better in this terms, just give it a try!

Do you mean two gajim clients logged in with one username (but different) resources can have exactly the same incoming and outgoing messages? I have tried gajim a few times in the past, but i haven’t noticed such feature. Maybe it still needs a special server support?

basically yes.

I’m logged in (as the same user) on my mobile phone with conversations and on my desktop with gajim. in this constellation i receive all in and outgoing msges on both devices.

( and i did never change the setting “route.all-ressources”, and if I look at my config this key / value is not present here.)

I think this is related to XEP-0280.

Also I haven’t tried two gajim clients… at least I’m not 100% sure i did.

Oh, forgot to mention:

This also works, at least parts of it, with pidgin:

When I’ve got a conversation with somebody, lets say on my desktop, all the in and outgoing msges get synced to my mobile device.

BUT:

When I switch to my mobile device and continue to write from there my sent msges don’t get synced to my desktop. Received msges however are on both devices.

Still, this is only solving one part of a problem. You can’t sync incoming messages, and this is more important. There is even no XEP feature for this. This needs some custom solution both for the server and probably the client.

Actually XEP-0280 takes care of inbound messages, too.

See XEP-0280: Message Carbons and XEP-0280: Message Carbons

Outbound messages are synced with among other resources. Inbound messages are synced with among other resources (if the messages was sent to a full JID). If sent to a bare JID, the server will “fork” the message to each XEP-0280 capable resource.

Csh, i think i remember you once told me this and i keep forgetting this Then Gajim must have XEP-0280 support too. Will test it more later and update the document i have just created on this matter.

So, i have tested Gajim today (two clients with same username, different resources on different machines (virtual machines)). It works. Though, weirdly not all the time. Sometimes one of the clients would stop receiving carbon copies, until you try to send messages from this client and then sync is on again. Yaxim works more reliably. Conversations must have support for this too. Will update https://igniterealtime.jiveon.com/docs/DOC-2956 with this information.