versaSRS Services

Overview

The versaSRS Services consist of 6 separate Services: versaSRSServiceMonitor, versaCRMMailIn, versaCRMMailOut, versaSRSMailIn, versaSRSMailOut, and versaSRSScheduler. They each control a different element of the automated functionality in versaSRS, which is explained below, most standard installations do not use the versaCRMMailIn or versaCRMMailOut Service. Once installed they can be manually stopped, started, restarted, or set to disabled via the Services application on the server.

To access this program type "Run" into the Windows search bar >> Open the Run application >> Type in "services.msc" and click OK >> Once the Services Application opens you can click one of the entries then press “V” to go straight to the versaSRS Services. We recommend you pin this application to the toolbar for ease of access.

versaSRSServiceMonitor

The versaSRSServiceMonitor ensures all of the configured Services are running, it has the ability to send an email when they stop or are restarted. Sometimes, alerts will be displayed within versaSRS if one of the Services is out of sync with the current server time and the configured threshold value (ServiceThreshold, value=”600” default value set to 10 minutes, value in seconds).

The threshold value and certain other settings are set in the CONFIG file for the Service Monitor and other versaSRS Services, to access these files they can be found in the folders versaServiceMonitor (default location: C:\Program Files (x86)\VersaDev\versaSRS\versaSRSServiceMonitor) and versaSRSWindowServices (default location: C:\Program Files (x86)\VersaDev\versaSRS\versaSRSWindowsServices), their naming convention is “versaSRSServiceName.exe.config”.

The alerts displayed in versaSRS are not always indicative of an ongoing problem. If the window disappears and no email is received then the Service was momentarily out of sync, likely due to a large email being processed. If an email was received, this is still not indicative of an active issue.

In the config file for the Service Monitor you can control whether a Service that was stopped can be restarted (RestartFailedService, value="1" means this is enabled) and how many times it can stop and be restarted before it is no longer restarted automatically. By default a stopped Service will not be restarted after 3 consecutive failures (ErrorThreshold, value="3"), this may be different in your system. When it stops consecutively there is usually an error causing this, you will need to be able to interpret what the log files are telling you in order to diagnose the issue. You will learn how to read the log files and what common errors appear in them in the subsequent pages.


versaCRMMailIn

The versaCRMMailIn allows for emails to be received into versaSRS that are not logged as Cases. This data is stored in the table tbl_VCRMCorrespondence. This is a very specific Service, if the business doesn't have a purpose for this it will not be configured or enabled.


versaCRMMailOut

The versaCRMMailOut allows for emails to be sent from versaSRS without needing to be associated with a Case. Can be used in tandem with our versaCampaignManager software, which can be utilised to send mass communications such as newsletters or announcements to versaCRM Contacts. This data is stored in the table tbl_VCRMCorrespondence. This is a very specific Service, if the business doesn't have a purpose for this it will not be configured or enabled.


versaSRSMailIn

The versaSRSMailIn processes emails from the account(s) configured within versaSRS. These emails get turned into the Cases that are logged in versaSRS, the subject of the email becomes the Subject of the Case, with the email body being set as the Details. It is possible to configure either a single or multiple mailbox setup for the email processing; since the release of version 7.2.0 of versaSRS we recommend using the multiple mailbox set up. Using the multiple mailbox setup allows for the specification of an error folder, any emails that cannot be processed successfully after trying for the amount set as the value for the versaSRSServiceMonitor ErrorThreshold, will automatically be moved into this folder rather than requiring manual intervention. If Users are reporting stuck emails that require you to move them manually, we recommend the setup is changed to multiple mailbox. Comprehensive instructions for configuring incoming and outgoing mail in versaSRS can be found here.

Run the below query to confirm what configuration is in use for your instance of versaSRS:

SELECT Value1 FROM tbl_ApplicationSettings
WHERE Name LIKE 'MultiMailbox'

If single mailbox is in use the data for the configured account is stored in the table tbl_ApplicationSettings. The following list is the Name column value for each Mailbox property that relates to the versaSRSMailIn configuration. The OAuth settings are used by both the versaSRSMailIn and versaSRSMailOut services.

