Understanding the MKS Connect Service

This Help File Page was last Modified on 11/02/2023

<< Click to Display Table of Contents >>

Navigation:  MKS Connect Service >

Understanding the MKS Connect Service

This Help File Page was last Modified on 11/02/2023

Implementing the MKS Connect Service:

The MKMS v 5.1.35.8300 and MKMSCS v 5.1.35.7200 and newer Micro Key Solutions ("MKS")  Millennium Series software applications uses the MKS Connect Service for Low Level Processing with Twilio  (www.twilio.com) to provide cloud based SMS and IVR (Voice) communication and other automated response and reporting services.

 

The SMS and Voice Call functions are handled by the MKS Connect Service ("MKS Connect Service"),

These features may be turned ON in the MKMS.db Database and also for each individual Company Database.

Set the ConnectSvc option in Company Settings to True (“T”) which is in the MKMS.dba.CompanySettings table for the MKS Connect Service to work on Emails, SMS and Voice messages from the MKMS database

The record that should be set to True (“T”) for the MKMS database should be the one that has the CompanyId = NULL.

 

To turn ON the MKS Connect Service for each individual Company Database, set the various ConnectSvc options in Company Settings to True (‘T’) where the CompanyId field is equals to the ID of the company in the Company Database table.

 

See the Customer Connect History chapter for related information about the history of the Customer Connect Service's Communication transmissions.

 

MKS Connect Service - Feature Activations in Company Settings

All the features provided by the MKS Connect Service may be turned ON [option set to True (“T”)] or OFF [option set to False (“F”)] with individual Company Settings in each one of the Company Databases  (i.e., MKSDefault and any other Company database's your Company has created)

The following list shows the features that can be turned On/Off and the Company Setting for each one of them.

1)PBX – IONIX (CSTA III): (Csta3WorkerEnabled) - Generates Alarm Signals from incoming emergency calls and handles office incoming calls to be presented to an Operator and/or a User on screen with call account information.

2)ASP - Automated Action Plan: (ASPWorkerEnabled) - Produces Email and Pager notification messages to Subscribers, Dealers and Contacts based on an Action Plan set up.  

a)This requires that an Email Service and Pager Service be activated to send those messages.

3)LLP - Service: (LLPWorkerEnabled) - Automatically process Low Level Alarms via SMS or Voice messages to the end user, and will contact only those end users who have subscribed to the LLP service.

4)AAP - Automatic Action Processing: (AAPWorkerAnabled) - Automatically process alarms with a level and condition defined by the AAP configuration.  

a)This service can manage alarm signals during Emergency Management Mode  

b)It will send notification via SMS or Voice messages to all subscriber contacts and does not require subscription like LLP does.  

c)This will also put the alarm signal on hold, if specified.

5)Email SMTP Service: (EmailWorkerEnable) - Sends emails using a company level SMTP account configured in Company Settings (smtp_????)

6)Mail-Gun Email Service: (MailgunWorkerEnabled) - Sends emails using a company level Mail-Gun account configured in Company Settings (MailGun_????)

7)Mail2Alarm Service: (MailtoAlarmWorkerEnabled) - Read emails from a set of previously configured email accounts and processes the content of those emails by searching for multiple configurable text Processingns, then generates an Alarm based on that email information, supports IMAP email accounts.

8)SMS2Alarm (Twilio) Service: (MailtoAlarmWorkerEnabled) - Process SMS messages received to evaluate the content of the messages by searching for multiple configurable text patterns, then generates an Alarm based on that SMS message information.  

a)This requires a Twilio account to receive the SMS messages.

9)SMS (Click-a-Tel) Service: (SMSWorkerEnable) - Sends SMS messages from the Millennium databases using a Click-a-Tel account (not recommended, when moving to Twilio).

10)SMS (Twilio) Service: (SMSTwilioWorkerEnabled) - Sends SMS messages from the Millennium databases using a Twilio account.

11)Voice (Twilio) Msg Service: (VoiceWorkerEnable) - Sends Voice messages from the Millennium databases using Twilio account.

12)Pager Service: (PagerWorkerEnable) - Send Pager messages from Millennium databases.

13)Scheduled Report Email: (EmailproducerWorkerEnabled) - This Scheduled Reports service is in charge of automatically generating and sending reports by email

a)You can set a predefined Report Schedule

b)The system may generate HTML reports that will be part of the body of the email, or PDF Reports that will be send as attachments.

 

HelpFilesConnectServiceCompanySettings

MKS Connect Service - Company Settings examples

 

Feature Timers

All features in MKS Connect Service run on individual timed threads

To customize the frequency in milliseconds at which each feature is activated you can (re-)set the following System Company Settings.

 

System Setting Name

SettingValue

DBMonitorTimerMs:

10000

SysStatusTimerMs:

20000

ePayTranTimerMs:

3000

ePayBatchTimerMs:

6000

ePayStatusTimerMs:

20000

ePayTokenTimerMs:

20000

EmailTimerMs:

10000

MailgunTimerMs:

30000

MailProducerTimerMs:

10000

SMSTimerMs:

5000

SMSTwilioTimerMs:

15000

LLPTimerMs:

15000

PagerTimerMs:

15000

Mail2AlarmTimerMs:

20000

 

Note: These values are given in Milliseconds ( 1000 = 1 Second )

A System Level Setting named ASPTimerMs indicates the timer frequency at which all process are executed.  

 

Activating Features for System or for specific Companies:

All Company Settings are available to manage within the MKSConfigManager desktop application

1.Local Company Settings

a.These are the existing Company Settings in the company databases like MKMSDefault.

b.Applications are required to connect to each Company Database to be able to retrieve those appropriate settings.

