Projects tigase _server server-core Issues #873
Cannot re-join MUC room after network reconnect (#873)
Petro Zdeb opened 7 years ago

Hello Tigase team,

We're writing from Clickatell regarding of mobile client.

We have Android and iOS application with common problem - when user disables WiFI connection and switch to 3G (another IP address on new connection), Tigase won't allow to connect to the same MUC room for at least next 10 mins.

For example on Android we recently migrated to Smack 4.2.0 and still use this client - same problem here.

On client side we see timeout in 5 second and error - no response from server

On server side there we receive feature-not-implemented with such log:

2017-08-10 12:03:37.021 [in_2-usermanager] DefaultUserManagerController$2.onFinish() FINE: Created room xs503fv0chavfvljpu8mcd9708de1l7v@muc.xxxx.com for user 2b2d9d42-a3a4-4250-9955-3a36ed36e7ea@xxxx.com

2017-08-10 12:03:37.991 [in_2-usermanager] AbstractComponent.processPacket() FINER: Received:

2017-08-10 12:03:37.991 [in_2-usermanager] AbstractComponent.processPacket() FINEST: XMPP error condition: feature-not-implemented generated by tigase.component.AbstractComponent.processPacket(AbstractComponent.java:366) when processing from=xs503fv0chavfvljpu8mcd9708de1l7v@muc.xxxx.com, to=usermanager.xxxx.com, DATA=, SIZE=183, XMLNS=tigase:cluster, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=result

2017-08-10 12:03:37.991 [in_2-usermanager] AbstractComponent.sendException() FINEST: Sending back: from=usermanager.xxxx.com, to=xs503fv0chavfvljpu8mcd9708de1l7v@muc.xxxx.com, DATA=, SIZE=296, XMLNS=tigase:cluster, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=error

2017-08-10 12:03:37.992 [in_2-usermanager] AbstractComponent$3.write() FINER: Sent:

Could you advice any solution how to configure server to eliminate this problem. Any configuration changes on client side?

On Tigase we use cluster mode with ACS and three nodes.

Petro Zdeb commented 7 years ago

Petro Zdeb wrote:

We're looking for the MUC room JID is xs503fv0chavfvljpu8mcd9708de1l7v@muc.xxxx.com. It was the same in previous (WiFI) connection and now we try to reconnect with 3g to the same room.

Prior to this error and result stanzas we had such logs:

2017-08-10 11:58:16.539 [in_2-usermanager]  DefaultUserManagerController$3.onSuccess()  INFO: Successfully created MUC room xs503fv0chavfvljpu8mcd9708de1l7v@muc.xxxx.com for user dbb8dac5-fbc0-4177-bcf4-60a1b636f015@xxxx.com
2017-08-10 11:58:16.539 [in_2-usermanager]  DefaultUserManagerController$4.proxy()  INFO: Sending stanza to set affiliation for user dbb8dac5-fbc0-4177-bcf4-60a1b636f015@xxxx.com and room xs503fv0chavfvljpu8mcd9708de1l7v@muc.xxxx.com
2017-08-10 11:58:16.539 [in_2-usermanager]  AbstractComponent$3.write()       FINER:    Sent: <iq type="set" to="xs503fv0chavfvljpu8mcd9708de1l7v@muc.xxxx.com" id="b541bce0-fb39-45af-ab22-3ff95b356da7" from="usermanager.xxxx.com"><query xmlns="http://jabber.org/protocol/muc#admin"><item jid="dbb8dac5-fbc0-4177-bcf4-60a1b636f015@xxxx.com" affiliation="member"/></query></iq>
2017-08-10 11:58:16.539 [in_2-usermanager]  DefaultUserManagerController$4.proxy()  INFO: Stanza to set affiliation for user dbb8dac5-fbc0-4177-bcf4-60a1b636f015@xxxx.com and room xs503fv0chavfvljpu8mcd9708de1l7v@muc.xxxx.com sent successfully
2017-08-10 11:58:16.540 [in_2-usermanager]  AbstractComponent.processPacket()  FINER:   Received: <iq type="result" id="b541bce0-fb39-45af-ab22-3ff95b356da7" to="usermanager.xxxx.com" from="xs503fv0chavfvljpu8mcd9708de1l7v@muc.xxxx.com"/>
2017-08-10 11:58:16.540 [in_2-usermanager]  DefaultUserManagerController$5.proxy()  INFO: Sending stanza to set affiliation for user bot3_dev@xxxx.com and room xs503fv0chavfvljpu8mcd9708de1l7v@muc.xxxx.com
2017-08-10 11:58:16.540 [in_2-usermanager]  AbstractComponent$3.write()       FINER:    Sent: <iq type="set" to="xs503fv0chavfvljpu8mcd9708de1l7v@muc.xxxx.com" id="2959a115-00f6-443a-88f1-11e13a7891e3" from="usermanager.xxxx.com"><query xmlns="http://jabber.org/protocol/muc#admin"><item jid="bot3_dev@xxxx.com" affiliation="owner"/></query></iq>
2017-08-10 11:58:16.540 [in_2-usermanager]  DefaultUserManagerController$5.proxy()  INFO: Stanza to set affiliation for user bot3_dev@xxxx.com and room xs503fv0chavfvljpu8mcd9708de1l7v@muc.xxxx.com sent successfully
2017-08-10 11:58:16.540 [in_2-usermanager]  AbstractComponent.processPacket()  FINER:   Received: <iq type="result" id="2959a115-00f6-443a-88f1-11e13a7891e3" to="usermanager.xxxx.com" from="xs503fv0chavfvljpu8mcd9708de1l7v@muc.xxxx.com"/>
2017-08-10 11:58:16.540 [in_2-usermanager]  DefaultUserManagerController$5.onSuccess()  INFO: Successfully created set user affiliation for user bot3_dev@xxxx.com
2017-08-10 11:58:16.540 [in_2-usermanager]  DefaultUserManagerController$2.onFinish()  FINE: Created room xs503fv0chavfvljpu8mcd9708de1l7v@muc.xxxx.com for user dbb8dac5-fbc0-4177-bcf4-60a1b636f015@xxxx.com
Artur Hefczyc commented 7 years ago

I have just tested this on both of our mobile clients, iOS and Android. Connected to MUC room over wifi, then turned wifi off and reconnected to the same MUC room without a problem. It does not look like a problem within the Tigase XMPP Server, it can be either configuration on your server installation or a problem in the client logic.

Petro Zdeb commented 7 years ago

Artur Hefczyc wrote:

I have just tested this on both of our mobile clients, iOS and Android. Connected to MUC room over wifi, then turned wifi off and reconnected to the same MUC room without a problem. It does not look like a problem within the Tigase XMPP Server, it can be either configuration on your server installation or a problem in the client logic.

Hi Artur, we have slightly different test. Works also fine if we reconnect Wifi. But, when we disconnect wifi and reconnect from 3g or any other network we can't connect and experience such problem

Petro Zdeb commented 7 years ago

Petro Zdeb wrote:

Artur Hefczyc wrote:

I have just tested this on both of our mobile clients, iOS and Android. Connected to MUC room over wifi, then turned wifi off and reconnected to the same MUC room without a problem. It does not look like a problem within the Tigase XMPP Server, it can be either configuration on your server installation or a problem in the client logic.

Hi Artur, we have slightly different test. Works also fine if we reconnect Wifi. But, when we disconnect wifi and reconnect from 3g or any other network we can't connect and experience such problem

If you did the same step and after wifi was off your mobile switched to 3g, then yes, you don't have such problem.

So what could be the case? Do you use the same version of Tigase Server - 7.1.0?

Should we consider upgrade? We actually tried upgrade but could find working stable version with ACS. Though we use this snapshot: tigase-issue #7.1.0-SNAPSHOT-b4291

Petro Zdeb commented 7 years ago

Tried to join the room from another account and see that the room is active all the time. When I disable wifi, the mobile user is still online and sits in the room - during the same time the mobile client can't connect to the room from 3g.

Artur Hefczyc commented 7 years ago

Yes, this is exactly how I tested it, the way you described and have not had any problems.

It is impossible to tell why you have such problems without looking into this, without investigation. Therefore, I cannot tell if upgrading would solve the problem.

To be honest, I do not think this is a problem with the server. We have been using MUC on Tigase for ages, on our mobile devices and have not noticed problems like this before.

We can help you investigate the issue if you like, or you can try our mobile client to see if this happens on our client and your installation too. We have a mobile client available for iOS and Android, both can be found in the platform app store.

issue 1 of 1
Type
Bug
Priority
Blocker
Assignee
RedmineID
5979
Version
tigase-server-7.1.1
Issue Votes (0)
Watchers (0)
Reference
tigase/_server/server-core#873
Please wait...
Page is in error, reload to recover