Step 5: Server informs client that it is allowed to proceed: Step 5 (alt): Server informs client that TLS negotiation has failed and closes both stream and TCP connection: Step 6: Client and server attempt to complete TLS negotiation over the existing TCP connection. Step 7: If TLS negotiation is successful, client initiates a new stream to server: Step 7 (alt): If TLS negotiation is unsuccessful, server closes TCP connection. Step 8: Server responds by sending a stream header to client along with any available stream features: DIGEST-MD5 PLAIN EXTERNAL Step 9: Client continues with SASL negotiation (Section 6). #### Step 1: Client initiates stream to server: Step 2: Server responds with a stream tag sent to client: Step 3: Server informs client of available authentication mechanisms: DIGEST-MD5 PLAIN