Merged revisions 332101 via svnmerge from
authorRichard Mudgett <rmudgett@digium.com>
Tue, 16 Aug 2011 17:23:08 +0000 (17:23 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Tue, 16 Aug 2011 17:23:08 +0000 (17:23 +0000)
commit3ad6dccac89ac21b040d9fa7a414e2aeec8a6660
tree142a4d3713475a139819c93cc047aec0bc378a4f
parentea5262eeb573e1ab64708ac64afa7abd78cedb29
Merged revisions 332101 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r332101 | rmudgett | 2011-08-16 12:17:28 -0500 (Tue, 16 Aug 2011) | 140 lines

  Merged revisions 332100 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.8

  ........
    r332100 | rmudgett | 2011-08-16 11:31:36 -0500 (Tue, 16 Aug 2011) | 133 lines

    Fix multiple parking issues.

    JIRA ASTERISK-17183
    Multi-parkinglot directs calls to wrong parkinglot.
    JIRA ASTERISK-17870
    Cannot retrieve parked calls.
    JIRA ASTERISK-17430
    ParkedCall() with no extension should pickup first available call and does not.
    JIRA AST-576
    Issues with parking lots

    * Removed searching for parking lots by extension.  Parking lots can only
    be found by the parking lot name since parking lot access extensions and
    spaces are not guaranteed to be unique.

    * Added parking_lot_name option to the Park and ParkedCall applications.
    Updated documentation for Park and ParkedCall applications.

    * Add parkext_exclusive configuration option to make parking entry
    extensions specify which parking lot they access.

    (closes issue ASTERISK-17183)
    Reported by: David Cabrejos
    Tested by: rmudgett, David Cabrejos

    (closes issue ASTERISK-17870)
    Reported by: Remi Quezada

    (closes issue ASTERISK-17430)
    Reported by: Philippe Lindheimer

    JIRA ASTERISK-17452
    Parking_offset not used
    JIRA AST-624
    'next' setting for findslot does nothing

    * Reimplemented since findslot feature option broken by -r114655.

    (closes issue ASTERISK-17452)
    Reported by: David Woolley
    Tested by: rmudgett

    JIRA ASTERISK-15792
    Dialplan continues execution after transfer to park.

    This happens for DTMF attended transfer, DTMF blind transfer, and DTMF
    one-touch-parking if the party initiating these features also initiated
    the call.

    * Fixed the return code from the affected builtin features when parking a
    call.

    (closes issue ASTERISK-15792)
    Reported by: Mat Murdock
    Tested by: rmudgett, twilson

    JIRA AST-607
    The courtesytone is not playing to the expected call when picking up a
    parked call.

    This is mostly a documentation problem.  However, the option is not reset
    to the default when features.conf is reloaded.

    * Updated features.conf.sample documentation for courtesytone and
    parkedplay options.

    * Reset the parkedplay option to default when features.conf is reloaded.

    JIRA AST-615
    AMI Park action followed by features reload results in orphaned channels
    in parking lot.

    * Reloading features.conf will not touch parking lots that have calls
    still parked in them.  Reload again at a later time.

    Misc additional fixes:

    * Added unit test for parking lot dialplan usage checking.

    * Made update connected line when a parked call is retrieved from a
    parking lot.

    * Made retrieved parked call stop ringing or MOH depending upon how the
    call was waiting in the parking lot.

    * Made CLI "features show" indicate if the parking lot is enabled for use.

    * Added PARKINGDYNEXTEN channel variable to allow dynamic parking lots to
    specify the parking lot access extension.

    * Made AMI ParkedCalls action ParkedCall events have a Parkinglot header.

    * Made AMI ParkedCalls action ParkedCallsComplete event have a Total
    header.

    * Fixed potential deadlock from AMI Park action holding channel locks
    while calling masq_park_call().

    * Fixed several places where ast_strdupa() were used inside of loops.
    (Mostly fixed by refactoring the loop body into its own function.)

    * Fixed copy_parkinglot() copying too much from the source parking lot.
    Extracted the parking lot configuration settings into struct
    parkinglot_cfg.

    * Refactored courtesytone playing code to put the channel not playing the
    tone in autoservice.

    * Fix when pbx-parkingfailed is played that the other channel is put in
    autoservice if it exists.

    * Fixed parkinglot reference leak in parked_call_exec() error paths.

    * Fixed parkinglot_unref() use of parkinglot after it was unreffed.

    * Made destroy the struct ast_parkinglot parkings lock when done.

    * Refactored the features.conf parking lot configuration code to eliminate
    redundancy.

    * Fixed feature reload to better protect parking lots.

    * Fixed parking lot container reference leak in handle_parkedcalls().

    * Fixed the total count in handle_parkedcalls().

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@332117 65c4cc65-6c06-0410-ace0-fbb531ad65f3
CHANGES
configs/features.conf.sample
main/asterisk.c
main/features.c