Asterisk 星号Dialplan WaitExten()只等待一位数字

Asterisk 星号Dialplan WaitExten()只等待一位数字,asterisk,ivr,Asterisk,Ivr,我正在尝试为家庭使用创建一种电话网关,以防我拨打我的号码,我可以拨打我已经定义的号码列表。我已经对它进行了身份验证,下面是我的extensions.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

我正在尝试为家庭使用创建一种电话网关,以防我拨打我的号码,我可以拨打我已经定义的号码列表。我已经对它进行了身份验证,下面是我的extensions.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,然后通过pass 5进行身份验证,然后转到私人网关上下文,能够呼叫本地用户。 不幸的是,当我在private gateway上下文中按下任何数字时,我得到以下警告:

    -- 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'
——执行[*8@netlife-ivr:1]在新堆栈中进行身份验证(“数据卡/life6464-b4b9”,“5”)
--播放“agent pass.gsm”(语言“en”)
--播放“auth error.gsm”(语言“en”)
--播放“auth thankyou.gsm”(语言“en”)
--执行[*8@netlife-ivr:2]转到新堆栈中的(“数据卡/life6464-b4b9”,“专用网关,s,1”)
--转到(专用网关,s,1)
--执行[s@private-网关:1]新堆栈中的背景(“数据卡/life6464-b4b9”,“”/var/lib/asterisk/sounds/ru/“/ent目标助理”)
--播放“/var/lib/asterisk/sounds/ru//ent target attendant.slin”(语言“en”)
--执行[s@private-网关:2]新堆栈中的WaitExten(“数据卡/life6464-b4b9”,“”)
[Aug 14 12:37:55]警告[27531]:pbx.c:4902\u ast\u pbx\u运行:无效的扩展名“1”,但上下文“专用网关”中没有规则“i”或“e”

这意味着-它不等待整数,而是等待第一个。我做错了什么

使用Asterisk的应用程序Disa()-这应该可以满足您的需要

也许可以等到有任何建议时再延长?