Hi,
I think I've found some file transfer compliance issues with XEP-0095.
1. <si:no-valid-streams/> is not included in the Stanza error, when offering invalid streams.
2. <si:bad-profile/> is not send, when the profile is invalid.
3. This is probably the most important one:
<forbidden/> is not sent, when the recipient rejects the stream initiation.
Instead Smack sends <not-acceptable/>.