[Home]

Summary:ASTERISK-03942: Pattern matching with "ex-girlfriend" logic does not accept variable substitution
Reporter:twisted (twisted)Labels:
Date Opened:2005-04-14 17:31:46Date Closed:2008-01-15 15:32:24.000-0600
Priority:TrivialRegression?No
Status:Closed/CompleteComponents:Core/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:Normal extensions will accept variable substitution, however, pattern matches using ex-girlfriend logic will not.  This would be useful in macros when trying to do an automatic voicemail login prompt for dialing your own number.

the extensions parsing system actually reports the callerid match and displays the entire variable as ${VARIABLE} as the callerid number match.

This matching does not work, although upon approach of that extension in the dialplan, it lists it in the parsing as a callerid match extension.

The correct method would be to parse the variable(s) at execution time, just as we do for normal extensions..
Comments:By: Kevin P. Fleming (kpfleming) 2005-04-20 11:48:43

The description here is chopped off and appears to be incomplete...

By: twisted (twisted) 2005-04-20 12:58:48

Not sure why it truncated the description, I fixed that, however, the last few lines are really irrelevant to the actual bug.

By: Kevin P. Fleming (kpfleming) 2005-04-20 23:33:59

Can you do me a small favor and post an exanple of what you are referring to here? Please? :-)

By: Kevin P. Fleming (kpfleming) 2005-04-26 23:07:44

Can we get an example?

By: twisted (twisted) 2005-04-26 23:20:08

Yes, although I thought my description summed it up just fine:

MYVAR=1234

exten => 1234/1234,1,Dosomething()  ; works fine.
exten => ${MYVAR}/1234,1,Dosomething() ; works fine.
exten => 1234/${MYVAR},1,Dosomething() ; does not work at all.  it takes ${MYVAR} as a literal.

hope that clarifies it.

By: Kevin P. Fleming (kpfleming) 2005-04-26 23:50:06

OK, I'll take a look, thanks.

By: Kevin P. Fleming (kpfleming) 2005-04-27 00:04:11

OK, my confusion stemmed from the fact that I thought you were using channel variables here, not global variables :-)

I've just committed a fix to CVS HEAD to do the global variable substitution before splitting the extension and cidmatch apart, so this should correct your problem.

By: Digium Subversion (svnbot) 2008-01-15 15:32:22.000-0600

Repository: asterisk
Revision: 5515

U   trunk/pbx/pbx_config.c

------------------------------------------------------------------------
r5515 | kpfleming | 2008-01-15 15:32:21 -0600 (Tue, 15 Jan 2008) | 2 lines

perform global variable substitution before splitting extension and cidmatch when reading in dialplan (bug ASTERISK-3942)

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=5515

By: Digium Subversion (svnbot) 2008-01-15 15:32:24.000-0600

Repository: asterisk
Revision: 5517

U   trunk/Makefile

------------------------------------------------------------------------
r5517 | kpfleming | 2008-01-15 15:32:23 -0600 (Tue, 15 Jan 2008) | 2 lines

during 'make install', remove any headers from the destination include/asterisk directory that are no longer present in the source directory (bug ASTERISK-3942)

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=5517