I'm looking to use fifo_record_template to specify uniquely named recording files.  Here is the situation:

I'm using a fifo with on-hook members.  I would like each fifo call to be recorded, with each recording-file named uniquely.

Thanks to some helpful IRC talk, I have learned that the following works well:

<fifo name="Outside_Call@$${domain}" importance="0">
   <member timeout="20" simo="1" lag="0">{fifo_record_template=$${base_dir}/recordings/my_recording.wav,fifo_member_wait=nowait}user/35351@$${domain}</member>
</fifo>

However, this records each and every fifo call to the file (in my case):
/usr/local/freeswitch/recordings/my_recording.wav

Every new call overwrites the file.

Instead of a statically defined file name, I would like a unique file name for every fifo call.

I don't know how to make reference to channel variables in this definition.  I tried the following, but it results in an error:

<fifo name="Outside_Call@$${domain}" importance="0">
   <member timeout="20" simo="1" lag="0">{fifo_record_template=$${base_dir}/recordings/{${uuid}.wav,fifo_member_wait=nowait}user/35351@$${domain}</member>
</fifo>

The error I see on the CLI when a call goes into the FIFO is this:

2010-03-18 13:51:11.289448 [CRIT] switch_channel.c:759 Invalid data (${fifo_record_template} contains a variable)

It was also suggested to me that I escape the '$' character on the variable.  Like this:

<fifo name="Outside_Call@$${domain}" importance="0">
   <member timeout="20" simo="1" lag="0">{fifo_record_template=$${base_dir}/recordings/{\${uuid}.wav,fifo_member_wait=nowait}user/35351@$${domain}</member>
</fifo>

This also resulted in:

2010-03-18 13:52:37.014742 [CRIT] switch_channel.c:759 Invalid data (${fifo_record_template} contains a variable)

The recording file doesn't get generated.

Any recommendations on using fifo_record_template to generate recording file names that are unique to each call?  Is there a way to get channel variables to be evaluated and populate the value of fifo_record_template?

Or does fifo_record_template only support static values (meaning I'd have to do a record_session in dial plan?)?

Thanks for any feedback.