Commit Graph

464 Commits (4deaae748207fb253c8c8911a2e8f900e195f3c5)

Author SHA1 Message Date
Russell Bryant 87dc20fc03 Previously, app_queue created a thread to handle every single device state
18 years ago
Mark Michelson 74cc6754af Don't allocate space for queue members unless it's needed. You end up deleting dynamic members on a reload. Not good.
18 years ago
Joshua Colp 03a7b06959 Create a duplicate of the channel's member name as the tab completion stuff will free it.
18 years ago
Joshua Colp 2187f79e54 Protect the CDR record from modification by pbx_exec so that the application data contains the Queue data.
18 years ago
Joshua Colp 88cfb003df Initialize a variable to NULL to make the world happy.
18 years ago
Mark Michelson 3d1a567df0 Moving the logic for handling an empty membername to the create_member function so that there is a common place
18 years ago
Kevin P. Fleming a809a030d9 there is no need for conditional logic to select ->interface or ->membername, snince ->membername will always be populated
18 years ago
Kevin P. Fleming 43c2cf7938 fix a couple of places where a logical member name (if specified) was not used, but instead the direct interface was listed
18 years ago
Mark Michelson e53d7231dd Crap, I broke the build. Fixed.
18 years ago
Mark Michelson c7b6c42ef5 Adding member name field to manager events where they were missing before
18 years ago
Mark Michelson d6b1a0bfd6 Preemptively fixing a possible segfault. It is possible that queuename is NULL
18 years ago
Mark Michelson 1cf6ee98e0 Added logic to handle the unlikely case that someone has two queues with the same name.
18 years ago
Mark Michelson da18cece2c We should only initialize a realtime queue when it is allocated, not every time we access it. This prevents the members ao2_container
18 years ago
Russell Bryant 3e11102ef8 Fix incorrect uses of ao2_find(). Every one of these calls was reading bogus
18 years ago
Russell Bryant 56b7a100bc Fix another missing unref of member objects. This one was pointed out by Marta.
18 years ago
Mark Michelson 4f36c859ad All instances of ao2_iterators which were just named 'i' have been renamed
18 years ago
Russell Bryant 808ed0e44e Add a couple more missing unrefs of queue member objects
18 years ago
Russell Bryant aa3a71d3bf Add a missing unref of a queue member in an error handling block
18 years ago
Russell Bryant ffa6e7123b Document why membercount can not simply be replaced by ao2_container_count()
18 years ago
Tilghman Lesher 4913548485 Convert struct member to use refcounts (closes issue #10199)
18 years ago
Jason Parker d73c04d892 Allow the MEMBERINTERFACE variable to be used as the mixmonitor filename.
18 years ago
Mark Michelson 76ffc54255 Fixes an issue where valid DTMF had to be pressed twice to exit a queue if a member's phone
18 years ago
Mark Michelson fbbf1e2056 Fixing the build...
18 years ago
Mark Michelson f5cc747662 Reverting behavior of QUEUE_MEMBER_COUNT to only count members who are logged in
18 years ago
Mark Michelson 6ed2b5c1b2 Changed a comment to be more accurate.
18 years ago
Mark Michelson 687f798f19 Fixed broken behavior of a reload on realtime queues. Prior to this patch, if a reload was issued and
18 years ago
Mark Michelson 0589a7e1d0 Removing an extraneous (and possibly misleading) log message. Firstly, if the announce file isn't found, the
18 years ago
Mark Michelson 4c16fcaa97 Changed some manager event messages to reflect whether a queue member is a realtime member or not
18 years ago
Mark Michelson dbe2d229a5 This patch, in essence, will correctly pause a realtime queue member and reflect those
18 years ago
Mark Michelson 872ab1519e Changed some tabs to spaces
18 years ago
Mark Michelson 2772c71560 This fix creates a more accurate way of detecting whether realtime members were deleted.
18 years ago
Mark Michelson 214d980f86 Resolve a potential deadlock. In this case, a single queue is locked, then the queue list. In changethread(), the queue list is
18 years ago
Mark Michelson fe5489eead Found a case where the queue's membercount is off. It does not take into account dynamic members on a reload.
18 years ago
BJ Weschke 318f0f6e46 A minor correction to the available logic of autofill. If a queue member is paused, they're not really "available" so don't count them as such. Somewhat related to issue #10155
18 years ago
Russell Bryant 108326e3d1 Fix the build of app_queue
18 years ago
Mark Michelson 6268d2d7ec After a discussion on #asterisk-dev, it was decided that this should be in 1.4 as well.
18 years ago
Mark Michelson d66e174242 Found a pointless ternary if. member->dynamic was set to 1 and has no opportunity to change
18 years ago
Mark Michelson f8c70a5799 Changing a bit of logic so that someone will NEVER exit the queue on timeout unless they have enabled the 'n' option.
18 years ago
Mark Michelson 5739eba48e Fixes an issue I introduced to queues wherein a queue with joinempty=yes would kick people out of the queue because of erroneously
18 years ago
Mark Michelson 7e6f78d95e If a queue uses dynamic realtime members, then the member list should be updated after each attempt to call the queue.
18 years ago
Mark Michelson ad4eb1b347 Added a membercount variable to call_queue struct which keeps track of the number of logged in members in a particular queue.
18 years ago
Joshua Colp 34b000a0e7 Move makeannouncement variable declaration to proper place.
18 years ago
Mark Michelson 049fb8d98e The diff on this looks pretty big but all I did was remove a pointless if statement (always evaluates true).
18 years ago
Mark Michelson 1f9e2457dd Changes in handling return values of several functions in app_queue. This all started as a fix for issue #10008
18 years ago
Dwayne M. Hubbard 226a627244 Merged revisions 75657 via svnmerge from
18 years ago
Jason Parker 05923bb562 Merged revisions 74427 via svnmerge from
18 years ago
Mark Michelson 5112357ae1 Forgot to get rid of an extraneous debug message.
18 years ago
Mark Michelson 591f77fe14 The n option for Queue should make the queue exit immediately after failure to reach any members and should not
18 years ago
Mark Michelson 60c9f69f20 Correcting a minor CLI bug I found. When issuing the queue show command, if you type
18 years ago
Joshua Colp 6fec0a545f Merged revisions 73315 via svnmerge from
18 years ago
Joshua Colp 2c67ae6869 Merged revisions 72327 via svnmerge from
18 years ago
Russell Bryant e7cb53e8b2 Fix loading persistent queue members when using realtime configuration for queues.
18 years ago
Russell Bryant ece55e3de7 Merged revisions 65389 via svnmerge from
18 years ago
Russell Bryant 88f6591b24 Fix a small bug I noticed while working on something else. app_queue did not
18 years ago
Jason Parker 15d34ea798 Merged revisions 61692 via svnmerge from
18 years ago
Jason Parker 7a8d30f3c3 Use the appropriate interface name with COMPLETECALLER.
18 years ago
Joshua Colp acd37793b1 Allow app_queue to use MONITOR_EXEC even if MONITOR_OPTIONS is not set. (issue #9495 reported by cduffy)
18 years ago
Joshua Colp 7cec18d933 Add missing membername option to AddQueueMember documentation. (issue #9088 reported by seanbright)
19 years ago
Joshua Colp fccaadad94 Make the 'i' option of Queue actually work. (issue #8986 reported by utis)
19 years ago
BJ Weschke c71401e705 I'm baaaaaaaaaack. :)
19 years ago
Olle Johansson 10f0da24c2 Change debug level for state change message that is not really informative when debugging app_queue
19 years ago
Russell Bryant 9aab046002 Merged revisions 53045 via svnmerge from
19 years ago
Russell Bryant ad254da05d Only changed the paused status in an existing queue member if the paused
19 years ago
Russell Bryant 8dc0a7778f Instead of always creating a realtime queue member as unpaused, read the
19 years ago
Joshua Colp 47f9dd508a Merged revisions 52415 via svnmerge from
19 years ago
Kevin P. Fleming 444adcb477 reduce stack consumption for AMI and AMI/HTTP requests by nearly 20K in most cases
19 years ago
Kevin P. Fleming cb2930ecb4 if adding a queue member is LOG_NOTICE, then removing them should be LOG_NOTICE, not LOG_DEBUG
19 years ago
Kevin P. Fleming 88fb11d10b reflect addition/removal of dynamic queue members in queue_log, so that people using dialplan replacement for AgentCallbackLogin can still track login/logout (issue #7736, reported/patched by whoiswes but this commit was written by me and covers all three paths for AQM/RQM)
19 years ago
Tilghman Lesher 56a1e60c54 More changes making the CLI more consistent with "category verb arguments" (continuation of issue 8236)
19 years ago
Tilghman Lesher e05a2752e8 Reverse change of "show" to "list" and make several other commands more consistent with "category verb arguments"
19 years ago
Russell Bryant 28d9579584 update warning message to include "agi" option (issue #8225, jmls)
19 years ago
Kevin P. Fleming ce4b0afb73 apparently developers are still not aware that they should be use ast_copy_string instead of strncpy... fix up many more users, and fix some bugs in the process
19 years ago
Kevin P. Fleming ff05bf15c8 update thread creation code a bit
19 years ago
Kevin P. Fleming b4a673780a Merged revisions 44296 via svnmerge from
19 years ago
Jason Parker 4be96dc8d3 Fix incorrect argument order for member names, on persisted members.
19 years ago
Kevin P. Fleming 78e8232ef8 Merged revisions 43916 via svnmerge from
19 years ago
BJ Weschke 1dd8d10aa9 Merged revisions 43897 via svnmerge from
19 years ago
BJ Weschke 675749c706 Merged revisions 43871 via svnmerge from
19 years ago
BJ Weschke 669bbb6784 Autopause not working for queue members. (#8042 - jmls reported and patch)
19 years ago
Tilghman Lesher 70af28270d Constify the result of a config retrieval function, to avoid mutilation (issue 7983).
19 years ago
Jason Parker 61e4465f49 Fix a segfault that was reported by jcmoore in #asterisk-bugs on IRC.
19 years ago
Jason Parker 50c1981780 We need to persist the member name also
19 years ago
Jason Parker a7119b522d Add a "member name" to queue members.
19 years ago
Matt O'Gorman d0a1a0033d similar patch for verbose vs debug with minor changes
19 years ago
Kevin P. Fleming fcb999c01c merge qwell's CLI verbification work
19 years ago
BJ Weschke c5c1d4579f This was added to app_dial a while back, and now it's in app_queue as well. Provide an option to prevent members of the queue from forwarding calls from the queue to somewhere else.
19 years ago
BJ Weschke 06b98dcc77 Merged revisions 41882 via svnmerge from
19 years ago
BJ Weschke 91f4aa93bb Don't keep trying the same member in certain strategies when members of the queue are unavailable (#7278 - diLLec reported and patched)
19 years ago
BJ Weschke b6ccca7566 Merged revisions 41827 via svnmerge from
19 years ago
BJ Weschke e736c8a27b With the somewhat recent addition (from one of the Astridevcon Europe sessions) of more detailed device states, we need to change strategy in app_queue in how we determine whether a queue member is "in use" or not. Basically, instead of specifically looking for that device state as we did previously, now we're going to observe any other device state aside from the two that we know for sure are "not in use" as "in use". This will cause some other states to fall through that we know will never be available (eg - "INVALID","UNAVAILABLE",etc) but there's other code already within to handle those conditions. (#7433 - tgrman reporting)
19 years ago
Matt O'Gorman 05a695af72 everything that loads a config that needs a config file to run
19 years ago
Kevin P. Fleming 0a27d8bfe5 merge new_loader_completion branch, including (at least):
19 years ago
BJ Weschke 2ec3a672e9 Increase the size of the variable space for writing/reading persistent queue member data to allow for larger queues of members. (Matthew Roth #7703)
19 years ago
Russell Bryant e068c5fcf9 Merged revisions 38972 via svnmerge from
19 years ago
Tilghman Lesher cc3029e871 Typo found on the -dev list
19 years ago
Kevin P. Fleming 6d0742fc16 merge Russell's 'hold_handling' branch, finally implementing music-on-hold handling the way it was decided at AstriDevCon Europe 2006 (and the way people really want it to be)
19 years ago
Russell Bryant 88627c754a add a QueueLog application that allows for custom entries in the queue_log
19 years ago
Tilghman Lesher d8ccfb6711 Whitespace fix
19 years ago
Kevin P. Fleming dea45f3aa3 only compare the queue entry's max penalty to the member's penalty when the queue entry actually has a non-zero penalty
19 years ago
Tilghman Lesher 2127a0b7e5 Change superfluous messages to DEBUG and remove dead code
19 years ago
BJ Weschke 0d0fadc781 Merged revisions 35669 via svnmerge from
19 years ago
Tilghman Lesher 89f6ffe1e5 Bug 6589 - option to display channel variables in queue events
19 years ago
Joshua Colp 0224dee876 Actually allow realtime queue members to be added (issue #7408 reported by tgrman)
19 years ago
Kevin P. Fleming b5a13cbef8 Merged revisions 34274 via svnmerge from
19 years ago
Kevin P. Fleming aba00b66fc use the proper named constants for checking device state, and don't treat UNKNOWN as not available in autofill mode
19 years ago
Kevin P. Fleming 7518a91032 various coding style cleanup and minor fixes
19 years ago
Kevin P. Fleming 11dac47877 Merged revisions 34159-34160 via svnmerge from
19 years ago
Kevin P. Fleming 472c1ca282 simplify autoconfig include mechanism (make tholo happy he can use lint again :-)
19 years ago
Kevin P. Fleming 998eacf17f Merged revisions 31921 via svnmerge from
19 years ago
Kevin P. Fleming 7e84433270 officially deprecate the 'roundrobin' queue strategy in favor of 'rrmemory'
19 years ago
BJ Weschke 295c340164 A new way to try and deal with deadlocks that occur in app_queue at present. Using this approach, we only manipulate the main queue mutexes when we get a dev state change on a device that is actually a member of a queue. Further optimizations are still possible (eg - store and manage pointers to the status integer of the member record that this interface/device has a one-to-one relationship with and then go directly to those pointers to make status modifications rather than the recursive looping that goes on now) BUT first things first. :)
19 years ago
BJ Weschke 59e1522025 Merged revisions 30424 via svnmerge from
19 years ago
BJ Weschke 6cfaaf9ac0 Properly initialize destination variables before we send them into pbx_substitute_variables_helper(..). Ya! Testing! Take 2.
19 years ago
BJ Weschke 36cf242f31 Making sure a char ptr is initialized before we strchr on it is a GOOD thing. Ya! Testing!
19 years ago
BJ Weschke 8d890cb626 Doxygen comment for Qwell
19 years ago
BJ Weschke 6848d55d85 Make sure we catch all the instances where a member didn't answer the call sent to them rather than just on a timeout after a dial attempt and some minor code cleanup/reuse.
19 years ago
Kevin P. Fleming 6e307c1d81 Merged revisions 29971 via svnmerge from
19 years ago
BJ Weschke d1fc8d4687 Add UniqueID to the leave manager event.
19 years ago
Kevin P. Fleming db55898c0d Merged revisions 28968 via svnmerge from
19 years ago
Joshua Colp 154774e033 Merged revisions 28627 via svnmerge from
19 years ago
Joshua Colp 4edfd20a7a Remove needless check for autofill (issue #7180 reported by Marquis)
19 years ago
Russell Bryant 04ecb29d03 remove almost all of the checks of the result from ast_strdupa() or alloca().
19 years ago
Russell Bryant 4120afc28e put all the QUEUE_STRATEGY values in an enum, and use them in all of the places
19 years ago
BJ Weschke 3780d4e7dd strategy "ringall" is really int value of 0, not 1.
19 years ago
BJ Weschke c0186f6b4d Make QueueStatusComplete manager event thread safe by wrapping it inside the already existing Queue Lock clause. #7013 (bziherl reporting)
19 years ago
BJ Weschke a7f330a2d2 Merged revisions 25520 via svnmerge from
19 years ago
BJ Weschke 415dff6f2a Merged revisions 25518 via svnmerge from
19 years ago
BJ Weschke 714aab87bb Fix situation for when there is no monitor_option defined, but there is a monitor_exec defined.
19 years ago
BJ Weschke d83bd4d136 Integrate the MixMonitor functionality (introduced in 1.2) as an option for recording queue member conversations with callers. #7084
19 years ago
BJ Weschke 85e0c889e4 Allow for the execution of an AGI to the caller's channel right before they get bridged with the queue member that is going to take their call. Add the option to set a MEMBERINTERFACE variable on the caller's channel that will contain the interface of the queue member that is going to/did take the call. #6843
19 years ago
Tilghman Lesher 7734d20eb5 Merged revisions 24706 via svnmerge from
19 years ago
BJ Weschke 80c34d2a91 Make sure that callers kicked from queue because of joinempty and leavewhenempty have an event logged with regard to the reason for their departure. #6559 (Corydon76)
19 years ago
BJ Weschke 944c8cc4a6 Log hold time and talktime in queue_log when blind transfers are made by queue members. #7038 (alphaqueue) w/documentation mods added
19 years ago
BJ Weschke ebb7eee9ce Implement and document RINGNOANSWER queue logging functionality to "tattle" on bad queue members.
19 years ago
BJ Weschke 7b3f3db65d Fix autofill behavior in app_queue and document it's functionality in queues.conf.sample and UPGRADE.txt
19 years ago
BJ Weschke 857f2e8d41 Record bridge channel unique id in "CONNECT" queue_log entry and the corresponding manager event. #6522 (nording) w/ documentation additions where appropriate
19 years ago
Luigi Rizzo 2904c6956d remove unused variable
19 years ago
Matt O'Gorman 7212fa80ad adds new function QUEUE_WAITING_COUNT and a few
19 years ago
Luigi Rizzo 1a6572c4e6 more NULL "" equivalence,
19 years ago
Luigi Rizzo e43bc6634d This rather large commit changes the way modules are loaded.
19 years ago
Kevin P. Fleming cf15740eaf remove support for BYEXTENSION (which nobody even knows about anymore)
19 years ago
Kevin P. Fleming f10f427d49 since the module API is changing, it's a good time to const-ify the description() and key() return values
19 years ago
Tilghman Lesher 756c7cbb12 Bug 6873 - Finish moving from the non-threadsafe (and poor randomness) rand() to threadsafe ast_random()
19 years ago
Olle Johansson 982a66a93a Issue #6882
19 years ago
Luigi Rizzo c0f2f5b5b8 Normalize some cli completion code.
19 years ago
Mark Spencer 9164eac21a Add micro-http server and abstract manager interface, make snmp not die
19 years ago
Russell Bryant f28abd4020 Merged revisions 12925 via svnmerge from
19 years ago
Tilghman Lesher 30a806010a Bug 6459 - tell manager when queue is abandoned
19 years ago
Russell Bryant a0d438fb6c remove the uses of the deprecated STANDARD_LOCAL_USER
20 years ago
Kevin P. Fleming f0495e8944 add option to avoid calling members whose channels are 'in use' (issue #6315, plus documentation)
20 years ago