[Home]

Summary:ASTERISK-24377: Dialplan pattern matching does not work as expected
Reporter:Maxim (supermaxiko)Labels:
Date Opened:2014-09-30 23:58:39Date Closed:2014-10-01 16:20:03
Priority:MajorRegression?
Status:Closed/CompleteComponents:
Versions:11.13.0 Frequency of
Occurrence
Constant
Related
Issues:
Environment:Debian GNU/Linux 7.5 (wheezy)Attachments:
Description:There is part of my dialpan
{quote}
exten = s,n,StopMixMonitor
exten = s,n,Goto(s-$\{DIALSTATUS\},1)
exten = s,n,Goto(exit,1)
;
exten = s-BUSY,1,Playtones(busy)
exten = s-BUSY,n,Busy(3)
exten = s-BUSY,n,HangUp
exten = s-BUSY,n,Goto(exit,1)
;
exten = s-ISNULLTRUNK,1,Playtones(congestion)
exten = s-ISNULLTRUNK,n,Congestion(3)
exten = s-ISNULLTRUNK,n,HangUp
exten = s-ISNULLTRUNK,n,Goto(exit,1)
;
exten = s-CONGESTION,1,StopMixMonitor
exten = s-CONGESTION,n,Congestion(3)
exten = s-CONGESTION,n,HangUp
exten = s-CONGESTION,n,Goto(exit,1)
;
exten = _s-!,1,Goto(s-CONGESTION,1)
{quote}
When variable DIALSTATUS is not BUSY,CONGESTION, ISNULLTRUNK and *not* empty it successfully jump to extension _s-! and then jump to s-CONGESTION.
{quote}
-- Executing \[s@macro-dialout:120\] Goto("SIP/101-00000046", "s-ANSWER,1") in new stack
-- Goto (macro-dialout,s-ANSWER,1)
-- Executing \[s-ANSWER@macro-dialout:1\] Goto("SIP/101-00000046", "s-CONGESTION,1") in new stack
-- Goto (macro-dialout,s-CONGESTION,1)
{quote}
But when variable DIALSTATUS is empty, i assume that it should jump to extension _s-! too, but it begin to execute whole macro from beginning.
{quote}
-- Executing \[s@macro-dialout:119\] Goto("SIP/w_3769608-00000003", "s-,1") in new stack
   -- Goto (macro-dialout,s-,1)
   -- Executing \[s-@macro-dialout:1\] NoOp("SIP/w_3769608-00000003", "CID_CLIR  : ") in new stack
   -- Executing \[s-@macro-dialout:2\] NoOp("SIP/w_3769608-00000003", "TRUNK     : SIP/w_3769608") in new stack
{quote}
Comments:By: Richard Mudgett (rmudgett) 2014-10-01 12:07:19.675-0500

This is not a bug.  Dashes are *ignored* when matching extensions.
See https://wiki.asterisk.org/wiki/display/AST/Pattern+Matching