Summary: | ASTERISK-19753: App Macro argument processing does not honor escaped, quoted, or nested parentheses commas. | ||
Reporter: | Richard Mudgett (rmudgett) | Labels: | |
Date Opened: | 2012-04-18 15:05:41 | Date Closed: | |
Priority: | Major | Regression? | |
Status: | Open/New | Components: | Applications/app_macro |
Versions: | SVN 13.18.4 | Frequency of Occurrence | |
Related Issues: | |||
Environment: | Attachments: | ||
Description: | The Macro application cannot have any commas embedded in any of its arguments. If there are any, Macro treats them as separate arguments. I have set this issue against trunk because fixing it will cause a behavioral change. {noformat} [macro-callit] exten => s,1,NoOp(Requested to call ${ARG1},${ARG2},${ARG3}) exten => s,n,Dial(${ARG1},${ARG2},${ARG3}) exten => s,n,NoOp(DIALSTATUS is ${DIALSTATUS}) [predial] exten => s,1,NoOp(Predial, ARGC=${ARGC}, ARG0=${ARG0}, ARG1=${ARG1}, ARG2=${ARG2}) exten => s,n,Return [default] ; This macro invocation fails because macro parses the embedded commas as separate macro arguments. exten => 100,1,Macro(callit,SIP/100,30,b(predial,s,1(Callee,${EXTEN}))B(predial,s,1(Caller,${EXTEN}))) ; This direct dial invocation works because dial handles embedded commas. exten => 200,1,Dial(SIP/200,30,b(predial,s,1(Callee,${EXTEN}))B(predial,s,1(Caller,${EXTEN}))) {noformat} | ||
Comments: |