I have some users which have a stuck session in Ejabberd. When requesting their last activity, the current time is returned along with an Online status. However when requesting their session status I can see there is only 1 session active with an offline status. We presume this is due to a session being closed abruptly, and Ejabberd waiting for the user to reconnect. (Session not closed peacfully and remains open on servers end, but unavailable/closed on users end). But those session will ofcourse never reconnect, only new sessions will be opened.
We have a mod_ping configured, but this doesn't seem to work.
mod_ping:
send_pings: true
ping_interval: 300
ping_ack_timeout: 60
timeout_action: kill
This generates a problem for offline messaging. The user is incorrectly marked as online, and therefor messages are not saved in the pool table when the user is not available, and so the users doesn't receive any messages while being offline.
I tried to kick the user or killing the session via ejabberdctl. This works for sessions which are currently active (users/session marked available), but when trying to do so on these users/sessions nothing happens.
How can I force kill a stuck (offline) session for a user or force kick a user?