Yes, you just need to implement onServerError, identify the specific case and force STREAMING again.
This is not the default, because onServerError is usually called when the problem is not recoverable by a new connection attempt. For instance, the connection may have been forcibly interrupted because of a limit on the overall number of sessions.
If you reconnect in any case, consider that this may not always be the best handling of the case.

However, if a firewall simply breaks a connection, this should not cause an "Error 30". Can you find more information on what happens in those situations?
Note that, with the next release of Lightstreamer, the specific cause of the interruption will be available to the client and all available error codes, between 30 and 39, will be used.