summaryrefslogtreecommitdiff
path: root/res/res_features.c
AgeCommit message (Collapse)Author
2006-11-01move variable declaration in the middle of a blockLuigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46758 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-01change default return extension after parking timeout.Matt O'Gorman
6953 with minor changes. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46732 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-02Make callerid fields in Manager events more consistent. CallerIDNum for ↵Joshua Colp
number and CallerIDName for name. (issue #7976 reported by suhler) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44217 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-27Merged revisions 43779 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r43779 | russell | 2006-09-27 12:55:49 -0400 (Wed, 27 Sep 2006) | 50 lines Merged revisions 43778 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r43778 | russell | 2006-09-27 12:54:30 -0400 (Wed, 27 Sep 2006) | 42 lines Fix a problem that occurred if a user entered a digit that matched a bridge feature that was configured using multiple digits, and the digit that was pressed timed out in the feature digit timeout period. For example, if blind transfer is configured as '##', and a user presses just '#'. In this situation, the call would lock up and no longer pass any frames. (issue #7977 reported by festr, and issue #7982 reported by michaels and valuable input provided by mneuhauser and kuj. Fixed by me, with testing help and peer review from Joshua Colp). There are a couple of issues involved in this fix: 1) When ast_generic_bridge determines that there has been a timeout, it returned AST_BRIDGE_RETRY. Then, when ast_channel_bridge gets this result, it calls ast_generic_bridge over again with the same timestamp for the next event. This results in an endless loop of nothing until the call is terminated. This is resolved by simply changing ast_generic_bridge to return AST_BRIDGE_COMPLETE when it sees a timeout. 2) I also changed ast_channel_bridge such that if in the process of calculating the time until the next event, it knows a timeout has already occured, to immediately return AST_BRIDGE_COMPLETE instead of attempting to bridge the channels anyway. 3) In the process of testing the previous two changes, I ran into a problem in res_features where ast_channel_bridge would return because it determined that there was a timeout. However, ast_bridge_call in res_features would then determine by its own calculation that there was still 1 ms before the timeout really occurs. It would then proceed, and since the bridge broke out and did *not* return a frame, it interpreted this as the call was over and hung up the channels. The reason for this was because ast_bridge_call in res_features and ast_channel_bridge in channel.c were using different times for their calculations. channel.c uses the start_time on the bridge config, which is the time that the feature digit was recieved. However, res_features had another time, 'start', which was set right before calling ast_channel_bridge. 'start' will always be slightly after start_time in the bridge config, and sometimes enough to round up to one ms. This is fixed by making ast_bridge_call use the same time as ast_channel_bridge for the timeout calculation. ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43780 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-21Lots more removal of deprecated thingsTilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43452 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-20move ADSI functionality into ast_ namespaceKevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43309 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-18merge qwell's CLI verbification workKevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43212 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-31everything that loads a config that needs a config file to runMatt O'Gorman
now reports AST_MODULE_LOAD_DECLINE when loading if config file is not there, also fixed an error in res_config_pgsql where it had a non static function when it should. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41633 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-31Merge in VLDTMF support with Zaptel/Core done by the ever great Darumkilla ↵Joshua Colp
Russell Bryant and the RTP portion done by myself, Muffinlicious Joshua Colp. This has gone through so many discussions/revisions it's not funny but we finally have it! git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41507 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-29add one remaining bit of functionality to the features.conf applicationmap ↵Kevin P. Fleming
(from Matt Nicholson in Digium Express Services) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41281 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-21merge new_loader_completion branch, including (at least):Kevin P. Fleming
- restructured build tree and makefiles to eliminate recursion problems - support for embedded modules - support for static builds - simpler cross-compilation support - simpler module/loader interface (no exported symbols) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40722 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-20Properly check to see if parkingnum is a number (issue #7762 reported by robf)Joshua Colp
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40599 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-08Merge team/russell/ast_verbose_threadstorageRussell Bryant
- instead of defining a free() wrapper in a bunch of files, define it as ast_free() in utils.h and remove the copies from all the files. - centralize and abstract the code used for doing thread storage. The code lives in threadstorage.h, with one function being implemented in utils.c. This new API includes generic thread storage as well as special functions for handling thread local dynamic length string buffers. - update ast_inet_ntoa() to use the new threadstorage API - update ast_state2str() to use the new threadstorage API - update ast_cli() to use the new threadstorage API - Modify manager_event() to use thread storage. Instead of using a buffer of 4096 characters as the workspace for building the manager event, use a thread local dynamic string. Now there is no length limitation on the length of the body of a manager event. - Significantly simplify the handling of ast_verbose() ... - Instead of using a static char buffer and a lock to make sure only one thread can be using ast_verbose() at a time, use a thread local dynamic string as the workspace for preparing the verbose message. Instead of locking around the entire function, the only locking done now is when the message has been built and is being deliviered to the list of registered verbose message handlers. - This function was doing a strdup() on every message passed to it and keeping a queue of the last 200 messages in memory. This has been completely removed. The only place this was used was that if there were any messages in the verbose queue when a verbose handler was registered, all of the messages in the queue would be fed to it. So, I just made sure that the console verbose handler and the network verbose handler (for remote asterisk consoles) were registered before any verbose messages. pbx_gtkconsole and pbx_kdeconsole will now lose a few verbose messages at startup, but I didn't feel the performance hit of this message queue was worth saving the initial verbose output for these very rarely used modules. - I have removed the last three arguments to the verbose handlers, leaving only the string itself because they aren't needed anymore. For example, ast_verbose had some logic for telling the verbose handler to add a newline if the buffer was completely full. Now that the buffer can grow as needed, this doesn't matter anymore. - remove unused function, ast_verbose_dmesg() which was to dispatch the message queue - Convert the list of verbose handlers to use the linked list macros. - add missing newline characters to a few ast_verbose() calls - convert the list of log channels to use the linked list macros in logger.c - fix close_logger() to close all of the files it opened for logging - update ast_log() to use a thread local dynamic string for its workspace for preparing log messages instead of a buffer of size BUFSIZ (8kB on my system) allocated on the stack. The dynamic string in this case is limited to only growing to a maximum size of BUFSIZ. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39272 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-07Merge my applicationmap_fixup branch to address the issues described in thisRussell Bryant
post to the asterisk-dev mailing list: http://lists.digium.com/pipermail/asterisk-dev/2006-August/022174.html This implements full control over both which channel(s) can activate a dynamic feature, as well as which channel to run the application on. I also updated the documentation on the applicationmap in features.conf.sample in hopes that the configuration is more clear. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39109 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-01Merged revisions 38686 via svnmerge from Kevin P. Fleming
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r38686 | kpfleming | 2006-08-01 18:07:06 -0500 (Tue, 01 Aug 2006) | 2 lines ensure that the 'feature digit timeout' value is taken into account when deciding how long the bridge should run (this fixes a problem report where a digit press that did not invoke a feature is never passed across the bridge) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38687 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-27fix seg fault when the parked call that timed out was the last one in the listRussell Bryant
of parked calls (fixes issue #7565) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38330 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-19merge Russell's 'hold_handling' branch, finally implementing music-on-hold ↵Kevin P. Fleming
handling the way it was decided at AstriDevCon Europe 2006 (and the way people really want it to be) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37988 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-26METERMAIDS:Olle Johansson
----------- - Adding devicestate providers, a new architecture to add non-channel related device state information, like parking lots, queues, meetmes, vending machines and Windows 98 reboots (lots of blinking on those lights) - Adding provider for parking lots, so you can subscribe to the status of a parking lot - Adding provider for meetme, so you can have a blinking lamp for a meetme ( Example: exten => edvina,hint,meetme:1234 ) - Adding support for directed parking - set the PARKINGEXTEN before you manually call Park() and you will be parked on that space. If it's occupied, dialplan execution will continue. This work was sponsored by Voop A/S - www.voop.com git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36055 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-21- Doxygen and some formatting fixes in res_featuresOlle Johansson
- Get rid of compiler warnings in chan_sip git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35210 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-07simplify autoconfig include mechanism (make tholo happy he can use lint ↵Kevin P. Fleming
again :-) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32846 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-26attended transfer use transferer context first and set who is transfering at ↵Joshua Colp
the beginning (issue #6752 reported by moy -- minor mods done by myself) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@30548 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-23allows for configurable answer timeout on attended transferMatt O'Gorman
patch 0006763 with minor changes. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@29766 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-23Merged revisions 29696 via svnmerge from BJ Weschke
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r29696 | bweschke | 2006-05-23 11:58:24 -0400 (Tue, 23 May 2006) | 3 lines Fix a potential leak and correct (hopefully) a segfault under certain conditions. #6784 (vovan and perry testing) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@29706 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-22Merged revisions 29512 via svnmerge from Joshua Colp
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r29512 | file | 2006-05-22 17:15:04 -0300 (Mon, 22 May 2006) | 2 lines Use the correct language when playing the transfer sound (issue #7109 reported by casper) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@29514 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-22 This is part 2/2 of the patches for #7090. Adds one-step call parking to ↵BJ Weschke
/trunk via builtin functions and 'k' 'K' application options added to app_dial. This also resolves #6340. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@29467 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-21Merged revisions 29196 via svnmerge from BJ Weschke
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r29196 | bweschke | 2006-05-21 10:16:59 -0500 (Sun, 21 May 2006) | 3 lines When an application that is executed via applicationmap and exits non-zero, make sure that we pass through the correct return value from the application to make sure a segfault doesn't occur by a bridge trying to continue when it should not. Also, when executing applications via applicationmap, make sure that the application is executed against the channel whose DTMF caused it to be fired off in the first place. (part 1/2 of #7090 - this is the only fix that will be applied to both 1.2 and /trunk) acunningham and blitzrage on testing... ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@29197 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-11 - The recent change to linklists.h broke the build on linux for some reason.Russell Bryant
So, I have removed all of the uses of AST_LIST_HEAD_INIT and replaced them with the equivalent static initializations. - On passing, fix a memory leak in the unload_module() function of chan_agent. The agents list mutex was never destroyed, and the elements in the agents list were not freed. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26990 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-10remove almost all of the checks of the result from ast_strdupa() or alloca().Russell Bryant
As it turns out, all of these checks were useless, because alloca will never return NULL. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26451 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-08Incorrect log statement when playing transfer sounds (issue #7008 reported ↵Joshua Colp
and fixed by nathan) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@25444 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-03 Correct call parking behavior when there is no courtesytone specified. ↵BJ Weschke
#6306 (murf) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@24605 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-29a bunch of conversion to ast_channel_*lock (issue #7058)Russell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23355 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-21move wait_and_stream to ast_wait_and_stream() because equivalentLuigi Rizzo
code is replicated in way too many places not to have a global function for that. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22075 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-21comment a possible memory leakLuigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@21988 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-21merge some common code into a functionLuigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@21986 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-21more NULL / "" equivalence for CID fields.Luigi Rizzo
Mark an inconsistency in empty string handling. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@21819 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-18simplify the flow of builtin_atxfer().Luigi Rizzo
There is still a lot of similarity with builtin_blindtransfer() which should be removed by definining functions for the common pieces of code (eg in the first part). git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@21097 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-17- Doxygen formattingOlle Johansson
Please place a Doxygen todo marker before things that needs to be checked up later by someone - it's like /*! \todo We really need to implement this in C++ */ - option_debug checking before logging to DEBUG channel git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20790 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16preparation for reduction of the nesting of a large functionLuigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20733 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16more usages of stream_and_waitLuigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20707 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16more usages of function 'finishup()'Luigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20705 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16one more instance of stream_and_wait, and remove an extraLuigi Rizzo
'error = 1' line put in by miustake git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20693 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16more replaceemnt of dup code with functions.Luigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20678 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16localize several variables, and simplify the last part of park_exec()Luigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20653 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16more formatting cleanup including removal of a useless checkLuigi Rizzo
for f == NULL git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20652 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16rename a variable same as used in a very similar function,Luigi Rizzo
to reduce code differences. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16s/pu->chan/chan in a few places;Luigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20626 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16put some common code into functions (still more instances to be replaced)Luigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20625 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16properly reindent a large block.Luigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20624 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16more readability fixes - localize some variables and invertLuigi Rizzo
a condition in an 'if' statement to reduce the nesting depth. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20623 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16introduce a function to set context, extension and priorityLuigi Rizzo
replacing some common blocks of code (there are still a few instances where it can be used) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20598 65c4cc65-6c06-0410-ace0-fbb531ad65f3