Configuration
Softdial Recording Monitor™ is configured using the RecordMonitor.exe.config XML file which is installed by default in C:\Softdial\RecordMonitor on the local machine during a full product install.
Listed below are the configuration options available for Softdial Recording Monitor™. All other fields that are found in the configuration file should not be modified.
Usage guidance notes are provided inline as <!-- comments -->


<system.diagnostics>
<switches>
<add name="Trace" value="3" />
<add name="Debug" value="3" />
<add name="Instrument" value="0" />
</switches>
</system.diagnostics>


<!-- Should audio be merged with video for voice sessions? Mp4 files will always exist without audio for non voice sessions.
If the setting is false, but there is video for a voice session, the video will be processed separately and will not have audio.
This setting will usually be set to true if you record agent screens for voice sessions. -->
<add key="MergeAudioWithVideo" value="false" />
<!-- Number of minutes waiting for video. If video does not arrive within specified time we will assume there is no video. If MergeAudioWithVideo is disabled this value is ignored -->
<add key="TimeToWaitForVideo" value="60" />
<!-- With well-behavewd pagination you will be able to know how many records a search query returns but it will have a significant performance decrease.
Disable this value to make queries faster
-->
<add key="WellBehavedPagination" value="true"/>
<!-- Recording Monitor performs 'starts with' comparison for performance reasons.
You are allowed to switch to perform 'like' comparisons but it will impact Query performance. -->
<add key="PreferLikeOverStartsWith" value="true" />
<!-- Show spoof agent recordings -->
<add key="ShowSpoofAgents" value="false" />
<!--
<add key="DisableWebInterface" value="false"/>
<!--
<!-- add key="MinimumDiskSpacePercent" value="5"/ -->

<!--MP3 variable bitrate compression quality for encoder, quality value can be 0 to 9-->
<add key="CompressionQuality" value="6" />
For guidance, see Variable bitrate compression.
<!--
<add key="CompressionFixedBitrate" value="" />
If value="" (default), the variable bitrate from CompressionQuality (above) will be applied.
Any other value sets WAV to MP3 conversion to use a fixed bitrate.
For guidance, see Fixed bitrate compression.
<!-- Turn on Compression, ONLY MP3 supported for now-->
<add key="Compression" value="" />
<!-- Audio files will be processed and kept to the database. This is valid when compression or video merging are enabled -->
<add key="KeepWavFile" value="false" />

<!--Path to the directory for the locally archived recordings-->
<!--Those tokens are supported "{year}", "{month}", "{agentid}", "{dd.mm.yyyy}", "{telephone}", "{tenant}", "{campaign}"
When archiving, the {tenant} token is MANDATORY. This allows Recording Monitor to process the recording to the right database. If the {tenant} token is not present, archiving will not take place.
Domain paths can follow the format <domain>\<user>:<password>\\<host>\path, or a local path.
If you use a domain path, you MUST specify the domain of the user. -->
<add key="LocalRepositoryPath" value="C:\Softdial\RecordMonitor\localStorage\{tenant}\{campaign}" />
<!--Email address to send notifcation emails, leave blank to turn off email sending ("")-->
<!-- Multiple email destinations can be configured by using ',' i.e. value="example@example.com,example2@example2.com"-->
<add key="EmailDestinations" value="example@example.com" />
<!--Path to the directory of where STG stores audio recordings
Multiple audio folders can be monitored by separating the paths with "," eg value="C:\rec1,C:\rec2"
Domain paths can follow the format <domain>\<user>:<password>\\<host>\path, or a local path.
If you use a domain path, you MUST specify the domain of the user. -->
<add key="AudioPathToMonitor" value="domain\Administrator:123abc\\10.0.0.1\c$\rec" />
<!--Path to the directory of where Aggregator stores video recordings
Domain paths can follow the format <domain>\<user>:<password>\\<host>\path, or a local path.
If you use a domain path, you MUST specify the domain of the user. -->
<add key="VideoPathToMonitor" value="domain\Administrator:123abc\\10.0.0.1\c$\Aggregator" />
<!-- Delete empty directories on LocalRepositoryPath, AudioPathToMonitor and VideoPathToMonitor The format of this value can be either
- <hh:mm>, which instructs Recording Monitor to execute the process once, around the time indicated
- <m(mm...)> indicating the interval which Recording Monitor will use to delete the directories -->
<add key="DeleteDirectories" value="00:00"/>

