[asterisk-dev] Better pattern matching
Leif Madsen
leif.madsen at asteriskdocs.org
Thu Aug 2 09:26:09 CDT 2007
On Thursday 02 August 2007 09:13:51 am Steve Murphy wrote:
> I like the idea of using different notations to allow different
> pattern matching algorithms.
>
> But, if we want Asterisk to step up into a higher volume use arena,
> we absolutely have to re-do the extension pattern matching algorithm
> to avoid linear searching. There are ramifications, as I said before,
> to things like realtime, where multiple database reads need to be done
> to select a proper extension.
>
> I was about to go on and on about scoring matches, but the regex libs
> will only give us a set of patterns that match the given string. These
> patterns can be assigned scores when they are compiled. I think. I'll
> have to check on that.
> At least, I hope the scoring is based on the patterns, not on the string
> they match.
While we're talking about this, I'd like to make two suggestions.
1) If we add new pattern matching functionality, it'd be a good idea to have
an option of turning it on and off. Some people have a hard enough time
understanding the current system, and maybe some people don't need anything
other than a basic system, so a setting like the following at the top of the
extensions.conf file would be useful:
enhancedpatternmatching=yes|no
2) The ability to have an alias or shortcut to say, "use the previous pattern
match", similar to the 'n' priority (or rather, the 's' priority), so I can
write a complex pattern match, BUT only have to write it on the first
priority
exten => nancy|jim|james,1,NoOp()
exten => p,n,Verbose(1|My current EXTEN is ${EXTEN})
exten => p,n,Playback(silence/1&tt-weasels)
exten => p,n,Hangup()
Leif Madsen.
More information about the asterisk-dev
mailing list