使用lua在freeswitch中播放wav文件到b-leg

时间:2014-10-16 21:51:35

标签: lua freeswitch

在与来电者联系之前,如何在freeswitch中播放波形文件到b-leg? 如何在拨号方案中完成此操作,还是需要在lua中编写脚本?

情节是我有几个电话号码,但只有一部电话。播放波形文件会很有帮助,这样我就可以确定拨打了哪个号码。

2 个答案:

答案 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;
&#13;
&#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