Recording Process
The table below shows the abbreviations used in this topic, and the location of each configuration file:
Abbreviation | Application | Configuration file | Location |
---|---|---|---|
STG | Softdial Telephony Gateway™ | \<root>\STG\Config.xml | Server |
DCAP | Desktop Capture client | C:\Users\<user>\AppData\Local\Sytel\DCAP | Client |
Rec Mon | Softdial Recording Monitor™ | \<root>\RecordMonitor\RecordMonitor.exe.config | Server |

Fig. 1 shows the workflow described below as a diagram.
Fig. 1 - Audio and Video Capture Workflow
The actions numbered below refer to the red numbers in Fig. 1.
Note that some actions described only occur if a particular key has a particular value in its configuration file, as detailed below.
# | Component | Action | Only if this key... | has this value |
---|---|---|---|---|
1 | STG | Produces WAV audio recordings (in response to a Request Recording [RR] message) Writes files to <callRecordingPath> |
- | |
2 | DCAP | Produces MP4 video files, captured by default at 10 video frames per second. On session completion, these are saved by default in the localStorage subfolder of the application folder on the client. |
- | |
3 | DCAP | The MP4 file is then sent to <mp4Filepath> on the Softdial Recording Monitor™ server (as specified in \Softdial\RecordMonitor\Aggregator\Config.xml) by simple file transfer. | - | |
4 | Rec Mon | Rec Mon monitors two directories:
Rec Mon processes audio and video files whenever new files appear there, matching any audio and video files with the same meta data ID tag. If these point to the same directories as those in #1 (<callRecordingPath>) and #3 (<mp4Filepath>) above, Rec Mon will process as soon as they are completed. |
- | |
5 | Copies the WAV file into <mirrorRoot> and <LocalRepositoryPath> | KeepWavFile | true | |
6 | Merges the WAV file with the video MP4 into a composite MP4 | MergeAudioWithVideo | true | |
7 | Compresses the WAV file. Currently only MP3 format is available. | Compression | MP3 | |
8 | Copies the MP3 (if produced) and merged MP4 files into <mirrorRoot> | - | ||
9 | Copies the MP3 (if produced) and merged MP4 files into <LocalRepositoryPath> | - | ||
10 | Insert file record into database, for later search and retrieval For more detail on the contents of a database record, see Database record fields below |
|||
11 | Once processed, deletes the original files:
|
- | ||
12 | Moves original WAV, compressed MP3 and merged MP4 files into <TenantArchiving>, according to <daysBeforeArchive> and <daysBetweenDiskChecks> | enableArchive | true |

- DCAP client will record activity on all agent screens
- Rec Mon will always process video recordings. The MergeAudioWithVideo setting determines if Rec Mon should merge audio files with video files, in voice sessions. This setting is useful where customers record agent screens ONLY in non-voice sessions, so a WAV file does not exist. In this scenario, set MergeAudioWithVideo to false so all wav files can be processed immediately, without having to wait for video to arrive.
- If <MergeAudioWithVideo> is true, Rec Mon will wait <TimeToWaitForVideo> for the video file. If the video file does not arrive within this specified time, Rec Mon assumes that the call has no video and an MP4 is not produced. The WAV file is kept in <AudioPathToMonitor> while waiting for the video.
- If <KeepWavFile> is disabled, Rec Mon does not guarantee video recovery.
- On start-up, Rec Mon will process all WAV files found in <AudioPathToMonitor>. Therefore, to process any existing recordings, simply start Rec Mon.
- The Rec Mon web client may display up to 3 entries for the same call session (the output of steps 5 and 9, all located in <LocalRepositoryPath>, as shown in Fig. 1);
- the original WAV file
- the compressed MP3 file
- the merged MP4 file
- To use Rec Mon across different domains, domain paths can be configured with proper credential information in the configuration file. Domain paths should follow the format <domain>\<user>:<password>\\<host>\path, e.g sytel\johnc:123\10.0.0.1\c$\rec
- Spoof Agents are not displayed if <ShowSpoofAgents> is disabled.
- Rec Mon will notify via email when the disk space available is too low, as set in Aggregator.exe.config. The emails are sent into <EmailDestinations>

