【问题标题】:Visual Dialplan + Asterisk Pbx可视拨号方案 + Asterisk Pbx
【发布时间】:2015-09-15 15:00:24
【问题描述】:

我的拨号计划有问题。我正在使用一些 php 代码进行循环,并且我正在数组中获取动态数据。例如:一个用户名可能有 2 个或更多帐户。我正在获取帐户名称,并且正在选择一个帐户。

我在循环中使用背景选项来播放帐户名称和上下文。当我按下按钮 2,3 或 4 拨号计划进入上下文和上下文模式。所以它的工作。但是按钮 1 不起作用。我收到扩展错误。我不知道为什么?

[2015-09-15 17:30:31] WARNING[26175][C-0000077d]: pbx.c:6696 __ast_pbx_run: Invalid extension '1', but no rule 'i' or 'e' in context 'Net-IVR-EN-ID'

这是我的配置文件;

exten => multi_wdsl,n,AGI(n_get_adres_wdsl.php,ara=${acc_number})
exten => multi_wdsl,n(lbl_Net-IVR-EN-ID_16),Set(counterplus=${MATH(${counter}+1,i)})
exten => multi_wdsl,n(lbl_Net-IVR-EN-ID_17),Set(TIMEOUT(response)=10)
exten => multi_wdsl,n,Set(TIMEOUT(digit)=10)
exten => multi_wdsl,n,Background(${ses${counter}}&/var/lib/asterisk/sounds/e/i/${counterplus},,en,WDSL_MENU)
exten => multi_wdsl,n,Set(counter=${MATH(${counter}+1,i)})
exten => multi_wdsl,n,GotoIf($["${wdsl_total}" = "${counter}"]?:lbl_Net-IVR-EN-ID_16)
exten => multi_wdsl,n,Set(TIMEOUT(response)=10)
exten => multi_wdsl,n,Set(TIMEOUT(digit)=10)
exten => multi_wdsl,n,Background(5sec&custom/custom/se,,en,WDSL_MENU)
exten => multi_wdsl,n,Goto(Net-IVR-EN-ID,multi_wdsl,1)
exten => i,1,Goto(multi_wdsl,lbl_Net-IVR-EN-ID_17)
exten => multi_wdsl__,1,Read(ir,custom/custom/ir,1,,5,10)
exten => multi_wdsl__,n,GotoIf($["${ir}" = "*"]?:lbl_Net-IVR-EN-ID_18)
exten => multi_wdsl__,n,Goto(Net-IVR-EN-ID,multi_wdsl,1)
exten => multi_wdsl__,n(lbl_Net-IVR-EN-ID_18),GotoIf($["${ir}" = "0"]?:lbl_Net-IVR-EN-ID_19)
exten => multi_wdsl__,n,Goto(Net-IVR-EN,multi_wdsl,1)
exten => multi_wdsl__,n(lbl_Net-IVR-EN-ID_19),Playback(custom/se/wrong_button)
exten => multi_wdsl__,n,Goto(Net-IVR-EN,multi_wdsl,1)

谢谢。

【问题讨论】:

    标签: ip asterisk voip pbx


    【解决方案1】:

    您显示的拨号方案没有 1、2、3 或 4 的任何选项

    后台应用通常这样使用:

    ; this one just play file, not collect any input
    exten => multi_wdsl,n,Background(5sec&custom/custom/se,,en,WDSL_MENU)
    exten => multi_wdsl,n,WaitExten(5); on this stage it wait for input and go extension you entered
    exten  => 1,1,Noop(do something for 1)
    exten  => 2,1,Noop(do somethign for 2)
    exten  => i,1,Noop(invalid input);
    

    您还有阅读应用程序,可以播放和收集数字。

    所以后台应用程序不收集任何东西。问题不是后台应用。

    【讨论】:

    • 2,3 和 4 正在工作。我找到了没有阅读应用程序的解决方案。我添加了新的扩展,它在 Net-IVR-EN 上下文中的名称是 1,我使用了 multi_wdsl 的 goto 选项,它现在转到父 1。但我觉得这种方法不合逻辑......无论如何它的工作,我会在一个工作日内发送我的工作答案。
    • 确定它工作正常,但在你为我们显示的拨号方案中没有。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    相关资源
    最近更新 更多