Hi, In a link-local conversation with XEP-0174, a client A sends the ending stanza to the other end's client B: "</stream:stream>"
http://www.xmpp.org/extensions/xep-0174.html#end After that, B continues to send message stanzas to A but never sends the ending stanza. The ending stanza from A is ignored by B. The XEP-0174 seems to say B has to close the stream but there is no "MUST" or "SHOULD". When the user of A wants to send a message, A can't send it using the current connection because the ending stanza has already been sent on this connection and sending stanzas after the ending stanza is obviously not correct. The client A cannot closes the TCP connection while it did not receive the ending stanza from B because it may miss a message. The XEP does not say whether A should open a second stream or should wait the first stream to be closed by the remote end. The second option seems better to me, but in this case B MUST closes the stream at some point when A sends the ending stanza (otherwise, A's messages will never be sent). It seems that iChat behaves like the client B in my scenario, i.e. it does not close the stream when it receives the ending stanza. This causes problems when the client A waits the connection to be closed in order to open a new one. -- Alban