Asterisk 星号播放声音文件到ConfBridge?

Asterisk 星号播放声音文件到ConfBridge?,asterisk,Asterisk,我正在试着做一个会议,并在会议的背景下播放一个声音文件。我怎样才能做到这一点 这显然不起作用,因为声音文件将在进入会议之前播放 exten => s,1,playback(some/soundfile) same => n,confbridge(1) 提前谢谢 有关类似问题,请参见此处: 基本上,您需要添加一个指向本地频道的参与者(如上所述,只进入频道,而不是监听),播放声音,然后挂断。您已经创建了一个新的呼叫,使用呼叫文件的简单方法 在此之后,您可以像这样在会议中放置一个呼叫

我正在试着做一个会议,并在会议的背景下播放一个声音文件。我怎样才能做到这一点

这显然不起作用,因为声音文件将在进入会议之前播放

exten => s,1,playback(some/soundfile)
same => n,confbridge(1)

提前谢谢

有关类似问题,请参见此处:


基本上,您需要添加一个指向本地频道的参与者(如上所述,只进入频道,而不是监听),播放声音,然后挂断。

您已经创建了一个新的呼叫,使用呼叫文件的简单方法

在此之后,您可以像这样在会议中放置一个呼叫分支

Channel: Local/1111@conference
Application: Playback
Data: some/soundfile
会议地点是通往您的会议室的背景。
不需要做间谍之类的事情,那是浪费时间/cpu

想在这里添加我的解决方案,以防任何人需要它

首先在extensions.conf中为conf桥创建一个上下文:

[conf-msg]
exten => s,1,ConfBridge(01)
其中01是桥号

然后通过命令行可以执行以下操作:

asterisk -x 'channel originate local/s@conf-msg application Playback file'
其实就这么简单。

同样的答案,但对于许多人来说:

extension.conf
中:

[autobridge]
exten => _X.,1,ConfBridge(${EXTEN})
  • 然后,您可以使用
    origine
    ,将信息发送到会议室1234:

    originate local/1234@autobridge application Playback en_US/tt-monkeys
    
    从控制台或管理器连接

  • 或者,根据建议,在
    传出假脱机目录中添加一个文件

    来自文件系统级别的任何内容(具有正确的权限,可以共享!:-)


好的,请使用单独的调用文件。例如,如果我想连接两个呼叫者并播放背景声音。。。2个调用文件将使用confbridge,而另一个使用chanspy并使用回放?您将让2个调用方正常输入(如果需要,也可以自动输入)。然后,您创建/调用指向本地频道(指向播放拨号计划)的第三个“参与者”,并将文件播放到您的内容中。当你们的回放完成时,参与者将离开会议。我没有正确地得到它,如果我从分机xxx打电话,频道是zzz,那么它是如何知道它必须在哪个频道播放的?如果你们有会议,你们应该只播放同一个会议的文件。如果您没有会议,您应该在使用ChanSpy(在本例中,将ChanSpy放在上下文会议的ext 1111中)创建呼叫后,向wisper发送拨号计划频道名称(通过变量或通过dialplan中的数据库查找)。对不起,你还是应该自己做这项工作。别抱歉,我是自己做的,谢谢你的建议,我很感激。但我需要你帮我做另一件事,我需要检测两端的通话,但asterisk让我在频道上检测,是谁拨了分机,不是谁收到的,能检测两端的通话吗?是的,通过c/c++应用程序或创建新频道,并通过chanspy将该频道的一端连接到原始频道所需的方向。在asterisk core(c/c++应用程序,参见app_monitor.c)中工作时,两条腿之间没有主要区别。我尝试了您告诉我的方式,但仍然无法在接收通道上获取talk detect事件,即使我尝试通过实现循环来获取所有通道,但我失败了,请带我到任何我可以在接收频道上检测谈话检测事件的地方。这应该是可以接受的答案<代码>星号-rx'信道源本地/s@conf-msg application Playback hello world'Nota我刚刚为
printf
提取了
Playback
格式字符串,使此行足够短,以防止滚动条。正确的命令可以是
printf'通道:Local/%d@autobridge\应用程序:回放\n数据:%s\n“>/var/spool/asterisk/outgoing/f-$RANDOM 1234 en_US/tt monkeys
printf "Channel: Local/%d@autobridge\nApplication: %s\nData: %s\n" \
    1234 Playback sound/file >/var/spool/asterisk/outgoing/f-$RANDOM