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.  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89792  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-27 22:14:55 +00:00 
						 
				 
			
				
					
						
							
							
								Russell Bryant 
							
						 
					 
					
						
						
							
						
						21a22fa584 
					 
					
						
						
							
							Merged revisions 89790 via svnmerge from  
						
						... 
						
						
						
						https://origsvn.digium.com/svn/asterisk/branches/1.4 
........
r89790 | russell | 2007-11-27 15:45:51 -0600 (Tue, 27 Nov 2007) | 41 lines
Merge changes from team/russell/autoservice_1.4
This set of changes fixes an issue that was reported to me on IRC yesterday.
The user, d1mas, was using chan_zap for incoming calls and was having DTMF
recognition issues in some situations.  Specifically, he noticed that the 
problem occurred when using DISA or WaitExten.  He also noticed that when 
using Read, the problem did not occur.  His system also used DUNDi for 
dialplan lookups.
So, he theorized that if the DUNDi lookups blocked for some period of time,
that audio from the zap channel could get lost.  If the audio got lost, then
it wouldn't be run through the DTMF detector, and digits could get lost.
He was correct, and the following set of changes fixes the problem.  However,
the changes go a little bit further than what was necessary to fix this exact
problem.
1) I updated pbx_extension_helper() to autoservice the associated channel to
   handle cases where extension lookups may take a long time.  This would
   normally be a dialplan switch that does some lookup over the network, such
   as the DUNDi or IAX2 switches.
   This ensures that even while a DUNDi lookup is blocking, the channel will be
   continuously serviced.
2) I made a change to the autoservice code.  This is actually something that
   has bothered me for a long time.  When a channel is in autoservice, _all_
   frames get thrown away.  However, some frames really shouldn't be thrown
   away.  The most notable examples are signalling (CONTROL) frames, and DTMF.
   So, this patch queues up important frames while a channel is in autoservice.
   When autoservice is stopped on the channel, the queued up frames get stuck
   back on the channel so that they can get processed instead of thrown away.
3) I made another change to the autoservice code to handle the case where
   autoservice is started on channels recursively.
   Previously, you could call ast_autoservice_start() multiple times on a
   channel, and it would stop the first time ast_autoservice_stop() gets
   called.  Now, it will ensure that autoservice doesn't actually stop until
   the final call to ast_autoservice_stop().
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89791  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
					
						2007-11-27 22:05:36 +00:00 
						 
				 
			
				
					
						
							
							
								Russell Bryant 
							
						 
					 
					
						
						
							
						
						b11f846e7e 
					 
					
						
						
							
							Merged revisions 89594 via svnmerge from  
						
						... 
						
						
						
						https://origsvn.digium.com/svn/asterisk/branches/1.4 
........
r89594 | russell | 2007-11-26 11:41:04 -0600 (Mon, 26 Nov 2007) | 3 lines
Add channel locking to a function that needed to be doing it.  This is just a
little something I noticed while working on a completely unrelated issue.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89596  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
					
						2007-11-26 17:49:47 +00:00 
						 
				 
			
				
					
						
							
							
								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.  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89583  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-26 16:24:27 +00:00 
						 
				 
			
				
					
						
							
							
								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.  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89547  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-24 21:00:26 +00:00 
						 
				 
			
				
					
						
							
							
								Luigi Rizzo 
							
						 
					 
					
						
						
							
						
						e0ff5fef5c 
					 
					
						
						
							
							remove a bunch of useless #include "options.h"  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89511  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-21 23:09:02 +00:00 
						 
				 
			
				
					
						
							
							
								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.  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89505  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-21 20:38:00 +00:00 
						 
				 
			
				
					
						
							
							
								Mark Michelson 
							
						 
					 
					
						
						
							
						
						29ad24e37a 
					 
					
						
						
							
							I introduced a deadlock avoidance into 1.4, which I attempted to port to trunk as well.  
						
						... 
						
						
						
						Unfortunately, since trunk uses read/write locks for the context lock, it means that I have
