【问题标题】:receiving RFC2833 DTMF in Perl ESL script while Outbound calling and executing a lua script在出站调用和执行 lua 脚本时在 Perl ESL 脚本中接收 RFC2833 DTMF
【发布时间】:2014-07-15 18:56:55
【问题描述】:

我编写了一个 Perl ESL 脚本,它放置一个出站调用并将其与一个使用 flite 进行一些 tts 的 lua 脚本连接在一起。

这适用于 SIP INFO DTMF。但由于我们的 SIP 提供程序禁用 SIP INFO 并切换到 RFC2833,ESL 脚本不再获取 DTMF 事件。在 freeswitch 控制台中。 我看到了所有的 DTMF 事件。

我通过以下方式连接到所有事件:

$con->events("plain","ALL");

但是我得到的所有其他事件都没有得到任何 DTMF 事件。

有什么想法吗?

【问题讨论】:

    标签: perl lua freeswitch dtmf


    【解决方案1】:

    不确定 Perl,但你可以从 LUA 中使用类似的东西:

            digits = session:playAndGetDigits(min_digits, max_digits, max_tries, digit_timeout, terminators , sounds_file", "", "\\d+")
    

    这将收集传递给它的 DTMF 数字,您可以从拨号方案中调用它,例如:

            <action application="lua" data="get_dtmf.lua" />
    

    你可以遍历“数字”来做你需要做的事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多