Custom Web Based Unit Contact/Alert System

Started by rbrehm, February 23, 2015, 05:45:31 AM

0 Members and 1 Guest are viewing this topic.

rbrehm

A couple other staff members and I have been discussing an idea that I would like to put out there and get feedback and (a lot) of help making into a reality. I'm looking to create a web based contact system that downloads membership, contact and qualification data from eServices, and separates them into "groups" predetermined by the admin. The system would use something like Twilio (or similar) to contact members via SMS messages, automated voice phone calls, and/or email(s).

Staff members with access (via user accounts) could log into the system, and select a group, groups, or individual users and send out information.

Our unit uses TexCom.com currently, but the more I've used it, the more I've realized it takes a lot of back end management to keep the user lists accurate and up to date, and this system only allows for text messages.

I have some short notes I've typed up and made into a PDF, but I don't seem to have the ability to add attachments yet, but I've stated most of them in my post. I'm going to create some images of what I imagine because I always explain better with images than with words. Unfortunately my web coding skills are no where near what is required to make this sort of system, so if anyone else is interested in this idea and has the skills to make it happen, I would appreciate your feedback, ideas and if you have the time, assistance. Thanks!
Robert Brehm II
SER-FL-044/DOS

Holding Pattern

Whatever you use or build, please pay close attention to the OPSEC/INFOSEC implications of having this system internet accessible.


JeffDG

We've done this in my wing with Twilio, although we've hit a couple of hiccups with load lately on the voice side.  Have a plan to overcome them, but they're annoying.

SMS works fantastically.

Basically, it's set up as a Google Form, and runs as a script on form submission.

