Summary: | ASTERISK-26016: Dialplan execution error in h ext | ||
Reporter: | gzivdo (gzivdo) | Labels: | |
Date Opened: | 2016-05-12 00:57:20 | Date Closed: | 2016-05-12 14:02:56 |
Priority: | Major | Regression? | |
Status: | Closed/Complete | Components: | PBX/pbx_config |
Versions: | 11.13.1 | Frequency of Occurrence | Constant |
Related Issues: | |||
Environment: | Debian 8, asterisk from package repository | Attachments: | |
Description: | Asterisk after last h ext priority suddenly start execute _. ext from next priority number.
Sample dialplan to reproduce: {code} [ivr] exten => _.,1,Answer same => n,Set(isstored=1) same => n,Set(LIMIT_PLAYAUDIO_CALLER=yes) same => n,Set(LIMIT_WARNING_FILE=beep) same => n,agi(/etc/asterisk/agi-timelimit-and-subscribe.py) same => n,hangup() exten => h,1,NOOP(timelimit hangup isstored=${isstored}, call_id=${id1}) same => n,GotoIf($["${isstored}" == "1"]?end) same => n,AGI(/etc/asterisk/timelimit-hangup.agi) same => n(end),Noop(hangup timelimit end) {code} Dialplan debug: {code} -- Executing [123@ivr:1] Answer("SIP/101-00000024", "") in new stack > 0x7fc18c016660 -- Probation passed - setting RTP source address to xxx -- Executing [123@ivr:2] Set("SIP/101-00000024", "isstored=1") in new stack -- Executing [123@ivr:3] Set("SIP/101-00000024", "LIMIT_PLAYAUDIO_CALLER=yes") in new stack -- Executing [123@ivr:4] Set("SIP/101-00000024", "LIMIT_WARNING_FILE=beep") in new stack -- Executing [123@ivr:5] AGI("SIP/101-00000024", "/etc/asterisk/agi-timelimit-and-subscribe.py") in new stack -- Launched AGI Script /etc/asterisk/agi-timelimit-and-subscribe.py > 0x7fc18c016660 -- Probation passed - setting RTP source address to xxx /etc/asterisk/agi-timelimit-and-subscribe.py: Client 101 remaining time -53.8578059673 -- Playing './ivrmenu/noquota' (escape_digits=) (sample_offset 0) -- <SIP/101-00000024>AGI Script /etc/asterisk/agi-timelimit-and-subscribe.py completed, returning 4 == Spawn extension (ivr, 123, 5) exited non-zero on 'SIP/101-00000024' -- Executing [h@ivr:1] NoOp("SIP/101-00000024", "timelimit hangup isstored=1, call_id=") in new stack -- Executing [h@ivr:2] GotoIf("SIP/101-00000024", "1?end") in new stack -- Goto (ivr,h,4) -- Executing [h@ivr:4] NoOp("SIP/101-00000024", "hangup timelimit end") in new stack -- Executing [h@ivr:5] AGI("SIP/101-00000024", "/etc/asterisk/agi-timelimit-and-subscribe.py") in new stack -- Launched AGI Script /etc/asterisk/agi-timelimit-and-subscribe.py -- <SIP/101-00000024>AGI Script /etc/asterisk/agi-timelimit-and-subscribe.py completed, returning 0 -- Executing [h@ivr:6] Hangup("SIP/101-00000024", "") in new stack {code} As we see here, it should stop at h@ivr:4, but it execute non existing h@ivr:5 and h@ivr:6, which is _.,5 and _.6. agi just stream one audio in that case, do verbose output once and exit with agi hangup | ||
Comments: | By: Asterisk Team (asteriskteam) 2016-05-12 00:57:21.197-0500 Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution. A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report. Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process]. By: Joshua C. Colp (jcolp) 2016-05-12 04:53:14.420-0500 This is not a bug. This is the way the dialplan works, when the next priority is moved to it will find the next closest match. By: gzivdo (gzivdo) 2016-05-12 13:58:57.115-0500 Please look again at my post. There is no next closest priority in h, 4 is last. Call ended channel was hangup. Or h matched _.? By: Asterisk Team (asteriskteam) 2016-05-12 13:58:57.229-0500 This issue has been reopened as a result of your commenting on it as the reporter. It will be triaged once again as applicable. By: Joshua C. Colp (jcolp) 2016-05-12 14:02:56.079-0500 h matched _. which is why when you use it a warning is output on the console. By: gzivdo (gzivdo) 2016-05-12 15:49:06.854-0500 thanks for clarifying things |