powered by Jive Software

MultiUserChat.join() always No response received within reply timeout


#1

I tried to join MUC room using the below code.
MucEnterConfiguration.Builder mucEnterConfigurationBuilder = muc.getEnterConfigurationBuilder(Resourcepart.from(nickName)); muc.join(mucEnterConfigurationBuilder.build());

But it always throwing the exception "org.jivesoftware.smack.SmackException$NoResponseException: No response received within reply timeout.
Timeout was 5000ms (~5s).

I searched a lot related this issue on google but no luck…
I’m using smack 4.3.0 version in my android app. Could you please help me to overcome this issue.


#2

Does joining without the MucEnterConfiguration work? What server are you using? Did you check the stanza trace, to verify that no response was given by the server? What do the server logs say?


#3

Yes I tried joining without MucEnterConfiguration but doesn’t work. We are using openfire server and my stanza trace are here.

JoinPresence -> Presence Stanza [to=myroom@conference.xmpp-server.c.MYDOMAIN-prod.internal/USERNAME,id=qKcXC-11,type=available,]

Responsepresence -> AndFilter: (StanzaTypeFilter: Presence, OrFilter: (AndFilter: (FromMatchesFilter (ignoreResourcepart): myroom@conference.xmpp-server.c.MYDOMAIN-prod.internal, MUCUserStatusCodeFilter: status=110), AndFilter: (FromMatchesFilter (full): myroom@conference.xmpp-server.c.MYDOMAIN-prod.internal/USERNAME, StanzaIdFilter: id=qKcXC-11, PresenceTypeFilter: type=error)))


#4

You did not really post a stanza trace, so I can only guess.

Did you receive a reply stanza or not?
Which version of Openfire are you using?

That definitely sounds like a bug then, as this kind of stuff normally works.
The timeout is often caused by blocking operations being run in a synchronized event listener, so please check, that this is not the case here. @Flow can better explain that kind of bug though.


#5

We are using Openfire 4.2.3 and smack 4.3.1 versions. Got the below trace from “addAsyncStanzaListener” event.

Presence Stanza [to=abdul@xmpp-server.c.aximsoft-prod.internal/Resource,from=farm@conference.xmpp-server.c.aximsoft-prod.internal/abdul,id=ZAxoW-22,type=available,]

We have the below code to join the room
EntityBareJid mucJid = JidCreate.entityBareFrom(chatRoom);
MultiUserChat muc = MultiUserChatManager.getInstanceFor(xmppConnection).getMultiUserChat(mucJid);
Presence presence = new Presence(Presence.Type.available);
xmppConnection.sendStanza(presence);
if (!muc.isJoined())muc.join(Resourcepart.from(userName));

The following exception throws when we trying to join the chat room
org.jivesoftware.smack.SmackException$NoResponseException: No response received within reply timeout. Timeout was 5000ms (~5s). Waited for response using: AndFilter: (StanzaTypeFilter: Presence, OrFilter: (AndFilter: (FromMatchesFilter (ignoreResourcepart): farm@conference.xmpp-server.c.aximsoft-prod.internal, MUCUserStatusCodeFilter: status=110), AndFilter: (FromMatchesFilter (full): farm@conference.xmpp-server.c.aximsoft-prod.internal/abdul, StanzaIdFilter: id=byRFt-21, PresenceTypeFilter: type=error))).


#6

Please read and follow https://github.com/igniterealtime/Smack/wiki/How-to-ask-for-help,-report-an-issue-and-possible-solve-the-problem-yourself

In particular, we need to determine if there is a) really no response from the server or b) a response which is not matched by the related stanza filter. For that we need the XMPP stanza trace (as Paul already requested).


#7

I think the issue in the server side response is not matched.


#8

Great, but without more contextual information, especially the concrete response stanza that is not matched, we can not fix the alleged bug in Smack.