Audio WAV to MP3 conversion uses variable bitrate compression by default. From v10.7.1882, fixed bitrate conversion is also possible.
See the Compression configuration options.
Prior to v10.7.1882, quality is set via the CompressionQuality key. See Variable bitrate compression below.
-
variable bitrate compression, leave the CompressionFixedBitrate value empty (default). The CompressionQuality value is then used. See Variable bitrate compression below.
-
fixed bitrate compression, set the CompressionFixedBitrate value to a permitted value. See Fixed bitrate compression below.

For the CompressionQuality key, a lower value is a higher quality. 0-3 will normally produce transparent results, 4 should be close to perceptual transparency, and 6 (default) produces an "acceptable" quality.
Value | Bitrate range (kbit/s) |
---|---|
0 | 220-260 |
1 | 190-250 |
2 | 170-210 |
3 | 150-195 |
4 | 140-185 |
5 | 120-150 |
6 | 100-130 |
7 | 80-120 |
8 | 70-105 |
9 | 45-85 |

Permitted values for the CompressionFixedBitrate key are as below, with corresponding output file sizes.
File size | |||
---|---|---|---|
value | per second (KB) | per minute (KB) | per hour (MB) |
8k | 1 | 60 | 3.6 |
16k | 2 | 120 | 7.2 |
32k | 4 | 240 | 14.4 |
48k | 6 | 360 | 21.6 |
64k | 8 | 480 | 28.8 |
128k | 16 | 960 | 57.6 |
'' (empty) | Variable bitrate compression will be used |

Videos can be recorded with 4 levels of quality - 1 (lowest) through 4 (highest). This can be set in the Quality key in Aggregator.exe.config. Every increase in quality roughly doubles the size of the MP4 file.
The quality value specified in Aggregator is equivalent to a FFmpeg CRF value as follows:
Quality value | CRF | Visual quality | File size |
---|---|---|---|
1 | 34 | Lowest. Minimum desirable to capture all screen details | Smallest |
2 | 28 | Medium-low | Small |
3 | 22 | Medium-high | Medium |
4 | 16 | Highest. Effectively lossless to most people | Largest |
To help gain an understanding of the disk capacity requirements for your operation:
- download the Video Disk Space Calculator spreadsheet (zipped, 21Kb)
- enter the values for your specific operation

The following fields are recorded in the database (see Fig. 1, item 10):
Field | Description | Datatype |
---|---|---|
ID | An auto-generated GUID for the entry in the database | varchar |
Campaign | The campaign name | varchar |
Agent | The agent name | varchar |
OriginalFileName | The recording file name | varchar |
Session | An internal identifier for the session | varchar |
TelephoneNumber | The called/ calling party telephone number | varchar |
AgentOutcome | The outcome selected by the agent | int |
TelephonyOutcome | The outcome recorded by the telephony layer | int |
Committment | The commitment value | varchar |
SuccessRating | The success value | int |
CallStartTime | The date and time of the start of the recording | datetime |
CallLength | The duration of the call | int |
CustomTag[1 to 6] | User defined tags | varchar |
ArchiveDate | The date and time of tenant archiving (see Fig. 1, item 12) | datetime |
FilePath | The full path to the recording | varchar |
WavCheckSum | Internal error check | varchar |
Mp3CheckSum | Internal error check | varchar |
SessionUniqueId |
An auto-generated GUID for the session (i.e. the YS parameter) | varchar |
Direction |
Inbound or outbound | int |
RecordingType | a - audio av - audio & video |
varchar |
RecordLength |
|
varchar |

If... | Then... | |
---|---|---|
1 | Rec Mon is stopped while processing a recording | the worst case is that there are multiple entries in the database for the same recording. This is because Rec Mon will only delete the WAV file from <AudioPathToMonitor> after copying it into <LocalRepositoryPath> and <mirrorRoot>. Thus if Rec Mon restarts and the WAV file is still in <AudioPathToMonitor> it will be processed again and placed in the Duplicated folder in <LocalRepositoryPath> |
2 | STG stops working, or the WAV file is incomplete or has invalid XML data | Rec Mon will place the recording in the Failed folder in <LocalRepositoryPath> |
3 | DCAP or Aggregator stop working and <MergeAudioWithVideo> is on | no MP4 files will be produced, but Rec Mon will still wait the duration of <TimeToWaitForVideo> anyway. |
4 | either the database or the <AudioPathToMonitor> folder is not accessible | the recordings will remain in <AudioPathToMonitor> |