"Panic" button extension?

We had a situation where some threats were made. Short of installing an actual panic button at the front desk, we’d like to be able to dial an extension (or a call group or whatever) and have it do something; whether that be page a pre-recorded message, ring a bunch of phones and play a recorded message, something.

I’m looking for ideas and a way to implement something like this. I’m fairly sure it could be done with a custom extension, but would there be a way to page instead? (Note: we’re using broadcast for paging to the phones, but we also have an overhead system that could potentially be used as well)

So for a call group, I would need it to ring-all several phones, and then play a recorded message. If the option is paging, it would either need to be a recorded message on the broadcast address (for the phones) OR dial the page extension and play a recorded message.

(Note: This could also be adapted and used for tornado warning, fire, whatever… now that I’m thinking about it)

Thanks in advance!

Oh… additional note… we also have FOP2, so a button wouldn’t be out of the question… maybe an extension that they tap and then do a blind transfer… like I said, I’m open to suggestions on this one. Or a speed dial on the front desk phones.

The system already supports Intercom and Annunciators (the latter over a couple of different comm protocols) so I’m guessing the bulk of the “work” is already done.

I’ve been playing with the idea of putting an Arduino to work on this - set it up as an extension and just put a button on it. The “rest of the functionality” is the only part I’m not sure about. Something like that could work, but I’m still in the squishy design-ish phase, so it won’t actually answer your immediate need.

If you can use commercial modules, try hooking up with the “Sales” folks (through the FreePBX link above) and see what they can get working that might meet your needs with as little muss and fuss as possible.

If they are Yealinks then you can do this with multicast paging pretty well. Press a button and the phone becomes an intercom to all other phones.

I figured out how to dial an extension, which then lit up our Yealink phones on the broadcast channel, and played a message. :slight_smile:

Now, after having talked to the boss, she wants just a few phones activated in some way. I could do this in a couple of ways:

  1. Add a second broadcast address just to the phones I want lit up
  2. Use the standard paging method
  3. Ring the phones, play a message

… now waiting on how the boss wants it handled.

Well, I think I’m getting closer to what I want.

On the Yealink phones that I have determined I want paged (separate from the normal “all page”), I have put in a second Multicast address. So far so good.

I set up a custom extension (9999) that the front desk would dial to trigger the page.

In my [from-internal-custom] section of extensions_custom.conf, I did this:

exten => 9999,1,Answer()
exten => 9999,n,Wait(1)
exten => 9999,n.Dial(MulticastRTP/basic/xxx.xxx.xxx.xxx:xxxxx,A(attention-required))
exten => 9999,n,Wait(5)
exten => 9999,n,Hangup()

… which says the one pre-recorded message.

What I’d really like to do (short of recording another message that says the whole sentence) is to chain the playback of the recorded messages together… such as "Your attention is required… front… location) (all 3 recordings, attention is required, front, and location exist)

Seems I can’t get them to daisy-chain the sentence fragments together though.

Can someone give me a push in the right direction?

System recordings chained:

exten => s,n,Playback(im-sorry&you-are-caller-num)

Custom Recording:

exten => s,n,Playback(custom/contester-loser-num)

Mmm… but playback doesn’t work on multicastRTP…
I think the issue may be that I’ve already opened up the multicast channel, so I need a way to play the next “announcement” without trying to re-open a channel that’s already opened.

BUT… I will try the & in my announcement and see if that works. :smiley: I will let you know.

Nope… didn’t play anything when I “chained” the announcements together.

Soo… to document:

exten => 9999,n,Dial(MulticastRTP/basic/xxx.xxx.xxx.xxx:xxxx,A(attention-required&front&location))
… nothing but silence.

exten => 9999,n,Dial(MulticastRTP/basic/xxx.xxx.xxx.xxx:xxxx,A(attention-required)&A(front)&A(location))
… just said “location” and ignored the first two.

exten => 9999,n,Dial(MulticastRTP/basic/xxx.xxx.xxx.xxx:xxxx,A(attention-required))
exten => 9999,n,Dial(MulticastRTP/basic/xxx.xxx.xxx.xxx:xxxx,A(front))
… just plays “Attention required” and ignores the rest.

So, I recorded a WAV file, used SOX to convert it to ulaw, dropped it into /var/lib/asterisk/sounds/en_US, then did

exten => 9999,n,Dial(MulticastRTP/basic/xxx.xxx.xxx.xxx:xxxx,A(AssistanceNeeded))

It plays the recorded message, and I don’t have to concatenate sentence fragments together.

I’ll mark this as solved, but I’d still like to know how to chain multiple sentence fragments together (or even variables… such as “We will be closing today at $hour $pm due to weather” or something)

Thanks everyone for your help!

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.