<!-- The root directory for the mirrored recording storage-->
<!--<add key ="mirrorRoot" value="c:\MirrorStorage"/>-->

<add key="enableArchive" value="false" />
<!--Days to keep records in local archive, when the archiving takes place records that are older than this number of days will be archived-->
<add key="daysBeforeArchive" value="0" />
<!--Days between each archiving operation. This is the number of days between each scheduled archive. Following each archive the next is scheduled for after this time period in days -->
<add key="daysBetweenDiskChecks" value="0" />
<!--
<add key="TimeToRunArchivingRoutineDaily" value="03:00" />
<!-- If we should use mapped drives OR network addresses for archiving to. NOTE if archiving is over a network where the machines are not same domain needs to be NON Mapped -->
<add key="archiveToMappedDrive" value="false" />

<!-- Archiving path for each tenant.
The archiving folder supports tokens. Note that for archiving to succeed, those tokens MUST be present in LocalRepositoryPath.
Different archiving folders can be configured for different tenants. If a folder is not configured for a tenant, the default tenant folder will be used.
Domain paths can follow the format <domain>\<user>:<password>\\<host>\path, or a local path. -->
<TenantArchiving>
<add key="default" value="c:\Archive\{tenant}" />
</TenantArchiving>

<logFile>
<!-- Settings for main log file: -->
<add key="Location" value="ApplicationFolder" />
<add key="MaxDaysOld" value="20" />
<add key="BreakAtMidnight" value="true" />
<add key="BreakAtSize" value="10000000" />
</logFile>

<!-- Mail setting for mail server authentication-->
<system.net>
<mailSettings>
<smtp from="donotreply_recordmonitor@example.com">
<network host="" port="" userName="" password="" defaultCredentials="true" />
</smtp>
</mailSettings>
</system.net>

<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<!--<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />-->
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider>
</providers>
</entityFramework>

<connectionStrings>
<add name="RecordingContext" connectionString="server=localhost;user id=root;password=root;database=_default" providerName="MySql.Data.MySqlClient" />
<!--<add name="RecordingContext" connectionString="Server=10.0.0.144,1313; Network Library=DBMSSOCN; Initial Catalog=_default; User Id=sa; Password=Sytel123;" providerName="System.Data.SqlClient"/>-->
</connectionStrings>

On service startup, Softdial Recording Monitor™ creates
Config variable | Default value |
---|---|
AudioPathToMonitor | C:\sytel\rec |
LocalRepositoryPath | C:\Softdial\RecordMonitor\localStorage |
Softdial Telephony Gateway™ (STG) writes new recording files to the location specified in STG's configuration file by the callRecordingPath variable. By default, this matches Softdial Recording Monitor™'s AudioPathToMonitor folder. Softdial Recording Monitor™ reads the files that appear in this folder and tries to write the details contained in the metadata to the SQL database (as defined in the config file).
If successful, the recordings are moved to the localStorage folder.
The resulting folder structure itself is customisable, by using the following tokens:
- {year}
- {month}
- {dd.mm.yyyy}
- {tenant}
- {campaign}
- {agentid}
- {telephone}
e.g. c:\Softdial\RecordMonitor\localStorage\{tenant}
If it is not possible to process the new files for any reason, they
Files that have been successfully processed are deleted from the folder specified by AudioPathToMonitor , so normally
If Softdial Recording Monitor™ needs to access folders over network you will need to grant administrator privileges to the Softdial Recording Monitor service (see Fig. 1)

Softdial Recording Monitor™ runs as a windows service. This is configured during the installation process. Softdial Recording Monitor™ requires the following set of Softdial services to be running in order for the web client interaction to function correctly.
- Softdial HttpSDMPBridge
- SoftdialWebServer
- Softdial Recording Monitor
- SoftdialMySQL/ SoftdialMariaDb1

During the installation process, an ODBC connection is set up to the local database. The ODBC connection is called RecordingMonitor and can be modified and tested with the windows ODBC connection configuration tool.