ICQ 2001b and NAT

Any of you that have used ICQ behind NAT (and hence on an unroutable private IP) know that in order for file transfers to work, you need to forward a range of ports to your PC, and tell ICQ to use those ports for incoming transfers.

I installed ICQ 2001b a few months ago, only to discover that it was blissfully ignoring my port settings and using random ones – hence being stopped cold at my firewall. Well, it was a beta – what do you want. So, I went back to 2000b and forgot about it.

But, I tried it again this week only to find that it’s STILL broken. You’d think after months and months they would have fixed it, but no.

So, luckily, I found a workaround, which I am putting up here for everyone’s benefit:

Step 1:
Under the Connections settings in Preferences, click on the “User” tab, and change it to “Using proxy” and set the type as “SOCKS 4”.
Step 2:
Disconnect and reconnect, or restart, if you’re paranoid. You may notice that your problem is already solved: if you do “netstat -an” in a command prompt, you’ll see that it’s already listening on one of the ports from the range you specified. Go figure
Step 3:
Set it back to “Not using proxy” and set it to use the ports you specify. You should now be able to put whatever you want and have it actually listen. Be sure to disconnect/reconnect after you make every change.

It’s a very annoying bug. It looks like the functionality is there, but someone just botched the UI for it. Go figure.

Enjoy.