First, you select who to alert (Unit Commander, Unit Deputy Commander, Unit ESO, Unit Alert Officer, ICs, MPs, MOs, MSs, GTLs, GTMs, UDFs - any combination acceptable), how to alert them (home phone voice, cell phone voice, cell phone sms, e-mail, again, combinations acceptable), then the "Contact Priority" (Primary, Secondary, Emergency).  Finally, you can ask to collect responses (voice only right now...basically, at the end it says "Press 1 if you can respond, 2 if you cannot, or 9 to record a message), and those responses are summarized and detailed for whoever generated the alert.

Then you just type a message.  If it's >160 characters, it gets "chunked" by the script for SMS (always does a word break, makes each chunk <160), and sent out.  Dupes are auto-deleted (ie. if you send to Unit Commander and MPs, and the commander is both, he just gets it once)

JeffDG

Quote from: Starfleet Auxiliary on February 23, 2015, 05:54:06 AM
Whatever you use or build, please pay close attention to the OPSEC/INFOSEC implications of having this system internet accessible.

It's on the "private" side of the network (need to be an active member in an appropriate duty position to access), and it never gives whoever sends the alert the information about the contact info that it uses.  Scratch that, if you get "Voice Responses", it tells you at what phone number the person was reached...very useful if you need to call them and task em.

A.Member

Whatever the solution, I think you need to step back and evaluate a few things (as with all technology solutions):

1.  Who will maintain going forward?  Do you have members that are technically savvy enough AND actively involved (not just for the moment but for the long haul).  The importance of this cannot be overstated.

2.  K.I.S.S.   How complex an alerting system is really needed?  Do you really need downloads from CAPWATCH etc. or can an opt in text service be leveraged? 

3.  Cost.   Twilio is a pay service.  I don't have a lot of experience with it, although JeffDG does.   Do the benefits really outweight the cost (keep in mind #1 above).  Are other no fee options, such as Google Voice, available that could meet 80+% of the need without the technical complexity or cost?

I want to leverage a text alert system, such as Remind.  However, Google Voice has some capabilities as well. I want to limit our technology "suite" for simplicity among other reasons. 

Just my thoughts.
"For once you have tasted flight you will walk the earth with your eyes turned skywards, for there you have been and there you will long to return."

Spaceman3750

I played with Call-Em-All a few years ago. Voice and text capabilities, allows for groups, send voice messages from your phone by dialing in, entering your acct number and Pin, then the group number. Pay as you go, you pre load credits and refill when you get low.

JeffDG

Quote from: A.Member on February 23, 2015, 03:55:51 PM
3.  Cost.   Twilio is a pay service.  I don't have a lot of experience with it, although JeffDG does.   Do the benefits really outweight the cost (keep in mind #1 above).  Are other no fee options, such as Google Voice, available that could meet 80+% of the need without the technical complexity or cost?

Just for reference with Twilio and cost.

So far in February, here are my stats:

Phone number:  $1.00 per month (if you have multiple numbers, it's $1.00/mo/#)
SMS:  218 @ $0.00562 = $1.23
Voice:  413 @ $0.01054 = $4.35

(Note Tennessee is currently under a State of Emergency and CAP is actively working on taskings from TEMA)  I can get a voice message to everyone in the Wing for under $10 and SMS for 1/2 that.

Not sure how many they will give, but they provided TNWG a $500 usage credit when we signed up as a 501(c)(3), (http://www.twilio.org) and I expect that to last several years before we put one penny in.

The thing to understand with Twilio is that there is NO user interface to send messages.  It's API only.  Which means you need someone who can code to the API (pretty simple API actually), but there's nothing that lets you just log in with a browser and hit "Send".  That means that it is infinitely flexible.  It's also not for the feint of heart.

JeffDG

Quote from: Spaceman3750 on February 23, 2015, 04:07:48 PM
I played with Call-Em-All a few years ago. Voice and text capabilities, allows for groups, send voice messages from your phone by dialing in, entering your acct number and Pin, then the group number. Pay as you go, you pre load credits and refill when you get low.

We tried a service called "Directra" a while back.

Its drawback was the lack of an API to maintain lists.  So, you had to go through a long, manual process to update your call-lists frequently, and you were left with a system that either required a lot of manual maintenance, or where the call-lists were woefully out of date all the time.

They've since discontinued the service.

Tim Day

I'm building a Google web app that fills in a Google Sheet with user ES info from CAPWATCH. The sheet contains columns of data for each qualification, as well as a concatenated qualification list (like you see on a 101 card). 

The Google sheet resides on a Google Drive folder with restricted sharing, which meets our requirements for protecting PII.

The next step will be surveying responders for availability. The IC or whoever is managing the dispatch will be able to sort by qualification and availability. This will hopefully be a temporary stop-gap until NHQ IT can address the shortcomings of the ES availability report in e-services, which is 80% there but just needs a few adjustments to how users indicate availability / non-availability.

I'm letting JeffDG crack the code on Twilio and will likely follow that path for SMS alerts.   
Tim Day
Lt Col CAP
Prince William Composite Squadron Commander

JeffDG

Quote from: Tim Day on February 23, 2015, 08:29:27 PM
I'm letting JeffDG crack the code on Twilio and will likely follow that path for SMS alerts.

I've got it 90% cracked.  I can send out SMS, Voice and E-mail (although the e-mail is "native" not Twilio), and get responses from Voice...I have a concept of how to process SMS responses (they're stateless) and e-mail responses are pretty easy actually.

Right now, it's Google that's giving me fits.  We do a "mass-blast" and suddenly Google starts throwing "Limit Exceeded" errors, and failing to respond to data requests from Twilio.

We're going to move the back end to a LAMP server soon, after we dig out from all this ice.

Come on down to Murfeesboro, TN next month for our Spring Conference next month, I'm going to be doing a breakout session on it!

http://www.tncap.us/2015-spring-conference

Tim Day

Quote from: JeffDG on February 23, 2015, 08:39:39 PM
Quote from: Tim Day on February 23, 2015, 08:29:27 PM
I'm letting JeffDG crack the code on Twilio and will likely follow that path for SMS alerts.

Right now, it's Google that's giving me fits.  We do a "mass-blast" and suddenly Google starts throwing "Limit Exceeded" errors, and failing to respond to data requests from Twilio.

http://www.tncap.us/2015-spring-conference

Are you using your blast groups, or using a different approach?

We have got to set up a collaborative software development environment...
Tim Day
Lt Col CAP
Prince William Composite Squadron Commander

JeffDG

Quote from: Tim Day on February 23, 2015, 08:53:26 PM
Quote from: JeffDG on February 23, 2015, 08:39:39 PM
Quote from: Tim Day on February 23, 2015, 08:29:27 PM
I'm letting JeffDG crack the code on Twilio and will likely follow that path for SMS alerts.

Right now, it's Google that's giving me fits.  We do a "mass-blast" and suddenly Google starts throwing "Limit Exceeded" errors, and failing to respond to data requests from Twilio.

http://www.tncap.us/2015-spring-conference

Are you using your blast groups, or using a different approach?

We have got to set up a collaborative software development environment...

Not using the lists per-se, but using the same system to build address lists on the fly.  Basically, our CAPWATCH is loaded into MySQL and we can query it when needed to get a list of folks to send to.

The handy thing about how I do it for the Twilio alerts is that it automatically de-duplicates, so if I'm sending an alert out to Unit Commanders and ICs, and a Unit Commander is also an IC, he only gets hit once, rather than twice if I sent to the blast-lists.

SeanM

Would love to see more information on building out something with Twilio, as you have described.  I'm using RainedOut right now, just for comms purposes, but I'd love to have something even more robust for the entire Wing to use.

For those who cannot make it to your wing conference, would you be willing to provide some docs on what you've done, what works, what doesn't, etc, so others could follow suit?

(Heck, I'd even be willing to help with the documentation.  I write policies and procedures for work, and do a lot of "hanging the meat onto the skeleton" type of writing work.)

Sean
Sean McClanahan, Lt Col, CAP
Squadron Commander, Delaware Legislative Squadron
Director of Emergency Services - Delaware Wing

Spaceman3750


Quote from: JeffDG on February 23, 2015, 08:39:39 PM
Quote from: Tim Day on February 23, 2015, 08:29:27 PM
I'm letting JeffDG crack the code on Twilio and will likely follow that path for SMS alerts.

I've got it 90% cracked.  I can send out SMS, Voice and E-mail (although the e-mail is "native" not Twilio), and get responses from Voice...I have a concept of how to process SMS responses (they're stateless) and e-mail responses are pretty easy actually.

Right now, it's Google that's giving me fits.  We do a "mass-blast" and suddenly Google starts throwing "Limit Exceeded" errors, and failing to respond to data requests from Twilio.

We're going to move the back end to a LAMP server soon, after we dig out from all this ice.

Come on down to Murfeesboro, TN next month for our Spring Conference next month, I'm going to be doing a breakout session on it!

http://www.tncap.us/2015-spring-conference

Will sheets let you call out to another mail server? Amazon SES is a miracle to email blasts.

JeffDG

Quote from: Spaceman3750 on February 23, 2015, 09:31:35 PM

Quote from: JeffDG on February 23, 2015, 08:39:39 PM
Quote from: Tim Day on February 23, 2015, 08:29:27 PM
I'm letting JeffDG crack the code on Twilio and will likely follow that path for SMS alerts.

I've got it 90% cracked.  I can send out SMS, Voice and E-mail (although the e-mail is "native" not Twilio), and get responses from Voice...I have a concept of how to process SMS responses (they're stateless) and e-mail responses are pretty easy actually.

Right now, it's Google that's giving me fits.  We do a "mass-blast" and suddenly Google starts throwing "Limit Exceeded" errors, and failing to respond to data requests from Twilio.

We're going to move the back end to a LAMP server soon, after we dig out from all this ice.

Come on down to Murfeesboro, TN next month for our Spring Conference next month, I'm going to be doing a breakout session on it!

http://www.tncap.us/2015-spring-conference

Will sheets let you call out to another mail server? Amazon SES is a miracle to email blasts.

Dunno.

E-mail blasting works great right now, no load issues with that.

SMS is working great too.

The "Voice" part involves Twilio doing a call-back to the requesting server.  Basically, the flow goes:

Script (S)->Twilio (T)-> Call 123-456-7890
(T) initiates phone call.  When picked up:
(T)->(S):  OK, I've got 123-456-7890, what do you want me to tell him?
(S)->(T):  Say, blah, blah, then ask Blah blah
(T)->(S):  OK, he answered with digits 1, now what?
(S)->(T):  Say thanks and hang up

What's happening with me right now, is T->S and Google is either not answering or is answering with "Limit Exceeded" or some other crappy error message some of the time.

My plan is to move it so the script does the "Call..." then hands it off to a LAMP server for the rest of the process.  At least then we control the limits.

Tim Day

Quote from: JeffDG on February 23, 2015, 08:55:58 PM
Quote from: Tim Day on February 23, 2015, 08:53:26 PM
Quote from: JeffDG on February 23, 2015, 08:39:39 PM
Quote from: Tim Day on February 23, 2015, 08:29:27 PM
I'm letting JeffDG crack the code on Twilio and will likely follow that path for SMS alerts.

Right now, it's Google that's giving me fits.  We do a "mass-blast" and suddenly Google starts throwing "Limit Exceeded" errors, and failing to respond to data requests from Twilio.

http://www.tncap.us/2015-spring-conference

Are you using your blast groups, or using a different approach?

We have got to set up a collaborative software development environment...

Not using the lists per-se, but using the same system to build address lists on the fly.  Basically, our CAPWATCH is loaded into MySQL and we can query it when needed to get a list of folks to send to.

You've probably already checked this, but are you up against non-Google Apps domain quotas (emails outside of your domain have a different quota)?

Disregard.
Tim Day
Lt Col CAP
Prince William Composite Squadron Commander

JeffDG

Just pulled out "bill" from Twilio for February for our FM.

We spent 3x any other month in February.  Even at that, it'll be 5 1/2 years before we exhaust their contributed credit.

rbrehm

I'm glad to hear that this is something that has been done and is used elsewhere and I'm not going to have to trail blaze much :). I've been putting out a lot of requests for help from my unit and group, but it seems like we don't have that many tech savvy people who would be capable of making this a reality.

