We have an embedded device, which connects to an Azure Function and gets a 10MB file. During the file transfer the connection is reset (TCP RST) or we see, that Azure is no longer sending data to the device, even though the device is capable of receiving data. It normally happens after minutes 5-10 minutes.
Using WireShark we are able to see, that even though the device sends "TCP Window Update", where "Win" size is more than the size of 1 TCP package, no new data is received. As a consequence, the embedded device times out waiting for data (set to 30 seconds i the test), and the embedded device sends an "ACK" and "FIN".
If the same device fetches the file from a Linux server, it works.
We know of "idle timeouts" of Azure Load Balancer, and "FunctionTimeout" if an Azure Function. But what are we missing?
The Azure Function is running on a WebApp plan, with always on enabled.
Best regards Martin