我正在尝试为家庭使用创建一种电话网关,如果我拨打我的号码,我可以拨打我已定义的号码列表。我已经对它进行了身份验证,这是我的extentions.conf的一个例子:
exten => s,n,Background(${sdir}/dial-exten-tone)
exten => s,n,WaitExten()
exten => *8,1,Authenticate(5)
exten => *8,2,Goto(private-gateway,s,1)
[private-gateway]
exten => s,1,Background(${sdir}/ent-target-attendant)
exten => s,2,WaitExten()
exten => s,n,NoOp(${EXT})
exten => 100XXX,n,Goto(local-users,${EXTEN},1)
我的想法是拨打我的私人号码,按8,然后通过第5次通过身份验证,然后转到私人网关上下文,能够呼叫本地用户。 不幸的是,只要我在私人网关环境中按任意号码,我就会收到以下警告:
-- Executing [*8@netlife-ivr:1] Authenticate("Datacard/life6464-b4b9", "5") in new stack
-- <Datacard/life6464-b4b9> Playing 'agent-pass.gsm' (language 'en')
-- <Datacard/life6464-b4b9> Playing 'auth-incorrect.gsm' (language 'en')
-- <Datacard/life6464-b4b9> Playing 'auth-thankyou.gsm' (language 'en')
-- Executing [*8@netlife-ivr:2] Goto("Datacard/life6464-b4b9", "private-gateway,s,1") in new stack
-- Goto (private-gateway,s,1)
-- Executing [s@private-gateway:1] BackGround("Datacard/life6464-b4b9", ""/var/lib/asterisk/sounds/ru/"/ent-target-attendant") in new stack
-- <Datacard/life6464-b4b9> Playing '/var/lib/asterisk/sounds/ru//ent-target-attendant.slin' (language 'en')
-- Executing [s@private-gateway:2] WaitExten("Datacard/life6464-b4b9", "") in new stack
[Aug 14 12:37:55] WARNING[27531]: pbx.c:4902 __ast_pbx_run: Invalid extension '1', but no rule 'i' or 'e' in context 'private-gateway'
这意味着 - 它不会等待整个数字,而是等待第一个数字。我究竟做错了什么?
答案 0 :(得分:2)
使用Asterisk的应用程序Disa() - 应该做你想做的事情