Hello,
I am tasked with creating Alarm callout logic for a client using different notification methods simultaneously as well as escalation, but I am confused as to how to best achieve this.
The following is my client's desired "Functional Description" for alarm callouts:
1.) A Roster of users titled "Email_Always" will be emailed every time an alarm event goes active.
2.) When an alarm goes active, two users that are part of a Roster titled "Lead _Backup" will be called, texted, and emailed at the same time. They won't be able to acknowledge from any of these notification methods so they will have 5 minutes to log into Ignition and acknowledge from within the session or the alarm will call out to them again. If either the Lead or Backup acknowledges the alarm, the alarm will drop out of the alarm pipeline.
3.) If the alarm cycles through five attempts for both the Lead and the Backup without being acknowledged or cleared, the first user in a Contingency Roster will be called, texted, and emailed at the same time. If the first user of the Contingency Roster logs in and acknowledges the alarm within 5 minutes, the alarm will drop out of the alarm pipeline. If the first user doesn't acknowledge the alarm within 5 minutes, it will go to the second user.
4.) The second user will be called, texted, and emailed at the same time. If the second user logs in and acknowledges the alarm within 5 minutes, the alarm will drop out of the alarm pipeline. If the second user doesn't acknowledge the alarm within 5 minutes, it will go to the third user.
5.) The third user will be called, texted, and emailed at the same time. If the third user logs in and acknowledges the alarm within 5 minutes, the alarm will drop out of the alarm pipeline. If the third user doesn't acknowledge the alarm within 5 minutes, the entire call-out order will start again from step 1.
I've been experimenting with this for a couple of days, and along the way I've encountered a few wrinkles:
1.) Emails and SMS notifications take far less time to "complete" than do VoIP phone calls. So, notifying users via all three methods is a difficult thing to synchronize. For VoIP in particular, I have to contend with the Call Timeout & Answer Timeout Durations defined in the Gateway, as well as the delay between contacts on the notification block using VoIP. This is difficult because technically calls can take different amounts of time to "complete". For example, when a user answers and presses a key, if the Answer Duration is exceeded, or if the user presses the end call button when the system calls.
2.) Splitter blocks create instances of alarm events and I want to avoid multiplying nuisance alarms wherever possible.
In any case, I'm new to Ignition so any advice for putting something like this together would be greatly appreciated. I can attach screenshots and provide more details as needed. Cheers!