I have an issue of getting into a loop when subscribing to another user’'s presence with Wildfire. All works fine up to the point where I receive presence packet from the other user indicating that the subscription was approved. Per RFC3921 Section 8.2 paragraph 9:
Upon receiving the presence stanza of type “subscribed”, the user
SHOULD acknowledge receipt of that subscription state
notification through either “affirming” it by sending a presence
stanza of type “subscribe” to the contact or “denying” it by
sending a presence stanza of type “unsubscribe” to the contact;
this step does not necessarily affect the subscription state (see
Subscription States (Section 9) for details), but instead lets
the user’'s server know that it MUST no longer send notification
of the subscription state change to the user (see Section 9.4).
My client sends a presence packet back to the approving user of type “subscribe” acknowledging receipt of the notification. The problem is that I receive another presence packet from the approving user of type ‘‘subscribed’’. Therefore, I again send the acknowledging presence packet of type “subscribe”. And so on and so on.
I do not have this issue on other servers (like XCP).
Am I interpreting the RFC correctly?