actually *introduced* a deadlock condition since they are not recursive. Removing this change
for now and will look into introducing a different one.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89483  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-21 16:08:12 +00:00 
						 
				 
			
				
					
						
							
							
								Kevin P. Fleming 
							
						 
					 
					
						
						
							
						
						34ed13becd 
					 
					
						
						
							
							remove some debugging code that doesn't compile on 64-bit platforms  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89480  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-21 15:29:39 +00:00 
						 
				 
			
				
					
						
							
							
								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.  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89474  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-21 01:09:47 +00:00 
						 
				 
			
				
					
						
							
							
								Luigi Rizzo 
							
						 
					 
					
						
						
							
						
						a23c055c3d 
					 
					
						
						
							
							move asterisk/paths.h outside asterisk.h and into those files  
						
						... 
						
						
						
						who really need it.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89466  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-20 23:16:15 +00:00 
						 
				 
			
				
					
						
							
							
								Luigi Rizzo 
							
						 
					 
					
						
						
							
						
						915b97d300 
					 
					
						
						
							
							move internal function declarations to include/asterisk/_private.h  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89465  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-20 22:18:21 +00:00 
						 
				 
			
				
					
						
							
							
								Mark Michelson 
							
						 
					 
					
						
						
							
						
						dda649ead2 
					 
					
						
						
							
							Merged revisions 89457 via svnmerge from  
						
						... 
						
						
						
						https://origsvn.digium.com/svn/asterisk/branches/1.4 