If anyone here has the skills and wouldn't mind helping me out, we'd greatly appreciate it.
Robert Brehm II
SER-FL-044/DOS

Toth

I know MTWG uses a system called MTWG-REDCAP to contact qualified members for S&R callouts, but I'm not sure what system it uses to operate. That being said, if Montana has it, surely its already being used extensively in other wings.
SM Toth Mendius, CAP
C/CC RMR-MT-053 (ret.), RMR Ass't Rep NCAC (ret.)
Mitchell #65174, Earhart #17361
GES, ♦ICUT, ♦FLM, GTM3, UDF, SET, MS, MRO, EMT, *GTM2

a2capt

Most entities are using some kind of email server as the basis for contact management, with lists setup that have either mailbox destinations or SMS/pager only destinations.

On the unit level, I've put together a kind of hybrid system based on using one of the many web based message services, and an email server based distribution list, as well as SMS/Pager list for purposes of contacting members, cadet parents, etc- with late breaking, urgent news. Base lock down, earthquake, etc- during a meeting or other activity, or last minute cancellation due to reasons out side of our control. Wildfires, structural issues, etc.

With voice based messages, and text, being distributed as wide as possible with the least amount of effort, in a way that any senior member can in effect, break open the "envelope" and use the information contained to send a message if things were that serious.

