powered by Jive Software

Messages that are sent to specific resource should only be received by that resource


we want to ensure that a message is sent to one specific resource only. If this resource is not available, it also should NOT be treated as if it were sent to user@domain.

From the XMPP specification:

Else if the JID is of the form <user@domain/resource> and no available resource matches the full JID, the recipient’s server […]SHOULD treat the stanza as if it were addressed to user@domain if it is a message stanza.

And Openfire does exactly this, so that the messages are routed to user@domain.

My question is, would it be possible to write an Openfire plugin, that prevents this behavior and instead stores the messages (which are addressed to an unavailable resource) in the OfflineMessageStore (or elsewhere)?

And the next time that specific resource logs in deliver these messages?

We really want messages to only be received by the resource, they were addressed to.

Thanks for help!