Multi-cast paging pre-recorded messages

Recently (in another thread) I was trying to figure out how to do a multicast page, play a message, and hang up. This could be useful to, say, set a speed dial that announces fire drill, lunch break, or in my case “The mail is ready”.

Here’s how I did it.

First, I had our receptionist who would normally page “The mail is ready” record herself saying that. I saved it in /var/lib/asterisk/sounds/en_US as a .ulaw file with the standard parameters.

In /etc/asterisk/extensions_custom.conf I created an entry for an extension (in my case, I used 9901). The issue that I had is that it worked, but it never hung up. Once it created the multicast stream, it pretty much ignored anything after that. I could dial the number, but I would have to manually hang it up. I didn’t want that… I just wanted to push a button on the phone and have it play the announcement then hang up.

The secret to this was to set an absolute timeout for the call. 2 seconds was long enough for me to play the message… so, in /etc/asterisk/extensions_custom.conf I put:

exten => 9901,1,Answer()
exten => 9901,n,Set(TIMEOUT(absolute)=2)
exten => 9901,n,Dial(MulticastRTP/basic/,,gA(MailIsReady))
exten => 9901,n,Hangup()

This works perfectly, and I was able to add a speed-dial button to the phone in the mailroom. Just tap the button, it plays “The Mail is Ready” over all the phones with multicast, then times out and hangs up. Done. :slight_smile:

Just posting for posterity.


For those that prefer a GUI way of doing this. The Paging Pro paid module in FreePBX provides this feature along with a bunch of other paging features.

1 Like

Similar situation, we have a video phone outside our front door. It is set to call a queue that has a couple “front door” attendants. If they don’t answer, I set the failover destination to a page group. I record a system recording saying “There’s someone at the front door.” In the page group I set the “Announcment” to the system recording I just made.

Now, how do I get the call to disconnect immediately after the Announcement. In this scenario we don’t want the visitor to be able to “broadcast” all over our office, ya know? We just want our pre-recorded message that someone is at the door.

Also, is there a way to prevent the announcement from being played to the caller?

The absolute timeout will disconnect the call.

To keep it from being played to the video phone is to not have a multicast address programmed into it (or use a different address)

The absolute timeout will disconnect it doing it your custom method, I was trying to use the Paging Pro module suggested by Tony.

And the video phone doesn’t listen to the multicast address. The using the Paging Pro module the page is being played both to the multicast address, and to the caller. Your method may only play it to the multicast.

Well, that’s kind of a new topic then. :slight_smile:

Hi there! I am in need of something similar. You think you could help me developing it? Waiting on your reply, Regards, Chris.

Did you look at this?

Yes I think this module is as close as I can get with comercial modules. Can new specifics features be added over this?

There are lots of features that this can access, but remember that it’s designed to do something relatively specific. Also, since it’s a commercial module, it comes with some commercial support.

When you get to the point that you’re running into specific issues, post the logs of your attempts so we can help you interpret them and perhaps suggest solutions.

I remember testing with this before, and I had similar issues. I’ll have to open a support ticket and see if I can get some configuration help. In my situation, I’m trying to have some pre-recorded pages that would play, such as “The national weather service has issues a warning”, etc, and play it multiple times (ie 3 times in my scenario). The goal is to setup an IVR or dial the paging group and it would kick off that pre-recorded page.


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