closes issue #11363; where the pattern _20x. buried in an included context, didn...
authorSteve Murphy <murf@digium.com>
Sat, 24 Nov 2007 21:00:26 +0000 (21:00 +0000)
committerSteve Murphy <murf@digium.com>
Sat, 24 Nov 2007 21:00:26 +0000 (21:00 +0000)
commita63f6be669bbe79db05bd9994245650502d439bc
tree15cf03868acd5ee0433da42a45f4399c9f9cb621
parentc7e931eacf9cb37b1416323d330a6c26cbd1d2b3
closes issue #11363; where the pattern _20x. buried in an included context, didn't match 2012; There were a small set of problems to fix: 1. I needed NOT to score patterns unless you are at the end of the data string. 2. Capital N,X,Z and small n,x,z are OK in patterns. I canonicalize the patterns in the trie to caps. 3. When a pattern ends with dot or exclamation, CANMATCH/MATCHMORE should always report this pattern, no matter the length.  With this commit, I also supplied the wish of Luigi, where the user can select which pattern matching algorithm to use, the old (legacy) pattern matcher, or the new, trie based matcher. The OLD matcher is the default. A new [general] section variable, extenpatternmatchnew, is added to the extensions.conf, and the example config has it set to false. If true, the new matcher is used. In all other respects, the context/exten structs are the same; the tries and hashtabs are formed, but in the new mode the tries are not used.  A new CLI command 'dialplan set extenpatternmatch true/false' is provided to allow switching at run time. I beg users that are forced to return to the old matcher to please report the reason in the bug tracker. Measured the speed benefit of the new matcher against an impossibly large context with 10,000 extensions: the new matcher is 374 times faster.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89547 65c4cc65-6c06-0410-ace0-fbb531ad65f3
configs/extensions.conf.sample
include/asterisk/pbx.h
main/pbx.c
pbx/pbx_config.c