powered by Jive Software

WAN clients connectivity

We have Openfire server 4.3.2. Fresh install. DB is MS SQL Express. No AD integration. There are around 80 users, most of them are in local network and work fine. And we have 3 WAN clients (we want to set at least 5 more WAN clients) who connects to our sever through Internet. Their connection works, local clients and WAN clients see each other, can send messages and files. But sometimes WAN clients go offline in strange way. Openfire server (in console) doesn’t see them as online but WAN clients themselves see just like they are still online and can see roaster with online users and can send messages. Local network clients can see the message but when local client writes an answer then this message doesn’t go to WAN client. WAN client would be able to see the message from local network client only after switching offline/online status in the client program. All clients are using Psi+.
I try to search Google for errors like this and in one discussion one person mentioned that WAN client goes offline when new local client connects to Openfire. Is it true?
Here is part of warning log from server which I suppose is related to desconnection of WAN client:

2019.03.20 15:20:32 org.jivesoftware.openfire.nio.ConnectionHandler - Closing connection due to exception in session: (0x0000002B: nio socket, server, / =>
java.io.IOException: Удаленный хост принудительно разорвал существующее подключение
	at sun.nio.ch.SocketDispatcher.read0(Native Method) ~[?:1.8.0_202]
	at sun.nio.ch.SocketDispatcher.read(Unknown Source) ~[?:1.8.0_202]
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source) ~[?:1.8.0_202]
	at sun.nio.ch.IOUtil.read(Unknown Source) ~[?:1.8.0_202]
	at sun.nio.ch.SocketChannelImpl.read(Unknown Source) ~[?:1.8.0_202]
	at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:273) ~[mina-core-2.0.7.jar:?]
	at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:44) ~[mina-core-2.0.7.jar:?]
	at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:690) ~[mina-core-2.0.7.jar:?]
	at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:664) ~[mina-core-2.0.7.jar:?]
	at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:653) ~[mina-core-2.0.7.jar:?]
	at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:67) ~[mina-core-2.0.7.jar:?]
	at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1124) ~[mina-core-2.0.7.jar:?]
	at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) ~[mina-core-2.0.7.jar:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[?:1.8.0_202]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:1.8.0_202]
	at java.lang.Thread.run(Unknown Source) [?:1.8.0_202]

Russian text near java.io.IOException corresponds to English “Connection reset by peer”.
Any ideas how to fix this behaviour?

“Connection rest by peer” essentially means the far end has gone away. If it’s only happening to you WAN clients, it could well simply be a network issue.

I suppose that my problem with WAN clients strangely going offline is resolved by unchecking an option ‘use Stream Management’ in PSI+ client. After several days of monitoring i think that Stream Mangement feature works but the result is not what users want to see.
Now I’m looking forward to set up more WAN clients and monitor how it would work.