Summary: | ASTERISK-18362: AEL: jump doesn't work as 'jump +123456789;' | ||||
Reporter: | Dennis (kokoloris) | Labels: | |||
Date Opened: | 2011-08-30 02:27:53 | Date Closed: | 2019-04-11 15:11:18 | ||
Priority: | Minor | Regression? | |||
Status: | Closed/Complete | Components: | Utilities/aelparse | ||
Versions: | 1.8.5.0 13.18.4 | Frequency of Occurrence | Constant | ||
Related Issues: |
| ||||
Environment: | Linux version 2.6.26-2-486 (Debian 2.6.26-26lenny3) (dannf@debian.org) (gcc version 4.1.3 20080704 (prerelease) (Debian 4.1.2-25)) #1 Sat Jun 11 14:47:34 UTC 2011 | Attachments: | |||
Description: | I want to add a quick dialing number to my dial-plan by using the jump command. Therefore I added "47 => jump +49123456789;" to my ael code. The whole context is the following: {code} context outgoing { _00Z. => jump +${EXTEN:2}; _0Z. => jump +49${EXTEN:1}; _Z. => jump +49421${EXTEN}; _+X. => &enumcall(${EXTEN}); 47 => jump +49123456789; } {code} The first three jump commands work fine. The last one fails in ael parsing with the following error: {quote} [Aug 14 22:07:28] ERROR[10292]: ael/pval.c:1265 check_goto: Error: file /etc/asterisk/extensions.ael, line 70-70: goto: no label '+49123456789,1' exists in the current context, or any of its inclusions! [Aug 14 22:07:28] ERROR[10292]: ael/pval.c:1265 check_goto: Error: file /etc/asterisk/extensions.ael, line 70-70: goto: no label '+49123456789,1' exists in the current context, or any of its inclusions! [Aug 14 22:07:28] ERROR[10292]: pbx_ael.c:151 pbx_load_module: Sorry, but 0 syntax errors and 2 semantic errors were detected. It doesn't make sense to compile. {quote} By modifying the last line into "jump 0049123456789;", my whole context is working pretty well. | ||||
Comments: | By: Leif Madsen (lmadsen) 2011-09-13 07:50:42.644-0500 While I don't think it *should* matter, does order matter here? What happens if you place it above the _+X. line? By: Dennis (kokoloris) 2011-09-13 12:41:16.337-0500 You're right. It doesn't matter ... By: Leif Madsen (lmadsen) 2011-09-14 09:41:03.004-0500 OK Acknowledging this issue. AEL however is a community supported module, so you'll need to either provide a patch, or see if you can get someone from the community to take up the cause. Thanks! By: GR Abbel (Grabbel) 2013-10-01 16:20:54.728-0500 Hi, I noticed this too, as it is still not working in Asterisk 11, also for a context that defines speed dials and jumps with the plus sign + to another context. This really is a serious bug, because if I hadn't found this thread I would have thought I did something wrong. Note that the problem here is just the AEL check that fails during parsing. If you add an empty dummy {{extension _. => NoOp();}} the AEL check passes, and matching on + is just functional (as the matching itself is just done by regular Asterisk, which correctly sees the plus signs). An easy workaround I found is to just add brackets to the plus sign: {{_[+]X. => &enumcall($\{EXTEN\});}} Then the AEL checks pass and it's valid and intended syntax too. But still, can someone step up and correct this properly? |