[Standards] Stanza namespaces

Kevin Smith kevin at kismith.co.uk
Tue Apr 27 20:30:56 UTC 2010

On Tue, Apr 27, 2010 at 9:18 PM, Peter Saint-Andre <stpeter at stpeter.im> wrote:
> On 4/27/10 3:00 AM, Dave Cridland wrote:
>> In XMPP, each stream has a default namespace. Stanzas are the elements
>> with local-name "message", "presence", or "iq", qualified by that
>> default namespace. Streams also have other, specifically documented,
>> top-level elements, such as those for SASL, or TLS negotiation - these
>> being explicitly signalled as being acceptable. Other unknown top-level
>> elements will cause the connection to be dropped.
> Sometime yesterday (before you sent your message to the list) I wrote
> the following text in my working copy of 3920bis:
> ***
> Note: Because a client sends stanzas over a stream whose default
> namespace is 'jabber:client', if the server to which the client is
> connected needs to route a client-generated stanza to another server
> then it MUST "re-scope" the stanza so that its default namespace is
> 'jabber:server' (i.e., it MUST NOT send a stanza qualified by the
> 'jabber:client' namespace over a stream whose default namespace is
> 'jabber:server'). Similarly, a routing server MUST "re-scope" a stanza
> received over a server-to-server stream (whose default namespace is
> 'jabber:server') so that the stanza is qualified by the 'jabber:client'
> namespace before sending it over a client-to-server stream (whose
> default namespace is 'jabber:client').
> ***
> That might not be precise enough, and it leaves out the error handling.

That seems fairly definitive and, as Dave mentions, the error handling
is already defined elsewhere.

More information about the Standards mailing list