Summary: | ASTERISK-16196: App Dial "crashes" when received a 484 (Address Incomplete) from a SIP Trunk | ||
Reporter: | Julio Moretti (juliomoretti) | Labels: | |
Date Opened: | 2010-06-02 16:17:19 | Date Closed: | 2011-06-07 14:00:55 |
Priority: | Major | Regression? | No |
Status: | Closed/Complete | Components: | Core/PBX |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ||
Description: | I'm trying to make a call over a SIP Trunk (oferred by one Voip Company). All works fine, but when I put a invalid (not expected number), the SIP Trunk come back with a 484 "Address Incomplete" from the SIP Trunk. And at this time, the DIALPLAN comes out of any extension and priority, junst reporting: -- Got SIP response 484 "Address Incomplete" back from X.X.X.X == Everyone is busy/congested at this time (1:0/0/1) == Spawn extension (macro-dial-external, s, 5) exited non-zero on 'SIP/10000-00000000' in macro 'dial-external' == Spawn extension (Rota_Inicial, 02125405285, 3) exited INCOMPLETE on 'SIP/10000-00000000' [2010-06-02 14:59:28.784] WARNING[4068]: pbx.c:4358 __ast_pbx_run: Channel 'SIP/10000-00000000' sent into invalid extension '02125405285' in context 'Rota_Inicial', but no invalid handler I tried the same in a very simple DIALPLAN, something like (JUST AN EXAMPLE): exten => _X., 1, Noop(Hello) exten => _X., 2, Answer exten => _X., 3, Dial(SIP/mysiptrunk/${EXTEN},300) exten => _X., 4, Noop(${DIALSTATUS}) The result is allways the same: when calling a valid (expected) number, works fine including the "4" priority (in this example). When calling a non expected number for the sip trunk, never comes to the 4 priority, ending before, receiving the messages above. Below comes all the real configuration of the situation exaplaned. But is just for illustration, because it occurs too in a simple way, like the example above. ****** ADDITIONAL INFORMATION ****** [macro-dial-denied] exten => s, 1, Congestion() exten => s, 2, Hangup() [macro-dial-internal] exten => s, 1, Set(DIAL_NUMBER=${ARG1}) exten => s, n, Dial(SIP/${DIAL_NUMBER},${DIAL_TIMEOUT}) exten => s, n, Hangup() [macro-dial-external] exten => s, 1, Set(DIAL_TRUNK=${ARG1}) exten => s, n, Set(DIAL_NUMBER=${ARG2}) exten => s, n, Set(DIAL_TRUNK_OPTIONS=${OUTGOING_DIAL_OPTIONS}) exten => s, n, Set(MACRO_RESULT=CONTINUE) exten => s, n, Dial(${TRUNK_${DIAL_TRUNK}}/${DIAL_NUMBER},${DIAL_TIMEOUT},${DIAL_TRUNK_OPTIONS}) exten => s, n, Noop(Discagem falhou por motivo com DIALSTATUS = ${DIALSTATUS} e HANGUPCAUSE = ${HANGUPCAUSE}) exten => s, n, Goto(s-${DIALSTATUS},1) exten => s-BUSY, 1, Noop(Discagem falhou - Retornou OCUPADO) exten => s-BUSY, n, Busy(20) exten => s-ANSWER, 1, Noop(Chamada devidamente atendida - Agora é só deconectar) exten => s-ANSWER, n, Macro(hangup-treatment) exten => s-NOANSWER, 1, Noop(Discagem falhou - Retornou NÃO ATENDE) exten => s-NOANSWER, n, Progress exten => s-INVALIDNMBR, 1, Noop(Discagem falhou - Retornou NUMERO INVÃLIDO) exten => s-INVALIDNMBR, n, Progress exten => s-INVALIDNMBR, n, Busy(20) exten => s-CHANGED, 1, Noop(Discagem falhou - Retornou NÃMERO MUDOU) exten => s-CHANGED, n, Busy(20) exten => _s-., 1, Set(RC=${IF($[${ISNULL(${HANGUPCAUSE})}]?0:${HANGUPCAUSE})}) exten => _s-., n, Goto(${RC},1) exten => 17, 1, Goto(s-BUSY,1) exten => 18, 1, Goto(s-NOANSWER,1) exten => 22, 1, Goto(s-CHANGED,1) exten => 23, 1, Goto(s-CHANGED,1) exten => 28, 1, Goto(s-INVALIDNMBR,1) exten => 484, 1, Goto(s-INVALIDNMBR,1) exten => _X, 1, Goto(continue,1) exten => _X., 1, Goto(continue,1) exten => continue, 1, Noop(Discagem externa falhou. Motivo: ${DIALSTATUS} HANGUPCAUSE: ${HANGUPCAUSE} - Pode falhar também pelos outros troncos) exten => continue, n, Noop(Continuando, se possÃvel) exten => h, 1, Macro(hangup-treatment) exten => i, 1, Macro(hangup-treatment) exten => e, 1, Macro(hangup-treatment) [macro-hangup-treatment] ;Aqui pode ser colocado tratamento para o momento do HangUp exten => s, 1, Noop(Ação padrão de HangUp) exten => s, n(theend), Hangup [macro-allisbusy] exten => s,1,Playback(all-circuits-busy-now&pls-try-call-later, noanswer) exten => s,n,Congestion(20) exten => s,n,Hangup [macro-check-number] exten => s, 1, Set(DIAL_TRUNK=${ARG1}) exten => s, n, Set(DIAL_NUMBER=${ARG2}) exten => s, n, Set(LDC_POS=${ARG3}) exten => s, n, GotoIf(${ISNULL(${LDC_TRUNK_${DIAL_TRUNK}})}?skipldc) exten => s, n, Set(DIAL_NUMBER=${DIAL_NUMBER:0:${MATH(${LDC_POS}-1)}}${LDC_TRUNK_${DIAL_TRUNK}}${DIAL_NUMBER:${MATH(${LDC_POS}-1)}}) exten => s, n(skipldc), MacroExit [macro-check-override-context] exten => s, 1, Set(USERLOGGED=${DB_EXISTS(AgentExt/${CALLERID(num)})}) exten => s, 2, GotoIf(${USERLOGGED}?4) exten => s, 3, MacroExit exten => s, 4, Set(HASOVERCONTEXT=${DB_EXISTS(AgentORP/${DB_RESULT})}) exten => s, 5, GotoIf(${HASOVERCONTEXT}?7) exten => s, 6, MacroExit exten => s, 7, Goto(${DB_RESULT},${MACRO_EXTEN},2) [Rota_Inicial] exten => _[2-5]XXXXXXX, 1, Macro(check-override-context) exten => _[2-5]XXXXXXX, n, Macro(dial-external,1,${EXTEN}) exten => _[2-5]XXXXXXX, n, Macro(allisbusy) exten => _[6-9]XXXXXXX, 1, Macro(check-override-context) exten => _[6-9]XXXXXXX, n, Macro(dial-external,1,${EXTEN}) exten => _[6-9]XXXXXXX, n, Macro(allisbusy) exten => _01N[2-5]XXXXXXX, 1, Macro(check-override-context) exten => _01N[2-5]XXXXXXX, n, Macro(dial-denied) exten => _01N[6-9]XXXXXXX, 1, Macro(check-override-context) exten => _01N[6-9]XXXXXXX, n, Macro(dial-denied) exten => _0NZ[2-5]XXXXXXX, 1, Macro(check-override-context) exten => _0NZ[2-5]XXXXXXX, n, Macro(check-number,1,${EXTEN},${NAT_LDC_POS}) exten => _0NZ[2-5]XXXXXXX, n, Macro(dial-external,1,${DIAL_NUMBER}) exten => _0NZ[2-5]XXXXXXX, n, Macro(allisbusy) exten => _0NZ[6-9]XXXXXXX, 1, Macro(check-override-context) exten => _0NZ[6-9]XXXXXXX, n, Macro(check-number,1,${EXTEN},${NAT_LDC_POS}) exten => _0NZ[6-9]XXXXXXX, n, Macro(dial-external,1,${DIAL_NUMBER}) exten => _0NZ[6-9]XXXXXXX, n, Macro(allisbusy) exten => _00., 1, Macro(check-override-context) exten => _00., n, Macro(dial-denied) include => orp-int-G4_Inicio include => special-functions | ||
Comments: | By: Paul Belanger (pabelanger) 2010-06-02 16:39:47 Thanks for your comments. This does not appear to be a bug report and we are closing it. We appreciate the difficulties you are facing, but it would make more sense to raise your question in the support tracker, http://www.asterisk.org/support |