Hi all There's one point in the protocol I'm not very fond of: returning application-level errors (especially unsupported-content) with iq response to session-initiate. Because if one implements XEP-0166 and XEP-0167 (and video, file transfer, whiteboard, etc) as a separate logical modules, it means that the generic Jingle code must consult the upper-level module before it can send IQ response. The generic Jingle code must have a separate state for a not-acked session, instad of making the transaction "atomic" by sending ack immediately.
The alternative would be to ack session-initiate always, and have a unsupported-content info carried with session-terminate. I believe that would be easier to implement, although the protocol flow may not seem optimal. Now I had my say. If you don't find this issue serious enough (or even an issue) - fine, I'm quite happy with the current spec. -lauri
