На данный момент существует несколько разновидностей ICQ транспортов. Они различаются практически всем - авторами, языком программирования, на котором они написаны, функционалом, стабильностью. Поэтому необходимо знать чем они различаются для того, чтобы выбрать подходящий.

JIT

JIT (Jabber ICQ transport) - самая старая разновидность. Написана на C. В конце 2005 года разработка JIT остановилась на версии 1.1.7. В 2008 году разработку продолжили тольяттинские энтузиасты (основной автор - OM), и к осени они выпустили версию 1.2.0. Из-за такой задержки возможностей у JIT меньше, чем у альтернатив, но ненамного. Зато есть и достоинство - JIT не требует много ресурсов и работает стабильно, по этой причине его выбирают на многих серверах. Версию 1.2.1 можно найти тут: svn://ns1.mytlt.ru/jit/branches/1.2.1, а свежий срез тут: svn://ns1.mytlt.ru/jit/trunk. Последнее изменение датировано началом 2009-ого года, поэтому проект предположительно больше не развивается.

PyICQt

PyICQt - более новая разновидность. Написана на Python. Версия 0.8 умеет автоматически добавлять контакты из учетной записи ICQ в ростер, передавать аватары и статусные сообщения, а версия 0.8.1 - работать с X-статусами (преобразовывая их в User Mood, User Activity и User Tune или через Ad-Hoc) и передавать сообщения в Unicode. Однако в отличие от JIT, требует много ресурсов и некоторой настройки со стороны пользователя для получения этих дополнительных возможностей. Последнее изменение датировано 21 сентября 2009-ого года, поэтому проект предположительно больше не развивается.

Openfire ICQ plugin

Openfire ICQ plugin - редкая разновидность. Работает исключительно с сервером Openfire. В отличие от PyICQt и JIT она автоматически добавляет контакты, переименовывает их (даже если клиент не умеет это делать) и сортирует по группам. Остальная функциональность аналогична JIT.

Spectrum

Spectrum - новейшая разновидность. Использует "движок" Pidgin - библиотеку libpurble, и поэтому может работать не только с ICQ, но и с другими протоколами, поддерживаемыми Pidgin. При некоторой настройке на стороне сервера способен так же, как и Openfire ICQ plugin, автоматически добавлять контакты, переименовывать их и сортировать по группам. Поддерживает приём X-статусов с версии 1.4.5.

Особенности и недостатки

Если у пользователя контакт-лист ICQ содержит больше 50 контактов, после регистрации на транспорте только для 50-ти будут получены ники (и остальная информация VCard). Дело в том, что сервер ограничивает число запросов на просмотр VCard в единицу времени, после 50-ти запросов блокирует выдачу VCard на час, при дополнительных запросах блокирует её до суток. Не касается Openfire ICQ plugin и Spectrum.

Ссылки