aboutsummaryrefslogtreecommitdiffstats
path: root/main/features.c
AgeCommit message (Collapse)AuthorFilesLines
2008-07-18Merged revisions 131915 via svnmerge from bbryant1-2/+2
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r131915 | bbryant | 2008-07-18 10:34:42 -0500 (Fri, 18 Jul 2008) | 4 lines Fix a bug in blind transfers where the BLINDTRANSFER variable isn't always set to the other end of the blind transfer. (closes issue #12586) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@131916 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-17Fix a memory leak in register_group_feature when attempting to register bbryant1-9/+9
a feature without specifying a group or feature to register. (closes issue #13101) Reported by: eliel Patches: features.c.patch uploaded by eliel (license 64) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@131717 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-10Remove deprecated 'show parkedcalls' CLI commandmvanbaak1-11/+1
(closes issue #13038) Reported by: eliel Patches: finish.deprecate.patch uploaded by eliel (license 64) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@129581 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-03Merged revisions 127663 via svnmerge from murf1-111/+55
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r127663 | murf | 2008-07-02 18:16:25 -0600 (Wed, 02 Jul 2008) | 30 lines The CDRfix4/5/6 omnibus cdr fixes. (closes issue #10927) Reported by: murf Tested by: murf, deeperror (closes issue #12907) Reported by: falves11 Tested by: murf, falves11 (closes issue #11849) Reported by: greyvoip As to 11849, I think these changes fix the core problems brought up in that bug, but perhaps not the more global problems created by the limitations of CDR's themselves not being oriented around transfers. Reopen if necc, but bug reports are not the best medium for enhancement discussions. We need to start a second-generation CDR standardization effort to cover transfers. (closes issue #11093) Reported by: rossbeer Tested by: greyvoip, murf ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@127793 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-16(closes issue #12689)murf1-4/+4
Reported by: ys Many thanks to ys for doing the research on this problem. I didn't think it would be best to unlock the contexts and then relock them after the remove_extension2() call, so I added an extra arg to remove_extension2() and set it appropriately in each call. There were not that many. I considered forcing the code to lock the contexts before the call to remove_extension2(), but that would require a slightly greater degree of changes, especially since the find_context_locked is local to pbx.c I did a simple sanity test to make sure the code doesn't mess things up in general. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@123165 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-12(closes issue 0012193)jpeeler1-7/+25
Reported by: davidw Patch by: Corydon76, modified by me to work properly with ParkAndAnnounce app git-svn-id: http://svn.digium.com/svn/asterisk/trunk@122433 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-12Goodbye Zaptel, hello DAHDI. Removes Zaptel driver support with DAHDI. ↵jpeeler1-1/+1
Configuration file and dialplan backwards compatability has been put in place where appropiate. Release announcement to follow. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@122234 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-11Initialize parkingtime to DEFAULT_PARK_TIME instead of 0twilson1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@121955 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-06Merged revisions 120863,120885 via svnmerge from jpeeler1-2/+3
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r120863 | jpeeler | 2008-06-06 10:33:15 -0500 (Fri, 06 Jun 2008) | 3 lines This fixes a crash when LOW_MEMORY is turned on. Two allocations of the ast_rtp struct that were previously allocated on the stack have been modified to use thread local storage instead. ........ r120885 | jpeeler | 2008-06-06 11:39:20 -0500 (Fri, 06 Jun 2008) | 2 lines Correction to commmit 120863, make sure proper destructor function is called as well define two thread storage local variables. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@120906 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-29Make sure the nrfds and nefds are reset to NULLmvanbaak1-2/+4
before we enter manage_parkinglot. This will get rid of CLI warnings like: __ast_read: Exception flag set on 'SIP/<NUMBER>-<ID>', but no exception handler (closes issue #12748) Reported by: nreinartz Patches: asterisk-multiparking_initialize_filedescr_sets-0.0.1.patch uploaded by nreinartz (license 452) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@119015 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-24Fixes segfault in parking, patch submitted by bmd.jpeeler1-3/+3
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@118176 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-22- revert change to ast_queue_hangup and create ast_queue_hangup_with_causemvanbaak1-2/+2
- make data member of the ast_frame struct a named union instead of a void Recently the ast_queue_hangup function got a new parameter, the hangupcause Feedback came in that this is no good and that instead a new function should be created. This I did. The hangupcause was stored in the seqno member of the ast_frame struct. This is not very elegant, and since there's already a data member that one should be used. Problem is, this member was a void *. Now it's a named union so it can hold a pointer, an uint32 and there's a padding in case someone wants to store another type in there in the future. This commit is so massive, because all ast_frame.data uses have to be altered to ast_frame.data.data Thanks russellb and kpfleming for the feedback. (closes issue #12674) Reported by: mvanbaak git-svn-id: http://svn.digium.com/svn/asterisk/trunk@117802 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-15Use casts or intermediate variables to remove a numberrizzo1-1/+2
of platform/compiler-dependent warnings when handing struct timeval fields, both reading and printing them. It is a lost battle to handle the different ways struct timeval is handled on the various platforms and compilers, so try to be pragmatic and go through int/long which are universally supported. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@116557 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-14Fixed a few problems with multiparking: call not being parked in the correct ↵jpeeler1-47/+36
parking spot, caller not being notified of parking spot position, and improperly hanging up the call during a transfer due to timing out (not providing the extension in which to transfer). git-svn-id: http://svn.digium.com/svn/asterisk/trunk@116297 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-12Add support for playing an audio file for caller and callee at start and ↵oej1-8/+43
stop of monitoring (one-touch monitor). Keep messages short, since the other party is waiting while one party hear the message... git-svn-id: http://svn.digium.com/svn/asterisk/trunk@115784 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-29fix this logic to actually be correct... the fd can't be *both* -1 and an ↵kpfleming1-1/+1
array index to be checked in rfds/efds (bug found by gcc-4.3) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@114845 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-25Merge code from team/russell/parking_updatesrussell1-49/+171
Add some additional features to the core park_call_full() function, and expose them as options to the Park() application. The functionality being added is the ability to specify a custom return extension/context/priority, a custom timeout, and a couple of options. The options are to play ringing instead of MOH to the parked caller, and to randomize parking spot selection. (code inspired by the patch in AST-17, code from switchvox) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@114655 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-21(closes issue #6113)jpeeler1-294/+634
Reported by: oej Tested by: jpeeler This patch implements multiple parking lots for parked calls. The default parkinglot is used by default, however setting the channel variable PARKINGLOT in the dialplan will allow use of any other configured parkinglot. See configs/features.conf.sample for more details on setting up another non-default parkinglot. Also, one can (currently) set the default parkinglot to use in the driver configuration file via the parkinglot option. Patch initially written by oej, brought up to date and finalized by mvanbaak, and then stabilized and converted to astobj2 by me. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@114487 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-11Merged revisions 114063 via svnmerge from mmichelson1-1/+15
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r114063 | mmichelson | 2008-04-11 10:44:28 -0500 (Fri, 11 Apr 2008) | 11 lines Fix a race condition that may happen between a sip hangup and a "core show channel" command. This patch adds locking to prevent the resulting crash. (closes issue #12155) Reported by: tsearle Patches: show_channels_crash2.patch uploaded by tsearle (license 373) Tested by: tsearle ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@114064 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-08Move AST_FEATURE_FLAG_* and FEATURE_RETURN_* to features.h so that they can ↵qwell1-49/+31
be used by modules. (closes issue #12384) Reported by: fnordian Patches: features.patch uploaded by fnordian (license 110) (patch modified by me, to give FEATURE_RETURN_* an AST_ prefix) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@113452 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-26Add the "config reload <conffile>" command, which allows you to tell Asterisktilghman1-1/+1
to reload any file that references a given configuration file. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@111012 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-18Go through and fix a bunch of places where character strings were being ↵twilson1-8/+8
interpreted as format strings. Most of these changes are solely to make compiling with -Wsecurity and -Wformat=2 happy, and were not actual problems, per se. I also added format attributes to any printf wrapper functions I found that didn't have them. -Wsecurity and -Wmissing-format-attribute added to --enable-dev-mode. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@109447 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-11Merged revisions 107646 via svnmerge from file1-0/+2
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r107646 | file | 2008-03-11 16:20:01 -0300 (Tue, 11 Mar 2008) | 4 lines Make sure the visible indication is on the right channel so when the masquerade happens the proper indication is enacted. (closes issue #11707) Reported by: iam ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@107659 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-11Clarify comment about masquerading and playback of the parking slot.file1-1/+1
(closes issue #12180) Reported by: davidw git-svn-id: http://svn.digium.com/svn/asterisk/trunk@107465 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-07(closes issue #6002)murf1-10/+5
Reported by: rizzo Tested by: murf Proposal of the changes to be made, and then an announcement of how they were accomplished: http://lists.digium.com/pipermail/asterisk-dev/2008-February/032065.html and: http://lists.digium.com/pipermail/asterisk-dev/2008-March/032124.html Here is a recap, file by file, of what I have done: pbx/pbx_config.c pbx/pbx_ael.c All funcs that were passed a ptr to the context list, now will ALSO be passed a hashtab ptr to the same set. Why? because (for the time being), the dialplan is stored in both, to facilitate a quick, low-cost move to hash-tables to speed up dialplan processing. If it was deemed necessary to pass the context LIST, well, it is just as necessary to have the TABLE available. This is because the list/table in question might not be the global one, but temporary ones we would use to stage the dialplan on, and then swap into the global position when things are ready. We now have one external function for apps to use, "ast_context_find_or_create()" instead of the pre-existing "find" and "create", as all existing usages used both in tandem anyway. pbx_config, and pbx_ael, will stage the reloaded dialplan into local lists and tables, and then call merge_contexts_and_delete, which will merge (now) existing contexts and priorities from other registrars into this local set by copying them. Then, merge_contexts_and_delete will lock down the contexts, swap the lists and tables, and unlock (real quick), and then destroy the old dialplan. chan_sip.c chan_iax.c chan_skinny.c All the channel drivers that would add regcontexts now use the ast_context_find_or_create now. chan_sip also includes a small fix to get rid of warnings about removing priorities that never got entered. apps/app_meetme.c apps/app_dial.c apps/app_queue.c All the apps that added a context/exten/priority were also modified to use ast_context_find_or_create instead. include/asterisk/pbx.h ast_context_create() is removed. Find_or_create_ is the new method. ast_context_find_or_create() interface gets the hashtab added. ast_merge_contexts_and_delete() gets the local hashtab arg added. ast_wrlock_contexts_version() is added so you can detect if someone else got a writelock between your readlocking and writelocking. ast_hashtab_compare_contexts was made public for use in pbx_config/pbx_ael ast_hashtab_hash_contexts was in like fashion make public. include/asterisk/pval.h ast_compile_ael2() interface changed to include the local hashtab table ptr. main/features.c For the sake of the parking context, we use ast_context_find_or_create(). main/pbx.c I changed all the "tree" names to "table" instead. That's because the original implementation was based on binary trees. (had a free library). Then I moved to hashtabs. Now, the names move forward too. refcount field added to contexts, so you can keep track of how many modules wanted this context to exist. Some log messages that are warnings were inflated from LOG_NOTICE to LOG_WARNING. Added some calls to ast_verb(3,...) for debug messages Lots of little mods to ast_context_remove_extension2, which is now excersized in ways it was not previously; one definite bug fixed. find_or_create was upgraded to handle both local lists/tables as well as the globals. context_merge() was added to do the per-context merging of the old/present contexts/extens/prios into the new/proposed local list/tables ast_merge_contexts_and_delete() was heavily modified. ast_add_extension2() was also upgraded to handle changes. the context_destroy() code was re-engineered to handle the new way of doing things, by exten/prio instead of by context. res/ael/pval.c res/ael/ael.tab.c res/ael/ael.tab.h res/ael/ael.y res/ael/ael_lex.c res/ael/ael.flex utils/ael_main.c utils/extconf.c utils/conf2ael.c utils/Makefile Had to change the interface to ast_compile_ael2(), to include the hashtab ptr. This ended up involving several external apps. The main gotcha was I had to include lock.h and hashtab.h in several places. As a side note, I tested this stuff pretty thoroughly, I replicated the problems originally reported by Luigi, and made triply sure that reloads worked, and everything worked thru "stop gracefully". I found a and fixed a few bugs as I was merging into trunk, that did not appear in my tests of bug6002. How's this for verbose commit messages? git-svn-id: http://svn.digium.com/svn/asterisk/trunk@106757 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-04Whitespace changes onlytilghman1-20/+23
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@105840 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-01Asterisk, when parking can drop rights a caller when a parking timeout ↵twilson1-2/+17
occurs. Also, when doing built-in attended transfers, sometimes incorrectly passes rights from the transferrer to the transferee. This patch tries to fixes the parking issue and lays some groundwork for later fixing the transfer issue. (closes issue #11520) Reported by: pliew Tested by: otherwiseguy git-svn-id: http://svn.digium.com/svn/asterisk/trunk@105477 f38db490-d61c-443f-a65b-d21fe96a405b
2008-02-27Merged revisions 104598 via svnmerge from qwell1-7/+8
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r104598 | qwell | 2008-02-27 11:26:55 -0600 (Wed, 27 Feb 2008) | 8 lines Inherit language from the transfering channel on a blind transfer. (closes issue #11682) Reported by: caio1982 Patches: local_atxfer_lang3-1.4.diff uploaded by caio1982 (license 22) Tested by: caio1982, victoryure ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@104617 f38db490-d61c-443f-a65b-d21fe96a405b
2008-02-26Remove more hardcoded pipe symbols and replace with commas.mmichelson1-2/+2
(closes issue #12072) Reported by: SimonSharman Patches: features.patch uploaded by SimonSharman (license 410) Tested by: SimonSharman git-svn-id: http://svn.digium.com/svn/asterisk/trunk@104127 f38db490-d61c-443f-a65b-d21fe96a405b
2008-02-07Merged revisions 102858 via svnmerge from qwell1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r102858 | qwell | 2008-02-07 13:53:55 -0600 (Thu, 07 Feb 2008) | 7 lines Specify which digit string was matched in debug message. (closes issue #11949) Reported by: dimas Patches: v1-feature-debug.patch uploaded by dimas (license 88) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@102859 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-28Merge rev 100626 from Asterisk 1.4. The svnmerge of this commit was a NoOp, ↵russell1-1/+5
since res_features doesn't exist in trunk. Thanks to qwell for pointing it out! git-svn-id: http://svn.digium.com/svn/asterisk/trunk@100631 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-24Minor cosmetic change...file1-2/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@100245 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-24Move chan_local dependency into places (only one) that previously depended ↵qwell1-4/+0
on res_features, and used local channels git-svn-id: http://svn.digium.com/svn/asterisk/trunk@100121 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-23Move code from res_features into (new file) main/features.cqwell1-0/+3439
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@100039 f38db490-d61c-443f-a65b-d21fe96a405b