Commit Graph

1079 Commits

Author SHA1 Message Date
Richard Mudgett
27b69e7d29 Audit of ao2_iterator_init() usage for v1.8.
Fixes numerous reference leaks and missing ao2_iterator_destroy() calls as
a result.

Review: https://reviewboard.asterisk.org/r/1697/
........

Merged revisions 352955 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 352956 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@352957 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-27 18:47:16 +00:00
Terry Wilson
99cae5b750 Opaquify channel stringfields
Continue channel opaque-ification by wrapping all of the stringfields.
Eventually, we will restrict what can actually set these variables, but
the purpose for now is to hide the implementation and keep people from
adding code that directly accesses the channel structure. Semantic
changes will follow afterward.

Review: https://reviewboard.asterisk.org/r/1661/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@352348 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-24 20:12:09 +00:00
Matthew Jordan
9c4821f468 Realtime queues failed to load queue information without queue member table
Previously, realtime queues could be loaded without defining the queue member
table.  This allowed for queue members to be dynamic, while the realtime
queue definitions could exist in some backing storage.  Revision 342223 broke
this when it changed the return value for realtime_multientry to return NULL
when no results are returned.  Previously, an empty ast_config object was
expected.

(closes issue ASTERISK-19170)
Reported by: Rene Mendoza
Tested by: Rene Mendoza
Patches: 
  rt_queue_member_patch.diff uploaded by Matt Jordan (license 6283)
........

Merged revisions 350552 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 350553 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350554 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-13 17:00:12 +00:00
Terry Wilson
04da92c379 Replace direct access to channel name with accessor functions
There are many benefits to making the ast_channel an opaque handle, from
increasing maintainability to presenting ways to kill masquerades. This patch
kicks things off by taking things a field at a time, renaming the field to
'__do_not_use_${fieldname}' and then writing setters/getters and converting the
existing code to using them. When all fields are done, we can move ast_channel
to a C file from channel.h and lop off the '__do_not_use_'.

This patch sets up main/channel_interal_api.c to be the only file that actually
accesses the ast_channel's fields directly. The intent would be for any API
functions in channel.c to use the accessor functions. No more monkeying around
with channel internals. We should use our own APIs.

