在与来电者联系之前,如何在freeswitch中播放波形文件到b-leg? 如何在拨号方案中完成此操作,还是需要在lua中编写脚本?
情节是我有几个电话号码,但只有一部电话。播放波形文件会很有帮助,这样我就可以确定拨打了哪个号码。
答案 0 :(得分:2)
您可以在不需要Lua的dialplan.xml中执行此操作。 在上下文中的dialplan.xml中放置如下内容:
<extension name="call">
<condition field="destination_number" expression=".*">
<action application="answer"/>
<action application="playback" data="/usr/local/freeswitch/conf/yourSoundHere.wav"/>
<action application="bridge" data="user/${destination_number}"/>
<action application="answer"/>
</condition>
</extension>
&#13;
请注意,表达式使用正则表达式,因此。*将匹配正在调用的任何数字,因此对于每次调用,它都会在响铃用户之前播放声音。
答案 1 :(得分:0)
我和Perl有同样的任务,看起来并不那么容易。我不得不启动第二个Perl脚本,它发起呼叫给用户,播放声音,要求DTMF确认,然后连接入站呼叫。我还使用ESL连接在Go中制作了一个原型,它看起来更容易,因为Go具有原生多线程。
这是Perl代码,在Jira FS-6746中有解释:https://github.com/xlab1/freeswitch_secretary_bug
这是Go中的工作原型:https://github.com/xlab1/go-fs-secretary-prototype