Ip 可视拨号计划+星号Pbx

Ip 可视拨号计划+星号Pbx,ip,asterisk,voip,pbx,Ip,Asterisk,Voip,Pbx,我的拨号计划有问题。我正在使用一些php代码进行循环,并在数组中获取动态数据。一个用户名可能有两个或更多帐户。我正在获取帐户名并选择一个帐户 我在循环中使用后台选项来播放帐户名和上下文。当我按下按钮2、3或4时,拨号计划将转到上下文和上下文模式。所以它起作用了。但是按钮1不起作用。我得到扩展错误。我不知道为什么 [2015-09-15 17:30:31] WARNING[26175][C-0000077d]: pbx.c:6696 __ast_pbx_run: Invalid extension

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

我在循环中使用后台选项来播放帐户名和上下文。当我按下按钮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)

谢谢。

您显示的拨号计划没有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正在工作。我找到了没有阅读应用程序的解决方案。我在netivren上下文中添加了新的扩展名it is name is 1,并且我对multi_wdsl使用了goto选项,现在它将转到父1。但我认为这种方法是不合逻辑的。。。无论如何,它的工作,我会在一个工作日内发送我的工作答复。当然,它的工作,但没有在拨号计划中为我们显示。