Thanks your reply @guus ! I need to explain about IEC 61850. It’s a communication protocol used in Power Industry. It’s a Client/Server protocol. In the variant IEC 61850-8-2, transport layer is XMPP. It means that IEC 61850 Servers and IEC 61850 Clients are connected to a XMPP Server. An IEC 61850 Client can receive data from multiple IEC 61850 Servers. Each client has one JID and each server has one JID.
We are currently investigating our issues :
- It seems that the XMPP Server can´t handle several messages with request-responses.
1 - With 5 Servers configured in a Client, just the fact of sending 5 init-request messages to all at the same time (one for each) is enough for the XMPP Server to disconnect.
We can see message like this in our log :
20/04/2021 00:58:25.027 (43C0) DRIVER Disconnected: The stream has been closed (by the server)
So, We think it is much more stable when messages are arriving from multiple clients, it seems there is a limit of pending messages from a single account.
It seems that when an account sends several messages at the same time, the XMPP Server crashes. But if several messages are arriving into one account from different accounts (61850 servers) it works well.
Perhaps if we could first enable a better logging function (with timestamps) on Openfire, we coud investigate more. Is there any way to get bigger log files with timestamps ?
Secondly, we need to discover how to improve the application and if someone could fix the code or check if we can raise this message limit.
We tried to disable Stream Management as it was suggested in a similar issue but it didn’t work. If the client starts making polling requests frequently the XMPP Server crashes.
2021.04.20 04:34:37 org.jivesoftware.openfire.nio.ConnectionHandler - Closing connection due to error while processing message: <iq to='gateway95@xmpp1.tprider.com.tw/IEC' id='5be9f5803fbc237bcb4f1222344936cb1739faeb0000fa63' type='get' xmlns='jabber:client'><ping xmlns='urn:xmpp:ping'/></iq>
This is the error message :
2021.04.20 04:44:37 WARN [socket_c2s-thread-16]: org.jivesoftware.openfire.nio.ConnectionHandler - Closing connection due to exception in session: (0x0000018F: nio socket, server, null => 0.0.0.0/0.0.0.0:5222)
java.io.IOException: Connection reset by peer
After disabling the stream management it seems the driver stopped working.