[jdev] Resource Binding Means End of Stream Negotiation?

Kim Alvefur zash at zash.se
Tue Aug 15 17:15:58 UTC 2017


On Wed, Aug 16, 2017 at 12:34:06AM +0800, Kai-Chung Yan (殷啟聰) wrote:
> I am implementing (yet another) XMPP client library and found
> something confusing in RFC 6120: XMPP Core.
> Section 4.3.5 states that the receiving party sends either an empty
> <features/> element or one containing only optional features in order
> to indicate the completion of a stream negotiation. In fact, I believe
> the receiving party should send a <features/> element immediately
> after negotiating every single feature.
> However my client stuck after finishing Resource Binding and both
> parties are waiting for further XML data. After I changed the behavior
> to assume that Resource Binding indicates end of stream negotiation,
> everything works perfectly I can start exchanging stanzas.
> Does that indicate that Resource Binding means the end of a stream
> negotiation? I fail to find such policy in RFC 6120 or its errata.

See this note:

> Informational Note: Resource binding as specified under Section 7 is
> an historical exception to the foregoing rule, since it is
> mandatory-to-negotiate for clients but uses XML stanzas for
> negotiation purposes.

Kim "Zash" Alvefur

More information about the JDev mailing list