aboutsummaryrefslogtreecommitdiffstats
path: root/res
AgeCommit message (Collapse)AuthorFilesLines
2007-11-28Merged revisions 90101 via svnmerge from file1-1/+3
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r90101 | file | 2007-11-28 18:59:28 -0400 (Wed, 28 Nov 2007) | 6 lines Fix a few memory leaks. (closes issue #11405) Reported by: eliel Patches: load_realtime.patch uploaded by eliel (license 64) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@90102 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-28Remove "old"-style CLI handler, since nothing uses it anymore.qwell1-2/+2
Closes issue #11403, patch by eliel. This also completes the janitor project. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@90038 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-28Fix a few log messages.file1-2/+2
(closes issue #11396) Reported by: IgorG Patches: spell.v1.diff uploaded by IgorG (license 20) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89981 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-28Adding support for realtime music on hold. The following are the main points:mmichelson1-18/+235
1. When moh is started, we search first in memory to find the class. If we do not find it in memory, we search realtime instead. 2. When moh is restarted (as in, it had been started on this particular channel, stopped, and now we're starting it again), if using the "files" mode, then realtime will always be rechecked. If you are using other modes, however, we will simply reattach to the external running process which was playing moh earlier in the call. This is a necessary compromise so that we don't end up with too many background processes. 3. musiconhold.conf has a general section now. It has one option: cachertclasses. If set to yes, then moh classes found in realtime will be added to the in-memory list. This has the advantage of not requiring database lookups each time moh is started, but it has the disadvantage of not truly being realtime. I have tested this for functionality, and it passes. I also tested this under valgrind and there are no memory problems reported under typical use. Special thanks to Sergee for implementing this feature and enduring my complaints on the bugtracker! (closes issue #11196, reported and patched by sergee) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89946 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-27A few more "moremanager" fixesoej1-2/+2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89772 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-27made AEL 8-bit transparent; mainly the lexer was tossing chars with the ↵murf4-809/+835
hi-order bit set. Not nice. Also, allow @ in extension names, and a backslash, also. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89682 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-26Perform some module use counting audits. This is now done outside the scope ↵file1-21/+0
of the application/dialplan function so they do not need to worry about it. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89602 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-26Merged revisions 89599 via svnmerge from file1-0/+3
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r89599 | file | 2007-11-26 14:02:56 -0400 (Mon, 26 Nov 2007) | 6 lines Add module counting removal for error conditions. (closes issue #11333) Reported by: Laureano Patches: res_features_v2.c.patch uploaded by Laureano (license 265) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89600 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-25Merged revisions 89559 via svnmerge from tilghman2-6/+23
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r89559 | tilghman | 2007-11-25 11:17:10 -0600 (Sun, 25 Nov 2007) | 14 lines We previously attempted to use the ESCAPE clause to set the escape delimiter to a backslash. Unfortunately, this does not universally work on all databases, since on databases which natively use the backslash as a delimiter, the backslash itself needs to be delimited, but on other databases that have no delimiter, backslashing the backslash causes an error. So the only solution that I can come up with is to create an option in res_odbc that explicitly specifies whether or not backslash is a native delimiter. If it is, we use it natively; if not, we use the ESCAPE clause to make it one. Reported by: elguero Patch by: tilghman (Closes issue #11364) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89561 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-24Merged revisions 89545 via svnmerge from tilghman1-0/+2
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r89545 | tilghman | 2007-11-24 10:59:59 -0600 (Sat, 24 Nov 2007) | 5 lines Free some frames that would otherwise leak on error. Reported by: Laureano Patch by: Laureano,tilghman (Closes issue #11351) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89546 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-23Merged revisions 89534 via svnmerge from tilghman1-1/+2
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r89534 | tilghman | 2007-11-23 11:05:10 -0600 (Fri, 23 Nov 2007) | 5 lines Use ESCAPE clause for the first parameter, not just 2nd-Nth parameters. Reported by: apsaras Patch by: tilghman (Closes issue #11353) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89535 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-22shuffle a little bit the content of header files to reduce dependencies.rizzo1-0/+1
In this commit: - move the ast_register/unregister_app functions to module.h to avoid the need to include pbx.h for the simpler apps; - move the ast_group structure to channel.h to remove the dependency of app.h on linkedlists.h Note, this is a long process that I am doing in small steps. The main difficulty is that now for each subsystem we have a single header (e.g. channel.h) included by the subsystem provider (usually one file, e.g. channel.c) and by its clients (dozens of them, e.g. we have some 70+ apps and 30+ functions). This requires the clients to include all the extra headers required by the provider (eg. lock.h, linkedlists.h, definitions of substructures...) even though many of the clients would be just happy with opaque struct declarations and function prototypes. The long term plan is to eventually rectify this structure so that the compilation can become faster, and also APIs are more stable. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89522 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-22remove a number of #include <fcntl.h> which are eitherrizzo2-5/+0
useless or done elsewhere git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89516 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-21closes issue #11285, where an unload of a module that creates a dialplan ↵murf1-0/+7
context, causes a crash when you do a 'dialplan show' of that context. This is because the registrar string is defined in the module, and the stale pointer is traversed. The reporter offered a patch that would always strdup the registrar string, which is practical, but I preferred to destroy the created contexts in each module where one is created. That seemed more symmetric. There were only 6 place in asterisk where this is done: chan_sip, chan_iax2, chan_skinny, res_features, app_dial, and app_queue. The two apps destroyed the context, but left the contexts. All is fixed now and unloads should be dialplan friendly. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89513 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-21remove a bunch of useless #include "options.h"rizzo16-16/+0
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89511 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-21Simplify comparison in parking fixtwilson1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89504 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-21Merged revisions 89491 via svnmerge from twilson1-5/+16
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r89491 | twilson | 2007-11-21 12:59:27 -0600 (Wed, 21 Nov 2007) | 4 lines If a channel gets masqueraded in the middle of a park, don't play the announcement to the masqueraded channel, and dial back to the original channel on timeout. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89492 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-21OOOps! All the debug stuff I inserted was accidentally committed. I hereby ↵murf1-45/+1
revert it. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89479 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-21closes issue #11265; Thanks to snuffy for his work on neatening up the code ↵murf1-1/+45
and removing duplicated code. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89478 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-20move asterisk/paths.h outside asterisk.h and into those filesrizzo3-0/+3
who really need it. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89466 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-20Fix building of modules under cygwin.rizzo1-0/+7
After this commit we can actually load modules under windows, and we can start debugging more interesting problems related to the load order and functionality of modules. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89454 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-19include "logger.h" and errno.h from asterisk.h - usage shows that theyrizzo19-27/+0
were included almost everywhere. Remove some of the instances. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89424 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-19Merged revisions 89419 via svnmerge from file1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r89419 | file | 2007-11-19 11:53:32 -0400 (Mon, 19 Nov 2007) | 6 lines Print out the correct filename (features.conf) in the log message when parkpos options are incorrect. (closes issue #11295) Reported by: Laureano Patches: res_features.c.patch uploaded by Laureano (license 265) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89420 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-17start using asterisk/network.h for network related headers.rizzo1-5/+1
Also remove some unnecessary includes. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89380 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16remove a bunch of duplicate includesrizzo3-4/+3
Reproduce with grep -r #include . | grep -v .svn | grep -v Binary | sort | uniq -c | sort -nr git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89348 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16Fix broken parking dial-backtwilson1-9/+9
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89347 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16Start untangling header inclusion in a way that does not affectrizzo19-82/+1
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: http://svn.digium.com/svn/asterisk/trunk@89333 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16This fixes a problem with pattern ranges; and corrects a situation in ↵murf1-1/+8
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: http://svn.digium.com/svn/asterisk/trunk@89329 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-15access channel locks through ast_channel_lock/unlock/trylock and notrizzo1-7/+7
through ast_mutex primitives. To detect all occurrences, I have renamed the lock field in struct ast_channel so it is clear that it shouldn't be used directly. There are some uses in res/res_features.c (see details of the diff) that are error prone as they try and lock two channels without caring about the order (or without explaining why it is safe). git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89293 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-14One more typo in config.c; and missed conversions due to the constifying of ↵tilghman3-5/+7
ast_variable_new parameters git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89270 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-14make the 'name' and 'value' fields in ast_variable const char *rizzo1-3/+6
This prevents modifying the strings in the stored variables, and catched a few instances where this was actually done. Given the differences between trunk and 1.4 (and the fact that this is effectively an API change) it is better to fix 1.4 independently. These are chan_sip.c::sip_register() chan_skinny.c:: near line 2847 config.c:: near line 1774 logger.c::make_components() res_adsi.c:: near line 1049 I may have missed some instances for modules that do not build here. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89268 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-14- Use the ARRAY_LEN macro in a couple placesrussell1-4/+4
- return errors from load_module / unload_module git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89265 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-13Fix a typo pointed out by outtolunc, thanks :)russell1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89252 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-13Update the ParkedCall application to grab the first available parked call if norussell1-10/+6
parked extension is provided as an argument. (closes issue #10803) Reported by: outtolunc Patches: res_features-parkedcall-any.diff4 uploaded by outtolunc (license 237) - modified by me to work a bit differently ... git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89250 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-13Merged revisions 89248 via svnmerge from qwell1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 (closes issue #11237) ........ r89248 | qwell | 2007-11-13 13:47:45 -0600 (Tue, 13 Nov 2007) | 7 lines Revert change from revision 67064. It is documented behavior that if a parking extension already exists while using PARKINGEXTEN, dialplan execution will continue. If blind transferring to a Park with PARKINGEXTEN, you must keep this in mind, and handle the failure yourself. Issue 11237, reported by jon. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89249 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-12Doxygen fixes.qwell6-17/+17
Also fix a common typo I kept seeing (arguement) in various files. Closes issue #11222, patch by snuffy (with arguement > argument by me). git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89202 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-09This is the perhaps the biggest, boldest, most daring change I've ever ↵murf1-5/+5
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: http://svn.digium.com/svn/asterisk/trunk@89129 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-08Change a warning to a notice. Issue #11195, patch by elielqwell1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89117 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-08improve linked-list macros in two ways:kpfleming7-17/+15
- 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: http://svn.digium.com/svn/asterisk/trunk@89106 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-07Merged revisions 89088 via svnmerge from murf1-0/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r89088 | murf | 2007-11-07 14:40:28 -0700 (Wed, 07 Nov 2007) | 1 line In response to 10578, I just ran 1.4 thru valgrind; some of the config leakage I've already fixed, but it doesn't hurt to double check. I found and fixed leaks in res_jabber, cdr_tds, pbx_ael. Nothing major, tho. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89089 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-07Print out the channel name as a prefix to the "agi debug" output. This makesrussell1-89/+94
AGI debugging on busy systems much easier. (closes issue #10730) Reported by: junky Patches: agi_debug_chan.diff uploaded by junky (license 177) 20070923_10730.diff uploaded by mvanbaak (license 7) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89074 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-06Instead of trying to callback a local channel on a failed attended transfer, ↵mmichelson1-10/+12
call the device that made the transfer instead. This makes for much smoother calling back when queues are involved. (closes issue #11155, reported by IPetrov) Tremendous thanks to Russell for pulling me out of my block I was having on this one git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89055 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-06Merged revisions 89053 via svnmerge from russell1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r89053 | russell | 2007-11-06 14:18:49 -0600 (Tue, 06 Nov 2007) | 3 lines Fix init_classes() so that classes that actually do have files loaded aren't treated as empty, and immediately destroyed ... ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89054 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-06"show application <foo>" changes for clarity.mmichelson4-22/+22
(closes issue #11171, reported and patched by blitzrage) Many thanks! git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89044 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-06Allow gtalk and jingle to use TLS connections again.qwell1-36/+35
Closes issue #9972 git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89041 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-06Merged revisions 89037 via svnmerge from russell1-3/+15
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r89037 | russell | 2007-11-06 12:20:07 -0600 (Tue, 06 Nov 2007) | 11 lines If someone were to delete the files used by an existing MOH class, and then issue a reload, further use of that class could result in a crash due to dividing by zero. This set of changes fixes up some places to prevent this from happening. (closes issue #10948) Reported by: jcomellas Patches: res_musiconhold_division_by_zero.patch uploaded by jcomellas (license 282) Additional changes added by me. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89038 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-05Merged revisions 88539 via svnmerge from tilghman1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r88539 | tilghman | 2007-11-05 10:20:13 -0600 (Mon, 05 Nov 2007) | 4 lines Don't check used pooled connections for connection status, as it will cause issues for prepared queries. Reported by: Nick Gorham (via -dev list) Patch by: tilghman ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88540 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-04Simplify the implementation and the API for stringfields;rizzo1-2/+2
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: http://svn.digium.com/svn/asterisk/trunk@88454 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-01This commits the performance mods that give the priority processing engine ↵murf2-2/+1
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: http://svn.digium.com/svn/asterisk/trunk@88166 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-01Switch res_jabber to use openssl rather than gnutls.qwell1-84/+353
Closes issue #9972, patch by phsultan. Copied from branch at http://svn.digium.com/svn/asterisk/team/phsultan/res_jabber-openssl/ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88164 f38db490-d61c-443f-a65b-d21fe96a405b