powered by Jive Software

Receiving PEP notifications

I’m currently integrating PEP (xep-0163) into my client and I’m stuck with not receiving pubsub events when the PEP node is updated.

I have the following setup:

  • Openfire 4.6.2
  • roster for each user is created via group contact list sharing
  • each user in the group is subscribed to the presence of each other member

When my client publish the node items, all is working as expected. A node with the items is created and the owner gets a pubsub event about the change. But no other user in the group gets informed about it.

In the Openfire admin panel I can see the node in the users personal events. What seems odd to me is that there are no subscribers for this node. But as far as I understood, each user should auto-subscribe to PEP nodes via presence subscription. My client sends in its discinfo ‘mynodename’ and ‘mynodename+notify’ to enable auto subscribe to PEP events of ‘mynodename’.

Any suggestions? What am I missing?

Ok, found the reason:

The publish tag didn’t contain the publishers jid:

<iq id="id17" from="user1@openfire/MyGroup" type="set"> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <publish jid="user1@openfire/MyGroup" node="urn:mypepnode"> <item id="current"> <data xmlns="urn:mypepnode"> ... </data> </item> </publish> </pubsub> </iq>

According to XMPP documentation the jid attribute in the publish tag is not necessary for PEP:

Adding the publishers jid to the publish-tag sadly didn’t solve the problem for all users. One user still gets no PEP updates despite that he’s subscribed to the presence of each user in its roster. And the other user get no updates from this user.

Any idea how to get PEP working correctly with Openfire for all user?

Which is not sufficient. Quoting PEP: “…and advertises an interest in the payload type (see Notification Filtering).”

Yes, which is done by the client, as I described in my first posting. And it is working with other users (all using my client). That’s why I’m so confused. I don’t see a difference in the setup of the users.