The interesting changes in this patch are the addition of
channel_internal_api.c, the moving of the AST_DATA stuff from channel.c to
channel_internal_api.c (note: the AST_DATA stuff will have to be reworked to
use accessor functions when ast_channel is really opaque), and some re-working
of the way channel iterators/callbacks are handled so as to avoid creating fake
ast_channels on the stack to pass in matching data by directly accessing fields
(since "name" is a stringfield and the fake channel doesn't init the
stringfields, you can't use the ast_channel_name_set() function). I went with
ast_channel_name(chan) for a getter, and ast_channel_name_set(chan, name) for a
setter.

The majority of the grunt-work for this change was done by writing a semantic
patch using Coccinelle ( http://coccinelle.lip6.fr/ ).

Review: https://reviewboard.asterisk.org/r/1655/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350223 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-09 22:15:50 +00:00
Richard Mudgett
b05d4603c4 Fix crash during CDR update.
The ast_cdr_setcid() and ast_cdr_update() were shown in ASTERISK-18836 to
be called by different threads for the same channel.  The channel driver
thread and the PBX thread running dialplan.

* Add lock protection around CDR API calls that access an ast_channel
pointer.

(closes issue ASTERISK-18836)
Reported by: gpluser

Review: https://reviewboard.asterisk.org/r/1628/
........

Merged revisions 348362 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 348363 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348364 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-16 21:10:19 +00:00
Matthew Jordan
aaa715bfae Fixed Asterisk crash when function QUEUE_MEMBER receives invalid input
The function QUEUE_MEMBER has two required parameters (queuename, option).  It
was only checking for the presence of queuename.  The patch checks for the
existence of the option parameter and provides better error logging when
invalid values are provided for the option parameter as well.
........

Merged revisions 348211 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348215 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-14 22:08:55 +00:00
Jonathan Rose
e1884139c4 Fix regressed behavior of queue set penalty to work without specifying 'in <queuename>'
r325483 caused a regression in Asterisk 10+ that would make Asterisk segfault when
attempting to set penalty on an interface without specifying a queue in the queue set
penalty CLI command. In addition, no attempt would be made whatsoever to perform the
penalty setting on all the queues in the core list with either the cli command or the
non-segfaulting ami equivalent. This patch fixes that and also makes an attempt to
document and rename some functions required by this command to better represent what
they actually do. Oh yeah, and the use of this command without specifying a specific
queue actually works now.

Review: https://reviewboard.asterisk.org/r/1609/
........

Merged revisions 347656 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347658 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-08 20:55:19 +00:00
Richard Mudgett
9e726d9cb4 Make queue log indicate if ADDMEMBER is paused for AMI and realtime.
* Add parameter to queue log ADDMEMBER to indicate if the member is
paused.

(closes issue ASTERISK-18645)
Reported by: garlew
Patches:
      paused.diff (License #5337) patch uploaded by garlew
Tested by: rmudgett, garlew

Review: https://reviewboard.asterisk.org/r/1469/
........

Merged revisions 345285 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 345290 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@345317 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-14 22:27:42 +00:00
Richard Mudgett
46089f6b51 Fix potential deadlock calling ast_call() with channel locks held.
Fixed app_queue.c:ring_entry() calling ast_call() with the channel locks
held.  Chan_local attempts to do deadlock avoidance in its ast_call()
callback and could deadlock if a channel lock is already held.
........

Merged revisions 344539 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 344540 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@344541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-10 23:02:46 +00:00
Richard Mudgett
464b337b3c Make AMI event AgentCalled get CallerID/ConnectedLine info from the incoming channel.
It was strange that the AgentCalled AMI event would get most of its
information from the incoming channel but then get the CallerID
information from the outgoing channel.  Before connected line support was
added, this information was always the same at this point.

(closes issue ASTERISK-18152)
Reported by: Thomas Farnham
Tested by: rmudgett
........

Merged revisions 344536 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 344537 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@344538 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-10 22:38:29 +00:00
Terry Wilson
6e730a6806 Use int for storing ao2_container_count instad of size_t
AST-676
........

Merged revisions 342435 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 342436 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@342437 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-25 21:11:14 +00:00
Terry Wilson
f8351a8342 Simplify queue membercount code
Despite an ominous sounding comment stating that membercount was for "logged
in" members only and thus we couldn't use ao2_container_count(), I could not
find a single place in the code where that seemed to be accurate. The only time
we decremented membercount was when we were marking something dead or actually
removing it. The only places we incremented it were either after ao2_link(), or
trying to correct for having set it to 0 during a reload. In every case where
we were correcting the value, it seemed that we were trying to make the count
actually match what ao2_container_count() would return. The only place I could
find where we made a determination about something being "logged in" or not, we
didn't trust the membercount, but instead looked at devicestate, paused, etc.

This patch removes membercount, replaces its use with ao2_container_count, and
manually adds the results of ao2_container_count to a "membercount" field for
ast_data queue query results. This patch also would fix AST-676, but as it is
slightly riskier than the previously committed fix, the two commits have been
made separately.

Reivew: https://reviewboard.asterisk.org/r/1541/
........

Merged revisions 342383 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 342384 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@342385 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-25 20:07:59 +00:00
Terry Wilson
5749ef5be8 Properly update membercount for reloaded members
Since q->membercount is set to 0 before reloading, it is important
to increment it again for reloaded members as well as added.

(closes issue AST-676)

Review: https://reviewboard.asterisk.org/r/1541/
........

Merged revisions 342380 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 342381 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@342382 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-25 19:54:17 +00:00
Richard Mudgett
3e9f1ee3e0 Fix use of OBJ_KEY in Queue application.
To use the new OBJ_KEY flag, the container hash and compare callback
functions must be updated to support OBJ_KEY.  Otherwise, bad things
happen.

(issue ASTERISK-14769)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@342112 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-24 21:01:58 +00:00
Gregory Nietsky
7ac53e57b3 queues container needs locking when using the OBJ_NOLOCK flag
........

Merged revisions 342017 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@342018 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-24 07:40:18 +00:00
Gregory Nietsky
3d55a05019 Remove some ref leaks and a return without unlock.
There some resource leaks introduced in asterisk 10
make sure that locks are not held on return and we 
release ref's held.
........

Merged revisions 341972 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@341973 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-23 14:35:26 +00:00
Gregory Nietsky
d36c70e021 Whitespace Fixups / Add Braces
This janitorial patch is related to work on RB1538



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@341923 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-23 11:37:50 +00:00
Gregory Nietsky
71b7df16bf Merged revisions 341580 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

........
  r341580 | irroot | 2011-10-20 19:13:23 +0200 (Thu, 20 Oct 2011) | 15 lines
  
  Add option to check state when state is unknown
  
  r341486 reverts r325483 this is a rework of the patch.
  optimize to minimize load.
  
  add option check_state_unknown to control whether a member with unknown
  device state is checked there is a small % chance that calls will be sent
  to the member when they on a call.
  
  app_queue will see a device with unknown state as available and does not 
  try verify the state without this option enabled.
  
  Review: https://reviewboard.asterisk.org/r/1535/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@341583 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-20 17:34:54 +00:00
Matthew Nicholson
3f98c937a1 Merged revisions 341486 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

........
  r341486 | mnicholson | 2011-10-19 16:23:17 -0500 (Wed, 19 Oct 2011) | 18 lines
  
  Fix a performance regression introduced in r325483.
  
  The regression was caused by a call to ast_parse_device_state() in app_queue's
  ring_entry() function. The ast_parse_device_state() function eventually calls
  ast_channel_get_full() with a channel name prefix which causes it to walk the
  channel list causing massive lock contention and slow downs.
  
  This patch fixes the regression by removing the call to
  ast_parase_device_state() which should be unnecessary. Queue member device
  state should be maintained by device state events. Some users have seen
  instances where busy agents were called when they shouldn't have, which is the
  reason the call to ast_parse_device_state() was added. That change appears to
  have resolved that issue but also causes this performance regression. There may
  still be issues with queue member status, and if so, alternative methods should
  be investigated to resolve them.
  
  AST-695
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@341487 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-19 21:24:07 +00:00
Terry Wilson
0ab04b53b5 Add autopausebusy and autopauseunavail queue options
Make it possible to autopause on a busy or unavailable response from
a device.

(closes issue ASTERISK-16112)
Reported by: jlpedrosa
Patches:
	autopausebusy.txt by twilson

Review: https://reviewboard.asterisk.org/r/1399/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@338187 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-28 16:59:11 +00:00
Gregory Nietsky
b4d8f26ecd Merged revisions 337840 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r337840 | irroot | 2011-09-23 10:39:22 +0200 (Fri, 23 Sep 2011) | 17 lines
  
  Merged revisions 337839 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r337839 | irroot | 2011-09-23 10:34:03 +0200 (Fri, 23 Sep 2011) | 11 lines
    
    Make sure a CDR is on the stack for call in the Queue.
    Only let update_cdr act on the last CDR in the stack.
    
    In some circumstances [Attended transfer to queue] a 
    CDR record is not inserted for this call where it should.
    
    (closes issue ASTERISK-18567)
    
    Review: https://reviewboard.asterisk.org/r/1266
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@337855 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-23 09:35:32 +00:00
Jonathan Rose
364eb56835 Merged revisions 336717 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r336717 | jrose | 2011-09-19 15:16:23 -0500 (Mon, 19 Sep 2011) | 14 lines
  
  Merged revisions 336716 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r336716 | jrose | 2011-09-19 15:07:36 -0500 (Mon, 19 Sep 2011) | 7 lines
    
    Document applications that play audio and do not answer unanswered calls.
    
    This patch is part of an effort to document early media and its usage. If you are
    interested in contributing to this documentation effort, there are probably other
    applications worth documenting as well as an Asterisk wiki article at
    https://wiki.asterisk.org/wiki/display/AST/Early+Media+and+the+Progress+Application
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@336732 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-19 20:23:29 +00:00
Gregory Nietsky
6f7ff1074b Merged revisions 336094 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r336094 | irroot | 2011-09-15 17:54:46 +0200 (Thu, 15 Sep 2011) | 26 lines
  
  Merged revisions 336093 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r336093 | irroot | 2011-09-15 17:46:21 +0200 (Thu, 15 Sep 2011) | 20 lines
    
    
    Locking order in app_queue.c causes deadlocks.
    
    a channel lock must never be held with the queues container lock held.
    
    the deadlock occured on masquerade.
    
    the queues container lock is a relic of the past the old queue module lock.
    with ao2 there is no need to hold this lock when dealing with members this
    patch removes unneeded locks.
    
    (closes issue ASTERISK-18101)
    (closes issue ASTERISK-18487)
    Reported by: Paul Rolfe, Jason Legault
    Tested by: irroot, Jason Legault, Paul Rolfe
    Reviewed by: Matthew Nicholson
    
    Review: https://reviewboard.asterisk.org/r/1402/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@336095 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-15 15:59:24 +00:00
Alec L Davis
5ad57732f5 Merged revisions 334621 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r334621 | alecdavis | 2011-09-07 20:14:50 +1200 (Wed, 07 Sep 2011) | 9 lines
  
  Merged revisions 334620 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r334620 | alecdavis | 2011-09-07 20:12:49 +1200 (Wed, 07 Sep 2011) | 2 lines
    
    peroid typo
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@334623 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-07 08:17:24 +00:00
Richard Mudgett
436ceb827c Merged revisions 333011 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r333011 | rmudgett | 2011-08-23 13:15:49 -0500 (Tue, 23 Aug 2011) | 19 lines
  
  Merged revisions 333010 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r333010 | rmudgett | 2011-08-23 13:14:01 -0500 (Tue, 23 Aug 2011) | 12 lines
    
    Memory Leak in app_queue
    
    The patch that was committed in the 1.6.x versions of Asterisk for
    ASTERISK-15862 actually fixed two issues.  One was not applicable to 1.8
    but the other is.  queue_leak.patch fixes the portion applicable to 1.8.
    
    (closes issue ASTERISK-18265)
    Reported by: Fred Schroeder
    Patches:
          queue_leak.patch (license #5049) patch uploaded by mmichelson
    Tested by: Thomas Arimont
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@333014 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-23 18:17:52 +00:00
Richard Mudgett
b92dcb0c82 Merged revisions 332875,332878 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r332875 | rmudgett | 2011-08-22 14:41:03 -0500 (Mon, 22 Aug 2011) | 1 line
  
  Fix merge property.
................
  r332878 | rmudgett | 2011-08-22 14:46:25 -0500 (Mon, 22 Aug 2011) | 25 lines
  
  Merged revisions 332874 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r332874 | rmudgett | 2011-08-22 14:32:19 -0500 (Mon, 22 Aug 2011) | 18 lines
    
    Reference leaks in app_queue.
    
    * Fixed load_realtime_queue() leaking a queue reference when it overwrites
    q when processing a realtime queue.
    (issue ASTERISK-18265)
    
    * Make join_queue() unreference the queue returned by
    load_realtime_queue() when it is done with the pointer.  The
    load_realtime_queue() returns a reference to the just loaded realtime
    queue.
    
    * Fixed queues container reference leak in queues_data_provider_get().
    
    * queue_unref() should not return q that was just unreferenced.
    
    * Made logic in __queues_show() and queues_data_provider_get() when
    calling load_realtime_queue() easier to understand.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@332881 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-22 20:01:30 +00:00
Matthew Nicholson
c9f65ece49 Merged revisions 331775 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r331775 | mnicholson | 2011-08-12 14:03:31 -0500 (Fri, 12 Aug 2011) | 17 lines
  
  Merged revisions 331774 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r331774 | mnicholson | 2011-08-12 14:01:27 -0500 (Fri, 12 Aug 2011) | 11 lines
    
    Unlock the channel before calling update_queue.
    
    Holding the channel lock when calling update_queue which attempts to lock the
    queue lock can cause a deadlock. This deadlock involves the following chain:
    
    1. hold chan lock -> wait queue lock
    2. hold queue lock -> wait agent list lock
    3. hold agent list lock -> wait chan list lock
    4. hold chan list lock -> wait chan lock
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@331776 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-12 19:06:10 +00:00
Kinsey Moore
0f5ef2c781 Log queue member name when state_interface is set for ADDMEMBER and REMOVEMEMBER events
app_queue logs the events ADDMEMBER and REMOVEMEMBER with the agent field set
to the interface value rather than the membername value when a member is added
with a state_interface value set.  However all other member related queue
events are logged with the membername when a state_interface is set.  This
patch makes these fields optionally more consistent and correct.

(closes issue ASTERISK-14769)
Review: https://reviewboard.asterisk.org/r/1286
Patch-by: Jamuel Starkey
Tested-by: Kinsey Moore <kmoore@digium.com>


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@331037 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-08 20:28:20 +00:00
Kinsey Moore
d1a0938c99 app_queue: Add StateInterface to output of "queue show" and "QueueStatus"
This patch adds the state_interface of the queue member struct to the output
of "queue show" (CLI command) and "QueueStatus" (AMI action) when displaying
relevant queue member information.  For the AMI event message the variable
StateInterface has been added.

(closes issue ASTERISK-18071)
Review: https://reviewboard.asterisk.org/r/1300/
Patch-by: Jamuel Starkey


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@331000 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-08 15:00:26 +00:00
Richard Mudgett
145c174565 Merged revisions 328329 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.10

........
  r328329 | rmudgett | 2011-07-14 19:19:32 -0500 (Thu, 14 Jul 2011) | 2 lines
  
  Make hint watcher callback take const strings for context and exten parameters.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@328344 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-15 00:23:14 +00:00
Leif Madsen
a525edea59 Merged revisions 328247 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.10

................
  r328247 | lmadsen | 2011-07-14 16:25:31 -0400 (Thu, 14 Jul 2011) | 14 lines
  
  Merged revisions 328209 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r328209 | lmadsen | 2011-07-14 16:13:06 -0400 (Thu, 14 Jul 2011) | 6 lines
    
    Introduce <support_level> tags in MODULEINFO.
    This change introduces MODULEINFO into many modules in Asterisk in order to show
    the community support level for those modules. This is used by changes committed
    to menuselect by Russell Bryant recently (r917 in menuselect). More information about
    the support level types and what they mean is available on the wiki at
    https://wiki.asterisk.org/wiki/display/AST/Asterisk+Module+Support+States
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@328259 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-14 20:28:54 +00:00
Tilghman Lesher
7d179abfd4 Merged revisions 326411 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r326411 | tilghman | 2011-07-05 17:08:29 -0500 (Tue, 05 Jul 2011) | 14 lines
  
  Add the attribute "type" to each "<use>" for menuselect.
  
  This matters only when autoconf fails to detect that weak linking is supported.
  External optional dependencies will become optional in both cases, as they are
  removed at compile time when not detected.  However, runtime-optional modules
  are made mandatory when weak linking is not found.  This change affects only
  the external optional dependencies; previously, they were incorrectly required
  when weak linking support was not detected.
  
  Patches:
  	20110702__issue18062__asterisk_trunk.diff.txt by tilghman (License #5003)
  
  Tested by: iasgoscouk
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@326412 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-05 22:11:40 +00:00
Richard Mudgett
4240017462 Merged revisions 325614 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r325614 | rmudgett | 2011-06-29 13:16:45 -0500 (Wed, 29 Jun 2011) | 5 lines
  
  Fixed some error exit cleanup in app_queue.c.
  
  * Fixed error exit cleanup in app_queue.c copy_rules() and
  reload_queue_rules().
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@325616 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-29 18:18:00 +00:00
Richard Mudgett
54763625c6 Merged revisions 325610 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r325610 | rmudgett | 2011-06-29 13:05:15 -0500 (Wed, 29 Jun 2011) | 18 lines
  
  Response to QueueRule manager command does not contain ActionID if it was specified.
  
  * Add ActionID support as documented for the QueueRule AMI action.
  
  * Remove documentation for ActionID with the Queues AMI action.  The
  output does not follow normal AMI response output and there is no place to
  put an ActionID header.
  
  (closes issue AST-602)
  Reported by: Vlad Povorozniuc
  Patches:
        jira_ast_602_v1.8.patch (license #5621) patch uploaded by rmudgett
  Tested by: Vlad Povorozniuc, rmudgett
  
  Review: https://reviewboard.asterisk.org/r/1295/
  
  JIRA SWP-3575
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@325611 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-29 18:07:26 +00:00
Gregory Nietsky
f99a06d030 Commit "distrotech" app_queue changes to Trunk
* Added general option negative_penalty_invalid default off. when set
   members are seen as invalid/logged out when there penalty is negative.  
   for realtime members when set remove from queue will set penalty to -1.  
 * Added queue option autopausedelay when autopause is enabled it will be
   delayed for this number of seconds since last successful call if there
   was no prior call the agent will be autopaused immediately.
 * Added member option ignorebusy this when set and ringinuse is not   
   will allow per member control of multiple calls as ringinuse does for
   the Queue.
  
 - Mark QUEUE_MEMBER_PENALTY Deprecated it never worked for realtime members
 - QUEUE_MEMBER is now R/W supporting setting paused, ignorebusy and penalty.

(closes issue ASTERISK-17421)
(closes issue ASTERISK-17391)
Reported by: irroot
Tested by: irroot, jrose
Review: https://reviewboard.asterisk.org/r/1119/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@325483 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-29 06:39:26 +00:00
Richard Mudgett
67dc7a4c93 Merged revisions 322484 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r322484 | rmudgett | 2011-06-08 15:46:55 -0500 (Wed, 08 Jun 2011) | 15 lines
  
  Ring all queue with more than 255 agents will cause crash.
  
  1. Create a ring-all queue with 500 permanent agents.
  2. Call it.
  3. Asterisk will crash.
  
  The watchers array in app_queue.c has a hard limit of 255.  Bounds
  checking is not done on this array.  No sane person should put 255 people
  in a ring-all queue, but we should not crash anyway.
  
  * Added bounds checking to the watchers array.
  
  JIRA AST-464
  JIRA SWP-2903
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@322485 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-08 20:48:03 +00:00
Gregory Nietsky
2cfe89a7fd Remove Unused Var Warning rt_handle_member_record
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@322128 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-06 19:39:25 +00:00
Gregory Nietsky
cfb10e99b5 Refactor rt_handle_member_record
Review: https://reviewboard.asterisk.org/r/1172



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@322111 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-06 19:30:56 +00:00
Richard Mudgett
0096238b52 Merged revisions 320823 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r320823 | rmudgett | 2011-05-25 12:06:38 -0500 (Wed, 25 May 2011) | 18 lines
  
  The AMI Newstate event contains different information between v1.4 and v1.8.
  
  The addition of connected line support in v1.8 changes the behavior of the
  channel caller ID somewhat.  The channel caller ID value no longer time
  shares with the connected line ID on outgoing call legs.  The timing of
  some AMI events/responses output the connected line ID as caller ID.
  These party ID's are now separate.
  
  * The ConnectedLineNum and ConnectedLineName headers were added to many
  AMI events/responses if the CallerIDNum/CallerIDName headers were also
  present.
  
  (closes issue #18252)
  Reported by: gje
  Tested by: rmudgett
  
  Review: https://reviewboard.asterisk.org/r/1227/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@320825 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-25 17:14:11 +00:00
Terry Wilson
892953466b Merged revisions 317584 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r317584 | twilson | 2011-05-06 01:18:53 -0700 (Fri, 06 May 2011) | 20 lines
  
  Merged revisions 317575 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r317575 | twilson | 2011-05-06 01:04:17 -0700 (Fri, 06 May 2011) | 13 lines
    
    Merged revisions 317574 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r317574 | twilson | 2011-05-06 00:55:21 -0700 (Fri, 06 May 2011) | 6 lines
      
      Re-fix queue round-robin
      
      This part of the change for r315596 was incorrect. No bridge occurs
      when doing a roundrobin dial and no one answers, so this code shouldn't
      have been removed.
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@317596 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-06 08:21:22 +00:00
Russell Bryant
7a2103efa6 Merged revisions 317336 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r317336 | russell | 2011-05-05 14:55:58 -0500 (Thu, 05 May 2011) | 7 lines
  
  Increase buffer size to be PATH_MAX for a path.
  
  (closes issue #19239)
  Reported by: byronclark
  Patches:
        queue_announce_length.patch uploaded by byronclark (license 1200)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@317337 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-05 19:56:44 +00:00
Russell Bryant
37aa52fd78 Merged revisions 316265 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r316265 | russell | 2011-05-03 14:55:49 -0500 (Tue, 03 May 2011) | 5 lines
  
  Fix a bunch of compiler warnings generated by gcc 4.6.0.
  
  Most of these are -Wunused-but-set-variable, but there were a few others
  mixed in here, as well.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@316293 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-03 20:45:32 +00:00
Terry Wilson
8d2a71877a Merged revisions 315644 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r315644 | twilson | 2011-04-26 14:39:01 -0700 (Tue, 26 Apr 2011) | 32 lines
  
  Merged revisions 315643 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r315643 | twilson | 2011-04-26 14:27:44 -0700 (Tue, 26 Apr 2011) | 25 lines
    
    Merged revisions 315596 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r315596 | twilson | 2011-04-26 14:16:10 -0700 (Tue, 26 Apr 2011) | 18 lines
      
      Allow transfer loops without allowing forwarding loops
      
      We try to avoid the situation where two phones may be forwarded to each other
      causing an infinite loop by storing each dialed interface in a channel
      datastore and checking the list before dialing out. This works, but currently
      breaks situations like A calls B, A transfers B to C, B transfers C to A, and A
      transfers C to B. Since human interaction is happening here and not an
      automated forwarding loop, it should be allowed.
      
      This patch removes the dialed_interfaces datastore when a call is bridged (a
      suggestion from the brilliant mmichelson). If a call is being bridged, it
      should be safe to assume that we aren't stuck in a loop.
      
      Since we are now handling this is the bridge code, the previous attempts at
      handling it in app_dial and app_queue are removed.
      
      Review: https://reviewboard.asterisk.org/r/1195/
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@315670 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-26 22:26:37 +00:00
Jason Parker
551dac2eda Merged revisions 308010 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r308010 | qwell | 2011-02-15 17:34:03 -0600 (Tue, 15 Feb 2011) | 24 lines
  
  Merged revisions 308007 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r308007 | qwell | 2011-02-15 17:33:24 -0600 (Tue, 15 Feb 2011) | 17 lines
    
    Merged revisions 308002 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r308002 | qwell | 2011-02-15 17:32:20 -0600 (Tue, 15 Feb 2011) | 10 lines
      
      Fix regression that changed behavior of queues when ringing a queue member.
      
      This reverts r298596, which was to fix a highly bizarre and contrived issue
      with a queue member that called into his own queue being transferred back
      into his own queue.  I couldn't reproduce that issue in any way.  I think one
      of the other recent transfer fixes actually fixed this.
      
      (closes issue #18747)
      Reported by: vrban
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@308013 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-15 23:34:27 +00:00
Tilghman Lesher
7800a1c330 Merged revisions 307750 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r307750 | tilghman | 2011-02-14 00:50:23 -0600 (Mon, 14 Feb 2011) | 23 lines
  
  Calling a gosub routine defined in AEL from Dial/Queue ceased to work.
  
  A bug in AEL did not distinguish between the "s" extension generated by
  AEL and an "s" extension that was required to exist by the chan_dahdi
  (or another channel) that was not supplied with a starting extension.
  Therefore, AEL made incorrect assumptions about what commands were
  permissable in the context.  This was fixed by making AEL generate a
  different extension name.  However, Dial and Queue make additional
  assumptions about the name of the default gosub extension.  Therefore,
  they needed to be brought into line with a "macro" rendered by AEL (as
  a gosub), without breaking traditional dialplans written without the
  aid of AEL.
  
  Related to (issue #18480)
   Reported by: nivek
  
  (closes issue #18729)
   Reported by: kkm
   Patches: 
         20110209__issue18729.diff.txt uploaded by tilghman (license 14)
         018729-dial-queue-gosub-try3.patch uploaded by kkm (license 888)
   Tested by: kkm
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@307751 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-14 06:54:08 +00:00
Jason Parker
0beeb00ef3 Merged revisions 306356 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r306356 | qwell | 2011-02-04 13:24:29 -0600 (Fri, 04 Feb 2011) | 16 lines
  
  Merged revisions 306346 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r306346 | qwell | 2011-02-04 13:21:43 -0600 (Fri, 04 Feb 2011) | 9 lines
    
    Don't fallthrough to 'unknown' in the 'ringing' case.
    
    This could cause improper exits from the queue.
    
    (closes issue #18499)
    Reported by: zaltar
    Patches: 
          app_queue.patch uploaded by zaltar (license 1148)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@306359 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-04 19:24:54 +00:00
Richard Mudgett
4d8feab7fa Merged revisions 306324 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r306324 | rmudgett | 2011-02-04 12:53:06 -0600 (Fri, 04 Feb 2011) | 9 lines
  
  Don't send redirecting updates to the caller if the dialplan forked the call.
  
  Each fork in the dial could be redirected and confuse the caller.  For
  ISDN the DivLeg1 and DivLeg3 messages would get confused because ISDN
  redirects calls in sequence not in parallel.
  
  * Also fixed a formatting inconsistency in app_dial.c and make a warning
  message more useful about what frame type could not be written.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@306325 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-04 18:57:39 +00:00
Andrew Latham
f9c3b26241 Add Function and Application Relationships to documentation
Add and extend the see-also sections to the documentation for applications
and functions in an effort to expand the online documentation of the wiki.
Also check for and update any links to moved documentation in the doc folder.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@304913 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-30 00:22:59 +00:00
Jeff Peeler
a4fec286f8 Merged revisions 303009 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r303009 | jpeeler | 2011-01-20 11:10:32 -0600 (Thu, 20 Jan 2011) | 21 lines
  
  Merged revisions 303008 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r303008 | jpeeler | 2011-01-20 11:07:44 -0600 (Thu, 20 Jan 2011) | 14 lines
    
    Merged revisions 303007 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r303007 | jpeeler | 2011-01-20 11:04:08 -0600 (Thu, 20 Jan 2011) | 8 lines
      
      Add new queue strategy to preserve behavior for when queue members moved to ao2.
      
      Add queue strategy called "rrordered" to mimic old behavior from when queue
      members were stored in a linked list.
      
      ABE-2707
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@303011 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-20 17:14:01 +00:00
Jeff Peeler
6c0b904d17 Merged revisions 298598 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r298598 | jpeeler | 2010-12-16 14:51:44 -0600 (Thu, 16 Dec 2010) | 21 lines
  
  Merged revisions 298597 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r298597 | jpeeler | 2010-12-16 14:49:33 -0600 (Thu, 16 Dec 2010) | 14 lines
    
    Merged revisions 298596 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r298596 | jpeeler | 2010-12-16 14:46:52 -0600 (Thu, 16 Dec 2010) | 7 lines
      
      Fix improper hangup when doing an attended transfer to queue.
      
      Had to indicate ringing in wait_for_answer so the attended transfer code would
      not try and hang up the local channel it created, which would kill the call.
      
      ABE-2624
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@298599 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-16 20:52:19 +00:00