Last week we had a brief chat in the Psi conference room about how to
handle unsupported stream features:

http://conference.psi-im.org/[EMAIL PROTECTED]/2008/10/08.html#15:15:12

The current text reads:

   If an entity does not understand or support a feature that has
   been advertised, it MUST silently ignore the associated feature
   advertisement.

This would lead to undesirable behavior now that we say a stream feature
advertisement must include either <optional/> or <required/> as a child
element. Therefore I propose that we change the text to read:

   If an entity does not understand or support a feature that has been
   advertised, it MUST still inspect the feature advertisement to
   determine if negotiation of the feature is mandatory.  If negotiation
   of an unsupported feature is mandatory (as determined by inclusion of
   the <required/> child element), then the entity MUST abort the stream
   negotiation process.  If negotiation of an unsupported feature is
   discretionary (as determined by inclusion of the <optional/> child
   element or the absence of a child element), the entity MUST silently
   ignore the associated feature advertisement and proceed with the
   stream negotiation process.

/psa

Reply via email to