2013-08-04 4 views
3

я в настоящее время работает над «функциональностью Добавить в Реестр Контакт»Строфа добавить в реестр Контакт

1) добавить новый контакт в мой реестр с:.

var iq = $iq({type: "set"}).c("query", {xmlns: "jabber:iq:roster"}).c("item" {jid:"[email protected]/test",name:"test"}); 
Chat.connection.sendIQ(iq); 

Контактная успешно добавлен к моему реестру

2) Отправить строфу присутствия типа «подписаться» на новый контакт («тест»):.

var subscribe = $pres({to: [email protected]/test, type: "subscribe"}); 
Chat.connection.send(subscribe); 

Это работает, но не каждый раз:

Когда человек я добавить в свой список («тест») не имеет в настоящее время нет активного сеанса (не авторизован), я получаю тип подписки 'none' для отправителя, а также тип подписки 'none' для 'test'.

Итак: не

Receiver 'Test': Абонемент 'None'

Sender 'я': не Subscription 'None'

Когда человек РМКО добавить в свой список имеет активный сессия, ожидаемые типы подписки «до» и «от» успешно установлены.

Любая идея?

ответ

5

Не использовать ресурс на обратиться в запросе подписки:

var subscribe = $pres({to: "[email protected]", type: "subscribe"}); 
Chat.connection.send(subscribe); 

Когда пользователь заходит на сайт позже, они должны получить уведомление о вашей просьбе, и может ответить с <presence type="subscribed"/> строфой. Если вы поместите ресурс на адрес, могут возникнуть нечетные правила маршрутизации, которые не будут заставлять ваш запрос храниться.

Смежные вопросы