Eu tenho um servidor Asterisk 13.23.1 com freePBX 10.13.66-1.
Meu problema é este, em um IVR quando o chamador coloca um destino inválido (digite um número não configurado no plano IVR) ele deve ir para o destino "sem opção válida" (ramal 2300) mas ao invés disso o plano IVR salta para o ramal do grupo 2400, procuro o registro da chamada e ainda não entendo POR QUE ela vai para aquele destino.
Aqui está o problema nos logs:
[2019-08-19 11:43:45] VERBOSE[26052][C-00000091] pbx.c: Executing [s@ivr-21:9] Set("DAHDI/i2/961599280-2f", "IVR_MSG=custom/IVR_gesthispania") in new stack
[2019-08-19 11:43:45] VERBOSE[26052][C-00000091] pbx.c: Executing [s@ivr-21:10] Set("DAHDI/i2/961599280-2f", "TIMEOUT(digit)=3") in new stack
[2019-08-19 11:43:45] VERBOSE[26052][C-00000091] func_timeout.c: Digit timeout set to 3.000
[2019-08-19 11:43:45] VERBOSE[26052][C-00000091] pbx.c: Executing [s@ivr-21:11] ExecIf("DAHDI/i2/961599280-2f", "1?Background(custom/IVR_gesthispania)") in new stack
[2019-08-19 11:43:45] VERBOSE[26052][C-00000091] file.c: <DAHDI/i2/961599280-2f> Playing 'custom/IVR_gesthispania.slin' (language 'es')
[2019-08-19 11:44:00] VERBOSE[26052][C-00000091] pbx.c: Invalid extension '225' in context 'ivr-21' on DAHDI/i2/961599280-2f
[2019-08-19 11:44:00] VERBOSE[26052][C-00000091] pbx.c: Executing [i@ivr-21:1] Set("DAHDI/i2/961599280-2f", "INVALID_LOOPCOUNT=1") in new stack
[2019-08-19 11:44:00] VERBOSE[26052][C-00000091] pbx.c: Executing [i@ivr-21:2] GotoIf("DAHDI/i2/961599280-2f", "0?final") in new stack
[2019-08-19 11:44:00] VERBOSE[26052][C-00000091] pbx.c: Executing [i@ivr-21:3] Set("DAHDI/i2/961599280-2f", "IVR_MSG=no-valid-responce-pls-try-again") in new stack
[2019-08-19 11:44:00] VERBOSE[26052][C-00000091] pbx.c: Executing [i@ivr-21:4] Goto("DAHDI/i2/961599280-2f", "s,start") in new stack
[2019-08-19 11:44:00] VERBOSE[26052][C-00000091] pbx_builtins.c: Goto (ivr-21,s,10)
[2019-08-19 11:44:00] VERBOSE[26052][C-00000091] pbx.c: Executing [s@ivr-21:10] Set("DAHDI/i2/961599280-2f", "TIMEOUT(digit)=3") in new stack
[2019-08-19 11:44:00] VERBOSE[26052][C-00000091] func_timeout.c: Digit timeout set to 3.000
[2019-08-19 11:44:00] VERBOSE[26052][C-00000091] pbx.c: Executing [s@ivr-21:11] ExecIf("DAHDI/i2/961599280-2f", "1?Background(no-valid-responce-pls-try-again)") in new stack
[2019-08-19 11:44:00] WARNING[26052][C-00000091] file.c: File no-valid-responce-pls-try-again does not exist in any format
[2019-08-19 11:44:00] WARNING[26052][C-00000091] file.c: Unable to open no-valid-responce-pls-try-again (format (alaw)): No such file or directory
[2019-08-19 11:44:00] WARNING[26052][C-00000091] pbx_builtins.c: ast_streamfile failed on DAHDI/i2/961599280-2f for no-valid-responce-pls-try-again
[2019-08-19 11:44:00] VERBOSE[26052][C-00000091] pbx.c: Executing [s@ivr-21:12] WaitExten("DAHDI/i2/961599280-2f", "10,") in new stack
[2019-08-19 11:44:04] VERBOSE[26052][C-00000091] pbx.c: Executing [2@ivr-21:1] Set("DAHDI/i2/961599280-2f", "__ivrreturn=0") in new stack
[2019-08-19 11:44:04] VERBOSE[26052][C-00000091] pbx.c: Executing [2@ivr-21:2] Goto("DAHDI/i2/961599280-2f", "ext-group,2400,1") in new stack
[2019-08-19 11:44:04] VERBOSE[26052][C-00000091] pbx_builtins.c: Goto (ext-group,2400,1)
[2019-08-19 11:44:04] VERBOSE[26052][C-00000091] pbx.c: Executing [2400@ext-group:1] GotoIf("DAHDI/i2/961599280-2f", "0?cid") in new stack
[2019-08-19 11:44:04] VERBOSE[26052][C-00000091] pbx.c: Executing [2400@ext-group:2] Progress("DAHDI/i2/961599280-2f", "") in new stack
[2019-08-19 11:44:04] VERBOSE[26052][C-00000091] pbx.c: Executing [2400@ext-group:3] Macro("DAHDI/i2/961599280-2f", "user-callerid,") in new stack
[2019-08-19 11:44:04] VERBOSE[26052][C-00000091] pbx.c: Executing [s@macro-user-callerid:1] Set("DAHDI/i2/961599280-2f", "TOUCH_MONITOR=1566207824.2133") in new stack
[2019-08-19 11:44:04] VERBOSE[26052][C-00000091] pbx.c: Executing [s@macro-user-callerid:2] Set("DAHDI/i2/961599280-2f", "AMPUSER=961599280") in new stack
[2019-08-19 11:44:04] VERBOSE[26052][C-00000091] pbx.c: Executing [s@macro-user-callerid:3] GotoIf("DAHDI/i2/961599280-2f", "0?report") in new stack
[2019-08-19 11:44:04] VERBOSE[26052][C-00000091] pbx.c: Executing [s@macro-user-callerid:4] ExecIf("DAHDI/i2/961599280-2f", "1?Set(REALCALLERIDNUM=961599280)") in new stack
espero que alguém possa me ajudar a entender por que isso está acontecendo e como posso consertar.
Responder1
Desculpe por minha resposta tardia. Nesta chamada específica, o usuário às 11h44min04s havia digitado apenas "2" em seu teclado durante a aplicação WaitExten que foi chamada às 11h44min00s. Isso enviou a execução do dialplan para o ramal 2 no contexto ivr-21 que na segunda prioridade envia a execução do dialplan para o ramal 2400 no contexto ext-group. O ramal 2 é uma correspondência válida para o 2 que o usuário digitou no teclado antes do tempo limite de 3 segundos.
No contexto ivr-21, você pode ter nomes de extensões com vários dígitos que começam com "2x", além do nome de extensão de um dígito 2. Seria melhor que todos os nomes de extensões que começam com 2 tivessem o mesmo comprimento para que você não acabe com erros devido a tempos limite que podem ocorrer enquanto um usuário insere dígitos.