powered by Jive Software

Smack exception NoOmemoSupportException

When reporting issues include

  • The used Smack version, which can be retrieved viaSmackConfiguration.getVersion()
  • The full exception and its stacktrace
  • An XMPP trace of the exchanged stream elements between client and server, which can be obtained by setting SmackConfiguration.DEBUG to true
  • The relevant code parts (please do not post whole source files!)

Please also read "How to report an issue"

I am using smack library for android messenger project.

smackVersion = ‘4.2.4’

For one to one messaging, i have used OMEMO and it works fine. but when I try to use in group chat I find exception.

> "2019-05-21 15:22:30.619 29452-29822/org.yaxim.mist W/System.err: org.jivesoftware.smackx.omemo.exceptions.NoOmemoSupportException
> 2019-05-21 15:22:30.620 29452-29822/org.yaxim.mist W/System.err:     at org.jivesoftware.smackx.omemo.OmemoManager.encrypt(OmemoManager.java:306)
> 2019-05-21 15:22:30.620 29452-29822/org.yaxim.mist W/System.err:     at org.yaxim.mist.service.SmackableImp.handleInput(SmackableImp.java:632)"

here is my code

MultiUserChatManager manager = MultiUserChatManager.getInstanceFor(mXMPPConnection);
MultiUserChat multiUserChat = manager.getMultiUserChat((EntityBareJid) recipientJid);
boolean bSupports = omemoManager.multiUserChatSupportsOmemo(multiUserChat);
encrypted = omemoManager.encrypt(multiUserChat, message.toString());

Please help me in this regard.

Thanks in advance,
Mazhar

A look at the documentation reveals under what circumstances this exception is thrown:

https://download.igniterealtime.org/smack/docs/latest/javadoc/

The longer answer is, that a MUC must be non-public (invite-only) and non-anonymous for OMEMO to work.