Commit Graph

1304 Commits (b4e80a108341cc5cc3ca3d0082420d8ae9276d8d)

Author SHA1 Message Date
Jason Parker aa0f63d65f Remove "old"-style CLI handler, since nothing uses it anymore.
18 years ago
Joshua Colp a6ddf3c7b0 Hide CLI commands starting with _ from tab completion as was done previously.
18 years ago
Joshua Colp 6aad89b97d Fix a few log messages.
18 years ago
Russell Bryant 880fb1ece9 Merged revisions 89893 via svnmerge from
18 years ago
Russell Bryant 8133ad1456 Merged revisions 89886 via svnmerge from
18 years ago
Russell Bryant 79bc5ede5f Merged revisions 89839 via svnmerge from
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
Russell Bryant 21a22fa584 Merged revisions 89790 via svnmerge from
18 years ago
Olle Johansson 5ac0f923b3 A few more "moremanager" fixes
18 years ago
Olle Johansson a30972ee65 More "moremanager" fixes. Manager commands to check module status.
18 years ago
Kevin P. Fleming 5e6efa075a Merged revisions 89709 via svnmerge from
18 years ago
Kevin P. Fleming 8ecda22e06 Merged revisions 89701 via svnmerge from
18 years ago
Olle Johansson df7ba90b20 The following patch with updates for trunk. Works much better in trunk.
18 years ago
Joshua Colp 98fbe822f5 Ensure the value returned from ast_random is between 0 and RAND_MAX on 64-bit platforms.
18 years ago
Steve Murphy 4d8932a6dc Merged revisions 89622 via svnmerge from
18 years ago
Joshua Colp 89c0a0a763 Merged revisions 89610 via svnmerge from
18 years ago
Olle Johansson 130a2051fa - Mark "concise" as deprecated
18 years ago
Russell Bryant b11f846e7e Merged revisions 89594 via svnmerge from
18 years ago
Steve Murphy d3209e2ef2 closes issue #11356; Many thanks to snuffy for his code review and changes to cut down duplication. I tested this against hashtest, and it passes. I reviewed the changes, and they look reasonable. I had to remove a few const decls to make things compile on my workstation,
18 years ago
Kevin P. Fleming 721b3c8a0e Merged revisions 89586 via svnmerge from
18 years ago
Steve Murphy 2ec4b57622 Thanks to pnlarsson for noting the spelling error in the cli commands. Also, added some verbage about the new algorithm to CHANGES.
18 years ago
Joshua Colp 72a8e08bf5 Revert change for 11348 until it can be looked at even more.
18 years ago
Joshua Colp 867b734868 Merged revisions 89577 via svnmerge from
18 years ago
Joshua Colp a1b79aa278 Make the behavior of using /dev/urandom for random numbers the same as random().
18 years ago
Olle Johansson 595961655a Try to get channel.h and channel.c aligned in regards to ast_set_callerid as well
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
Steve Murphy 2e5b9d5875 Added <sys/file.h> include to allow trunk to compile. Hope this doesn't louse thing up.
18 years ago
Luigi Rizzo 49c0eaf803 remove some unnecessary includes
18 years ago
Tilghman Lesher b0d8378910 Merged revisions 89540 via svnmerge from
18 years ago
Tilghman Lesher eac58d0fb3 Merged revisions 89536 via svnmerge from
18 years ago
Luigi Rizzo dd10b6d37e more removal of fcntl.h and other system headers
18 years ago
Luigi Rizzo 3fc2646808 remove a number of #include <fcntl.h> which are either
18 years ago
Luigi Rizzo 730e4eaca4 implement the split of file.h and mod_format.h
18 years ago
Luigi Rizzo e0ff5fef5c remove a bunch of useless #include "options.h"
18 years ago
Luigi Rizzo 2142ad6be8 add a missing return
18 years ago
Steve Murphy 55e03ad681 closes issue #11290; the proposed patch was a good guess, and would solve the bug to some extent, but was really masking the real issue, that there were bad entries in the table. This fix removes the condition that the hashtab updates be done on exten removal only when the pattern_tree was present, which is silly. The operations that apply to the pattern tree are instead made conditional. Also, threw back in routines that kpfleming deleted because of probs in the 64-bit world. Tested on both 32 and 64-bit machines (compile). Tested the reload problem with over 20 reloads, and no problems. If you find more problems, please reopen 11290.
18 years ago
Russell Bryant cb67c91cb0 Remove obsolete OLD_DSP_ROUTINES code. Also, remove the FAX_DETECT define and
18 years ago
Mark Michelson 3851bc9789 There existed about a 1 in 4 billion chance that reading from /dev/urandom
18 years ago
Mark Michelson 29ad24e37a I introduced a deadlock avoidance into 1.4, which I attempted to port to trunk as well.
18 years ago
Kevin P. Fleming 34ed13becd remove some debugging code that doesn't compile on 64-bit platforms
18 years ago
Steve Murphy 4670e38aac closes issue #11265; Thanks to snuffy for his work on neatening up the code and removing duplicated code.
18 years ago
Luigi Rizzo 9d7ddb3c63 add missing paths.h
18 years ago
Steve Murphy 8e90425a6c A free in add_pri was ultimately the source of the grief we were having with parking. This set of changes fixes that problem, and introduces some more error messages, and puts debugs into ifdefs for what could be short-term usage. Txs to Terry W. for his help, guidance, and especially patience.
18 years ago
Luigi Rizzo 04e1e0069f more header removal/normalization
18 years ago
Tilghman Lesher 8f4fb30cfe Add support for new recorded character sounds
18 years ago
Luigi Rizzo a23c055c3d move asterisk/paths.h outside asterisk.h and into those files
18 years ago
Luigi Rizzo 915b97d300 move internal function declarations to include/asterisk/_private.h
18 years ago
Kevin P. Fleming 4d522da4aa switch compile-time option checking to string storage mode in this branch too
18 years ago
Mark Michelson dda649ead2 Merged revisions 89457 via svnmerge from
18 years ago
Joshua Colp 5e4e4c5594 Minor documentation tweak and if an incorrect parameter is given to core show translation return the usage information.
18 years ago
Luigi Rizzo a7a0ca9f93 initial makefile changes to build loadable modules under cygwin
18 years ago
Steve Murphy f62bf52e55 Get rid of some debug messages in pbx.c
18 years ago
Steve Murphy 4ea5eced10 These changes were made in response to niklas@tese.se's letter of 11-17-2007, where he had 20 and 201 in two different contexts, included in the same context. In that particular case, we were behaving the same as 1.4, but after experimenting, I quickly found that if 20 and 201 were in the same extension, 1.4 would return 201, and this code returns 20. These changes now enable the current code to replicate the behavior of 1.4 in respect to MATCHMORE in cases like this.
18 years ago
Luigi Rizzo ed9b9733b6 another few errno.h removals
18 years ago
Luigi Rizzo 9335ace850 another bunch of include removals (errno.h and asterisk/logger.h)
18 years ago
Luigi Rizzo 0595b5e2aa include "logger.h" and errno.h from asterisk.h - usage shows that they
18 years ago
Steve Murphy 406f6f2909 a correction to code involved in an extension removal
18 years ago
Olle Johansson cc0e8cc412 Add some debugging to the routines that finds our local IP address.
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 1e6489a175 trim more redundant headers
18 years ago
Luigi Rizzo 907c86a781 remove unnecessary includes
18 years ago
Luigi Rizzo 5663ff6518 fix breakage induced by previous mistake
18 years ago
Luigi Rizzo a0f06d0dd5 start using asterisk/network.h for network related headers.
18 years ago
Luigi Rizzo f9ae0522f5 main is called main not amain!
18 years ago
Luigi Rizzo a9395206f9 conditional targets for building the windows version
18 years ago
Luigi Rizzo 7cd78079ae more cygwin/mingw32 compatibility fixes
18 years ago
Luigi Rizzo 6cca49b9d0 define RTLD_LOCAL for platforms that don't have it.
18 years ago
Luigi Rizzo 130b6291cb netdb.h is used for gethostbyname, and it was not included in some
18 years ago
Luigi Rizzo 2940cf943f Loader for cygwin where asterisk is really a big dll
18 years ago
Luigi Rizzo 5862c55451 use poll as detected by configure
18 years ago
Luigi Rizzo 5490960453 remove a bunch of duplicate includes
18 years ago
Steve Murphy 7953c2c46f My goodness, haven't handled an extension deletion. Add code to ast_context_remove_extension2() to remove an extension from the trie. Done by marking it deleted. The scoreboard won't update for it any more. Also, a couple of calls to insert hashtab had a spurious ->exten, which was removed.
18 years ago
Luigi Rizzo 04497db215 remove duplicate headers.
18 years ago
Luigi Rizzo fdb7f7ba3d Start untangling header inclusion in a way that does not affect
18 years ago
Mark Michelson fd7b3e7261 Fixing a problem pointed out by Qwell
18 years ago
Mark Michelson 3107395445 Added some locks that should have been around astman_send_error,
18 years ago
Steve Murphy ab32ff2ad8 This corrects a hashtab removal, given a bad argument
18 years ago
Steve Murphy 542f29ea0e This fixes a problem with pattern ranges; and corrects a situation in res_features, where an extension would be created with the name Zap/51, as an example. THe / is bad because it would tend to mean that the 51 is to be cid matched.
18 years ago
Kevin P. Fleming 547306835e Merged revisions 89325 via svnmerge from
18 years ago
Luigi Rizzo 02733f3290 add a small new function to retrieve variables from a config
18 years ago
Tilghman Lesher 8309f54e39 If we're going to be passing a negative value for the size of a stringfield,
18 years ago
Steve Murphy eee92d0881 Get rid of a previously missed ast_log call for debug, no longer nec.
18 years ago
Steve Murphy 0bad49b3dd Perhaps I went overboard on initializing things. I can remove unnecc. stuff later. A few bug fixes. Killing small bugs on the way to killing bigger ones. Removed locking on hashtabs; there's plenty of locks already being taken. A small bug in the root_tree hashtab compare func.
18 years ago
Luigi Rizzo 09d9cce1d8 access channel locks through ast_channel_lock/unlock/trylock and not
18 years ago
Mark Michelson 6260590ec2 Merged revisions 89288 via svnmerge from
18 years ago
Mark Michelson eee4ed80cf Merged revisions 89286 via svnmerge from
18 years ago
Steve Murphy 620e580ed6 Had trouble playing with parking; spent a long time trying to reason out MATCHMORE mode. made these updates and xfers on zaptel lines seem to work ok now
18 years ago
Tilghman Lesher 8820ae5b2e Merged revisions 89275 via svnmerge from
18 years ago
Tilghman Lesher 5112f2b7e9 Typo
18 years ago
Tilghman Lesher 36d9a5aaf3 Add callerid to the Hangup manager event.
18 years ago
Steve Murphy 20d24e1027 Rescaled the weights of the patterns to give something more independent of pattern length; and make . less likely to win. Question: which should win for 14102241145-- _1xxxxxxx. or _XXXXXXXXXXX -- right now, the pure X pattern will win.
18 years ago
Steve Murphy 225c94d950 A further problem highlighted by 11233 has been resolved; a certain combination of patterns in a certain order, led to a malformed trie, due to a ptr not being initialized in the loop. Also, some tree printing prettifications.
18 years ago
Tilghman Lesher 0f6892419e One more typo in config.c; and missed conversions due to the constifying of ast_variable_new parameters
18 years ago
Tilghman Lesher b4839d4d4a Typo
18 years ago
Luigi Rizzo 7f8ecd2cd3 make the 'name' and 'value' fields in ast_variable const char *
18 years ago
Russell Bryant d3414c7552 Fix up various coding guidelines issues ...
18 years ago
Joshua Colp 7d561b994c Merged revisions 89260 via svnmerge from
18 years ago
Kevin P. Fleming a34bbab643 use simpler technique for removing known entries from lists
18 years ago
Russell Bryant b30b1bc46f - Simplify removing an item from a list
18 years ago
Steve Murphy fd1f6df25f This hopefully will fix the re-opened 11233. Hadn't covered the case of a context with no patterns. (blush)
18 years ago
Steve Murphy f0a7e86177 closes issue #11233 -- where some fine points in the algorithm to build the tree needed to be corrected. Many thanks for the test case, jtodd
18 years ago
Tilghman Lesher 9cd09c5214 Merged revisions 89239 via svnmerge from
18 years ago
Jason Parker cfbc4f5fb8 Doxygen fixes.
18 years ago
Steve Murphy fd1fbb0223 Thanks to snuff-work, who brought up that these fixes might need to be made.
18 years ago
Jason Parker 50879dcb1d Merged revisions 89194 via svnmerge from
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
Tilghman Lesher 061e5a1674 Merged revisions 89184 via svnmerge from
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 ec8497c58f Merged revisions 89125 via svnmerge from
18 years ago
Mark Michelson 0881f07aed AST_LIST_REMOVE_CURRENT takes only one argument.
18 years ago
Luigi Rizzo 339d27ebe9 use %d and cast to int instead of %zd for size_t object,
18 years ago
Kevin P. Fleming c18691dec0 Merged revisions 89105 via svnmerge from
18 years ago
Kevin P. Fleming edc78d6023 improve linked-list macros in two ways:
18 years ago
Luigi Rizzo d0b2d2dc62 remove a debugging message which i forgot in.
18 years ago
Russell Bryant 5480c54e56 Fix another CLI command so it doesn't run the real code when called for initialization.
18 years ago
Joshua Colp f440f8ba48 Fix up some PBX logic that became broken. The code would exit prematurely when it should have been collecting more digits.
18 years ago
Tilghman Lesher 7c56918262 Commit some cleanups to the format type code.
18 years ago
Steve Murphy 9f08e7e132 Merged revisions 89036 via svnmerge from
18 years ago
Joshua Colp 0971b51cfc Remove native bridging check for DTMF based transfers. Thanks to the last batch of RTP changes it is no longer required for the media stream to go through Asterisk if DTMF is going over signalling. It will simply reinvite back as needed.
18 years ago
Russell Bryant 5ab1541da9 Fix the memory show allocations CLI command so that it doesn't spew out all
18 years ago
Steve Murphy 117d3d834e Hoping to avoid a crash in OSX for a problem blitzrage found
18 years ago
Olle Johansson 402cfcfbbc Formatting. Illegaly using some spare spaces from Russell's space-bucket.
18 years ago
Olle Johansson 6519abeffc Additional TDD changes (preparing for SIP changes - adding TDD support to SIP)
18 years ago
Mark Michelson 5a4867543d "show application <foo>" changes for clarity.
18 years ago
Olle Johansson 8b917df39b Merged revisions 89042 via svnmerge from
18 years ago
Luigi Rizzo 81456f8493 Fix embedding of modules on FreeBSD:
18 years ago
Russell Bryant 9bfd82cec2 Merged revisions 88805 via svnmerge from
18 years ago
Mark Michelson 57c4409689 Merged revisions 88826 via svnmerge from
18 years ago
Luigi Rizzo b80dc41707 Move the last instance of AST_LIBS to the only place it is used,
18 years ago
Russell Bryant aecb21e822 Merged revisions 88719 via svnmerge from
18 years ago
Russell Bryant 7df9905e71 Merged revisions 88709 via svnmerge from
18 years ago
Russell Bryant 6677325afc Merged revisions 88624 via svnmerge from
18 years ago
Luigi Rizzo ba6664ef7d remove a cygwin-specific function remap that does not work.
18 years ago
Luigi Rizzo 08b10da53b Simplify the implementation and the API for stringfields;
18 years ago
Tilghman Lesher eb856fbb48 Revert commit #86119. Some users intentionally do not want colorized terminals, so this was a misfeature.
18 years ago
James Golovich 05dd7fec2c Set CLI command to the correct name. Rev 85460 introduced two 'database show' commands when this one
18 years ago
Russell Bryant 927901fdef Show the channel unique ID in the "show channel concise" output
18 years ago
Jason Parker 4cb45f18a1 Merged revisions 88283 via svnmerge from
18 years ago
Tilghman Lesher e8c781b215 Add pbx_lua as a method of doing extensions
18 years ago
Tilghman Lesher b6c7daa804 Don't re-cache the filename, but check to see if it already exists
18 years ago
Tilghman Lesher b5c2bcb169 'h' extension doesn't execute past first priority
18 years ago
Tilghman Lesher 90db1316ed Modify WaitExten to include an optional dialtone
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
Tilghman Lesher c2aee728e9 Conditionally free lock_info->thread_name to avoid a useless warning
18 years ago
Joshua Colp 284721fdb1 Drop any more references to type in the Exception dialplan function.
18 years ago
Tilghman Lesher b6ec350910 Optimize pbx_substitute_variables
18 years ago
Jason Parker e985a00a32 Update documentation to give an example of how to use the return status of RaiseException
18 years ago
Mark Michelson e0d13e169c The priority gets incremented after raising an exception, so the priority should be set to 0
18 years ago
Mark Michelson e5f87bbac3 Jumped the gun a bit in the RaiseException app. It would always return -1
18 years ago
Jason Parker efe87112fb Merged revisions 87567 via svnmerge from
18 years ago