Commit Graph

3938 Commits

Author SHA1 Message Date
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
Richard Mudgett
5c5122d104 Remove obsolete todo comment about PICKUPRESULT.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@335720 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-13 22:10:15 +00:00
Paul Belanger
28952b7ea5 Meetme should have 'core' support level
(closes issue ASTERISK-18542)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@335714 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-13 21:30:18 +00:00
Kinsey Moore
263a410438 Ensure frames are not written to dialed channel if ringback is requested
When a single channel was dialed and there was media to be forwarded to the
calling channel, the media was written without regard for ringback causing
silence to be heard in some circumstances.  This regression was introduced
when the meaning of "single" changed to mean only the number of channels
dialed.

(closes issue ASTERISK-18083)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@335341 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-12 14:21:17 +00:00
Matthew Jordan
7dc49195d8 Updated SIP 484 handling; added Incomplete control frame
When a SIP phone uses the dial application and receives a 484 Address 
Incomplete response, if overlapped dialing is enabled for SIP, then
the 484 Address Incomplete is forwarded back to the SIP phone and the
HANGUPCAUSE channel variable is set to 28.  Previously, the Incomplete
application dialplan logic was automatically triggered; now, explicit
dialplan usage of the application is required.

Additionally, this patch adds a new AST_CONTOL_FRAME type called
AST_CONTROL_INCOMPLETE.  If a channel driver receives this control frame,
it is an indication that the dialplan expects more digits back from the
device.  If the device supports overlap dialing it should attempt to 
notify the device that the dialplan is waiting for more digits; otherwise,
it can handle the frame in a manner appropriate to the channel driver.

(closes issue ASTERISK-17288)
Reported by: Mikael Carlsson
Tested by: Matthew Jordan

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@335064 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-09 16:09:09 +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
Gregory Nietsky
4b1398a82d Make SQL query in app_voicemail.c portable LIMIT is not portable.
Regression from r312212

(closes issue ASTERISK-18255)
Reported by: Leif Madsen
Tested by: Leif Madsen

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




git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@334453 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-06 13:48:03 +00:00
Matthew Jordan
92ad64998c Fixed improperly formatted TestEvent AMI message in app_voicemail
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@333630 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-29 17:11:15 +00:00
Matthew Jordan
3a29ee54db Fixed incorrect pointer copy to structure copy in revision 333339
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@333354 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-26 14:36:25 +00:00
Matthew Jordan
792c3a2d56 Bug fixes for voicemail user emailsubject / emailbody.
This code change fixes a few issues with the voicemail user override of 
emailbody and emailsubject, including escaping the strings, potential memory
leaks, and not overriding the voicemail defaults.  Revision 325877 fixed this
for ASTERISK-16795, but did not fix it for ASTERISK-16781.  A subsequent
check-in prevented 325877 from being applied to 10.  This check-in resolves
both issues, and applies the changes to 1.8, 10, and trunk.

(closes issue ASTERISK-16781)
Reported by: Sebastien Couture
Tested by: mjordan

(closes issue ASTERISK-16795)
Reported by: mdeneen
Tested by: mjordan

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@333339 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-26 13:36:36 +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 Jordan
56549c96ab Review: https://reviewboard.asterisk.org/r/1364/
This update adds a new AMI event, TestEvent, which is enabled when the TEST_FRAMEWORK compiler flag is defined.  It also adds initial usage of this event to app_voicemail.  The TestEvent AMI event is used extensively by the voicemail tests in the Asterisk Test Suite.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@332817 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-22 18:15:51 +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
Jonathan Rose
427d1167cd Fixes 32bit compilation warnings brought on by 331634 in app_dial and app_meetme
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@331635 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-12 15:49:17 +00:00
Jason Parker
0688f632dc Use proper values for 64-bit option flags.
Also, reusing bits es no bueno, so change the value of a duplicate.

(issue ASTERISK-18239)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@331578 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-11 21:46:39 +00:00
Richard Mudgett
42b5040b71 Misc minor items found in code.
* Add some reentrancy protection in pbx.c when creating the contexts_table
hash table.

* Fix inverted test in chan_sip.c conditional code.

* Fix uninitialized variable and use of the wrong variable in chan_iax2.c.

* Fix test of return value in app_parkandannounce.c.  Explicitly testing
for -1 is bad if the function does not actually return that value when it
fails.

* Fixup some comments and add some curly braces in features.c.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@331248 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-09 22:12:59 +00:00
Leif Madsen
ae2e5eea83 Change support for ConfBridge() in 1.8 to Extended.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@329782 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-27 19:27:14 +00:00
Jonathan Rose
3b50c5a387 Changes sound file for prepend "then-press-pound" to "vm-then-pound" which is the same
prompt, only it turned out "then-press-pound" was part of extra sounds. Also, vm is more
appropriate anyway.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@329529 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-26 14:04:55 +00:00
Jonathan Rose
31a1b94622 Fixes some voicemail forwarding behavior based around prepend mode.
Formerly, prepend forwarding would have the user record a message with no useful prompt
and an expectation for the user to push a button on the phone when finished recording.
If a length of silence was detected instead, the recording would be canceled and the user
would re-enter the voicemail forwarding menu. Subsequent time-outs in prepend recording
would also bug out in the sense that they would write over the original message and get
sent to the recipient regardless of whether they timed out or were accepted. This patch
fixes this issue and adds a prompt which will be played after a timeout informing the
user that they needed to press a button. Currently, the sound files that we have are
somewhat inadquate for this, so after the call we simply have Allison say "Please try
again. Then press pound." which actually relies on two separate sound files. Just one
would be more appropriate.

