Split Customer/ Agent Recordings
These dual-channel WAV files are created in a tenant-specific folder within the callRecordingPath folder. the workflow, involving both Softdial Telephony Gateway™ (STG) and Softdial Recording Monitor™, is as shown in Fig. 1:
Fig. 1 - Dual -channel recording workflow
In Fig. 1:
- STG creates separate mono recordings of agent and customer sides of the conversation
- Softdial Recording Monitor moves both mono recordings to a local repository
- the recordings are loaded into SoX (a sound processing utility installed with Softdial Recording Monitor)
- SoX merges both files into a single stereo file & saves it to the local repository
- if successful, both source mono files are deleted
When dual-channel file recording is enabled, the normal mono files also continue to be created (see Recording Process). Only the mono file for each call session is visible within Recording Monitor.
To enable dual-channel recording, both Softdial Telephony Gateway™ (STG) and Softdial Recording Monitor™ must be configured correctly, as follows.

The following entries must be made in the STG config.xml file:
<!-- ****** Multiple files call recordings ****** -->
<!-- True if basic call recordings should also produce _customer.wav files at the same time. -->
<makeSplitCustomerRecording>true</makeSplitCustomerRecording>
<!-- True if basic call recordings should also produce _agent.wav files at the same time. -->
<makeSplitAgentRecording>true</makeSplitAgentRecording>
<!-- If using split recordings, where should the single source (agent or customer) recordings be written to -->
<splitRecordingsPath>C:\sytel\mdual\</splitRecordingsPath>
<!--
/// If using split recordings, this defines how the name should be formed using the available information. ".wav" will automatically be appended.
/// {0} = Tenant Name (TD param)
/// {1} = Campaign Name (CN param)
/// {2} = Session Id (SI param)
/// {3} = Telephone number
/// {4} = Recording Unique Id (YR param)
/// {5} = Date (yyyy-MM-dd)
/// {6} = Time (hh-mm-ss-fff)
/// {7} = Type ("Customer" or "Agent")
-->
<splitRecordingsNameFormat>{0}_{1}_{2}_{7}</splitRecordingsNameFormat>
The parameter <splitRecordingsNameFormat>must follow this convention:
tenant_<any optional parameters>_sessionID_type
This corresponds to a value of:
{0}<_zero or more optional parameters>_{2}_{7}
The separator is discretionary as desired.

{0}_{1}_{3}_{5}_{6}_{2}_{7}
produces tenant_campaign_telephoneNumber_date_time_sessionID_type.wav
{0}_{3}_{5}_{2}_{7}
produces tenant_telephoneNumber_date_sessionID_type.wav
{0}_{1}_{6}_{2}_{7}
produces tenant_campaign_time_sessionID_type.wav
{0}_{5}_{3}_{1}_{2}_{7}
produces tenant_date_telephoneNumber_campaign_sessionID_type.wav

The following entries must be made in the RecordMonitor.exe. XML file:
<!-- *************** STEREO FILES MERGER *****************-->
<!-- Enable/Disable the stereo file merger module -->
<add key="StereoMergerEnabled" value="true" />
<!-- Destination folder for stereo files -->
<add key="StereoMergerLocalRepository" value="c:\sytel\StereoFiles" />
<!-- Input folder to get the mono files - usually from an STG server -->
<add key="StereoMergerAudioSourceFolder" value="c:\sytel\MonoSplitFiles" />