Hi all,
   I think BOSH is currently a bit inconsistent. It says:

"If the connection manager supports stream restarts, it MUST advertise
that fact by including a 'restartlogic' attribute (qualified by the
'urn:xmpp:xbosh' namespace) whose value is set to "true" [5]. It is
STRONGLY RECOMMENDED for all XMPP connection managers to support
stream restarts, since they are an integral aspect of stream
negotiation in XMPP. However, note that some older BOSH
implementations do not explicitly advertise support for stream
restarts."

Which suggests that there's wriggle room (RECOMMENDED == SHOULD !=
MUST) for not supporting stream restarts.

It also says:

"Upon receiving the <success/> element, the client MUST then ask the
connection manager to restart the stream by sending a "restart
request" that is structured as follows:

The BOSH <body/> element MUST include a boolean 'restart' attribute
(qualified by the 'urn:xmpp:xbosh' namespace) whose value is set to
"true" [9]."

and

"Upon receiving a restart request, the connection manager MUST
consider the previous stream with the XMPP server to be closed. It
MUST then initiate a new stream by sending an opening <stream:stream>
tag over the same TCP connection to the XMPP server. If the connection
manager receives a <stream:features/> element from the XMPP server, it
MUST forward that element to the client:"

Suggesting that stream restarts are entirely mandatory.

Thoughts?

/K

Reply via email to