Key Details
MailboxAuthMode Defines Mailbox Authentication Type
MailboxPassword Password required for authentication to the mail server
MailboxPort Set the port number EWS / POP3 / IMAP uses
MailboxProfile Profile required for authentication to the EWS / POP3 / IMAP mail server
MailboxProtocol Defines Mail Protocol (EWS, POP3 or IMAP)
MailboxSSL Enable or Disable EWS / POP3 / IMAP SSL setting
MailServer Name or IP address of the mail server
MailServerTimeout POP3 / IMAP Server Timeout in seconds
OAuthClientID Define the OAuth ClientID to be used with the account set for SMTPAccount, also known as the ApplicationID in some instances
OAuthClientSecret Define the secret password declared for the corresponding ClientID/ApplicationID
OAuthScopes Define the available scope(s) used to limit versaSRS's access to the email accounts
OAuthTenantID Define which Azure Active Directory to connect to when using Office 365

If multiple mailbox is in use the data for the configured account(s) is stored in the table tbl_MailBoxes. The following query will return the configured accounts that are actively in use.

SELECT * FROM tbl_MailBoxes
WHERE Status = 1

versaSRSMailOut

The versaSRSMailOut controls outgoing mail from versaSRS, it uses the configured account(s) to send mail. This mail is typically correspondence from a Case back to its Requestor (the person who sent the email that initially logged the Case) or to a third party. Depending on configuration it will also send out watcher notifications and automated notification emails for the Case. The service can be configured to use a single Global account for sending as well as allowing for individual Teams to have their own separate account configured. Comprehensive instructions for configuring incoming and outgoing mail in versaSRS can be found here.

The Global mailbox configuration data is stored in the table tbl_ApplicationSettings. The following list is the Name column value for each Mailbox property that relates to the versaSRSMailOut configuration. The OAuth settings are used by both the versaSRSMailIn and versaSRSMailOut services.

Application Property Details
MailOutProtocol Define the protocol to use for sending emails
OAuthClientID Define the OAuth ClientID to be used with the account set for SMTPAccount, also known as the ApplicationID in some instances
OAuthClientSecret Define the secret password declared for the corresponding ClientID/ApplicationID
OAuthScopes Define the available scope(s) used to limit versaSRS's access to the email accounts
OAuthTenantID Define which Azure Active Directory to connect to when using Office 365
SMTPAccount Defines the Account / Username when SMTPAuthentication is enabled
SMTPAuthentication Governs whether SMTP is enabled or disabled and the type of authentication
SMTPDateHeaderFormat SMTP Date Header Format ("ddd, dd MMMMMMMMM yyyy HH:mm:ss")
SMTPDateHeaderTimeZone SMTP Date Header Time Zone (" +0930" (Note: white space prefix))
SMTPLog Governs whether SMTP logging is enabled.
Note: SMTP logs are written to the file VersaSRSMailOutSMTPLog.txt located within the folder defined by TempFolder Global Setting
SMTPPassword Defines the Password when SMTPAuthentication is enabled
SMTPPort Port number of SMTP Server
SMTPRetries Ability to specify the number of retries when sending email
SMTPServer Name or IP address of SMTP server. Example 1: localhost Example 2: 127.0.0.1 Example 3: ACMEEX
SMTPSSLTLS SMTP SSL Encryption Type
SMTPStartTLS Enable SMTP SSL / TLS (Only Applies if SMTPSSLTLS Is Not "None")

If the individual Team SMTP Settings are used they can be found in the table tbl_QueueSMTPSettings. The following query will return the configured accounts that are actively in use.

SELECT * FROM tbl_QueueSMTPSettings
WHERE SMTPStatus = 1

versaSRSScheduler

The versaSRSScheduler controls the running and delivery of Scheduled Reports (tbl_ReportSchedule) as well as the creation of Scheduled Cases (tbl_CallSchedules). It also ensures the status of "Dormant" records are changed to "New" on the set date and time, and controls the Zip package creation (tbl_RecordScheduleZipPackage) option that allows you to "download" the print version of a Record along with the associated attachments. All configuration for the versaSRSScheduler is set within the versaSRSScheduler.exe.config file; if there are any issues with this service they will likely be related to the configuration of the scheduled element, not the service itself.

Next Page - Log Files & Common Errors