My provider firewall's TCP session timeout is ~5 minutes. Local and the remote side behind NAT+firewall. I use TLS/SSL FTP explicit connection. Connection settings: Passive mode, Executing dummy protocol commands, seconds between keepalives: 30 seconds.
If the file transfer takes longer time than the session timeout, after uploading a file is completed, I get "Timeout detected. (control connection)" message (but only when the transfer takes longer than time of the session timeout per file).
I think, while uploading files, the control connection TCP session is disconnected, beceause keepalives not sent.
It is possible while uploading files send keepalives to prevent control connection TCP session disconnected? (Putty 0.66 connections disconnect here too, without set seconds between keepalives)