When a private message that's exchanged in a MUC room is processed, it receives a stable and unique stanza ID. As per specification, Openfire adds a 'by' attribute. However, for private messages, this value is a full JID (representing the nickname of the user that sent the message), instead of a bare JID (representing the room in which the message was exchanged).