I am creating a live chat app for the support team agents, who connects with the website visitors through XMPP. We are using Openfire and have implemented Workgroup Queue extension XEP-0142 in the iOS app, using XMPPFramework. We are using Fastpath Webchat in the website.
The issue is, when the app is suspended sometime after the user minimised it or when the device screen is locked, the socket is closed, stream gets disconnected and so the chat gets disconnected. The temporary MUC room created for the particular chat (by the Fastpath) shows that the agent is left and the chat room is also closed. We want the chat to continue without closing, so that when the agent from iOS can reconnect when reopening the app. We want the chat to be disconnected only when the app is terminated.
We are not using any background services like VOIP. I have checked in lot of websites and tried different solutions, but all ended in vain. We found that the proper solution would be implementing the Stream management (XEP-0198) with the Stream resumption feature with a maximum timeout, until which the server holds the session active when it is disconnected accidentally. But when we starts implementing in the iOS app using the XMPPFramework, we found that the stream management XEP was partially implemented. When will you implement the stream resumption, which will resolve our major issue? or is there any alternative solution for our issue?