ICQ Over Google Talk

A few friends have asked me about this so I finally decided to put up a page that explains how to configure that. Actually you can create other combinations like ICQ over Jabber or AIM over GTalk, or MSN, or Yahoo, any service that has a jabber transport. It's up to you but I'll explain specifically how to configure ICQ over GTalk.

Purpose

What we want to achieve is use Google's nice feature that allows you to save Google Talk's chat history in GMail. This time thought for logging your ICQ conversations too, this way you can access your chat history anywhere when you login to your GMail account.

You can also use JRU's batch contact list edit capabilities for non-jabber IM contacts.

Requirements

You'll need Psi or another jabber client that supports registering with jabber transports. You'll need that only when registering with the JIT service, you can use any other jabber client afterwards. Binaries are available for Linux, Win32, and Mac OS X.

If you want to batch import contacts you'll also need Jabber roster utility, if your identity hostname matches the jabber server you can also use an online JRU service. For users of the generic username@gmail.com and username@googlemail.com service it won't work, it will work if you use Google's hosted apps and you add an A record to the IP of talk.google.com for your hostname. Note that you can't add a CNAME to the bare domain name.

If you don't use a Google Talk account for hosted Google apps then you'll also need a way to override the server hostname for JRU because at the time I used it the perl library didn't support that or it wasn't so obvious. I use a hosts file entry and socat.

All examples below assume your account is username@gmail.com, change to whatever your one is.

Login to GTalk Using Psi

You have to add a new Psi account that will let you login to your gtalk account. It boils down to setting your identity to username@gmail.com, overriding the server hostname to talk.google.com, and using port 5223 (secure). You'll probably get a certificate warning when you connect. Google have an extensive guide with screenshots, you can check that if it doesn't just work for you.

Register with a JIT Service

Select "Service Discovery" in Psi, type jabber.anywise.com in the address bar. Google don't have a JIT service so you'll have to use an external one, other jabber servers will work too. You don't need to create a username@jabber.anywise.com account, Google's jabber server will find its way to the JIT service. From the list select JIT, right click and select register. You'll be asked for your UIN and password. Once that's configured you're on ICQ.

To add an ICQ user to your contact list add a jabber user with identity 1234@jit-icq.jabber.anywise.com, replace 1234 with a real UIN.

Bulk Import Contact List

If you want to import your complete contact list you'll need the JRU, for gmail.com/googlemail.com it's a bit complicated because I couldn't find how to override the connect server hostname for the perl library they use. Google's talk servers don't support non-secure connections so we have to deal with that too.

What I ended up doing is in JRU I enter username: myusername, server: gmail.com, port: 5224. Then I add a temporary hosts file override that tells my OS that in case it sees the hostname gmail.com it should internally resolve it to 127.0.0.1. I then use socat to wrap the connection in SSL and point it to the right server (talk.google.com). The command is socat tcp4-listen:5224,fork,reuseaddr ssl:talk.google.com:5223,verify=0.

After you modify your hosts file and run socat you will be able to connect to your GTalk account with JRU and use its batch contacts editing capabilities.

You might be able to get away without socat if you can get Net::Jabber::Client to talk secure and use just a hosts override for gmail.com to the IP of talk.google.com.

Conclusions

Congratulations, now your ICQ message history is saved in GMail. You also need to have just one account in your messenger. You can also use any IM client that supports jabber and secure connections or the web one integrated in GMail.

It has worked for me since about 1 month after GTalk supported saving chat history, the whole service wasn't stable before that anyway.

Something that's worth noting is that users not on your contact list will not be able to message you (probably users you didn't authorize actually but the list is equal for me). Their messages will be bounced. That might be inconvenient for some but it acts as a kind of spam protection too.

PS. Don't play too much TIM or you'll end up like me.

Comments

Here is more simple solution for saving your ICQ, MSN, AIM, Skype, GTalk chat history online - look to

http://www.im-history.com

Martin: Looks interesting but not enough details about how messages are stored, security, permissions, etc. It looks like a startup not associated with a well known company, they might simply steal your IM history. Domain name is only 7 months old.

[...] We are neither affiliated with the authors of this page nor responsible for its content. ICQ Over Google Talk A few friends have asked me about this so I finally decided to put up a page that explains how to [...]

I try to connect with I have found the new version of JRU at http://beta.unclassified.de/projekte/jru-php/ but can't connect to Gtalk. Does anybody successfully connect to gtalk with any JRU service? Give me the address of it please!