AOL, which has control over AIM and ICQ, has taken to blocking particular servers because these servers provide gateways that allow Jabber users to connect to ICQ and AIM through their normal Jabber clients. Personally, I'll stop using ICQ or AIM before I stop using Jabber, but in the meantime, there is a fix.
Table of Contents
AOL, which has control over AIM and ICQ, has taken to blocking particular servers because these servers provide gateways that allow Jabber users to connect to ICQ and AIM through their normal Jabber clients. Personally, I'll stop using ICQ or AIM before I stop using Jabber, but in the meantime, there is a fix.
The fix requires only that you can type, and that you have a Jabber client that allows you to send raw XML to your server.
You only have to do the XML hacking once, so you can be free to find this interesting, entertaining, and educating without worrying about having to repeat the process. I'm not going to skip any steps; you'll learn a lot about Jabber if I go through the whole procedure with no shortcuts, and the extra steps aren't that much extra work. I'll only go through the ICQ process; you can extrapolate from this for connecting to other servers, like the Yahoo gateway. (That's where you'll use your infamous brain).
First of all, open the Log Window and turn on all of the logging options. Then click the "XML Input" button -- this is where you'll enter your XML, and you'll be able to track your progress (and see your results) in the log window.
First you have to know the name of the server that provides the gateway. Enter the following:
<iq type="get" to="aim-icq.jabber.sk"> <query xmlns="jabber:iq:agents"/> </iq>
This will result in a probably longish listing. The things you're looking for are the lines that look like this:
<agent jid="aim-icq.jabber.sk">
That 'jid' is the name of the server gateway. Now that you know the name of the server, enter the following:
<iq type="get" to="aim-icq.jabber.sk"> <query xmlns="jabber:iq:register"/> </iq>
You'll get back something that looks like this:
<iq from="aim-icq.jabber.sk" type="result" to"ser@jabber.com/Home" >
<query xmlns="jabber:iq:register" >
<key>8483858</key>
<username/>
<password/>
<instructions>Enter your ICQ UIN and password for that account</instructions>
</query>
</iq>Here's the brain part: you must construct the next query based on the information you see in the previous response.
The response above tells you what the gateway is expecting you to send it in order to register the service. You need the information in the query element; in this case, the key, the user name, and the password. The key in the example is bogus -- I made up the number. The real key will likely be much longer, but you must copy it faithfully from the response you get from the server, or else your request will fail! If your gateway expects something else, like a blood type, supply that, too. Here's our query, based on the above information:
<iq type="set" to="aim-icq.jabber.sk">
<query xmlns="jabber:iq:register" >
<key>8483858</key>
<username>1234567</username>
<password>bar</password>
</query>
</iq>ICQ user names are always numbers. Isn't that comforting?
At this point, you should be done. Assuming that your password and user ID are correct, you'll get a series of prompts asking you if you want to add the service to your buddy list, and so on; just click through these. Then add your ICQ buddies as you normally would, and viola! You can continue to use your favorite server, and still have access to gateways that aren't blocked by the bad guys.