Operation |
|
The Martec System Interface (MSI) comprises two distinct parts: the server that monitors the serial port(s) for data from the safety management system (SMS), and the notification process code that performs the actual calls.
The MSI ServerIn normal operation, the MSI server is started when the main DV2000/DV4 voice mail service starts up, and runs unobtrusively in the background so long as the main voice mail service continues to run. It does not have a GUI (window) interface. The sole purpose of the MSI server software is to monitor one or two serial ports for data packets from the SMS. On receipt of a valid packet, the MSI server will parse the packet and schedule emergency notifications to whichever extensions the packet tells it to call.
Once a day, the MSI server will also run a maintenance routine to clear out expired report data. By default, any report data that is more than 30 days in the past is considered expired and will be deleted during the next maintenance cycle.
The Notification ProcessOnce an emergency alert call has been scheduled in the system by the MSI server, it is immediately available for processing. Every idle voice line periodically checks to see if any notifications are waiting in queue; as soon as it finds one that can be processed, it will do so. Emergency alert notifications take precedence over everything else (except incoming calls) and can be processed by any voice line; the outbound port access settings for the given location do not apply to the MSI feature—it will always use the first available voice port.
By design, an idle voice port will first check if any emergency alert notifications are scheduled in queue; if it finds one that is ready for processing, it will reserve that call-out for itself and begin processing it. First, it will check if the number it has been given to call is a valid mailbox on the system. If it is, the system will call the mailbox's assigned extension number. If the number does not match a valid mailbox, the system will just call the number it was given.
When the system goes to perform the call-out, it will first check for dial tone. If it does not hear dial tone, it will assume there has been a collision with an incoming call (a.k.a. glare) and it will reschedule the call-out and release the line to receive the incoming call. If there is dial tone, however, it will immediately perform a blind dial to the extension number, then transition into call progress mode. During call progress, if it detects a busy signal or is not answered within the allotted time (based on the ring count setting), it will log the failure and, assuming it has not exhausted all retries, will reschedule the call for a future time (based on the retry delay setting).
If the call is answered, the system will play the specified emergency alert message, repeating it one or more times if configured to do so. After playing the message, it will disconnect the call and log it as successfully completed.
|