........
r89457 | mmichelson | 2007-11-20 11:50:31 -0600 (Tue, 20 Nov 2007) | 9 lines
According to comments in main/pbx.c, it is essential that if we are going to lock
the conlock as well as the hints lock, it must be locked in that respective order.
In order to prevent a potential deadlock, we need to lock the conlock prior to 
locking the hints lock in ast_hint_state_changed (see the call stack example on
issue #11323  for how this can happen).
(closes issue #11323 , reported  by eelcob, suggestion for patch by eelcob, patch by me)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89458  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
					
						2007-11-20 17:59:00 +00:00 
						 
				 
			
				
					
						
							
							
								Steve Murphy 
							
						 
					 
					
						
						
							
						
						f62bf52e55 
					 
					
						
						
							
							Get rid of some debug messages in pbx.c  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89442  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-20 00:17:15 +00:00 
						 
				 
			
				
					
						
							
							
								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.  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89438  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-19 22:55:38 +00:00 
						 
				 
			
				
					
						
							
							
								Luigi Rizzo 
							
						 
					 
					
						
						
							
						
						9335ace850 
					 
					
						
						
							
							another bunch of include removals (errno.h and asterisk/logger.h)  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89425  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-19 19:09:03 +00:00 
						 
				 
			
				
					
						
							
							
								Steve Murphy 
							
						 
					 
					
						
						
							
						
						406f6f2909 
					 
					
						
						
							
							a correction to code involved in an extension removal  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89422  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-19 17:18:26 +00:00 
						 
				 
			
				
					
						
							
							
								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.  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89388  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-17 17:46:36 +00:00 
						 
				 
			
				
					
						
							
							
								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.  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89346  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-16 23:33:32 +00:00 
						 
				 
			
				
					
						
							
							
								Luigi Rizzo 
							
						 
					 
					
						
						
							
						
						fdb7f7ba3d 
					 
					
						
						
							
							Start untangling header inclusion in a way that does not affect  
						
						... 
						
						
						
						build times - tested, there is no measureable difference before and
after this commit.
In this change:
use asterisk/compat.h to include a small set of system headers:
inttypes.h, unistd.h, stddef.h, stddint.h, sys/types.h, stdarg.h,
stdlib.h, alloca.h, stdio.h
Where available, the inclusion is conditional on HAVE_FOO_H as determined
by autoconf.
Normally, source files should not include any of the above system headers,
and instead use either "asterisk.h" or "asterisk/compat.h" which does it
better. 
For the time being I have left alone second-level directories
(main/db1-ast, etc.).
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89333  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-16 20:04:58 +00:00 
						 
				 
			
				
					
						
							
							
								Steve Murphy 
							
						 
					 
					
						
						
							
						
						ab32ff2ad8 
					 
					
						
						
							
							This corrects a hashtab removal, given a bad argument  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89330  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-16 19:26:54 +00:00 
						 
				 
			
				
					
						
							
							
								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.  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89329  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-16 18:59:02 +00:00 
						 
				 
			
				
					
						
							
							
								Steve Murphy 
							
						 
					 
					
						
						
							
						
						eee92d0881 
					 
					
						
						
							
							Get rid of a previously missed ast_log call for debug, no longer nec.  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89295  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-15 16:50:16 +00:00 
						 
				 
			
				
					
						
							
							
								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.  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89294  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-15 16:30:13 +00:00 
						 
				 
			
				
					
						
							
							
								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  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89277  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-15 01:42:12 +00:00 
						 
				 
			
				
					
						
							
							
								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.  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89272  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-14 18:05:50 +00:00 
						 
				 
			
				
					
						
							
							
								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.  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89271  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-14 15:43:30 +00:00 
						 
				 
			
				
					
						
							
							
								Kevin P. Fleming 
							
						 
					 
					
						
						
							
						
						a34bbab643 
					 
					
						
						
							
							use simpler technique for removing known entries from lists  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89259  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-14 00:54:38 +00:00 
						 
				 
			
				
					
						
							
							
								Steve Murphy 
							
						 
					 
					
						
						
							
						
						fd1f6df25f 
					 
					
						
						
							
							This hopefully will fix the re-opened 11233. Hadn't covered the case of a context with no patterns. (blush)  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89257  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-13 23:43:41 +00:00 
						 
				 
			
				
					
						
							
							
								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  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89256  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-13 21:19:11 +00:00 
						 
				 
			
				
					
						
							
							
								Jason Parker 
							
						 
					 
					
						
						
							
						
						50879dcb1d 
					 
					
						
						
							
							Merged revisions 89194 via svnmerge from  
						
						... 
						
						
						
						https://origsvn.digium.com/svn/asterisk/branches/1.4 
........
r89194 | qwell | 2007-11-12 14:46:52 -0600 (Mon, 12 Nov 2007) | 1 line
Fix a typo pointed out by De_Mon on #asterisk-dev
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89195  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
					
						2007-11-12 20:48:57 +00:00 
						 
				 
			
				
					
						
							
							
								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.  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89186  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-12 18:44:36 +00:00 
						 
				 
			
				
					
						
							
							
								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.  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89129  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-09 16:00:22 +00:00 
						 
				 
			
				
					
						
							
							
								Kevin P. Fleming 
							
						 
					 
					
						
						
							
						
						edc78d6023 
					 
					
						
						
							
							improve linked-list macros in two ways:  
						
						... 
						
						
						
						- the *_CURRENT macros no longer need the list head pointer argument
  - add AST_LIST_MOVE_CURRENT to encapsulate the remove/add operation when moving entries between lists
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89106  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-08 05:28:47 +00:00 
						 
				 
			
				
					
						
							
							
								Joshua Colp 
							
						 
					 
					
						
						
							
						
						f440f8ba48 
					 
					
						
						
							
							Fix up some PBX logic that became broken. The code would exit prematurely when it should have been collecting more digits.  
						
						... 
						
						
						
						(closes issue #11175 )
Reported by: pj
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89072  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-06 23:08:36 +00:00 
						 
				 
			
				
					
						
							
							
								Mark Michelson 
							
						 
					 
					
						
						
							
						
						5a4867543d 
					 
					
						
						
							
							"show application <foo>" changes for clarity.  
						
						... 
						
						
						
						(closes issue #11171 , reported and patched by blitzrage)
Many thanks!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89044  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-06 19:04:45 +00:00 
						 
				 
			
				
					
						
							
							
								Russell Bryant 
							
						 
					 
					
						
						
							
						
						9bfd82cec2 
					 
					
						
						
							
							Merged revisions 88805 via svnmerge from  
						
						... 
						
						
						
						https://origsvn.digium.com/svn/asterisk/branches/1.4 
........
r88805 | russell | 2007-11-05 16:07:54 -0600 (Mon, 05 Nov 2007) | 12 lines
After seeing crashes related to channel variables, I went looking around at the
ways that channel variables are handled.  In general, they were not handled in
a thread-safe way.  The channel _must_ be locked when reading or writing from/to
the channel variable list.
What I have done to improve this situation is to make pbx_builtin_setvar_helper()
and friends lock the channel when doing their thing.  Asterisk API calls almost 
all lock the channel for you as necessary, but this family of functions did not.
(closes issue #10923 , reported by atis)
(closes issue #11159 , reported by 850t)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88934  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
					
						2007-11-06 14:08:54 +00:00 
						 
				 
			
				
					
						
							
							
								Luigi Rizzo 
							
						 
					 
					
						
						
							
						
						08b10da53b 
					 
					
						
						
							
							Simplify the implementation and the API for stringfields;  
						
						... 
						
						
						
						details and examples are in include/asterisk/stringfields.h.
Not applicable to older branches except for 1.4 which will
receive a fix for the routines that free memory pools.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88454  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-04 19:44:31 +00:00 
						 
				 
			
				
					
						
							
							
								Tilghman Lesher 
							
						 
					 
					
						
						
							
						
						e8c781b215 
					 
					
						
						
							
							Add pbx_lua as a method of doing extensions  
						
						... 
						
						
						
						Reported by: mnicholson
Patch by: mnicholson
Closes issue #11140 
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88250  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-02 15:36:34 +00:00 
						 
				 
			
				
					
						
							
							
								Tilghman Lesher 
							
						 
					 
					
						
						
							
						
						b5c2bcb169 
					 
					
						
						
							
							'h' extension doesn't execute past first priority  
						
						... 
						
						
						
						Reported by: dimas
Patch by: dimas
Closes bug #11146 
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88209  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-02 12:54:31 +00:00 
						 
				 
			
				
					
						
							
							
								Tilghman Lesher 
							
						 
					 
					
						
						
							
						
						90db1316ed 
					 
					
						
						
							
							Modify WaitExten to include an optional dialtone  
						
						... 
						
						
						
						Closes issue #10783 
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88183  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-01 23:26:35 +00:00 
						 
				 
			
				
					
						
							
							
								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.  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88166  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-01 22:26:51 +00:00 
						 
				 
			
				
					
						
							
							
								Joshua Colp 
							
						 
					 
					
						
						
							
						
						284721fdb1 
					 
					
						
						
							
							Drop any more references to type in the Exception dialplan function.  
						
						... 
						
						
						
						(closes issue #11134 )
Reported by: blitzrage
Patches:
      exception_patch.txt uploaded by blitzrage (license 10)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87953  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-11-01 00:04:43 +00:00 
						 
				 
			
				
					
						
							
							
								Tilghman Lesher 
							
						 
					 
					
						
						
							
						
						b6ec350910 
					 
					
						
						
							
							Optimize pbx_substitute_variables  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87811  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-10-31 15:46:41 +00:00 
						 
				 
			
				
					
						
							
							
								Jason Parker 
							
						 
					 
					
						
						
							
						
						e985a00a32 
					 
					
						
						
							
							Update documentation to give an example of how to use the return status of RaiseException  
						
						... 
						
						
						
						Closes issue #11117 , patch by blitzrage (yay blitzrage)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87626  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-10-30 18:28:55 +00:00 
						 
				 
			
				
					
						
							
							
								Mark Michelson 
							
						 
					 
					
						
						
							
						
						e0d13e169c 
					 
					
						
						
							
							The priority gets incremented after raising an exception, so the priority should be set to 0  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87608  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-10-30 17:07:26 +00:00 
						 
				 
			
				
					
						
							
							
								Mark Michelson 
							
						 
					 
					
						
						
							
						
						e5f87bbac3 
					 
					
						
						
							
							Jumped the gun a bit in the RaiseException app. It would always return -1  
						
						... 
						
						
						
						since it checked for the existence of something that will never exist.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87573  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-10-30 16:36:29 +00:00 
						 
				 
			
				
					
						
							
							
								Jason Parker 
							
						 
					 
					
						
						
							
						
						ebe4050128 
					 
					
						
						
							
							Switch from AST_CLI (formerly NEW_CLI) to AST_CLI_DEFINE, since the former didn't make much sense  
						
						... 
						
						
						
						git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86820  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-10-22 20:05:18 +00:00 
						 
				 
			
				
					
						
							
							
								Jason Parker 
							
						 
					 
					
						
						
							
						
						b0f3e6097e 
					 
					
						
						
							
							Convert NEW_CLI to AST_CLI.  
						
						... 
						
						
						
						Closes issue #11039 , as suggested by seanbright.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86536  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
						
						
					 
					
						2007-10-19 18:29:40 +00:00 
						 
				 
			
				
					
						
							
							
								Tilghman Lesher 
							
						 
					 
					
						
						
							
						
						c0fcb59d38 
					 
					
						
						
							
							Merged revisions 85356 via svnmerge from  
						
						... 
						
						
						
						https://origsvn.digium.com/svn/asterisk/branches/1.4 
........
r85356 | tilghman | 2007-10-10 23:35:33 -0500 (Wed, 10 Oct 2007) | 2 lines
A dollar sign by itself, not indicating a start of a variable or expression prematurely ends substitution (closes issue #10939 )
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85357  65c4cc65-6c06-0410-ace0-fbb531ad65f3 
					
						2007-10-11 04:40:56 +00:00