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