this came up while I pondered on using <message/> instead of <iq/> for jingle... but I think the problem is a more general one.

definitions first:
caps: xep-0115
caps based architecture: only offer things (in the UI) to the user
        after you know via caps that they support it
forking: delivering a message sent to the bare jid to all connected
        resources


The concrete scenario i am looking at is 'forking' jingle calls to all interested resources. Let's assume I have presence... otherwise, using <message/> is the last resort. Further, I assume we have a disco#info and therefore a capability for the hypothetical jingle-using-message xep.


So, if I have two resources implementing both jingle-using-iq and
-message and one that only implements jingle-using-iq...

should a client that wants to initiate a jingle session use <message/> (because more than one client supports this)

or use the traditional strategy (highest priority resource that supports jingle)?

I do think that using <message/> and carbons for jingle and multi-device synchronization is the way to go. But it MUST be integrated into caps.
Thoughts?


There is another issue with <message/> vs <iq/> -- if you receive a <message type=error/> this doesn't necessarily mean that whatever you tried did not work. Only if this error comes from the bare jid.

Reply via email to