As such, with people being selective about what methods of contact they give to who, where we find that email addresses/Phone numbers on eServices are just not reliable. (gee, who would have ever guessed), we started by distributing a specific request for contact information solely to be used in cases of urgent nature, and specified that these will -NOT- be used for weekly call-downs, communication, etc. 

It would start with a phone call or web access to the voice message service site, concurrently with an email message sent to a specific listserv that itself has the "specific" contact information for email/SMS contact, and our "daily" distribution lists as well, so that no one will get missed, but people who don't always have access to the daily type communications have a way to receive something "when we really mean it".

That's where my interest in scripting Google Apps. comes into play, as we use Google Apps for our unit, group, and wing, as well as another wing that I'm involved in IT wise. Our group is as large as many entire wings, and even at the unit level, we've at times, with the natural ebb and tide of membership levels, exceeded some of the smaller wing statistics on it's own.


Al Sayre

Since almost everyone now has cellphones and SMS text capability, it's easy enough to set up a cellphone text alert list on your own.  All you need is the members name, cellphone number and service provider.

Then you can email to text for everyone on the list and most email programs support multiple lists. i.e. all IC's, All GTM's, all ES qual's etc.

The format is (10digitphonenumber)@txt.ATT.net or someting similar.  You can find the email to text format for the most popular carriers at http://www.digitaltrends.com/mobile/how-to-send-e-mail-to-sms-text/ and the others can be googled.

Just keep the message under 160 characters and it works fine.  If you go over 160 characters, the message goes by MMS and won't get to those who don't have an MMS account.
Lt Col Al Sayre
MS Wing Staff Dude
Admiral, Great Navy of the State of Nebraska
GRW #2787

JeffDG

Quote from: Al Sayre on March 09, 2015, 12:07:44 PM
Since almost everyone now has cellphones and SMS text capability, it's easy enough to set up a cellphone text alert list on your own.  All you need is the members name, cellphone number and service provider.

Then you can email to text for everyone on the list and most email programs support multiple lists. i.e. all IC's, All GTM's, all ES qual's etc.

The format is (10digitphonenumber)@txt.ATT.net or someting similar.  You can find the email to text format for the most popular carriers at http://www.digitaltrends.com/mobile/how-to-send-e-mail-to-sms-text/ and the others can be googled.

Just keep the message under 160 characters and it works fine.  If you go over 160 characters, the message goes by MMS and won't get to those who don't have an MMS account.

Wouldn't get me with that.  My Google Voice number has no e-mail->SMS address for it.

Plus, then you have to maintain a list of who has what cell phone providers as they change and morph from one to another.

For $0.0075 per message, I can send a lot of messages before it adds up to the time and effort to maintain that kind of list reliably.

Al Sayre

Your call, just saying there a free way to do it that's pretty flexible.  Once it's set up, it's pretty easy to administer.  It's already up to the members to make sure they update their contact info, if they change services and don't let the Wing ES folks know, then they shouldn't be surprised when they don't get called...
Lt Col Al Sayre
MS Wing Staff Dude
Admiral, Great Navy of the State of Nebraska
GRW #2787