XML Stream Flow
User registration and user authorization are two processes that take place at the start of an XML stream, immediately following the XML stream header exchange. The Jabber server is designed to check for and process any user registration request or authentication request before anything else.
This makes sense, as outside of a session (a session is created for a
user when the authentication completes successfully), any other
element—a <message/> element,
a <presence/> element, or an
<iq/> element that doesn’t contain
an extension qualified by the
jabber:iq:register or jabber:iq:auth
namespaces—is invalid. So if any of these other elements are sent
before authentication has taken place (that is,
before a session has been created for that connection), they are queued
and processed after authentication.
Figure 7-1 shows the general flow within an XML stream, with regard to where the registration and/or authentication steps happen.
![]() |
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access
