[Freeswitch-users] mod_fifo recording with fifo_record_template

Steven Ward steve.d.ward at gmail.com
Thu Mar 18 11:04:56 PDT 2010


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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20100318/0ebc30af/attachment-0002.html 


More information about the FreeSWITCH-users mailing list