Commit Graph

593 Commits (e740375bb7b0daeddac98772e44ef0270a30229c)

Author SHA1 Message Date
Steve Murphy 6c23fca72a Merged revisions 109357 via svnmerge from
17 years ago
Russell Bryant 1ec8cb41a8 Merge changes from team/mvanbaak/cli-command-audit
18 years ago
Tilghman Lesher ac699196f5 Merged revisions 100465 via svnmerge from
18 years ago
Russell Bryant cc4a630cd7 Merged revisions 98390 via svnmerge from
18 years ago
Russell Bryant 234b856d17 Merged revisions 97753 via svnmerge from
18 years ago
Russell Bryant c53f95e29f Merged revisions 97734 via svnmerge from
18 years ago
Tilghman Lesher 857e3412f4 Several manager changes:
18 years ago
Russell Bryant 372dd125dc Merged revisions 97645 via svnmerge from
18 years ago
Russell Bryant ddc0fbfc98 Merged revisions 97640 via svnmerge from
18 years ago
Jason Parker eea428cf76 Use defined return values in load_module in more places.
18 years ago
Kevin P. Fleming 100ef27af9 Merged revisions 93180 via svnmerge from
18 years ago
Olle Johansson 940f8f6276 Convert from LOG_DEBUG etc to ast_debug. Thanks, dimas!
18 years ago
Olle Johansson 17afebc1a6 HUGE improvements to QoS/CoS handling by IgorG
18 years ago
Russell Bryant 04ab19aef5 make something static
18 years ago
Luigi Rizzo 5490889153 Put into Makefile.moddir_rules the common instructions used to
18 years ago
Luigi Rizzo d652be0930 normalize subdirs' Makefile by using ASTTOPDIR and not .. to reference
18 years ago
Jason Parker fc607d5be4 Update documentation for pbx_lua.
18 years ago
Steve Murphy 1f792f1745 closes issue #11294; missed the conditional unlock of the contexts when the hash table is used instead; also, used the ast_free_ptr as advised.
18 years ago
Steve Murphy ab92fc1f35 made AEL 8-bit transparent; mainly the lexer was tossing chars with the hi-order bit set. Not nice. Also, allow @ in extension names, and a backslash, also.
18 years ago
Mark Michelson 180c3fb60e Change all instances of "CALLERID(number)" to "CALLERID(num)" for
18 years ago
Joshua Colp 9910b7d9a7 Merged revisions 89592 via svnmerge from
18 years ago
Steve Murphy a63f6be669 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.
18 years ago
Luigi Rizzo 51391e6b09 shuffle a little bit the content of header files to reduce dependencies.
18 years ago
Luigi Rizzo 7e8835e0d7 remove another set of redundant #include "asterisk/options.h"
18 years ago
Tilghman Lesher cbfc6dcbea Make trunk build again
18 years ago
Luigi Rizzo a23c055c3d move asterisk/paths.h outside asterisk.h and into those files
18 years ago
Luigi Rizzo 6938f4b2b0 Fix building of modules under cygwin.
18 years ago
Luigi Rizzo ffd86fc964 more errno.h removal
18 years ago
Steve Murphy 1a5cdeb138 a quick fix to pbx_dundi.c to make it so it will compile. Hope I did the right thing. And some additions to removal of extens to take care of hashtab pointers in all cases.
18 years ago
Luigi Rizzo a0f06d0dd5 start using asterisk/network.h for network related headers.
18 years ago
Russell Bryant 49d1248c55 fix the build of pbx_lua
18 years ago
Luigi Rizzo 5490960453 remove a bunch of duplicate includes
18 years ago
Luigi Rizzo fdb7f7ba3d Start untangling header inclusion in a way that does not affect
18 years ago
Luigi Rizzo 7f8ecd2cd3 make the 'name' and 'value' fields in ast_variable const char *
18 years ago
Jason Parker cfbc4f5fb8 Doxygen fixes.
18 years ago
Steve Murphy 98429d37b2 Based on a note in asterisk-dev by Brian Capouch, I determined I too agressive in not initializing arrays passed to pbx_substitute_variables_xxxx; I reviewed the code (again) and hopefully found every possible spot where substitute_variables is called conditionally, and made sure the char array involved was set to a null string.
18 years ago
Steve Murphy a897556f7f This is the perhaps the biggest, boldest, most daring change I've ever committed to trunk. Forgive me in advance any disruption this may cause, and please, report any problems via the bugtracker. The upside is that this can speed up large dialplans by 20 times (or more). Context, extension, and priority matching are all fairly constant-time searches. I introduce here my hashtables (hashtabs), and a regression for them. I would have used the ast_obj2 tables, but mine are resizeable, and don't need the object destruction capability. The hashtab stuff is well tested and stable. I introduce a data structure, a trie, for extension pattern matching, in which knowledge of all patterns is accumulated, and all matches can be found via a single traversal of the tree. This is per-context. The trie is formed on the first lookup attempt, and stored in the context for future lookups. Destruction routines are in place for hashtabs and the pattern match trie. You can see the contents of the pattern match trie by using the 'dialplan show' cli command when 'core set debug' has been done to put it in debug mode. The pattern tree traversal only traverses those parts of the tree that are interesting. It uses a scoreboard sort of approach to find the best match. The speed of the traversal is more a function of the length of the pattern than the number of patterns in the tree. The tree also contains the CID matching patterns. See the source code comments for details on how everything works. I believe the approach general enough that any issues that might come up involving fine points in the pattern matching algorithm, can be solved by just tweaking things. We shall see. The current pattern matcher is fairly involved, and replicating every nuance of it is difficult. If you find and report problems, I will try to resolve than as quickly as I can. The trie and hashtabs are added to the existing context and exten structs, and none of the old machinery has been removed for the sake of the multitude of functions that use them. In the future, we can (maybe) weed out the linked lists and save some space.
18 years ago
Jason Parker 267e829cbd Add check_hangup() method to pbx_lua, which can be used to check whether it is time to hangup a channel.
18 years ago
Kevin P. Fleming edc78d6023 improve linked-list macros in two ways:
18 years ago
Russell Bryant c93520b88b propagate the DECLINE return value back to the loader
18 years ago
Russell Bryant 9a47852673 Don't kill asterisk if extensions.lua is not present.
18 years ago
Tilghman Lesher ca55e2f671 Oops, some dev-mode changes for ISO C90
18 years ago
Tilghman Lesher e8c781b215 Add pbx_lua as a method of doing extensions
18 years ago
Steve Murphy 63f2f04cf4 This commits the performance mods that give the priority processing engine in the pbx, a 25-30% speed boost. The two updates used, are, first, to merge the ast_exists_extension() and the ast_spawn_extension() where they are called sequentially in a loop in the code, into a slightly upgraded version of ast_spawn_extension(), with a few extra args; and, second, I modified the substitute_variables_helper_full, so it zeroes out the byte after the evaluated string instead of demanding you pre-zero the buffer; I also went thru the code and removed the code that zeroed this buffer before every call to the substitute_variables_helper_full. The first fix provides about a 9% speedup, and the second the rest. These figures come from the 'PIPS' benchmark I describe in blogs, conf. reports, etc.
18 years ago
Russell Bryant 1c7eb1d82b Change some uses of free() to ast_free(). (No functional differences.)
18 years ago
Steve Murphy c9f3efc381 Merged revisions 87168 via svnmerge from
18 years ago
Steve Murphy b7ef49c931 closes issue #11005, where #include uses the current dir instead of the config dir (/etc/asterisk) for relative path includes for AEL
18 years ago
Jason Parker ebe4050128 Switch from AST_CLI (formerly NEW_CLI) to AST_CLI_DEFINE, since the former didn't make much sense
18 years ago
Joshua Colp 9409a33900 Merged revisions 86661 via svnmerge from
18 years ago
Jason Parker b0f3e6097e Convert NEW_CLI to AST_CLI.
18 years ago