A while back, I set up AIM, ICQ, Yahoo!, and MSN transports, so that I conduct all my IM sessions under a single Jabber account (namely, my primary Gmail alias). The reasons for this are mostly self-evident; it allows me to use the built-in Gtalk service as a metaclient, it logs all my chats as conversations in Gmail (I love filtering!), and compresses all of my contacts into a single service/account.
My problem is that the AIM, ICQ, and MSN transports all drop their connections sporadically. Sometimes after I'm connected for a minute, sometimes after several hours. The material point, however, is that when the transport goes, so go all of my contacts. It doesn't seem to make a difference if I'm actively chatting or not; I get disconnects while I'm chatting, while I'm away, and while I'm idle, seemingly in equal proportion. Logging back on usually brings them back immediately, but there's no guarantee that the transports won't disappear again only a minute or two later. I use [protocol].jaim.at for the transports, but I have read a few things that suggest that the problem isn't with the jaim transports; it might be a configuration issue with the client.
For the record, I generally use Pidgin on my work and home PCs (both Windows), as well as my laptop (Linux); the problem is consistent across all these machines. I also use Talkonaut on my BlackJack II. It doesn't seem to be as big a problem on Talkonaut, but then, that may just be because I never use Talkonaut for extended periods of time. It also doesn't seem to drop the transports when I'm using Gmail's built-in client, but again, I may just not be noticing many disconnects with it because I rarely use it.
TL;DR Problem with IM protocol transports for Jabber. Not sure if problem is with the jaim.at transport servers, or with my client(s)/configuration. Suggestions?