Commit Graph

766 Commits

Author SHA1 Message Date
Matthew Jordan
a364b1e068 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)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@350552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-13 16:57:33 +00:00
Richard Mudgett
74da7648bb 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/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@348362 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-16 20:55:17 +00:00
Richard Mudgett
382f4ac06f 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/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@345285 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-14 22:19:18 +00:00
Richard Mudgett
0eda1315b5 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.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@344539 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-10 22:59:22 +00:00
Richard Mudgett
54f41f2141 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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@344536 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-10 22:34:11 +00:00
Terry Wilson
e9dc0ae56d Use int for storing ao2_container_count instad of size_t
AST-676


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@342435 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-25 21:08:23 +00:00
Terry Wilson
33f73e2ae2 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/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@342383 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-25 20:02:55 +00:00
Terry Wilson
f927ef5571 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/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@342380 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-25 19:52:16 +00:00
Gregory Nietsky
4037f1366d Revert Janitor patch 341906 For now
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@341921 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-23 11:36:01 +00:00
Gregory Nietsky
4f690341cf Whitespace Fixups / Add Braces
This janitorial patch is related to work on RB1538



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@341906 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-23 11:09:42 +00:00
Gregory Nietsky
3b2f5e7d4c 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/branches/1.8@337839 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-23 08:34:03 +00:00
Jonathan Rose
32c717b97c 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/branches/1.8@336716 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-19 20:07:36 +00:00
Gregory Nietsky
f94fa3dba3 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/branches/1.8@336093 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-15 15:46:21 +00:00
Alec L Davis
74f9e66b41 peroid typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@334620 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-07 08:12:49 +00:00
Richard Mudgett
185f890c89 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/branches/1.8@333010 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-23 18:14:01 +00:00
Richard Mudgett
b1f11e0df4 Revert previous commit. Not ready yet.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@332945 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-22 22:11:54 +00:00
Richard Mudgett
c0ce03d77f Signed
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@332943 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-22 22:02:52 +00:00
Richard Mudgett
def9e8fe45 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/branches/1.8@332874 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-22 19:32:19 +00:00
Matthew Nicholson
b92d5952e1 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/branches/1.8@331774 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-12 19:01:27 +00:00
Leif Madsen
d4938a111e 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/branches/1.8@328209 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-14 20:13:06 +00:00
Tilghman Lesher
9a3fd9a994 Removing type attributes, as a change to menuselect makes them no longer necessary.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@326469 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-06 14:35:01 +00:00
Tilghman Lesher
d104b4e701 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/branches/1.8@326411 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-05 22:08:29 +00:00
Richard Mudgett
1fe4351176 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/branches/1.8@325614 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-29 18:16:45 +00:00
Richard Mudgett
91b7dd582e 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/branches/1.8@325610 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-29 18:05:15 +00:00
Richard Mudgett
e0b2c103f6 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/branches/1.8@322484 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-08 20:46:55 +00:00
Richard Mudgett
59a41188a8 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/branches/1.8@320823 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-25 17:06:38 +00:00
Terry Wilson
6cf3280dd6 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/branches/1.8@317584 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-06 08:18:53 +00:00
Russell Bryant
a3d1ff1140 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/branches/1.8@317336 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-05 19:55:58 +00:00
Russell Bryant
a82f1bb995 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/branches/1.8@316265 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-03 19:55:49 +00:00
Terry Wilson
734ca12381 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/branches/1.8@315644 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-26 21:39:01 +00:00
Jason Parker
c8ef3e081b 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/branches/1.8@308010 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-15 23:34:03 +00:00
Tilghman Lesher
ff43beaa2d 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/branches/1.8@307750 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-14 06:50:23 +00:00
Jason Parker
e8bd6696b5 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/branches/1.8@306356 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-04 19:24:29 +00:00
Richard Mudgett
cee1db213b 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/branches/1.8@306324 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-04 18:53:06 +00:00
Andrew Latham
b7d7fc94c2 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/branches/1.8@304908 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-30 00:11:56 +00:00
Jeff Peeler
309a50c3bd 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/branches/1.8@303009 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-20 17:10:32 +00:00
Jeff Peeler
b064838468 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/branches/1.8@298598 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-16 20:51:44 +00:00
Brett Bryant
ddb80391f6 Patch for deadlock from ordering issue between channel/queue locks in app_queue
(set_queue_variables).

