【问题标题】:Playing a wav file to b-leg in freeswitch using lua使用lua在freeswitch中播放wav文件到b-leg
【发布时间】:2014-10-16 21:51:34
【问题描述】:

在与呼叫者连接之前,如何在 freeswitch 中将波形文件播放到 b-leg? 这如何在拨号计划中完成,或者我需要在 lua 中编写脚本?

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

【问题讨论】:

    标签: lua freeswitch


    【解决方案1】:

    您可以在不需要 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>

    请注意,该表达式使用正则表达式,因此 .* 将匹配正在呼叫的任何号码,因此对于每次呼叫,它都会在用户响铃之前播放 wav 的声音。

    【讨论】:

    • @Razormind,如果这回答了您的问题,请单击左侧的小复选标记,将其标记为已接受的答案。
    【解决方案2】:

    我对 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

    【讨论】:

      猜你喜欢
      • 2012-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-03
      • 2012-04-16
      相关资源
      最近更新 更多