Commit graph

619 commits

Author SHA1 Message Date
Mark Michelson
8a2cf30830 Fix up a few issues with regards to queues
* Fix reference counting used in the __queues_show function
* Add code to be sure that the "queue show" command does not
  print information for a realtime queue which has been deleted
  from the backend
* Add a missing unref to the realtime queue loading function for
  the case where a queue is in the module's container but has been
  deleted from the realtime backend

(closes issue #14033)
Reported by: cristiandimache
Patches:
      14033.patch uploaded by putnopvut (license 60)
Tested by: cristiandimache



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@164268 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-15 16:10:43 +00:00
Tilghman Lesher
c8223fc957 Merge ast_str_opaque branch (discontinue usage of ast_str internals)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@163991 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-13 08:36:35 +00:00
Terry Wilson
74de8fdaa7 When using realtime queues, app_queue wasn't updating the strategy if it was changed in the realtime backend. This patch resolves the issue for almost all situations. It is currently not supported to switch to the linear strategy via realtime since the ao2_container for members will have been set to have multiple buckets and therefore the members would be unordered.
(closes issue #14034)
Reported by: cristiandimache
Tested by: otherwiseguy, cristiandimache


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@163873 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-12 23:48:26 +00:00
Mark Michelson
1772fc56f0 Merged revisions 163084 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r163084 | mmichelson | 2008-12-11 10:46:22 -0600 (Thu, 11 Dec 2008) | 4 lines

Revert this cast to long. Using time_t here causes build failures on a 
FreeBSD 32-bit build.


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@163085 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-11 16:47:34 +00:00
Mark Michelson
cda010c3b7 Merged revisions 163080 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r163080 | mmichelson | 2008-12-11 10:24:43 -0600 (Thu, 11 Dec 2008) | 14 lines

Fix a potential crash due to unsafe datastore handling.

This patch also contains a conversion from using long to time_t
for representing times for a queue, as well as some whitespace
fixes.

(closes issue #14060)
Reported by: nivek
Patches:
      datastore_fixup.patch.corrected uploaded by nivek (license 636)
	  with slight modification from me
Tested by: nivek


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@163081 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-11 16:33:16 +00:00
Eliel C. Sardanons
1e8e12efcf Janitor, use ARRAY_LEN() when possible.
(closes issue #13990)
Reported by: eliel
Patches:
      array_len.diff uploaded by eliel (license 64)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@161218 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-05 10:31:25 +00:00
Mark Michelson
a53877b469 Add some safety measures when using gosub, especially when using the options
for app_dial and app_queue to run a gosub when the call is answered.

* Check for the existence of the gosub target in gosub_exec. If it is nonexistent,
  then this will cause errors when we attempt to actually run the gosub, including
  a definite memory leak and potential crashes. Return an error in this situation
* Check the return value of pbx_exec in app_dial and app_queue before attempting
  to actually run the gosub routine. If there was an error, we should not attempt
  to run the gosub.
* Change a '|' to a ',' in app_queue.
* Add some extra curly braces where they had been missing previously.

(closes issue #13548)
Reported by: fiddur



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@160626 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-03 18:37:46 +00:00
Mark Michelson
ac1b520de6 When investigating issue #13548, I found that gosub
handling in app_queue was just completely wrong, mostly
because the channel operations being performed were being
done on the incorrect channel.

With this set of changes, a gosub will correctly run on
the answering queue member's channel. There are still crash
issues which occur if there are dialplan syntax errors, so
I cannot yet close the referenced issue.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@160555 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-03 17:07:09 +00:00
Sean Bright
fd8caa1778 This is basically a complete rollback of r155401, as it was determined that
it would be best to maintain API compatibility.  Instead, this commit introduces
ao2_callback_data() which is functionally identical to ao2_callback() except
that it allows you to pass arbitrary data to the callback.

Reviewed by Mark Michelson via ReviewBoard:
	http://reviewboard.digium.com/r/64


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158959 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-25 01:01:49 +00:00
Matthew Nicholson
17ed84ff07 Make the Join event from app_queue use CallerIDNum insead of CallerID for
indicating the callerid number just like the rest of asterisk.

(closes issue #13883)
Reported by: davidw


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158924 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-25 00:05:41 +00:00
Mark Michelson
9e1283e160 Add a space to the output
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@157940 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-19 23:30:42 +00:00
Mark Michelson
de5ba432da Add a RES_NOT_DYNAMIC case for the CLI command
'queue remove member'



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@157939 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-19 23:29:14 +00:00
Mark Michelson
cf6c66de65 Fix some refcounting in app_queue.c and change the
hashing used by app_queue.c to be case-insensitive.
This is accomplished by adding a new case-insensitive
hashing function.

This was necessary to prevent bad refcount errors
(and potential crashes) which would occur due to the
fact that queues were initially read from the config
file in a case-sensitive manner. Then, when a user
issued a CLI command or manager action, we allowed
for case-insensitive input and used that input to 
directly try to find the queue in the hash table. The result
was either that we could not find a queue that was input or
worse, we would end up hashing to a completely bogus value
based on the input.

This commit resolves the problem presented in
issue #13703. However, that issue was reported against
1.6.0. Since this fix introduces a behavior change, I am
electing to not place this same fix in to the 1.6.0 or 1.6.1
branches, and instead will opt for a change which does not
change behavior.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@156883 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-14 16:53:38 +00:00
Sean Bright
9ef09ad1d4 Merged revisions 155553 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r155553 | seanbright | 2008-11-08 20:08:07 -0500 (Sat, 08 Nov 2008) | 6 lines

Use static functions here instead of nested ones.  This requires a small
change to the ast_bridge_config struct as well.  To understand the reason
for this change, see the following post:

    http://gcc.gnu.org/ml/gcc-help/2008-11/msg00049.html

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@155554 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-09 01:27:00 +00:00
Sean Bright
30d1744ffc Add ability to pass arbitrary data to the ao2_callback_fn (called from
ao2_callback and ao2_find).  Currently, passing OBJ_POINTER to either
of these mandates that the passed 'arg' is a hashable object, making
searching for an ao2 object based on outside criteria difficult.

Reviewed by Russell and Mark M. via ReviewBoard:
    http://reviewboard.digium.com/r/36/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@155401 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-07 22:39:30 +00:00
Eliel C. Sardanons
d23dff9ca8 - Add some see-also references based on TFOT.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@154542 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-05 12:13:57 +00:00
Tilghman Lesher
2cc8e25222 Slightly optimize ast_devstate_str and rename global functions devstate2str and config_text_file_save to have an ast_ prefix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@154260 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-04 18:47:20 +00:00
Kevin P. Fleming
bd4eb070f3 bring over all the fixes for the warnings found by gcc 4.3.x from the 1.4 branch, and add the ones needed for all the new code here too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@153616 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-02 18:52:13 +00:00
Russell Bryant
5b168ee34b Merge changes from team/group/appdocsxml
This commit introduces the first phase of an effort to manage documentation of the
interfaces in Asterisk in an XML format.  Currently, a new format is available for
applications and dialplan functions.  A good number of conversions to the new format
are also included.

For more information, see the following message to asterisk-dev:

http://lists.digium.com/pipermail/asterisk-dev/2008-October/034968.html


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@153365 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-01 21:10:07 +00:00
Terry Wilson
5fe37e47c6 Recent CDR fixes moved execution of the 'h' exten into the bridging code, so variables that were set after ast_bridge_call was called would not show up in the 'h' exten. Added a callback function to handle setting variables, etc. from w/in the bridging code. Calls back into a nested function within the function calling ast_bridge_call
(closes issue #13793)
Reported by: greenfieldtech


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@153181 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-31 18:55:33 +00:00
Steve Murphy
d736ac2b19 Merged revisions 152538 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r152538 | murf | 2008-10-28 23:19:04 -0600 (Tue, 28 Oct 2008) | 14 lines

A little documentation cross-ref between features and
dial and queue... I wasted some time (stupidly) trying
to get the one-touch parking stuff working, because it
didn't occur to me that I had to also have the corresponding
options in the dial command! Duh! (In all this time, I never
set this up before!)
So, to keep some poor fool from suffering the same fate,
I made the features.conf.sample file mention the corresponding
opts in dial/queue; and the docs for dial/app specifically
mention the corresponding decls in the feature.conf file.

I hope this doesn't spoil some vast, eternal plan...


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@152605 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-29 05:47:13 +00:00
Steve Murphy
6fad66dfb3 Merged revisions 152535 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r152535 | murf | 2008-10-28 22:36:32 -0600 (Tue, 28 Oct 2008) | 46 lines

The magic trick to avoid this crash is not to
try to find the channel by name in the list,
which is slow and resource consuming, but rather
to pay attention to the result codes from the
ast_bridge_call, to which I added the 
AST_PBX_NO_HANGUP_PEER_PARKED value, which
now are returned when a channel is parked.
Why? because CDR's aren't generated via parking,
so nothing is needed, but if a transfer occurred,
there are critical things I need.

If you get AST_PBX_KEEPALIVE,
then don't touch the channel pointer.

If you get AST_PBX_NO_HANGUP_PEER, or
AST_PBX_NO_HANGUP_PEER_PARKED, then don't
touch the peer pointer.

Updated the several places where the results
from a bridge were not being properly obeyed,
and fixed some code I had introduced so that
the results of the bridge were not overridden 
(in trunk).

All the places that previously tested for 
AST_PBX_NO_HANGUP_PEER now have to check for
both AST_PBX_NO_HANGUP_PEER and AST_PBX_NO_HANGUP_PEER_PARKED.

I tested this against the 4 common parking
scenarios:


1. A calls B; B answers; A parks B; B hangs up while A is getting the parking
slot announcement, immediately after being put on hold.

2. A calls B; B answers; A parks B; B hangs up after A has been hung up, but
before the park times out.

3. A calls B; B answers; B parks A; A hangs up while B is getting the parking slot announcement, immediately after being put on hold.

4. A calls B; B answers; B parks A; A hangs up after B has been hung up, but before the park times out.


No crash.

I also ran the scenarios above against valgrind, and accesses looked good.



........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@152536 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-29 05:01:00 +00:00
BJ Weschke
7a8344bac6 The QueueEntry event now has the uniqueid of the channel included.
(closes issue #13731)
 reported and patched by: caio1982



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@150773 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-18 00:25:18 +00:00
Mark Michelson
184fe6f87b Merged revisions 149200 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r149200 | mmichelson | 2008-10-14 17:40:42 -0500 (Tue, 14 Oct 2008) | 12 lines

Update the queue with the correct number of calls and
whether the call was completed within the service level
when a transfer takes place. This way, we do not "break"
the leastrecent and fewestcalls strategies by not logging
a call until after the transferred call has ended.

(closes issue #13395)
Reported by: Marquis
Patches:
      app_queue.c.transfer.patch uploaded by Marquis (license 32)


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@149201 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-14 22:41:13 +00:00
Mark Michelson
b8aed684f5 This commit introduces a change to how the "joinempty"
and "leavewhenempty" options are configured in queues.conf.

Instead of using vague terms like "yes," "no," "loose," and
"strict," we now accept a comma-separated list of values
to determine when to consider a member available.

Extended details can be found in the queues.conf.sample
file. Note also that the above four referenced values are
still accepted for backwards-compatibility, but are mapped
internally to the new method of representing the option.

AST-105



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@146640 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-06 15:29:56 +00:00
Michiel van Baak
90751b16ca Merge the cli_cleanup branch.
This work is done by lmadsen, junky and mvanbaak
during AstriDevCon.

This is the second audit the CLI got, and
this time lmadsen made sure he had _ALL_ modules
loaded that have CLI commands in them.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@145121 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-28 23:32:14 +00:00
Michiel van Baak
f1b673eef0 fix a couple of CLI commands that did not have a help description.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@144879 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-27 00:49:24 +00:00
Tilghman Lesher
08af5bb312 Create a new config file status, CONFIG_STATUS_FILEINVALID for differentiating
when a file is invalid from when a file is missing.  This is most important when
we have two configuration files.  Consider the following example:

Old system:
sip.conf     users.conf     Old result               New result
========     ==========     ==========               ==========
Missing      Missing        SIP doesn't load         SIP doesn't load
Missing      OK             SIP doesn't load         SIP doesn't load
Missing      Invalid        SIP doesn't load         SIP doesn't load
OK           Missing        SIP loads                SIP loads
OK           OK             SIP loads                SIP loads
OK           Invalid        SIP loads incompletely   SIP doesn't load
Invalid      Missing        SIP doesn't load         SIP doesn't load
Invalid      OK             SIP doesn't load         SIP doesn't load
Invalid      Invalid        SIP doesn't load         SIP doesn't load

So in the case when users.conf doesn't load because there's a typo that
disrupts the syntax, we may only partially load users, instead of failing with
an error, which may cause some calls not to get processed.  Worse yet, the old
system would do this with no indication that anything was even wrong.

(closes issue #10690)
 Reported by: dtyoo
 Patches: 
       20080716__bug10690.diff.txt uploaded by Corydon76 (license 14)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@142992 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-12 23:30:03 +00:00
Steve Murphy
67f7ac0499 Merged revisions 142675 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r142675 | murf | 2008-09-11 22:29:34 -0600 (Thu, 11 Sep 2008) | 29 lines

Tested by: sergee, murf, chris-mac, andrew, KNK

This is a "second attempt" to restore the previous "endbeforeh" behavior
in 1.4 and up. In order to capture information concerning all the
legs of transfers in all their infinite combinations, I was forced
to this particular solution by a chain of logical necessities, the
first being that I was not allowed to rewrite the CDR mechanism from 
the ground up!

This change basically leaves the original machinery alone, which allows
IVR and local channel type situations to generate CDR's as normal, but
a channel flag can be set to suppress the normal running of the h exten.
That flag would be set by the code that runs the h exten from the
ast_bridge_call routine, to prevent the h exten from being run twice.
Also, a flag in the ast_bridge_config struct passed into ast_bridge_call
can be used to suppress the running of the h exten in that routine. This
would happen, for instance, if you use the 'g' option in the Dial app.

Running this routine 'early' allows not only the CDR() func to be used
in the h extension for reading CDR variables, but also allows them to
be modified before the CDR is posted to the backends.

While I dearly hope that this patch overcomes all problems, and 
introduces no new problems, reality suggests that surely someone
will have problems. In this case, please re-open 13251 (or 13289),
and we'll see if we can't fix any remaining issues.

** trunk note: some code to suppress the h exten being run 
from app_queue was added; for the 'continue' option available
only in trunk/1.6.x.


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@142676 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-12 04:50:48 +00:00
Mark Michelson
4ad993ed8f This is the trunk version of the patch to close
issue 12979. The difference between this and the
1.6.0 and 1.6.1 versions is that this is a much more
invasive change. With this, we completely get rid
of the interfaces list, along with all its helper
functions.

Let me take a moment to say that this change personally
excites me since it may mean huge steps forward regarding
proper lock order in app_queue without having to strew
seemingly unnecessary locks all over the place. It also
results in a huge reduction in lines of code and complexity.
Way to go Brett!

(closes issue #12979)
Reported by: sigxcpu
Patches:
      20080710_issue12979_queue_custom_state_interface_trunk_2.diff uploaded by bbryant (license 36)
Tested by: sigxcpu, putnopvut



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@142146 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-09 17:15:29 +00:00
Mark Michelson
16d2c41701 Use ast_debug for debug messages. I was wondering why debug
messages weren't showing up when I had set the debug level
high for just app_queue.c. It's because we were only checking
the global option_debug variable instead of using the awesome
macro which checks both the global and file-specific value



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@141998 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-09 12:32:38 +00:00
Mark Michelson
4356d794e3 Optimization: The only reason we should check member
status is if the queue has a joinempty or a leavewhenempty
setting which could cause the caller to not join the queue
or exit the queue. Prior to this patch, we could potentially
traverse the entire queue's member list for no reason since
even if the members are currently not available in some way
we're going to let the caller join the queue anyway.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@141906 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-08 23:00:06 +00:00
Mark Michelson
43285b9273 Fix some locking order issues in app_queue. This was
brought up by atis on IRC a while ago.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@140975 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-03 20:16:12 +00:00
Mark Michelson
5dfefa5ee6 Merged revisions 140488 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r140488 | mmichelson | 2008-08-29 12:34:17 -0500 (Fri, 29 Aug 2008) | 22 lines

After working on the ao2_containers branch, I noticed
something a bit strange. In all cases where we provide
a callback function to ao2_container_alloc, the callback
function would only return 0 or CMP_MATCH. After inspecting
the ao2_callback() code carefully, I found that if you're
only looking for one specific item, then you should return
CMP_MATCH | CMP_STOP. Otherwise, astobj2 will continue
traversing the current bucket until the end searching for
more matches.

In cases like chan_iax2 where in 1.4, all the peers are
shoved into a single bucket, this makes for potentially
terrible performance since the entire bucket will be
traversed even if the peer is one of the first ones come
across in the bucket.

All the changes I have made were for cases where the 
callback function defined was passed to ao2_container_alloc
so that calls to ao2_find could find a unique instance
of whatever object was being stored in the container.


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@140489 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-29 17:47:17 +00:00
Mark Michelson
e833fd2ab1 Add output of variables to AgentRingNoAnswer manager
event if eventwhencalled is set to "vars" in 
queues.conf. Yay for consistency.

(closes issue #13369)
Reported by: srt
Patches:
      13369_agentringnoanswer_variables.diff uploaded by srt (license 378)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@139832 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-25 17:24:02 +00:00
Mark Michelson
612f8c85b4 Change the queue timeout priority logic into less ugly
and confusing code pieces. Clarify the logic within
queues.conf.sample.

(closes issue #12690)
Reported by: atis
Patches:
      queue_timeoutpriority.patch uploaded by atis (license 242)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@138694 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-18 20:23:11 +00:00
Mark Michelson
16a0e23110 Merged revisions 138685 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r138685 | mmichelson | 2008-08-18 15:01:14 -0500 (Mon, 18 Aug 2008) | 10 lines

Change the inequalities used in app_queue with regards
to timeouts from being strict to non-strict for more
accuracy.

(closes issue #13239)
Reported by: atis
Patches:
      app_queue_timeouts_v2.patch uploaded by atis (license 242)


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@138687 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-18 20:04:10 +00:00
Sean Bright
790fde68d9 Another batch of files from RSW. The remaining apps and a few more
files from main/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@137089 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-10 20:23:50 +00:00
Tilghman Lesher
285609937a Merged revisions 136488 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r136488 | tilghman | 2008-08-07 11:50:47 -0500 (Thu, 07 Aug 2008) | 7 lines

Update persistent state on all exit conditions.
(closes issue #12916)
 Reported by: sgenyuk
 Patches: 
       app_queue.patch.txt uploaded by neutrino88 (license 297)
 Tested by: sgenyuk, aragon

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@136489 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-07 16:55:57 +00:00
Kevin P. Fleming
7df8b8b848 make datastore creation and destruction a generic API since it is not really channel related, and add the ability to add/find/remove datastores to manager sessions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@135680 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-05 16:56:11 +00:00
Mark Michelson
95ab87a07d Merged revisions 134758 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r134758 | mmichelson | 2008-07-31 10:56:18 -0500 (Thu, 31 Jul 2008) | 16 lines

Add more timeout checks into app_queue, specifically
targeting areas where an unknown and potentially
long time has just elapsed. Also added a check
to try_calling() to return early if the timeout
has elapsed instead of potentially setting a negative
timeout for the call (thus making it have *no* timeout
at all).


(closes issue #13186)
Reported by: miquel_cabrespina
Patches:
      13186.diff uploaded by putnopvut (license 60)
Tested by: miquel_cabrespina


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@134759 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-31 16:05:12 +00:00
Mark Michelson
2f16a9583f Merged revisions 134556 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r134556 | mmichelson | 2008-07-30 15:24:40 -0500 (Wed, 30 Jul 2008) | 7 lines

Fix the parsing of the "reason" parameter in the
Diversion: header.

(closes issue #13195)
Reported by: woodsfsg


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@134598 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-30 21:05:37 +00:00
Tilghman Lesher
87256ecdbc Let "roundrobin" also reference rrmemory, for the 1.6 release (as described in
UPGRADE-1.4.txt)
(Closes issue #13181)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@134483 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-30 19:17:38 +00:00
Mark Michelson
4caeba12a6 Add a missing unlock.
Pointed out by Atis Lezdins in #asterisk-dev



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@133570 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-25 13:52:52 +00:00
Mark Michelson
b4dac0b385 Merged revisions 131369 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r131369 | mmichelson | 2008-07-16 15:23:02 -0500 (Wed, 16 Jul 2008) | 14 lines

Move the init_queue call back to where it used to be (changed
Sept 12 last year). It was moved then to prevent a memory leak.
Since then, the same memory leak recurred and was fixed in a 
better way.

Now it has been found that the placement of this init_queue
call can cause problems if a realtime queue has values changed
to an empty string. The problem is that the default value
for that queue parameter would not be set.

(closes issue #13084)
Reported by: elbriga


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@131375 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-16 20:24:12 +00:00
Mark Michelson
b35c06d838 Merged revisions 131357 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r131357 | mmichelson | 2008-07-16 14:37:08 -0500 (Wed, 16 Jul 2008) | 6 lines

Apparently, "thread safety" is important, whatever
that means. :P

(Thanks Russell!)


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@131358 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-16 19:37:42 +00:00
Mark Michelson
b95bc53c23 Merged revisions 131299 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r131299 | mmichelson | 2008-07-16 13:57:34 -0500 (Wed, 16 Jul 2008) | 13 lines

Make absolutely certain that the transfer datastore
is removed from the calling channel once the caller
is finished in the queue. This could have weird con-
sequences when dialing local queue members when multiple
transfers occur on a single call.

Also fixed a memory leak that would occur when an
attended transfer occurred from a queue member.

(closes issue #13047)
Reported by: festr


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@131300 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-16 18:59:27 +00:00
Brett Bryant
fe874bfe6b Fix memory leak in app_queue when a device state is changed but it isn't
a member of any queue.

(closes issue #13073)
Reported by: eliel
Patches:
      app_queue.c.patch uploaded by eliel (license 64)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@131015 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-15 18:14:02 +00:00
Brett Bryant
7588bcf690 Fixes a bug where the interface for a queue member gets reloaded as the state_interface, if a state_interface was set, on reload because the
state_interface isn't stored in the ast_db.

(closes issue #13043)
Reported by: jvandal
Patches:
      app_queue.patch uploaded by jvandal (license 413)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@129684 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-10 19:13:12 +00:00
Mark Michelson
e4c93fc8c3 Added a new option, "timeoutpriority" to queues.conf. A detailed
explanation of the change may be found in configs/queues.conf.sample

(closes issue #12690)
Reported by: atis



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@127720 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-03 14:34:25 +00:00