[jdev] Websockets RFC: stream: prefix required or not?

Michael Weibel michael.weibel+xmpp at gmail.com
Mon Feb 2 17:39:53 UTC 2015

Hi all,

MongooseIM currently sends stream:features as „features“ for websockets connections and strophe.js doesn’t recognize this currently[1].
How I read the RFC is that both behaviours (stream:features or just „features“) are correct:

>    Note that for stream features and errors, there is no parent context
>    element providing the "stream" namespace prefix as in [RFC6120], and
>    thus the stream prefix MUST be declared or use an unprefixed form:
>    <stream:features xmlns:stream="http://etherx.jabber.org/streams">
>      <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/>
>    </stream:features>
>    -- OR --
>    <error xmlns="http://etherx.jabber.org/streams">
>      <host-unknown xmlns='urn:ietf:params:xml:ns:xmpp-streams'/>
>    </error>

I think the example in the RFC is not perfect, it should instead show the format for both cases and I think that’s also the source of confusion. 

What is your opinion on this? Is MongooseIM or Strophe.js’ behaviour correct?


1: https://github.com/strophe/strophejs/issues/104

More information about the JDev mailing list