What is good way for announcement

Hi,
what is good way for announcement, so that every available user/channel will listen audio and will continue to current stage, regardless of their current state (ConfBridge, MusicOnHold, IVRs, etc.

On Thursday 09 January 2025 at 17:01:24, helpinghandindia via Asterisk
Community wrote:

what is good way for announcement, so that every available user/channel
will listen audio and will continue to current stage, regardless of their
current state (ConfBridge, MusicOnHold, IVRs, etc.

https://docs.asterisk.org/Asterisk_20_Documentation/API_Documentation/Dialplan_Applications/Page/
will, if the endpoint devices support auto-answer, place all listed devices
into a listen-only conference with the caller in “speak mode”, thus allowing
audio from one channel to be broadcast to multiple channels.

However, I’m not entirely certain that this is what you are asking about how
to do, so please explain your use case further and describe what you do want
to happen, if paging is not a solution to your requirement.

Antony.


All matter in the Universe can be placed into one of two categories:

  1. Things which need to be fixed.
  2. Things which need to be fixed once you’ve had a few minutes to play with
    them.

I think the OP wants to temporarily interrupt ongoing calls. As I understand it, Page will only access idle devices, or, possibly second lines, although, with the latter, there is no guarantee that the user will accept the second line call in a timely way.

Thanks , I have tried with page but not successful, I hope you understand my concern, my need is broadcast a audio to all live users/channels, if 100 channels, all will hear message without disturb/change their current state.

If I’ve understood this, this a sort of requirement that can dominate the whole of the system design, so you may have to either do it in a messy way, or rework the rest of the system.

My initial thoughts are to use whisper, from chan_spy, fed from a conference, and controlled by AMI, which builds a list of active channels.

Especially in case I haven’t understood, and as a general principle for unusual requirements, you should explain when and why you would use this feature.

This is just for some emergency message to our connected students. there is no botheration or misuse , this is only for intimation, internal use. would be helpful if you able to share some dialplan example to test ahead.

I would say the requirement is too unusual for anyone to have a ready worked example available, and I’d suggest it will be difficult to implement using just dialplan. It’s almost certainly going to require a non-trivial amount of design and testing work.

There is the Broadcast dialplan application[1] in modern versions, but that takes a list of channel names and at a certain point you’ll hit a length limit, plus it’s inherently an expensive operation to do.

[1] Broadcast - Asterisk Documentation

Thanks I tried different types but some thing is missing/mistake.

Can you help with command string, if I need to announce with .wav file on following channels.
I am using 20.8

[root@localhost Suggestions]# asterisk -rx “core show channels concise” | awk -F’!’ ‘{print $1}’
CBAnn/125-00000000;2
CBAnn/125-00000000;1
SIP/airtelprit2-0000002e
SIP/airtelprit2-0000002d
SIP/airtelprit2-0000002f
SIP/airtelprit2-0000002b
SIP/airtelprit2-00000024
SIP/airtelprit2-00000020
SIP/airtelprit2-00000023
SIP/airtelprit2-00000029
SIP/airtelprit2-00000034
SIP/airtelprit2-00000035
SIP/airtelprit2-00000036
SIP/airtelprit2-00000030
SIP/airtelprit2-00000032
SIP/airtelprit2-00000006
SIP/airtelprit2-00000001
SIP/airtelprit2-00000016
SIP/airtelprit2-00000018

Please tell me what is wrong in following. I tried both option b and br but not giving desired output.

[redirect-channels]
exten => s,1,Set(ANNOUNCEMENT_FILE=applause8)
same => n,Set(CHANNELS=SIP/airtelprit2-000000f0)
same => n,NoOp(Channels to broadcast: ${CHANNELS})
same => n,NoOp(Playing file: ${ANNOUNCEMENT_FILE})
same => n,Broadcast(b,${CHANNELS},${ANNOUNCEMENT_FILE})
same => n,NoOp(Broadcast completed for ${CHANNELS}.)
same => n,Hangup()

also tired - same => n,Broadcast(br,SIP/airtelprit2-000000f0,applause8)

cli error - [Jan 17 19:42:34] WARNING[282377][C-00000138]: app_broadcast.c:380 do_broadcast: No such channel: applause8

That’s not how Broadcast works. It connects whatever is running Broadcast to the channels specified to Broadcast. You can’t provide it an announcement file and have it play that announcement file.

You would need to use a Local channel, with one side running Playback and the other running Broadcast.

Thanks for quick response.
Would you be comfortable if reply with direct command string or dialplan to start ahead. It is continuing mistakes in my practice.

I won’t be, someone else may chime in instead.