Followings describe the whole observation while joining a chat room previously created on server by admin. Please refer to the log and the Threads captured for details:
- Two accounts: babai@example.ru as user and admin@example.ru as contact
- Chat room on server is puhlya@conference.example.ru
- User babai initialize the joining of a server chatroom to puhlya@conference.example.ru
- Server detected the user join chatroom request i.e.<presence> and response correctly; see id=‘gGiY9-106’
- Server sends occupant update for admin
- aTalk receives admin <presence> and display “admin: has joined puhlya@conference.example.ru” in chat window.
- The process seems OK till this far.
- However 15-Second later, smack throws NoResponseException for id=‘gGiY9-106’
Other info:
a. Occupant.getJid() returns null
b. RoomInfo.getContactJids() throws NPE
Previously aTalk also experienced similar NoResponseException due to incorrectly handling of “vcard-temp:x:update” extension element. This problem has since been corrected. I have even disable the “vcard-temp:x:update” option during this test, but the NoResponseException remains unchanged.
I also setup the same test on jitsi, there is no problem with babai joining the chatroom and muc setup is OK.
I preformed a similar test on my home server for atalk.org service. The NoResponseException does not occur. The problem seems to be server or chatroom on server related. However I am unable to find the cause; any advice on what can be the possible cause or way to find the cause.
============== aTalk log on joining chat room on server ==============
08-30 11:46:33.632 9451-10343/org.atalk.android D/SMACK: SENT (0): <iq to='conference.example.ru' id='gGiY9-107' type='get'><query xmlns='http://jabber.org/protocol/disco#info'></query></iq>
08-30 11:46:33.985 9451-10343/org.atalk.android D/SMACK: SENT (0): <iq to='example.ru' id='gGiY9-108' type='get'><query xmlns='http://jabber.org/protocol/disco#info'></query></iq>
08-30 11:46:34.161 9451-10344/org.atalk.android D/SMACK: RECV (0): <iq type="result" id="gGiY9-107" from="conference.example.ru" to="babai@example.ru/atalk"><query xmlns="http://jabber.org/protocol/disco#info"><identity category="conference" name="Публичные чат комнаты" type="text"/><identity category="directory" name="Public Chatroom Search" type="chatroom"/><feature var="http://jabber.org/protocol/muc"/><feature var="http://jabber.org/protocol/disco#info"/><feature var="http://jabber.org/protocol/disco#items"/><feature var="jabber:iq:search"/><feature var="http://jabber.org/protocol/rsm"/></query></iq>
08-30 11:46:34.165 9451-10343/org.atalk.android D/SMACK: SENT (0): <presence to='puhlya@conference.example.ru/babai' id='gGiY9-106'><x xmlns='http://jabber.org/protocol/muc'></x><c xmlns='http://jabber.org/protocol/caps' hash='sha-1' node='http://android.atalk.org' ver='SPANeHrMhKxipyDRRXFZu1T21So='/></presence>
<r xmlns='urn:xmpp:sm:3'/>
08-30 11:46:34.669 9451-10344/org.atalk.android D/SMACK: RECV (0): <r xmlns='urn:xmpp:sm:3' />
08-30 11:46:34.670 9451-10343/org.atalk.android D/SMACK: SENT (0): <a xmlns='urn:xmpp:sm:3' h='33'/>
08-30 11:46:35.084 9451-10344/org.atalk.android D/SMACK: RECV (0): <iq type="result" id="gGiY9-108" from="example.ru" to="babai@example.ru/atalk"><query xmlns="http://jabber.org/protocol/disco#info"><identity category="account" type="registered"/><identity category="pubsub" type="pep"/><feature var="http://jabber.org/protocol/pubsub#retrieve-default"/><feature var="http://jabber.org/protocol/pubsub#purge-nodes"/><feature var="vcard-temp"/><feature var="http://jabber.org/protocol/pubsub#subscribe"/><feature var="http://jabber.org/protocol/pubsub#subscription-options"/><feature var="http://jabber.org/protocol/pubsub#create-nodes"/><feature var="http://jabber.org/protocol/pubsub#outcast-affiliation"/><feature var="msgoffline"/><feature var="http://jabber.org/protocol/pubsub#get-pending"/><feature var="http://jabber.org/protocol/pubsub#multi-subscribe"/><feature var="http://jabber.org/protocol/pubsub#presence-notifications"/><feature var="urn:xmpp:ping"/><feature var="jabber:iq:register"/><feature var="http://jabber.org/protocol/pubsub#delete-nodes"/><feature var="http://jabber.org/protocol/pubsub#config-node"/><feature var="http://jabber.org/protocol/pubsub#retrieve-items"/><feature var="http://jabber.org/protocol/pubsub#auto-create"/><feature var="http://jabber.org/protocol/disco#items"/><feature var="http://jabber.org/protocol/pubsub#item-ids"/><feature var="http://jabber.org/protocol/pubsub#meta-data"/><feature var="jabber:iq:roster"/><feature var="http://jabber.org/protocol/pubsub#instant-nodes"/><feature var="http://jabber.org/protocol/pubsub#modify-affiliations"/><feature var="http://jabber.org/protocol/pubsub#persistent-items"/><feature var="http://jabber.org/protocol/pubsub#create-and-configure"/><feature var="http://jabber.org/protocol/pubsub"/><feature var="http://jabber.org/protocol/pubsub#publisher-affiliation"/><feature var="http://jabber.org/protocol/pubsub#access-open"/><feature var="http://jabber.org/protocol/pubsub#retrieve-affiliations"/><feature var="jabber:iq:version"/><feature var="http://jabber.org/protocol/pubsub#retract-items"/><feature var="urn:xmpp:time"/><feature var="http://jabber.org/protocol/pubsub#manage-subscriptions"/><feature var="jabber:iq:privacy"/><feature var="jabber:iq:last"/><feature var="http://jabber.org/protocol/commands"/><feature var="http://jabber.org/protocol/offline"/><feature var="urn:xmpp:carbons:2"/><feature var="http://jabber.org/protocol/address"/><feature var="http://jabber.org/protocol/pubsub#publish"/><feature var="http://jabber.org/protocol/pubsub#collections"/><feature var="http://jabber.org/protocol/pubsub#retrieve-subscriptions"/><feature var="http://jabber.org/protocol/disco#info"/><feature var="jabber:iq:private"/><feature var="http://jabber.org/protocol/rsm"/></query></iq>
08-30 11:46:35.109 9451-10343/org.atalk.android D/SMACK: SENT (0): <iq to='puhlya@conference.example.ru' id='gGiY9-111' type='get'><query xmlns='http://jabber.org/protocol/disco#info'></query></iq>
08-30 11:46:35.493 9451-10344/org.atalk.android D/SMACK: RECV (0): <presence to="babai@example.ru/atalk" from="puhlya@conference.example.ru/admin"><c xmlns="http://jabber.org/protocol/caps" ver="xOD7qc/AVy8G6jenMz3NmW5+rWI=" node="http://conversations.im" hash="sha-1"/><x xmlns="http://jabber.org/protocol/muc#user"><item affiliation="owner" role="moderator"/></x></presence>
08-30 11:46:35.507 9451-10344/org.atalk.android D/SMACK: RECV (0): <presence to="babai@example.ru/atalk" id="gGiY9-106" from="puhlya@conference.example.ru/babai"><c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://android.atalk.org" ver="SPANeHrMhKxipyDRRXFZu1T21So="/><x xmlns="http://jabber.org/protocol/muc#user"><item jid="babai@example.ru/atalk" affiliation="none" role="participant"/></x></presence>
08-30 11:46:35.521 9451-10344/org.atalk.android D/SMACK: RECV (0): <a xmlns='urn:xmpp:sm:3' h='35' />
08-30 11:46:36.006 9451-10344/org.atalk.android D/SMACK: RECV (0): <iq type="result" id="gGiY9-111" from="puhlya@conference.example.ru" to="babai@example.ru/atalk"><query xmlns="http://jabber.org/protocol/disco#info"><identity category="conference" name="puhlya" type="text"/><feature var="http://jabber.org/protocol/muc"/><feature var="muc_public"/><feature var="muc_open"/><feature var="muc_unmoderated"/><feature var="muc_semianonymous"/><feature var="muc_unsecured"/><feature var="muc_persistent"/><feature var="http://jabber.org/protocol/disco#info"/><x xmlns="jabber:x:data" type="result"><field var="FORM_TYPE" type="hidden"><value>http://jabber.org/protocol/muc#roominfo</value></field><field var="muc#roominfo_description" label="Описание"><value>example.ru</value></field><field var="muc#roominfo_subject" label="Тема"><value></value></field><field var="muc#roominfo_occupants" label="Количество участников"><value>3</value></field><field var="x-muc#roominfo_creationdate" label="Дата Создания"><value>2017-11-29T19:08:09.419Z</value></field></x></query></iq>
08-30 11:46:49.200 9451-11658/org.atalk.android E/aTalk: [516] impl.protocol.jabber.ChatRoomJabberImpl.joinAs().669 Failed to join room puhlya@conference.example.ru with nickname: babai.
org.jivesoftware.smack.SmackException$NoResponseException: No response received within reply timeout. Timeout was 15000ms (~15s). Waited for response using: AndFilter: (StanzaTypeFilter: Presence, OrFilter: (AndFilter: (FromMatchesFilter (ignoreResourcepart): puhlya@conference.example.ru, MUCUserStatusCodeFilter: status=110), AndFilter: (FromMatchesFilter (full): puhlya@conference.example.ru/babai, StanzaIdFilter: id=gGiY9-106, PresenceTypeFilter: type=error))).
at org.jivesoftware.smack.StanzaCollector.nextResultOrThrow(StanzaCollector.java:265)
at org.jivesoftware.smackx.muc.MultiUserChat.enter(MultiUserChat.java:376)
at org.jivesoftware.smackx.muc.MultiUserChat.join(MultiUserChat.java:740)
at org.jivesoftware.smackx.muc.MultiUserChat.join(MultiUserChat.java:631)
at net.java.sip.communicator.impl.protocol.jabber.ChatRoomJabberImpl.joinAs(ChatRoomJabberImpl.java:624)
at net.java.sip.communicator.impl.protocol.jabber.ChatRoomJabberImpl.joinAs(ChatRoomJabberImpl.java:595)
at net.java.sip.communicator.impl.muc.MUCServiceImpl$JoinChatRoomTask.run(MUCServiceImpl.java:517)