c.See the Multi-Company chapter for information about setting up Multiple Companies.

 

2.System Company Settings  

a.These are settings that apply to specific companies but are stored in the MKMS.db Database to avoid the need to connect to a company database to look for these settings

b.The CompanyId field in the MKMS.dba.Company table must have the ID of the company to which that setting applies

 

3.Global System Company Settings  

a.These are setting in the MKMS.db Database that do not apply to specific companies

i.Example using SMSTwilioWorkerEnabled, but it applies to all settings.

ii.Set SMSTwilioWorkerEnabled company Setting to True (“T”) in the MKMS.db Database to activate SMS services for messages from the MKMS database  (for user authentication and other)

iii.Keep in mind that the CompanyId field in the CompanySettings table in the the MKMS.db Database should be NULL when you set it for MKMS.

 

Important Note: Set the SMSTwilioWorkerEnabled Company Setting option to True (“T”) in each company's Database (e.g., MKMSDefault, etc.) that you want SMS to be activated (for customer notification and signals handling)

 

Automatic Signal Processing Capabilities

 

MKMS and MKMSCS provide 3 mechanisms to automatically process certain types of alarm signals.

These processes are controlled by the MKS Connect Service (MKSCMCService.exe) which replaces the previously used MKSASP.exe Service (see ASP below for description of the current capabilities) for handling Smooth Operator processing requirements.

Every time a new alarm signal in inserted into the Alarm related table, a Before Insert Trigger procedure evaluates whether or not the new signal could and should be automatically processed

This Before Insert Trigger procedure also determines which of the three available automatic signal processing strategies should be used to process the alarm signal and it does it in the following order:

1.Automatic Action Plans (ASP) (Email, Pager)

2.Low Lever Processing (LLP) (Interactive SMS, Interactive Voice)

3.Automatic Action Processing (AAP) (all communication options are available)

Each automatic signal process procedure runs a clean up process that checks for alarm signals that have not been processed within the time limit configured for each process and will put those unprocessed signals back in the Alarm Stack with a Pending ("P") status, or the status requested in the AAP.

ASP:  (Status X) - Automatic Signal Processing executes an Automatic Action.

Executes the aspProcessAlarm stored procedure to process these signals

Activated using the ASPWorkerEnabled Company Setting

Signals not processed expiration time Company Setting is ASPExpireMinutes

Use the Company Setting ASP_Number_Of_Alarms_To_Process to indicate how many signal will be process on each execution of the ASP process, the default is 50 signals.

LLP: (Status S) - Interactive Low Level Signal handling using Contacts (People To Call) for communication using SMS and/or IVR.

Executes the llpProcessAlarm stored procedure to process the signals

Activated using the LLPWorkerEnabled Company Setting

Signal's not processed expiration time Company Setting is LLPExpireMinutes  

Uses a Company Setting to indicate the maximum Priority Level to be processed

Uses Predefined Messages for Interactive SMS Text Messages, and IVR for Interactive Voice Messages

Requires that the Contacts (People To Call) phone numbers are subscribed to SMS or Voice Services

AAP: (Status E) MKMS allows the configuration of Automatic Action Processing (Smooth Operator) which includes the selection of different Contact List Types for certain actions that support sending notification to contact list members.

1.Executes the Smooth Operator aapProcessAlarm stored procedure to process the signals

2.Activate using the AAPWorkerEnabled Company Setting  

3.Signal not processed by expiration time set by Company Setting APPExpireMinutes  

4.Will try to process alarms using SMS and/or IVR

5.Contacts (People To Call) do not require a subscription for this service, all phone numbers will be tried

6.Can use different Automatic Action Processes for different Signal Priorities, Alarm Codes, Signal ID, Physical Zone

7.Uses the dba.aapAction table for Action Processing Definitions, the Smooth Operator Form is available to add or modify these Automatic Action Processes

8.Use the Company Setting AAP_Number_Of_Alarms_To_Process to indicate how many signal will be process on each execution or the AAP process, the default is 50 signals.

 

Supported Automatic Action Processing Codes are stored in the dba.aapActionType table (see the Action List field discussion in the Smooth Operator chapter for information relating to how they are selected):

L                Logs the signal information in the dba.SysLog table (Debug feature)

LLP                Transfer signal to be handle by LLP Service (subscription required)

SM                Sends SMS Notification to Contacts (People To Call) Contact List

SCLT#0        Sends SMS to members of contact list type specified after # sign

SI                User LLP SMS interactive with no subscription required (last action taken)

VM                Sends IVR Voice notification to identified members Contacts (People To Call) Contact List

VCLT#0        Sends IVR Voice to members of contact list type specified after # sign

VI                Uses LLPV IVR for signal handling with no LLP Subscription require (last action taken)

EM                Sends Email Messages to Contacts (People To Call) Contact List

ECLT#0        Sends Email to members of contact list type specified after # sign

ES                Sends Email Message to Subscriber Account's Email address

EMA                Sends Email Messages to Alternate Call List Contacts

EMD                Sends Email Messages to Dealer Call List Contacts

ED                Sends Email to Main Dealer Account’s Email

PM                Sends Pager Notification to Contacts (People To Call) Contact List

PD                Sends Pager Notification to Main Dealer Account’s Email

PCLT#0        Sends Pager Messages to members of contact list type specified after # sign

H                Set signal Status to On-Hold (after previous actions are done)

P                Set signal Status to Pending (after previous actions are done)

C                Set signal Status to Completed (after previous actions are done)

*H                Set signal Status to On-Hold if signal time is expired and has not been processed

*P                Set signal Status to Pending if signal time is expired and has not been processed

*C                Set signal Status to Completed if signal time is expired and has not been processed