summaryrefslogtreecommitdiff
path: root/apps/app_queue.c
AgeCommit message (Collapse)Author
2008-04-09Fix a crash that happened due to accessing free'd memoryMark Michelson
(closes issue #12396) Reported by: tcalosi Patches: 12396.patch uploaded by putnopvut (license 60) Tested by: tcalosi git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@113980 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-02Merged revisions 112393 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r112393 | mmichelson | 2008-04-02 09:32:00 -0500 (Wed, 02 Apr 2008) | 6 lines Ensure that there is no timeout if none is specified. (closes issue #12349) Reported by: johnlange ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@112394 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-28Forgetting to unregister a manager action is bad, mmmk?Joshua Colp
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@111565 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-28Fix a crash that would happen when attempting to unload the app_queue module.Mark Michelson
The problem was that when the refcount on the queue hit 0, the destructor was called, and inside the destructor, another function was called which would increase the refcount back to 1 again and then decrease it again back to 0 for every member in the queue. This meant that the destructor was being recursively called, leading to a double free of the queue. This is now fixed by making sure to unlink the queue from the queues container prior to the final unref of the queue. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@111533 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-18Merged revisions 109713 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r109713 | mmichelson | 2008-03-18 15:52:15 -0500 (Tue, 18 Mar 2008) | 12 lines This patch makes it so that all queue member status changes are handled through device state code. This removes several problems people were seeing where their queue members would get into an "unknown" state. Huge props go to atis on this one since he was the one who found the code section that was causing the problem and proposed the solution. I just wrote what he suggested :) (closes issue #12127) Reported by: atis Patches: 12127v3.patch uploaded by putnopvut (license 60) Tested by: atis, jvandal ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@109714 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-18Add option 'randomperiodicannounce' to queues.conf. Setting this willMark Michelson
allow the list of periodic announcments specified to be played in a random order instead of being played sequentially. (closes issue #6681) Reported by: alt_phil Tested by: putnopvut git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@109621 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-18Go through and fix a bunch of places where character strings were being ↵Terry Wilson
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: https://origsvn.digium.com/svn/asterisk/trunk@109447 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-10app_queue has now been doxygenified thanks to snuffy! The ony thing I changedMark Michelson
was the way that locks are referenced, since the old 1.2 names were still used in the comments. (closes issue #11997) Reported by: snuffy Patches: bug_11997_queue_doxy.diff uploaded by snuffy (license 35) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@107068 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-07(closes issue #6002)Steve Murphy
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: https://origsvn.digium.com/svn/asterisk/trunk@106757 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05 - simplify a few statements with ARRAY_LEN()Russell Bryant
- constify the stregy int to string mappings array git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105984 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04Fix minor misuses of snprintfTilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105841 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-28Merged revisions 105059 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r105059 | mmichelson | 2008-02-28 14:11:57 -0600 (Thu, 28 Feb 2008) | 6 lines When using autofill, members who are in use should be counted towards the number of available members to call if ringinuse is set to yes. Thanks to jmls who brought this issue up on IRC ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105061 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-20Merged revisions 103956 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r103956 | mmichelson | 2008-02-20 16:32:22 -0600 (Wed, 20 Feb 2008) | 8 lines Clear up confusion when viewing the QUEUE_WAITING_COUNT of a "dead" realtime queue. Since from the user's perspective, the queue does exist, we shouldn't tell them we couldn't find the queue. Instead since it is a dead queue, report a 0 waiting count This issue was brought up on IRC by jmls ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103957 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-15Fix up some doxygen issues.Jason Parker
(closes issue #11996) Patches: bug_11996_doxygen.diff uploaded by snuffy (license 35) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103723 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-14Change the queue holdtime announcement to happen at any interval (not just ↵Mark Michelson
greater than two minutes). Remove the saying of less-than for holdtime announcements since it can lead to awkward holdtime announcements. Using '1' as a queue-round-seconds value is no longer valid. (closes issue #9736) Reported by: caio1982 Patches: queue_announce5.diff uploaded by caio1982 (license 22) Tested by: caio1982, putnopvut git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103687 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-11Fix improper indentation. Thanks again to snuffy for pointing it out.Mark Michelson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103284 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-11Add a couple of comments to clarify the unreffing of queues.Mark Michelson
Thanks to snuffy for the idea. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103283 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-08Forgot that AST_LIST_REMOVE_CURRENT takes different arguments in trunk than 1.4.Mark Michelson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103122 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-08Merged revisions 103120 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r103120 | mmichelson | 2008-02-08 12:48:17 -0600 (Fri, 08 Feb 2008) | 10 lines Prevent a potential three-thread deadlock. Also added a comment block to explicitly state the locking order necessary inside app_queue. (closes issue #11862) Reported by: flujan Patches: 11862.patch uploaded by putnopvut (license 60) Tested by: flujan ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103121 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-06Add the channel's unique id to the AgentCalled manager event to make it more ↵Mark Michelson
consistent with other manager events. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@102777 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-06Remove an extra debug message I left inMark Michelson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@102550 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-31Forgot an !Mark Michelson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@101580 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-31A change I made to accommodate the "linear" strategy in trunk caused queue ↵Mark Michelson
strategies to not be loaded from realtime queues. This commit fixes that. Thanks to jmls for pointing this problem out to me on IRC. This also contains some changes to S_OR where it should be used. Thanks to Qwell for pointing these out. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@101578 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-31Handle the case of a NULL state_interface when checking a realtime member.Mark Michelson
Thanks to jmls for finding this issue. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@101576 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-30Merged revisions 101216 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r101216 | mmichelson | 2008-01-30 09:23:00 -0600 (Wed, 30 Jan 2008) | 5 lines Fix a logic error with regards to autofill. Prior to this change, it was possible for a caller to go out of turn if autofill were enabled and callers ahead in the queue were attempting to call a member. This change fixes this. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@101217 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-29Merged revisions 101035 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r101035 | mmichelson | 2008-01-29 17:02:03 -0600 (Tue, 29 Jan 2008) | 3 lines Remove a memory leak from updating realtime queues ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@101036 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-29Merged revisions 100973 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r100973 | mmichelson | 2008-01-29 13:39:00 -0600 (Tue, 29 Jan 2008) | 6 lines Fixing an erroneous return value returned when attempting to pause or unpause a queue member fails. Fixes BE-366, thanks to John Bigelow for writing the patch. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@100974 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-25Insure that we are not going to pass a NULL pointer to add_to_interfaces.Mark Michelson
(closes issue #11840) Reported by: junky git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@100344 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-21Adding the QUEUENAME variable to the variables set using the setqueuevar option Mark Michelson
in queues.conf. Suggestion comes from Shaun2222 on IRC. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99406 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-17state_interface could be NULL, so use the never-NULL cur->state_interface ↵Mark Michelson
for this check git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98994 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-17Get the device state of the state interface instead of the interface when ↵Mark Michelson
creating a new queue member. Thanks to Atis Lezdins for bringing this up on the Asterisk-Dev mailing list. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98993 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-14Merged revisions 98737 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r98737 | mmichelson | 2008-01-14 10:35:12 -0600 (Mon, 14 Jan 2008) | 3 lines Fixing another compilation error. I'm a bit off today :( ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98738 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-14Merged revisions 98733 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r98733 | mmichelson | 2008-01-14 10:21:28 -0600 (Mon, 14 Jan 2008) | 8 lines Adding explicit defaults for missing options to init_queue. This is necessary because if a user either removes or comments one of these options and reloads their queues, the option will not reset to its default, instead maintaining the value from prior to the reload. Thanks to John Bigelow for pointing this error out to me. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98735 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-09Merged revisions 97575 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r97575 | mmichelson | 2008-01-09 12:48:15 -0600 (Wed, 09 Jan 2008) | 3 lines Part 2 of app_queue doxygen improvements. Some smaller functions this time ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97577 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-09Merged revisions 97308 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r97308 | mmichelson | 2008-01-08 18:17:40 -0600 (Tue, 08 Jan 2008) | 3 lines use the \retval doxygen command properly ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97309 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-08Merged revisions 97304 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r97304 | mmichelson | 2008-01-08 17:49:11 -0600 (Tue, 08 Jan 2008) | 5 lines Part 1 of N of adding doxygen comments to app_queue. I picked some of the most common functions used (which also happen to be some the biggest/ugliest functions too) to document first. I'm pretty new to doxygen so criticism is welcome. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97307 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-08Initialize new variable to NULLTerry Wilson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97248 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-08Adding the option of specifying a second interface in a member definition ↵Mark Michelson
for a queue. app_queue will monitor this second device's state for the member, even though it actually calls the first interface. This ability has been added for statically defined queue members, realtime queue members, and dynamic queue members added through the CLI, dialplan, or manager. (closes issue #11603, reported by acidv) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97203 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-08Merged revisions 97093 via svnmerge from Joshua Colp
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r97093 | file | 2008-01-08 14:36:40 -0400 (Tue, 08 Jan 2008) | 4 lines Make app_queue calls work with directed pickup. (closes issue #11700) Reported by: jbauer ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97103 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-02Merged revisions 96102 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r96102 | mmichelson | 2008-01-02 17:46:02 -0600 (Wed, 02 Jan 2008) | 4 lines We need to reset the membername to NULL on each iteration of this loop, otherwise the result is that multiple members can have the same name, since the variable was not reset on each iteration of the loop. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@96103 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-02Since ',' is the standard argument separator in trunk, change app_queueMark Michelson
to use AST_STANDARD_APP_ARGS instead of AST_NONSTANDARD_APP_ARGS for determining member data. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@95945 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-02Merged revisions 95890 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r95890 | mmichelson | 2008-01-02 11:51:22 -0600 (Wed, 02 Jan 2008) | 9 lines A change to improve the accuracy of queue logging in the case where a member does not answer during the specified timeout period. Prior to this change, there was a small chance that the member name recorded in this case would be blank. Also prior to this change, if using the ringall strategy, if no one answered the call during the specified timeout, the member name listed in the queue log would randomly be one of the members that was rung. (closes issue #11498, reported and tested by hloubser, patched by me) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@95891 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-28The diff for this change looks really bad, but all I did here was decrease ↵Mark Michelson
the indentation of most of the queue_exec function by reversing the logic of an if statement. This change makes the function comply better with the coding guidelines. Since this change is purely a cosmetic change to the code, I am only committing the change to trunk. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@95233 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-28Merged revisions 95095 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r95095 | mmichelson | 2007-12-27 18:16:15 -0600 (Thu, 27 Dec 2007) | 8 lines I found a bug while browsing the queue code and managed to reproduce it in a small setup. If a queue uses the ringall strategy, it was possible through unfortunate coincidence for a single member at a given penalty level to make app_queue think that all members at that penalty level were unavailable and cause the members at the next penalty level to be rung. With this patch, we will only move to the next penalty level if ALL the members at a given penalty level are unreachable. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@95096 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-27NULL does not need to be cast to (char *)Luigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@95069 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-21Fix a memory leak when reloading queue rules.Mark Michelson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@94547 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-21Merged revisions 94464 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r94464 | mmichelson | 2007-12-21 10:11:44 -0600 (Fri, 21 Dec 2007) | 3 lines Removing a debug message I accidentally just committed ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@94465 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-21Merged revisions 94420 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r94420 | mmichelson | 2007-12-21 09:45:14 -0600 (Fri, 21 Dec 2007) | 5 lines Fixing Portuguese syntax for saying dates and times. Also some coding guidelines cleanup. (closes issue #11599, reported and patched by caio1982, coding guidelines cleanup by me) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@94463 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-21Moved the update of the queue_ent's rule list to just before we try to callMark Michelson
queue members. This allows for the change in penalty levels to be executed at the most logical time frame. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@94396 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-21Merging the queue-penalty branch. In short, this allows one to dynamically ↵Mark Michelson
adjust the QUEUE_MAX_PENALTY and the newly introduced QUEUE_MIN_PENALTY during a call depending on the amount of time passed. The purpose is to allow the call to open up to more (or maybe just different) members without the caller's losing his place in the queue. See configs/queuerules.conf.sample for an example of how to set up queue rules and configs/queues.conf.sample for how to associate a rule with a queue. Along with the functional changes, new CLI and manager commands exist to show the rules defined and there is an additional CLI command to reload the queue rules. Future enhancements that may be made: support for realtime queue rules and support for dynamically adding a rule through the manager or CLI. Also a manager command to reload the queue rules (I'll probably write this myself very soon). git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@94370 65c4cc65-6c06-0410-ace0-fbb531ad65f3