我正在尝试召开会议并在会议背景中播放声音文件。我怎样才能做到这一点?
这显然是行不通的,因为声音文件会在进入会议之前播放。
exten => s,1,playback(some/soundfile)
same => n,confbridge(1)
提前致谢!
我正在尝试召开会议并在会议背景中播放声音文件。我怎样才能做到这一点?
这显然是行不通的,因为声音文件会在进入会议之前播放。
exten => s,1,playback(some/soundfile)
same => n,confbridge(1)
提前致谢!
想在这里添加我的解决方案,以防有人需要它。
首先在 extensions.conf 中为 conf 桥创建一个上下文:
[conf-msg]
exten => s,1,ConfBridge(01)
其中 01 是网桥编号
然后通过命令行您可以执行以下操作:
asterisk -x 'channel originate local/s@conf-msg application Playback file'
它真的就这么简单。
您已经创建了新的呼叫,使用呼叫文件的简单方法。
http://www.voip-info.org/wiki/view/Asterisk+auto-dial+out
之后,您可以像这样将呼叫腿之一放到您的会议中
Channel: Local/1111@conference
Application: Playback
Data: some/soundfile
会议是到达您的会议室的上下文。不需要做间谍或类似的事情,那是浪费时间/cpu
看到这里有一个类似的问题: Asterisk-How to 'whisper' music using ChanSpy(), or any alternative?
基本上,您想添加一个指向本地频道的参与者(如上,只进入频道而不是间谍),播放您的声音,然后挂断。
相同的答案,但对于许多confBridge:
在extension.conf
:
[autobridge]
exten => _X.,1,ConfBridge(${EXTEN})
然后,就像tgwaste 的回答一样,您可以使用以下命令向会议室 1234发起消息originate
:
originate local/1234@autobridge application Playback en_US/tt-monkeys
从控制台或管理器连接,
或者正如arheops 的回答所建议的那样,通过在以下位置添加一个文件outgoing spool dir
:
printf "Channel: Local/%d@autobridge\nApplication: %s\nData: %s\n" \
1234 Playback sound/file >/var/spool/asterisk/outgoing/f-$RANDOM
从文件系统级别的任何内容(具有正确的权限,可以共享!:-)。