As can be seen in
Openfire appears to return a Stanza error instead of Stream error when client tries to send stanzas over unauthenticated connections. This leads Smack to believe there was no response from the MUC join presence, because the returned stanza error has no ‘from’ attribute. A stream error would have clearly indicated to the users what he did wrong.
Instead Openfire should return Extensible Messaging and Presence Protocol (XMPP): Core not-authorized,
I’ve created OF-945 for this.