[asterisk-bugs] [JIRA] (ASTERISK-16352) [patch] Dialplan execution stops after awhile on an attended transfer by the calling party (with use of Dial 'g' option)

Matt Jordan (JIRA) noreply at issues.asterisk.org
Thu Feb 26 09:19:35 CST 2015


    [ https://issues.asterisk.org/jira/browse/ASTERISK-16352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=167971#comment-167971 ] 

Matt Jordan edited comment on ASTERISK-16352 at 2/26/15 9:19 AM:
-----------------------------------------------------------------

It appears my machine just got a lot quicker (If I knew how, I would have sold my knowledge to Intel ;-) )

Anyway, it explains why I wasn't able to reproduce the problem.
Simply increasing the While loop to count until 2000 does the trick or like I did, include a command that takes a little longer to execute. Like this ODBC call:

{noformat}
exten = s,n,Set(RESULT=${ODBC_CST(SELECT callerid FROM device WHERE id= '\1'\)})
{noformat}

All of which will help if you want to see the error occur...

HINT: Don't run Asterisk in the background, it could make your CLI output incomplete. just start it using "asterisk -vvvc"




was (Author: ramonpeek):
It appears my machine just got a lot quicker (If I knew how, I would have sold my knowledge to Intel ;-) )

Anyway, it explains why I wasn't able to reproduce the problem.
Simply increasing the While loop to count until 2000 does the trick or like I did, include a command that takes a little longer to execute. Like this ODBC call:

exten = s,n,Set(RESULT=${ODBC_CST(SELECT callerid FROM device WHERE id= '\1'\)})

All of which will help if you want to see the error occur...

HINT: Don't run Asterisk in the background, it could make your CLI output incomplete. just start it using "asterisk -vvvc"



> [patch] Dialplan execution stops after awhile on an attended transfer by the calling party  (with use of Dial 'g' option)
> -------------------------------------------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-16352
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-16352
>             Project: Asterisk
>          Issue Type: Bug
>          Components: PBX/General
>            Reporter: Ramon Peek
>            Severity: Minor
>         Attachments: debug_log2.tar.gz, patch.diff
>
>
> Dialplan execution stops after awhile on an attended transfer by the calling party  (with use of Dial() command 'g' option) 
> This applies to systems with large dialplans (which we use), small dialplans do not seem to encounter much problems, due to the delay in SIP messaging.
> If traced, you can see the after Asterisk receives a SIP BYE message, the dialplan execution is immediately stopped even though there are other priorities to evaluate in the dialplan.
> SEE STEPS TO REPRODUCE (in advanced view mode)
> *STEPS TO REPRODUCE*
> I use this dialplan:
> {noformat}
> exten = 801,1,Dial(SIP/401,15,g)
> exten = 801,n,Goto(test,s,1)
> exten = 802,1,Dial(SIP/402,15,g)
> exten = 802,n,Goto(test,s,1)
> exten = 803,1,Dial(SIP/403,15,g)
> exten = 803,n,Goto(test,s,1)
> exten = h,1,Goto(test,s,1)
> [test]
> exten = s,1,Set(COUNT=1)
> exten = s,n,While($[${COUNT} <= 1000])
>  exten = s,n,Noop(Waiting loop started for issue 1321 - counter value = ${COUNT})
>  exten = s,n,Set(COUNT=$[${COUNT} + 1])
> exten = s,n,EndWhile
> exten = s,n,Hangup
> {noformat}
> Then:
> * From peer 403 (extension 803) dial 801 (peer 401) and answer.
> * Put call on Hold at 403
> * From peer 403 dial 802 (peer 402) and answer.
> * transfer the call.. (SIP REFER)
> Notice that the dialplan execution stops before the counter reaches 1000.
> NOTE:
> -----
> Please note that this example may seem ludicrous. However in my dialplan I use many ODBC calls that take up some time to execute, which is why I was confronted with this issue.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list