Gateway: add contact

Hi !

I’'m trying to implement JEP-0100 flow 4.6.1.

So, client send “subscribe”(see 1) packet, then gateway send “subscribed”(see 3) and “subscribe”(see 5) packets. Then client send “subscribed” (see 6), and “subscribe” again. So, when I click “Auth” button on client, then it send “subscribe” and “subscribed” packets again and again.

I think, roster manager in messenger should check : if somebody already subscribed, it should pass subscribe packets. IMHO, it was implemented in previous versions of messenger. In this case, check roster manager code, please.

WBR, Alex.

Hey Alex,

If the client is sending a “subscribed” packet when a subscription request is received then I don’'t see why there is a loop.

Could you post the XML that the client is receiving when asking for a presence subscription and the XML that the client is answering? If you want you can send me the code so I can try to reproduce the problem and find where the problem is.

Thanks,

– Gato

Okay, I will send code to use.

BUT. When client receive subscribed, then it sends “subscribe” packet for answer. And if my gateway receives packet “subscribe”, it sends “subscribed” packet and “subscribe” for himself.

So, somebody should terminate loop by check if other side is already subscribed. It can be gateway, client or messenger. It’‘s not implemented in client now. So, should I check it(in this case I will store detailed subscriprion info), or messenger will do this check(it already have information in roster). Possible, it described in any JEP, but I didn’'t dinf it.

Do you know - who should check “already subscribed” state ?