星号发送静音命令自动点播机来电

我们正在试用一台Asterisk Now服务器来接pipe我们老化的PBX系统。 如果检测到来话呼叫,“好用”function之一就是可以暂停或降低办公自动点唱机的音量。

我们目前运行一个使用mpd从音箱中播放音乐的Linux自动点唱机,可以由mpc客户端控制。 我们可以手动发出以下命令来实现这一点:

mpc第20卷

有谁知道如何得到星号执行这个命令或一些行动,我们可以挂钩到一个电话是传入特定的扩展?

多么新奇的想法! 我没有这样做,但我想我可以让你走正确的道路。 如果你的系统与我的系统相似,你会发现下面的文件将作为例子:

对于数字传真:

/etc/asterisk/extensions.conf /var/lib/asterisk/bin/fax-process.pl 

对于带有audio附件的电子邮件:

 /etc/asterisk/extensions_additional.conf /var/lib/asterisk/bin/audio-email.pl 

我们将通过查看处理audio附件的extensions_additional.conf文件的一部分来关注第二个操作:

 [app-dictate-send] include => app-dictate-send-custom exten => *35,1,Answer exten => *35,n,Macro(user-callerid,) exten => *35,n,Noop(CallerID is ${AMPUSER}) exten => *35,n,Set(DICTENABLED=${DB(AMPUSER/${AMPUSER}/dictate/enabled)}) exten => *35,n,GotoIf($[$["x${DICTENABLED}"="x"]|$["x${DICTENABLED}"="xdisabled"]]?nodict:dictok) exten => *35,n(nodict),Playback(feature-not-avail-line) exten => *35,n,Hangup exten => *35,n(dictok),Read(DICTFILE,enter-filename-short,,,,) exten => *35,n,Set(DICTEMAIL=${DB(AMPUSER/${AMPUSER}/dictate/email)}) exten => *35,n,Set(DICTFMT=${DB(AMPUSER/${AMPUSER}/dictate/format)}) exten => *35,n,Set(NAME=${DB(AMPUSER/${AMPUSER}/cidname)}) exten => *35,n,Playback(dictation-being-processed) exten => *35,n,System(/var/lib/asterisk/bin/audio-email.pl --file /var/lib/asterisk/sounds/dictate/${AMPUSER}/${DICTFILE}.raw --attachment dict-${DICTFILE} --format ${DICTFMT} --to ${DICTEMAIL} --subject "Dictation from ${NAME} Attached") exten => *35,n,Playback(dictation-sent) exten => *35,n,Macro(hangupcall,) ; end of [app-dictate-send] 

你会看到/var/lib/asterisk/bin/audio-email.pl被引用。 该函数一行一行地运行,所以如果有人hangsup(即第8行),那么.pl文件永远不会被触发。 但是在这个函数可以运行之前,需要像这样包含它:

 include => app-dictate-send 

我不打算在这里打印出.pl文件。 如果你可以写一个pl文件,当你手动运行的时候,你的办公自动点唱机的音量就会降低,当你接到来电时,你可以确定设置Asterisk来触发pl。

看看/var/lib/asterisk/bin/fax-process.pl来看看星号如何触发电子邮件。

现在,您可能需要调整上面引用的第一个文件:/etc/asterisk/extensions.conf。 这个文件告诉Asterisk在第一次来电时应该做些什么。看看这个文件的顶部附近:

 [from-did-direct] include => ext-findmefollow include => ext-local 

您可以创build类似“turn_down_music.pl”的内容,并将其包含在[app-lower-music]之类的函数中。 然后你将它包括在内:

 [from-did-direct] include => app-lower-music include => ext-findmefollow include => ext-local 

请注意,[ext-local]文件在extensions_additional.conf文件中定义,但在extensions.conf文件中引用。 您可以创build自己的自定义扩展文件,并像这样在extensions.conf文件中引用它:

 #include extensions_custom.conf #include extensions_music.conf 

另请注意,#不会注释掉。 相反, 评论线。

我从这两本书中获得了很多:

  • 星号:电话的未来
  • 星号PBX

祝你好运!

如果这个AsteriskNow类似于Elastix,你应该在extensions_custom.conf中定义新的部分,如:

 [from-pstn-custom] exten = 0123456,n,System(/var/lib/asterisk/bin/whatever-command.pl) 

第一个数字是你input的DID,“n”是执行命令的顺序(这个顺序通常是列表的开始,因为-pstn-custom包含在顶部)。 这也可以用AGI脚本来解决,但是这对你来说可能是一种矫枉过正。