Openfire does not send user presence information to all resources of the user
Description
Environment
is duplicated by
is related to
Activity

Tim Durden January 7, 2016 at 7:59 PM
Testing presence info scenarios in Openfire 4.0.0 (5th Jan nightly), and appears to be working as expected. Not sure if I've hit all scenarios as outlined, wondering if this ticket should be split out to cater for individual scenarios?

Daryl Herzmann November 2, 2015 at 5:11 PM
Anybody watching this issue able to comment on its relevance for 3.10.2 openfire release?

csh March 9, 2015 at 7:53 PM
I am reopening this issue, because it's not fixed as pointed out in https://community.igniterealtime.org/thread/54598 and as Florian's comment suggests. My testing also shows, that it's not fixed.
The changes which were introduced with http://fisheye.igniterealtime.org/changelog/openfire?cs=13745 now make Openfire broadcast presence twice as far as I can tell from debugging.
Will look into it.

Alex Mateescu September 24, 2013 at 8:46 AM
Added back the change that allows sending presence back to the originating resource.
Tested with a custom client, presence packages are received. However, Pidgin, Spark and Apple's Messages ignore them - presence is not updated when changed from another client connected using the same account. This is obviously no longer an Openfire issue, but something to keep in mind nonetheless.

Alex Mateescu September 20, 2013 at 4:25 PM
The issue I saw was that when I have two clients connected and one of them changes presence, the other won't see it.
The missing lines just propagate the presence back to the originating client, it just looked like extra traffic. But if it's required by the RFC, I can add it back, no problem.
Any way, Openfire (3.7.0) doesn't return presence information to the resource which generated it, and according to RFC 6121 #4.4.2, it MUST do it:
The user's server MUST also send the presence stanza to all of the
user's available resources (including the resource that generated the
presence notification in the first place).
I tested it with the xml console of gajim:
<!-- Out -->
<presence xmlns="jabber:client" id="171">
<priority>50</priority>
<x xmlns="vcard-temp:x:update">
<photo />
</x>
<c xmlns="http://jabber.org/protocol/caps" node="http://gajim.org" ver="I8g2pphLu5w2XvNV8HDES9gqRaw=" hash="sha-1" />
<status>test presence</status>
</presence>
<!-- In -->
<iq type="result" id="172" to="goffi@tazar.int/Gajim"/>
(And now openfire should broadcast the presence to everybody including me, but it doesn't)