I'm calling in from a Linksys SPA941 and I will be the only user on the FreeSWITCH server. I have been using tcpdump to capture my RTP traffic using the following command:

tcpdump -i any -n dst portrange 10000-50000

I configured two test scripts as below:

Script 1: Answer call, generate 1000ms silence (as above) and then record. 
This showed a steady stream of UDP data throughout the call and resulted in a recording.

Script 2: Answer call, sleep for 1 second and then record. 
This showed a steady stream of UDP data throughout the call but resulted in a blank recording.

This is interesting and indicates to me that there is probably something that the FreeSWITCH file play operation is doing (even when its a silence stream) that is not carried out by the record application. I would expect that its unusual for a telephony application to want to answer and record without any play operations first.

Thanks again,

Callum