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.

It's definitive, but it might not be correct. Do we need to be so strict
about this?

That's the question. Especially that it also applies to the external component
protocol - XEP-0114 which also uses separate namespaces (2!!) for sending
stanzas.
Even though XEP-0225 seems to be re-using jabber:client namespace, which in
my opinion is move in a good direction, it needs some corrections too.
As I mentioned, it doesn't have a separate namespace for the handshaking
packets, hence causing conflicts if you want to put c2s connection manager
behind the XEP-0225 component.

Artur

Reply via email to