【问题标题】:I am writing an IVR using Lua and want to run xml script in between我正在使用 Lua 编写 IVR,并希望在两者之间运行 xml 脚本
【发布时间】:2015-06-05 12:07:27
【问题描述】:

这是运行 IVR 的 Lua 代码

i = 0
j = 0

while (session:ready() == true) do 


session:setAutoHangup(false);




repeat

digits = session:playAndGetDigits(1, 3, 3, 3000, "#", "/var/sipxdata/mediaserver/data/ivrscript/sampleIvrS1test/prompts/Corporate.wav", "shout://translate.google.com/translate_tts?tl=en&q=This+option+is+not+valid", "\\d+"); 



  if ( digits == "1")  then

    repeat 


   digits = session:playAndGetDigits(1, 3, 3, 3000, "#", "/var/sipxdata/mediaserver/data/ivrscript/sampleIvrS1test/prompts/coral_converted.wav","shout://translate.google.com/translate_tts?tl=en&q=This+option+is+not+valid", "\\d+");



  if (digits == "1")  then
    language = "de"
    session:execute("set","transfer_ringback=$${us-ring}");
    session:execute("bridge","sofia/clixxo.co.in/208@10.161.17.112");
    session:hangup();
    destroy(0);



  elseif (digits == "2")  then

    language = "de"
    session:execute("set","transfer_ringback=$${us-ring}");
    session:execute("bridge","sofia/clixxo.co.in/101@10.161.17.112");
    session:hangup();
    destroy(0);




else
    language = "de"
    session:execute("set","transfer_ringback=$${us-ring}");
    session:execute("bridge","sofia/clixxo.co.in/200@10.161.17.112");
    session:hangup();
    destroy(0);



end




until j == 2
end
until i == 5




end

如果用户按下数字 3,我想运行以下 xml 代码的功能。可以通过 Lua xml Parser 实现,但不知道怎么实现?

<permission>
<name>900Dialing</name>
<label>900Dialing</label>
<defaultValue>false</defaultValue>
<type>CALL</type>
<builtIn>true</builtIn>
</permission>

Centos 已经有了 XPAT xml Parser 但不知道怎么用?

【问题讨论】:

  • 请正确缩进您的代码。

标签: xml lua freeswitch ivr


【解决方案1】:

您可以像使用 Lua 一样从 mod_perl 运行 Perl 脚本。它的开销有点大,但是您拥有 Perl 的所有优点。同样最灵活的方法是使用事件套接字库并控制来自外部应用程序的调用。在这种情况下,您可以选择更广泛的编程语言。

【讨论】:

  • 我只能使用 Lua,因为我在 Freeswitch 服务器中使用此代码,并且该服务器支持 xml 或 lua 用于 IVR 配置。
猜你喜欢
  • 2021-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-11
  • 2021-03-07
  • 2012-07-11
  • 1970-01-01
  • 2012-12-12
相关资源
最近更新 更多