Failed Archiving of recordings possible solution.
Thought I would give a bit of feedback on this and hopefully I think I have found a solution for my instance of the call recordings not being archived automatically but the manual button to move to archive works fine.
My instance is self hosted in Azure.
So I thought I would look into this a bit more because ever since I updated to V20 I have had this problem and no one had the answer.
When 3CX automatically archives call recordings, it opens a connection to our remote SFTP storage server to transfer the files.
The issue is that all outbound connections from Azure pass through Microsoft's network infrastructure, which has a built-in rule that automatically closes any connection that appears idle for more than 4 minutes. This is a standard Azure behaviour that cannot be changed on Azure's side.
When 3CX's automatic archive runs, there is a pause during the login handshake with the SFTP server while it authenticates. Azure sees this pause as the connection being idle and silently closes it before the login can complete. 3CX then waits for a response that never comes, eventually giving up and logging the timeout error.
The reason it works when triggered manually is that the manual process is faster and more direct, completing the handshake before Azure's timer runs out.
Previously the VM was only sending this signal after 2 hours of idle time, long after Azure had already closed the connection, (4 min) I changed this to send the signal after 2 minutes, which keeps the connection visibly active and prevents Azure from closing it.
It seems to be working for me now so I thought I would share an avenue for you to look at.