reporter: Vlad Povorozniuc
Review: https://reviewboard.asterisk.org/r/1327/ 


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@329527 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-26 13:25:35 +00:00
Richard Mudgett
5c06d1dbb0 Update PickupChan documentation.
The PickupChan uses the ampersand as the argument separator.
Was documented as:
PickupChan(channel[,channel2[,...][,options]])

Fixed documentation to:
PickupChan(Technology/Resource[&Technology2/Resource2[&...]][,options])

This is a continuation of ASTERISK-17494 for v1.8 and later.

(closes issue ASTERISK-18144)
Reported by: Erik Smith
Patches:
      pickupchan_ducumentation-v2.patch (License #6263) patch uploaded by Erik Smith
Tested by: Erik Smith


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@329199 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-21 17:30:57 +00:00
Kinsey Moore
9769bb7d34 MeetMe requests a PIN twice in some circumstances
If a call to MeetMe includes both the dynamic(D) and always request PIN(P)
options, MeetMe will ask for the PIN two times: once for creating the
conference and once for entering the conference.  This behavior was introduced
in rev 311616 when adding the CONFFLAG_ALWAYSPROMPT option to the logic branch
controlling PIN entry for joining a conference.

(closes AST-601)
Review: https://reviewboard.asterisk.org/r/1305/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@328770 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-19 15:43:32 +00:00
Mark Murawki
f5ec4864bd app_dial may double free a channel datastore
When starting a call with originate, and having the callee channel run Bridge() on pickup, we will double free the dialed_interface_info datastore, causing a crash.  Make sure to check if the datastore still exists before trying to free it.

(closes issue ASTERISK-17917)
Reported by: Mark Murawski
Tested by: Mark Murawski



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@328663 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-18 20:47:04 +00:00
Leif Madsen
fc0ea9d188 Revert changes to defaultenabled state for modules in Asterisk 1.8
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@328446 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-15 20:41:12 +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
Matthew Nicholson
3769e99537 search in the current context for 'a' and 'o' instead of 'default'
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@327890 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-12 20:07:20 +00:00
Matthew Jordan
cafd418c46 Added additional checks for mailbox / password beginning with '*' character
A bug existed such that if a user entered a password with '*', and the extension 'a' did not exist, an invalid mailbox would be created and the user authenticated.  The code was changed to prevent this from occurring, and to prevent users from having mailboxes or passwords defined that begin with the '*' character.

(closes issue ASTERISK-17443)
Reported by: Kevin Scott Adams
Tested by: Matt Jordan

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




git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@327852 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-12 19:10:34 +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
Matthew Jordan
40babd5582 Patched voicemail user option for emailbody / emailsubject
Incorporated changes per ASTERISK-16795; updated unit tests to check for vmu->emailbody / vmu->emailsubject

(closes issue ASTERISK-16795)
Reported by: mdeneen
Tested by: mjordan



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@325877 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-30 20:09:48 +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
Matthew Nicholson
3b216f2dc9 don't do native/remote bridging if a framehook is active on the channel
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@325537 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-29 15:34:47 +00:00
Kinsey Moore
a9a8c0fa05 ConfBridge does not handle hangup properly
When playing back a prompt to a channel, confbridge neglects to check for
hangup events causing lockup condititions for hangups that occur before
actually joining the conference.  This change ensures that the user is removed 
from the conference in the event of a premature hangup.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@324305 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-21 16:09:14 +00:00
Leif Madsen
211af7820d Fix typo in documentation.
Pointed out by Vlad Povorozniuc

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@324176 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-17 18:38:40 +00:00
Richard Mudgett
aec1979e7f Remove potential deadlock in call pickup race.
Deadlock is possible in ast_do_pickup() when holding the target channel
lock and trying to get the chan channel lock.  Also, holding the target
lock when calling ast_channel_masquerade() is not a good idea because that
routine does deadlock avoidance.

* Removed the need to hold the target lock after marking the target with a
datastore and getting the connected line data off of the target channel.

* Moved can_pickup() to ast_can_pickup() in features.c.  Now all the call
pickup methods use the same basic call pickup availability check.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@322749 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-09 16:31:53 +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
Brett Bryant
ce51fcfb6b This patch fixes an issue with using the wrong voicemail folders with greetings.
(closes issue #17871)
Reported by: edhorton
Patches: 
      digium_bug_17871_2 uploaded by fhackenberger (license 592)
Tested by: edhorton, fhackenberger


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@321537 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-01 20:10:02 +00:00
Richard Mudgett
8323ef12bf The app_privacy args have undocumented "options" position, interferes with "context" position.
* Add documention for unused "options" position to match existing code.

(closes issue #19273)
Reported by: mdavenport


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@321337 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-27 22:06:43 +00:00
Richard Mudgett
b1c397b5b7 The app_privacy args have undocumented "options" position, interferes with "context" position.
* Add documention for unused "options" position to match existing code.
The trunk(v1.10) version will remove the unused options position.

(closes issue #19273)
Reported by: mdavenport


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@321330 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-27 21:31:25 +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
Richard Mudgett
bf153ba6a4 Merged revisions 320236 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r320236 | rmudgett | 2011-05-20 15:44:54 -0500 (Fri, 20 May 2011) | 20 lines
  
  Merged revisions 320235 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r320235 | rmudgett | 2011-05-20 15:38:22 -0500 (Fri, 20 May 2011) | 13 lines
    
    The meetme CLI command completion leaves conferences mutex locked.
    
    When issuing a meetme kick CLI command and an invalid (non-existent)
    conference number is specified, pressing Tab leaves the conferences mutex
    locked and, therefore, all conferences deadlock.
    
    Add missing unlock.
    
    (closes issue #19336)
    Reported by: zvision
    Patches:
          app_meetme.diff uploaded by zvision (license 798)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@320237 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-20 20:49:03 +00:00
Jonathan Rose
164f61d029 Fixes an imapfolder related crash
imapfolders being set in the general section of voicemail would cause the inbox folder name to
change.  Since sound file names are made based on the names of the folders, this would cause
the audio related to that folder name to change and if Asterisk attempted to play it, the
channel would instantly hang up when the audio file couldn't be found.  This patch searches for
the name of the folder first to leave existing behavior in tact and if that fails, it uses
the normal inbox name to get the sound file instead.


(closes issue #16104)
Reported by: blkline

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@320162 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-20 18:12:21 +00:00
Richard Mudgett
bf91f06f9f Change some variable names to make pickup code easier to understand.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@320007 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-20 16:19:01 +00:00
Richard Mudgett
7e3bf4936e Crash when using directed pickup applications.
The directed pickup applications can cause a crash if the pickup was
successful because the dialplan keeps executing.

This patch does the following:

* Completes the channel masquerade on a successful pickup before the
application returns.  The channel is now guaranteed a zombie and must not
continue executing the dialplan.

* Changes the return value of the directed pickup applications to return
zero if the pickup failed and nonzero(-1) if the pickup succeeded.

* Made some code optimizations that no longer require re-checking the
pickup channel to see if it is still available to pickup.

(closes issue #19310)
Reported by: remiq
Patches:
      issue19310_v1.8_v2.patch uploaded by rmudgett (license 664)
Tested by: alecdavis, remiq, rmudgett

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@319997 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-20 15:48:25 +00:00
Terry Wilson
249f4b9022 Merged revisions 319528 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r319528 | twilson | 2011-05-18 13:02:06 -0700 (Wed, 18 May 2011) | 17 lines
  
  Merged revisions 319527 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r319527 | twilson | 2011-05-18 12:56:08 -0700 (Wed, 18 May 2011) | 10 lines
    
    Fix app_dial ring groups
    
    Revert part of r315643. We need to remove the datastore here as well.
    The code in bridging code will catch anything that app_dial might miss.
    
    (closes issue #19311)
    Reported by: mspuhler
    Patches: 
          issue_19311_no_answer.diff uploaded by elguero (license 37)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@319529 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-18 20:05:34 +00:00
Leif Madsen
c23377d8f2 Don't create [general] voicemail context when using users.conf
Prior to this patch, app_voicemail would create a [general] context when parsing users.conf.

(closes issue #18891)
Reported by: pdugas
Patches: 
      app_voicemail-ignore-general.patch uploaded by pdugas (license 1222)
      app_voicemail-ignore-general-style-guidelines.patch uploaded by seanbright (license 71)
Tested by: pdugas

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@319367 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-17 12:53:50 +00:00
Alec L Davis
87d80af96c Fix directed group pickup feature code *8 with pickupsounds enabled
Since 1.6.2, the new pickupsound and pickupfailsound in features.conf cause many issues.

1). chan_sip:handle_request_invite() shouldn't be playing out the fail/success audio, as it has 'netlock' locked.
2). dialplan applications for directed_pickups shouldn't beep.
3). feature code for directed pickup should beep on success/failure if configured.

Created a sip_pickup() thread to handle the pickup and playout the audio, spawned from handle_request_invite.

Moved app_directed:pickup_do() to features:ast_do_pickup().

Functions below, all now use the new ast_do_pickup()
app_directed_pickup.c:
   pickup_by_channel()
   pickup_by_exten()
   pickup_by_mark()
   pickup_by_part()
features.c:
   ast_pickup_call()

(closes issue #18654)
Reported by: Docent
Patches: 
      ast_do_pickup_1.8_trunk.diff.txt uploaded by alecdavis (license 585)
Tested by: lmadsen, francesco_r, amilcar, isis242, alecdavis, irroot, rymkus, loloski, rmudgett

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@318671 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-12 22:52:08 +00:00