(closes issue #18031)
Reported by: rain

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@295670 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-19 21:40:21 +00:00
Richard Mudgett
eca6952995 Simplify locking code for REDIRECTING interception macro when forwarding a call.
Simplified the locking code by using a local copy of the redirecting party
information in app_dial.c:do_forward() and app_queue.c:wait_for_answer()
for launching the REDIRECTING interception macro when a call is forwarded.

Reduced the lock time of the 'o->chan' and 'in' channels.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@288080 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-21 20:29:59 +00:00
Tilghman Lesher
72718e1183 Merged revisions 287387 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r287387 | tilghman | 2010-09-17 16:08:00 -0500 (Fri, 17 Sep 2010) | 14 lines
  
  Merged revisions 287386 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r287386 | tilghman | 2010-09-17 16:06:03 -0500 (Fri, 17 Sep 2010) | 7 lines
    
    Blank columns should get set on reload, not ignored.
    
    (closes issue #16893)
     Reported by: haakon
     Patches: 
           20100818__issue16893.diff.txt uploaded by tilghman (license 14)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@287388 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-17 21:08:54 +00:00
Russell Bryant
daf14509c5 Set the default for "autofill" and "shared_lastcall" to "yes" in queues.conf.
Review: https://reviewboard.asterisk.org/r/922/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@287193 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-16 21:57:51 +00:00
Tilghman Lesher
8bc90ad39a Merged revisions 284631 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r284631 | tilghman | 2010-09-02 00:30:16 -0500 (Thu, 02 Sep 2010) | 7 lines
  
  Don't reset queue stats on a module reload.
  
  (closes issue #17535)
   Reported by: raarts
   Patches: 
         20100819__issue17535.diff.txt uploaded by tilghman (license 14)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@284632 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-02 05:31:02 +00:00
Tilghman Lesher
7e3f95e00a When optional_api is non-optional, force dependent modules to be loaded.
(closes issue #17707)
 Reported by: ira
 Patches: 
       20100819__issue17707__asterisk1.8.diff.txt uploaded by tilghman (license 14)
 Tested by: tilghman
 
Review: https://reviewboard.asterisk.org/r/876/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@284610 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-02 05:20:59 +00:00
Sean Bright
5b52f62450 Merged revisions 280160 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r280160 | seanbright | 2010-07-28 12:51:11 -0400 (Wed, 28 Jul 2010) | 8 lines
  
  Plug a reference leak in app_queue when adding members dynamically.
  
  (closes issue #17738)
  Reported by: bobwienholt
  Patches:
        issue17738.patch uploaded by bobwienholt (license 950)
  Tested by: bobwienholt, seanbright
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@280161 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-28 16:52:12 +00:00
Richard Mudgett
6341d1b2ad Merged revisions 279207 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r279207 | rmudgett | 2010-07-23 17:11:23 -0500 (Fri, 23 Jul 2010) | 14 lines
  
  Merged revisions 279206 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r279206 | rmudgett | 2010-07-23 16:56:44 -0500 (Fri, 23 Jul 2010) | 7 lines
    
    SIP promiscuous redirect could fail to dial the redirect.
    
    The ast_channel was created with one variable to ast_request() but the
    call to ast_call() that initiates the outgoing call was using a different
    variable.  The two variables are not equivalent if the call_forward string
    included a channel technology specifier.  e.g., SIP/200
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@279227 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-23 22:20:47 +00:00
Tilghman Lesher
b4e18d5660 Add load priority order, such that preload becomes unnecessary in most cases
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-20 19:35:02 +00:00
Jeff Peeler
5b8a8fc6c8 Fix reporting estimated queue hold time.
Just say the number of seconds (after minutes) rather than doing some incorrect
calculation with respect to minutes.

(closes issue #17498)
Reported by: corruptor
Patches: 
      holdesecs_bug.diff uploaded by corruptor (license 253)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@277488 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-16 21:16:08 +00:00
Jeff Peeler
b73c1377e5 Add missing handling for ringing state for use with queue empty options.
(closes issue #17471)
Reported by: jazzy
Patches: 
      app_queue.c.diff uploaded by jazzy (license 1056)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@277366 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-16 19:22:49 +00:00
Olle Johansson
65203b12dd Add a dialplan function to check if a queue exists: QUEUE_EXISTS
Review: https://reviewboard.asterisk.org/r/777/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276950 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-16 09:25:48 +00:00
Richard Mudgett
ec37ffbdaf ast_callerid restructuring
The purpose of this patch is to eliminate struct ast_callerid since it has
turned into a miscellaneous collection of various party information.

Eliminate struct ast_callerid and replace it with the following struct
organization:

struct ast_party_name {
	char *str;
	int char_set;
	int presentation;
	unsigned char valid;
};
struct ast_party_number {
	char *str;
	int plan;
	int presentation;
	unsigned char valid;
};
struct ast_party_subaddress {
	char *str;
	int type;
	unsigned char odd_even_indicator;
	unsigned char valid;
};
struct ast_party_id {
	struct ast_party_name name;
	struct ast_party_number number;
	struct ast_party_subaddress subaddress;
	char *tag;
};
struct ast_party_dialed {
	struct {
		char *str;
		int plan;
	} number;
	struct ast_party_subaddress subaddress;
	int transit_network_select;
};
struct ast_party_caller {
	struct ast_party_id id;
	char *ani;
	int ani2;
};

The new organization adds some new information as well.

* The party name and number now have their own presentation value that can
be manipulated independently.  ISDN supplies the presentation value for
the name and number at different times with the possibility that they
could be different.

* The party name and number now have a valid flag.  Before this change the
name or number string could be empty if the presentation were restricted.
Most channel drivers assume that the name or number is then simply not
available instead of indicating that the name or number was restricted.

* The party name now has a character set value.  SIP and Q.SIG have the
ability to indicate what character set a name string is using so it could
be presented properly.

* The dialed party now has a numbering plan value that could be useful to
have available.

The various channel drivers will need to be updated to support the new
core features as needed.  They have simply been converted to supply
current functionality at this time.


The following items of note were either corrected or enhanced:

* The CONNECTEDLINE() and REDIRECTING() dialplan functions were
consolidated into func_callerid.c to share party id handling code.

* CALLERPRES() is now deprecated because the name and number have their
own presentation values.

* Fixed app_alarmreceiver.c write_metadata().  The workstring[] could
contain garbage.  It also can only contain the caller id number so using
ast_callerid_parse() on it is silly.  There was also a typo in the
CALLERNAME if test.

* Fixed app_rpt.c using ast_callerid_parse() on the channel's caller id
number string.  ast_callerid_parse() alters the given buffer which in this
case is the channel's caller id number string.  Then using
ast_shrink_phone_number() could alter it even more.

* Fixed caller ID name and number memory leak in chan_usbradio.c.

* Fixed uninitialized char arrays cid_num[] and cid_name[] in
sig_analog.c.

* Protected access to a caller channel with lock in chan_sip.c.

* Clarified intent of code in app_meetme.c sla_ring_station() and
dial_trunk().  Also made save all caller ID data instead of just the name
and number strings.

* Simplified cdr.c set_one_cid().  It hand coded the ast_callerid_merge()
function.

* Corrected some weirdness with app_privacy.c's use of caller
presentation.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276347 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-14 15:48:36 +00:00