summaryrefslogtreecommitdiff
path: root/res
AgeCommit message (Collapse)Author
2007-11-30Adding support for the "automixmonitor" dial and queue options.Mark Michelson
This works in much the same way as the automonitor, except that instead of using the monitor app, it uses the mixmonitor app. By providing an 'x' or 'X' as a dial or queue option, a DTMF sequence may be entered (as defined in features.conf) to start the one-touch mixmonitor. This patch also introduces some new API calls to the audiohooks code for searching for an audiohook by type and for searching for a running audiohook by type. Big thanks to joetester for writing the initial patch, testing it and patiently waiting for it to be committed. (closes issue #10185, reported and patched by xmarksthespot) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90388 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-29Merged revisions 90160 via svnmerge from Tilghman Lesher
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r90160 | tilghman | 2007-11-29 13:24:11 -0600 (Thu, 29 Nov 2007) | 2 lines Properly escape input buffers (Fixes AST-2007-025) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90162 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-28Merged revisions 90101 via svnmerge from Joshua Colp
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: https://origsvn.digium.com/svn/asterisk/trunk@90102 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-28Remove "old"-style CLI handler, since nothing uses it anymore.Jason Parker
Closes issue #11403, patch by eliel. This also completes the janitor project. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90038 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-28Fix a few log messages.Joshua Colp
(closes issue #11396) Reported by: IgorG Patches: spell.v1.diff uploaded by IgorG (license 20) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89981 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-28Adding support for realtime music on hold. The following are the main points:Mark Michelson
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: https://origsvn.digium.com/svn/asterisk/trunk@89946 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-27A few more "moremanager" fixesOlle Johansson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89772 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-27made AEL 8-bit transparent; mainly the lexer was tossing chars with the ↵Steve Murphy
hi-order bit set. Not nice. Also, allow @ in extension names, and a backslash, also. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89682 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-26Perform some module use counting audits. This is now done outside the scope ↵Joshua Colp
of the application/dialplan function so they do not need to worry about it. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89602 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-26Merged revisions 89599 via svnmerge from Joshua Colp
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: https://origsvn.digium.com/svn/asterisk/trunk@89600 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-25Merged revisions 89559 via svnmerge from Tilghman Lesher
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: https://origsvn.digium.com/svn/asterisk/trunk@89561 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-24Merged revisions 89545 via svnmerge from Tilghman Lesher
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: https://origsvn.digium.com/svn/asterisk/trunk@89546 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-23Merged revisions 89534 via svnmerge from Tilghman Lesher
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: https://origsvn.digium.com/svn/asterisk/trunk@89535 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-22shuffle a little bit the content of header files to reduce dependencies.Luigi Rizzo
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: https://origsvn.digium.com/svn/asterisk/trunk@89522 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-22remove a number of #include <fcntl.h> which are eitherLuigi Rizzo
useless or done elsewhere git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89516 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21closes issue #11285, where an unload of a module that creates a dialplan ↵Steve Murphy
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: https://origsvn.digium.com/svn/asterisk/trunk@89513 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21remove a bunch of useless #include "options.h"Luigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89511 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21Simplify comparison in parking fixTerry Wilson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89504 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21Merged revisions 89491 via svnmerge from Terry Wilson
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: https://origsvn.digium.com/svn/asterisk/trunk@89492 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21OOOps! All the debug stuff I inserted was accidentally committed. I hereby ↵Steve Murphy
revert it. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89479 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21closes issue #11265; Thanks to snuffy for his work on neatening up the code ↵Steve Murphy
and removing duplicated code. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89478 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-20move asterisk/paths.h outside asterisk.h and into those filesLuigi Rizzo
who really need it. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89466 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-20Fix building of modules under cygwin.Luigi Rizzo
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: https://origsvn.digium.com/svn/asterisk/trunk@89454 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19include "logger.h" and errno.h from asterisk.h - usage shows that theyLuigi Rizzo
were included almost everywhere. Remove some of the instances. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89424 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19Merged revisions 89419 via svnmerge from Joshua Colp
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: https://origsvn.digium.com/svn/asterisk/trunk@89420 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17start using asterisk/network.h for network related headers.Luigi Rizzo
Also remove some unnecessary includes. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89380 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16remove a bunch of duplicate includesLuigi Rizzo
Reproduce with grep -r #include . | grep -v .svn | grep -v Binary | sort | uniq -c | sort -nr git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89348 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16Fix broken parking dial-backTerry Wilson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89347 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16Start untangling header inclusion in a way that does not affectLuigi Rizzo
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-16This fixes a problem with pattern ranges; and corrects a situation in ↵Steve Murphy
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-15access channel locks through ast_channel_lock/unlock/trylock and notLuigi Rizzo
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: https://origsvn.digium.com/svn/asterisk/trunk@89293 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-14One more typo in config.c; and missed conversions due to the constifying of ↵Tilghman Lesher
ast_variable_new parameters git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89270 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-14make the 'name' and 'value' fields in ast_variable const char *Luigi Rizzo
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: https://origsvn.digium.com/svn/asterisk/trunk@89268 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-14- Use the ARRAY_LEN macro in a couple placesRussell Bryant
- return errors from load_module / unload_module git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89265 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-13Fix a typo pointed out by outtolunc, thanks :)Russell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89252 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-13Update the ParkedCall application to grab the first available parked call if noRussell Bryant
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: https://origsvn.digium.com/svn/asterisk/trunk@89250 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-13Merged revisions 89248 via svnmerge from Jason Parker
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: https://origsvn.digium.com/svn/asterisk/trunk@89249 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-12Doxygen fixes.Jason Parker
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: https://origsvn.digium.com/svn/asterisk/trunk@89202 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-09This is the perhaps the biggest, boldest, most daring change I've ever ↵Steve Murphy
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-08Change a warning to a notice. Issue #11195, patch by elielJason Parker
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89117 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-08improve linked-list macros in two ways:Kevin P. Fleming
- 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-07Merged revisions 89088 via svnmerge from Steve Murphy
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: https://origsvn.digium.com/svn/asterisk/trunk@89089 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-07Print out the channel name as a prefix to the "agi debug" output. This makesRussell Bryant
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: https://origsvn.digium.com/svn/asterisk/trunk@89074 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06Instead of trying to callback a local channel on a failed attended transfer, ↵Mark Michelson
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: https://origsvn.digium.com/svn/asterisk/trunk@89055 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06Merged revisions 89053 via svnmerge from Russell Bryant
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: https://origsvn.digium.com/svn/asterisk/trunk@89054 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06"show application <foo>" changes for clarity.Mark Michelson
(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-06Allow gtalk and jingle to use TLS connections again.Jason Parker
Closes issue #9972 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89041 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06Merged revisions 89037 via svnmerge from Russell Bryant
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: https://origsvn.digium.com/svn/asterisk/trunk@89038 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05Merged revisions 88539 via svnmerge from Tilghman Lesher
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: https://origsvn.digium.com/svn/asterisk/trunk@88540 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-04Simplify the implementation and the API for stringfields;Luigi Rizzo
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