File transfer failure on delayed network

As i’m not a developer, i can’t tell whether it is a bug or an intended behavior about that exception. Maybe the timeout value in the preferences is only for the other party to accept the download and that’s why you are able to press Accept (when i tried to wait longer than a minute, i wasn’t able to accept the transfer anymore, although it didn’t show an error). And when you accept the transfer, then that 15 seconds timeout value is applied.

You can try 2.9.0 nightly build and enable In-Band Bytestreams Only setting in the same preferences menu. Though it probably uses same timeouts. https://www.igniterealtime.org/downloads/nightly_spark.jsp

Another solution would be to make this transfer initiation timeout configurable. But unless someone provides a patch it won’t be done. There are no active developers working on Spark. I have filed https://issues.igniterealtime.org/browse/SPARK-2057 for this. But it is even more complex as the line you have found is actually in the Smack library. So first it has to be made configurable in the Smack library (if their developers would accept such change), then Spark has to be updated to that version of Smack which can be a huge task in itself and only then it can be made configurable in Spark. You can ask about it in Smack forum.