Incorrect Presence Status

Hi,

I am connecting to Ejabber 16.06 version through websocket.

Ejabber Admin shows the User A is online but when other user (User B - for whom User A is a contact) logs in, it shows User A as offline. Refer attached screenshot

(https://drive.google.com/open?id=0B1ViMAzHLDdqa3MyQWYyRVFZbWM).

On checking the logs, I found that User A has opened a session and has not closed it. User A has actually closed the browser. But for some reasons ejabberd didn't detect the close and still shows the user as online in Ejabberd Admin.

Even after 8 hours, it still shows the user's presence status as online in ejabberd admin but for any subscriber (User B) it shows User A as offline correctly. Even if User A signs in and signs out with a different resource ID, it still shows User A as Online in ejabberd Admin ( may be due the old dead connection).

Why is there an inconsistency? Cant the server detect the dead connection and close the session?

How to solve this issue?

Regards,
Raja

> Cant the server detect the

> Cant the server detect the dead connection and close the session?

There are options like websocket_ping_interval and websocket_timeout, that should work as the default values enable it. There's also mod_ping.

Thank you. Not sure how to

Thank you.

Not sure how to reproduce this issue. Will monitor for few days by enabling mod ping and getback.

I see that there is a default websocket ping-pong happening every minute. Do we really need xmpp (mod) ping in addition to this?

Regards,
Raja

Syndicate content