Search code examples
sessionrecordchannelfreeswitchconference

Record all conference legs in FreeSWITCH


I’m trying to record phone conferences, so that later on their audio can be reviewed. The requirement is to record each leg in a seperate file. After doing some googling, one way of doing it, is by using record_session and setting RECORD_STEREO to true. That will result in caller and receiver audio streams being placed in separate channels.

I am using this code in the dialplan before the bridge app:

<action application="set" data="RECORD_STEREO=true"/>
<action application="record_session" data="$${base_dir}/recordings/${strftime(%Y-%m-%d-%H-%M-%S)}_$1_${caller_id_number}.wav"/>

The problem is I could not split the channels to get the individual streams and I have all the streams in all the recorded files.

Any idea how I can fix this little issue.

Thank you for your suggestions.


Solution

  • You don't really need to use RECORD_STEREORECORD_WRITE_ONLY will do it.

    <action application="set" data="RECORD_WRITE_ONLY=true"/>
    <action application="record_session" data="/opt/freeswitch/recordings/archive/${strftime(%Y-%m-%d-%H-%M-%S)}_${destination_number}_${caller_id_number}_write.wav"/>
    

    That way you'll have a separate file for each person that enters the conference.