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="4"/>
<add name="Debug" value="3"/>
<add name="Instrument" value="0"/>
</switches>
</system.diagnostics>
<!--Delay before sending email notifications-->
<add key="StartDelaySeconds" value="0"/>
<!--Number of threads that deal with uploading info to the database -->
<add key="DatabaseWorkerThreads" value="3"/>
<!--Location of the HTTP bridge used for authentification -->
<add key="HttpBridgeUrl" value="http://localhost:7003"/>
<add key="RunMode" value="combined"/>
<!--How often we run the .net garbage collect function-->
<add key="CollectGarbagePeriodMins" value="5.0"/>
<!-- DBConnection used for connection to the database -->
<!--<add key="DBConnectionString" value="dsn=RecordingMonitor2;Uid=sa;Pwd=sa"/>-->
<add key="DBConnectionString" value="dsn=RecordingMonitor"/>
<!--Query Timeout Value in seconds for ODBC Database Queries-->
<add key="ODBCQueryTimeout" value="60"/>
<!--Query Timeout Value in seconds for Async BrowserQueries-->
<add key="QueryAsyncExpiryTime" value="65"/>
<!-- If checksum of recordings is required, the checksum columns need ton be added to the recordings table if they are not already there.
For a very large recordings table, creating the extra columns may take a long time. -->
<add key="UseChecksumColumns" value="false"/>
<!--MP3 MPEG Version, MPEG1 or MPEG2 allowed-->
<add key="CompressionMpegVersion" value="MPEG2"/>
<!--MP3 compression quality for encoder, quality value can be 0 to 14-->
<add key="CompressionQuality" value="6"/>
<!--Turn on Compression, ONLY MP3 supported for now-->
<add key="Compression" value=""/>
<!--Path Monitor Buffer Size, DO NOT EXCEED 64KB-->
<add key="BufferSizeKb" value="64"/>
<!--Path to the directory for the locally archived recordings-->
<add key="LocalRepositoryPath" value="C:\Softdial\RecordMonitor\localStorage"/>
<!--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 recordings -->
<!-- you can monitor multiple paths by including them separated by "|", i.e value="C:\Recording|D:\Recording"-->
<add key="PathToMonitor" value="C:\Softdial\RecordMonitor\Recording"/>
<!-- Run path monitoring on multiple threads to improve performance-->
<add key="EnablePathThreads" value="false"/>
<!-- set true if Directories are scheduled to be cleaned, false if not -->
<add key="CleanDirectories" value="false"/>
<!--Scheduled Time to remove empty Directories (HH:MM:SS) in 24 hour clock format-->
<add key="CleanDirectoryTime" value="02:50:00"/>
<!--Comma separated list of root paths to be searched for empty directories to remove at the scheduled time-->
<!-- Note multiple directories can be cleaned by using ',' i.e. value="C:\Recording,D:\Recording"-->
<add key="CleanDirectoryPaths" value="C:\Softdial\RecordMonitor\Recording"/>
<!-- The root directory for the mirrored recording storage-->
<!--<add key ="mirrorRoot" value="c:\MirrorStorage"/>-->
<!-- The structure of the mirrored directory -->
<!--<add key ="mirrorFormat" value="year\month\agentid\dd.mm.yyyy\_telephone.wav"/>-->
<!--Path to the directory of where to put recordings when update to DB fails-->
<add key="PathToUnprocessed" value="C:\Softdial\RecordMonitor\RMUnprocessed"/>
<!-- Default unprocessed check period (in the absence of defined times)-->
<add key="unprocessedCheckPeriodHrs" value="3"/>
<!--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"/>
<!--Time to carry out archive (HH:MM:SS) in 24 hour clock format-->
<add key="archivetime" value="03:00:00"/>
<!--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="1"/>
<!-- If we should use mapped drives OR network addresses for archiving to. NOTE if archiving it over a network where the machines are not same domain needs to be NON Mapped -->
<add key="archiveToMappedDrive" value="false"/>
<!--Give priority to incoming records, if the incoming record count is greater than this value. For release 10.5, if this value is not zero, no priority will be given. -->
<add key="ArchiveSleepThreshold" value="0"/>
<!--This is the amount of time the Archiving will delay between archiving each file, multiplied by the incoming record count. For release 10.5, the incoming record count is always zero or one. -->
<add key="SleepPerWaitingRecordMilliSeconds" value="1000"/>
<!-- When enabled metrics allows system support to log into your system and launch a broswer page to monitor the performance of the recording monitor process -->
<add key="EnableMetrics" value="true"/>
<!-- The IP address where the metrics feed is being sent to by the application -->
<add key="MetricsHttpAddress" value="http://+:7004/RecMonStats/"/>
<!-- Show spoof agent recordings -->
<add key="ShowSpoofAgents" value="false"/>
<!-- Archiving path for each tenant-->
<TenantArchiving>
<add key="default" value="C:\Softdial\RecordMonitor\Archive"/>
</TenantArchiving>
<!-- These indexes will be added to your database table if not already present. These represent the most common search queries executed on large databases by the recording monitor service -->
<DbIndexes>
<add key="indexSess" value="Session"/>
<add key="indexCmp" value="Campaign"/>
<add key="indexAgent" value="Agent"/>
<add key="indexCampAgent" value="Campaign,Agent"/>
<!-- Uncomment the indexes below to improve database query performance when using the "search" screen.
When RecordingMonitor starts, it will create these indexes if they do not already exist.
If using a very large database, this may place a large workload on the system for a period of time.
The extra indexes will also require more disk space for the database.-->
<!--
<add key="indexTelephone" value="TelephoneNumber"/>
<add key="indexAgentOutcome" value="AgentOutcome"/>
<add key="indexTelephonyOutcome" value="TelephonyOutcome"/>
<add key="indexCallLength" value="CallLength"/>
<add key="indexCustomTag1" value="CustomTag1"/>
<add key="indexCustomTag2" value="CustomTag2"/>
<add key="indexCustomTag3" value="CustomTag3"/>
<add key="indexCustomTag4" value="CustomTag4"/>
<add key="indexCustomTag5" value="CustomTag5"/>
<add key="indexCustomTag6" value="CustomTag6"/>
-->
</DbIndexes>
<!--Time to carry out unprocessed folder check-->
<UnprocessedChecks>
<add key="0" value="03:00:00"/>
<add key="1" value="05:00:00"/>
</UnprocessedChecks>
<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>
On service startup, Softdial Recording Monitor™ creates
Config variable | Default value |
---|---|
PathToMonitor | C:\Softdial\RecordMonitor\Recording |
LocalRepositoryPath | C:\Softdial\RecordMonitor\localStorage |
PathToUnprocessed | C:\Softdial\RecordMonitor\RMUnprocessed |
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 PathToMonitor 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
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
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)
When it is accessed for the first time, Softdial Recording Monitor™ will create a new database with the same name as the tenant 1If the current tenant is 'default', the database name will be '_default' to avoid possible conflict with internal tables used by the database server., containing two tables:
This database is provided for test, demonstration and low volume usage purposes only and should be replaced by MSSQL 2008 or later for high volume production use.
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.
The ProxyPass settings Apache configuration file (C:\Softdial\WebServer\usr\local\apache2\conf\httpd.conf) must be configured to point to the Softdial Recording Monitor™ server.
If the Softdial Recording Monitor service is installed on the same server as Apache then the default settings (below) may be used, however if it is installed on the Softdial Telephony Gateway™ server, this setting will need to be updated.
The ProxyPass setting is at the very bottom of the httpd.conf file.
#proxy scripter of all tenants
ProxyPass /scripter http://localhost:81/scripter
ProxyPass /recserver http://localhost:31500
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.