-
Notifications
You must be signed in to change notification settings - Fork 574
aSmack XMPP File Transfer
The XMPP file transfer process is sophisticated and therefore complex. This is due the fact that XMPP is extensible, which means various methods (XEPs) are defined to transfer a file from one entity (user) to another. In order to find the reason for your file transfer problem you may have to
- understand the way file transfers work with XMPP: read the related XEPs, inter alia XEP-96, -95, -47 and -65.
- caputure an trace of the XMPP stanzas involved in the file transfer
- attach a (java) debugger to the application that uses Smack (aSmack sources are provided) and find out where the control flow is wrong / what is missing
The relevant XEPs for Smacks file transfer feature are:
- XEP-0096: SI File Transfer
- XEP-0095: Stream Initiation
- XEP-0047: In-Band Bytestreams
- XEP-0065: SOCKS5 Bytestreams
We can't help with issues about XMPP file transfer if they don't contain a solution or at least on idea what could be wrong! Given that XMPP is an open standard, everyone can look up what's going wrong in means of the protocol that both parties (sender, server, receiver) have agreed upon. If you find deviation from the standard in Smack, any report is highly appreciated.
Please note that aSmack file transfer issues are usually Smack file transfer issues and should be reported upstream, if you found the root cause.
aSmack's file transfer capabilities are used and can therefore be tested by MAXS Transport XMPP. Since this is an GPLv3 licensed open source application, you can also view the source code and study how XMPP file transfer with (a)Smack is implemented there.