JIT импорт контактов ICQ

Система FreeBSD6.0
Версия джаббер сервера - ejabberd-1.1.1_1
Версия JIT - jit-1.1.7_1
Джаббер и транспорт на аську работают отлично. Не работает лишь импорт контактов с ICQ сервреа. В спуле JIT (user%jabber.domain.com.xml) при регистрации нет информации о серверных контактах, в нём содержится только UIN и пароль. Серверные контакты, там появляются только после того, как делаю logout. В дальнейшей работе, они там постоянно есть, но в контакт листе почему-то не появляются.

Возможно ли сделать импорт контактов через JIT?
Если да, то что нужно сделать дополнительно?

Заранее спасибо за ответ.

И не будет

Это просто напросто в JIT не предусмотренно.

Ирина

помогите пожалуйста!!!!! Я хочу настроить аську на мобильном, но нужна регистрация на любом сайте jabber. Я зарегистрировалась, но что делать дальше не пойму

В смысле не

В смысле не предусмотрено? JIT не может записать контакт аськин контакт-лист в ростер??? И почему для того чтобы видеть кто из пользователей на данный момент on-line нужно постоянно запрашивать авторизацию? Должна же быть какая-то толковая и правильная связка JIT+ejabberd

Ну скажем так,

Ну скажем так, на jit.mytlt.ru замечательно работает импорт контактов, у них там ejabberd + JIT. В чем секрет?

JIT

Anonymous wrote:

Ну скажем так, на jit.mytlt.ru замечательно работает импорт контактов, у них там ejabberd + JIT. В чем секрет?

Ответ тут - http://mytlt.ru/?p=62

Неужели никто

Неужели никто не может выложить готовое решение?

pyicq-t...

pyicq-t...

Re:

после предпоследней смены протокола ICQ транспорт JIT стал криво работать с контактлистом на сервере.

Решение

Собственно нашел грубое решение данной проблемы. Ниже представленная модификация (большое спасибо mytlt.ru), при помощи которой работает импорт контактов при первой(!) регистрации транспорта (т.е. когда spool не содержит записей).

В файле jit/contact.c следует заменить:

/* Send "subscribed" presence. Fortunately, jabberd will add this
contact to the user's roster if it was not present */
x = jutil_presnew(JPACKET__SUBSCRIBED,jid_full(s->id),NULL);
xmlnode_put_attrib(x,"from",jid_full(it_uin2jid(xmlnode_pool(x),c->uin,s->from->server)));
if(name != NULL) xmlnode_put_attrib(x,"name",name);
it_deliver(s->ti,x);

на:

/* Send "subscribed" presence. Fortunately, jabberd will add this
contact to the user's roster if it was not present */
x = jutil_presnew(JPACKET__SUBSCRIBE,jid_full(s->id),NULL);
xmlnode_put_attrib(x,"from",jid_full(it_uin2jid(xmlnode_pool(x),c->uin,s->from->server)));
if(name != NULL) xmlnode_put_attrib(x,"name",name);
it_deliver(s->ti,x);
x = jutil_presnew(JPACKET__SUBSCRIBED,jid_full(s->id),NULL);
xmlnode_put_attrib(x,"from",jid_full(it_uin2jid(xmlnode_pool(x),c->uin,s->from->server)));
if(name != NULL) xmlnode_put_attrib(x,"name",name);
it_deliver(s->ti,x);

Данный хак мною лично проверен и работает : )

Хммм .... а у меня

Хммм .... а у меня с таким патчем в контакт лист добавились только пользователи, которые в оффлайне. (((

Как вам удалось

Как вам удалось настроить ejabberd и JIT для совместной работы?

JIT запущен в отдельном процессе jabberd1.14 ?

Syndicate content