At the time of any DCs, especially multiple DCs in a session, try running a Pingplotter or Traceroute to CCP’s address.
Details here:
That can at least give you an idea of where in the travel pipe from your router to CCP the disconnects are likely happening.
For various reasons, CCP servers don’t respond to some standard ping type requests, so be ready to search for alternative locations to ping test to. Any commercial type server in London should do.
Also, most companies employ an outside “filtering” service to check incoming packets for suspicious behavior and reject them if so, which can break your connection.
You might try browsing this thread and see if any of the issues/solutions there help:
I’d maybe take a look at a few of the “chat system service” comments in that thread and see if that helps narrow it down.