我有一个Asterisk服务器(主要是)工作拨号计划运行。星号 - 如何处理多位输入
我有这样的场景:
在一个点上的主叫方听到“输入任意号码”。 然后他在手机上输入一个号码。
如果他输入0,我想跳到拨号方案中的'Context0'。 如果他输入1到10000之间的数字,我想跳转到'Context1'。 如果输入的数字高于10000,我想跳转到'Context2'。
处理这一情况的背景是这样的:
[Context]
exten => 100,1,Background(/var/lib/asterisk/sounds/sound)
exten => 0,1,Goto(Context0,100,1)
exten => _Z,1,Goto(Context1,100,1)
exten => _ZX,1,Goto(Context1,100,1)
exten => _ZXX,1,Goto(Context1,100,1)
exten => _ZXXX,1,Goto(Context1,100,1)
exten => 10000,1,Goto(Context1,100,1)
exten => i,1,Goto(Context2,100,1)
这工作,如果我只输入5位数字。如果我输入f.e. 123456然后在12345之后它进入'我的扩展',进入Context2并在这个上下文中应用最后一个数字(在这个例子中是6)。
所以我的问题是,如果输入大于10000,并且它跳到Context2更大,我该如何进行拨号规划检查?
我希望你明白我的问题,我的英语不太好.. :)
非常感谢和问候
但是,如果我尝试使用Read,它总是会挂断。在日志中我总是看到: [Oct 24 11:34:57]警告[1356] [C-00000000] pbx.c:没有应用程序'Read'用于扩展(Context,s,1) 我也尝试了这样简单的事情:[链接](https://wiki.asterisk.org/wiki/display/AST/The+Read+Application)但它给了我同样的错误... 我必须配置我可以使用应用程序“读取”? – simplex
@simplex确保'app_read.so'已加载。如果您的星号未配置为自动加载,您可以使用'module load app_read.so'命令手动加载并重新运行测试。 –