[asterisk-dev] [Code Review] Fix multiple parking issues.

David Vossel reviewboard at asterisk.org
Sat Aug 13 08:56:30 CDT 2011


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/1358/#review4060
-----------------------------------------------------------


I've finished reviewing this for architectural, concurrency, and ref counting issues.  Other than the question I raised earlier this looks patch looks sound in those areas.  The few things I didn't like involved having to hold the list lock outside of the space_reserve function.  This has nothing to do with this patch though and won't cause any problems as long as it is accounted for correctly, which it is.  Overall what I saw looked great!  The new functional changes to the dialplan apps all make sense to me and appear well documented.  It isn't my place to give this patch a ship it.  I'll leave that up to you all who are testing and reviewing it on a more detailed functional level.  From a high level architectural view this all looks correct though.

- David


On Aug. 11, 2011, 4:03 p.m., rmudgett wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/1358/
> -----------------------------------------------------------
> 
> (Updated Aug. 11, 2011, 4:03 p.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Summary
> -------
> 
> Fix multiple parking issues.
> 
> JIRA ASTERISK-17183 / SWP-3068
> Multi-parkinglot directs calls to wrong parkinglot.
> JIRA ASTERISK-17870 / SWP-3520
> Cannot retrieve parked calls.
> JIRA AST-576 / SWP-3535
> 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.
> 
> 
> JIRA ASTERISK-17452 / SWP-3157
> Parking_offset not used
> JIRA AST-624 / SWP-3603
> 'next' setting for findslot does nothing
> 
> * Reimplemented since findslot feature option broken by -r114655.
> 
> 
> JIRA ASTERISK-15792 / SWP-1074
> 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.
> 
> 
> JIRA AST-607 / SWP-3605:
> 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 / SWP-3613:
> 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().
> 
> 
> This addresses bugs ASTERISK-15729, ASTERISK-17183, ASTERISK-17452, and ASTERISK-17870.
>     https://issues.asterisk.org/jira/browse/ASTERISK-15729
>     https://issues.asterisk.org/jira/browse/ASTERISK-17183
>     https://issues.asterisk.org/jira/browse/ASTERISK-17452
>     https://issues.asterisk.org/jira/browse/ASTERISK-17870
> 
> 
> Diffs
> -----
> 
>   /branches/1.8/CHANGES 331574 
>   /branches/1.8/configs/features.conf.sample 331574 
>   /branches/1.8/main/asterisk.c 331574 
>   /branches/1.8/main/features.c 331574 
> 
> Diff: https://reviewboard.asterisk.org/r/1358/diff
> 
> 
> Testing
> -------
> 
> Able to park and retrieve calls from the expected parking lots.
> 
> 
> Thanks,
> 
> rmudgett
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20110813/513588c0/attachment.htm>


More information about the asterisk-dev mailing list