Asterisk - 拨打电话时播放音乐
Asterisk - playing music whilst originating a call
我正在使用基于云的 Asterisk 服务器作为我的 PBX。在我目前所在的位置,互联网相当不稳定,但手机 phone 是可靠且常见的。但是,国际手机电话很贵,VOIP 电话便宜得多。
所以,我在 Asterisk 中想出了一个脚本,它拨打我的本地手机 phone:
exten => _abcd.,1,NoOp(-- Making outbound call to number ${EXTEN:4} --)
same => n,Answer()
same => n,Wait(1)
same => n,Originate(SIP/+86[my_cell_no]@[voip_provider],exten,incoming_remote,##${EXTEN:4})
same => n,Hangup()
假设我想拨打一个英国手机号码,+4477 之类的。我会用我的 softphone 拨 abcd+4477something。上面的脚本运行,调用我的本地单元 phone。我一回答,它就跳转到另一个分机 _##。即拨出局号码,将两者连接在一起
效果很好。然而,当我在等待本地手机连接时,我发现线路上没有任何声音。我很想播放音乐...但是我不能使用 MusicOnHold() 应用程序,因为它只是坐在那里并且在我挂断之前什么都不做!
我无法将任何 "DIAL" 样式的命令(即 "m")添加到 Originate 命令,因为它不支持它们。
是否有任何已知的方法可以异步播放(其中一个)MusicOnHold 频道,同时我的拨号计划的其余部分继续播放?
AGI 命令 SET MUSIC 会做我想要的吗?
例如
exten => _abcd.,1,NoOp(-- Making outbound call to number ${EXTEN:4} --)
same => n,AGI(turn_music_on.sh)
same => n,Answer()
.....etc.
我正在使用 Asterisk 1.8,如果更新版本 fixes/changes MusicOnHold 行为,那么这将是公认的答案(但文档似乎表明它是相同的)。
您可以拨打本地频道(拨号规则)。之后在 dialplan 中你可以使用 m of dial 命令。
https://www.voip-info.org/wiki/view/Asterisk+local+channels
same => n,Originate(Local/[my_cell_no]@out/n,exten,incoming_remote,##${EXTEN:4})
[out]
exten => _X.,1,Dial(SIP/+86${EXTEN}@[voip_provider],,m)
我正在使用基于云的 Asterisk 服务器作为我的 PBX。在我目前所在的位置,互联网相当不稳定,但手机 phone 是可靠且常见的。但是,国际手机电话很贵,VOIP 电话便宜得多。
所以,我在 Asterisk 中想出了一个脚本,它拨打我的本地手机 phone:
exten => _abcd.,1,NoOp(-- Making outbound call to number ${EXTEN:4} --)
same => n,Answer()
same => n,Wait(1)
same => n,Originate(SIP/+86[my_cell_no]@[voip_provider],exten,incoming_remote,##${EXTEN:4})
same => n,Hangup()
假设我想拨打一个英国手机号码,+4477 之类的。我会用我的 softphone 拨 abcd+4477something。上面的脚本运行,调用我的本地单元 phone。我一回答,它就跳转到另一个分机 _##。即拨出局号码,将两者连接在一起
效果很好。然而,当我在等待本地手机连接时,我发现线路上没有任何声音。我很想播放音乐...但是我不能使用 MusicOnHold() 应用程序,因为它只是坐在那里并且在我挂断之前什么都不做!
我无法将任何 "DIAL" 样式的命令(即 "m")添加到 Originate 命令,因为它不支持它们。
是否有任何已知的方法可以异步播放(其中一个)MusicOnHold 频道,同时我的拨号计划的其余部分继续播放?
AGI 命令 SET MUSIC 会做我想要的吗?
例如
exten => _abcd.,1,NoOp(-- Making outbound call to number ${EXTEN:4} --)
same => n,AGI(turn_music_on.sh)
same => n,Answer()
.....etc.
我正在使用 Asterisk 1.8,如果更新版本 fixes/changes MusicOnHold 行为,那么这将是公认的答案(但文档似乎表明它是相同的)。
您可以拨打本地频道(拨号规则)。之后在 dialplan 中你可以使用 m of dial 命令。
https://www.voip-info.org/wiki/view/Asterisk+local+channels
same => n,Originate(Local/[my_cell_no]@out/n,exten,incoming_remote,##${EXTEN:4})
[out]
exten => _X.,1,Dial(SIP/+86${EXTEN}@[voip_provider],,m)