[Home]

Summary:ASTERISK-24605: res_parking option parkeddynamic does not work with the core Features 'parkcall' (DTMF initiated parking)
Reporter:Philip Correia (nampop)Labels:
Date Opened:2014-12-11 04:26:30.000-0600Date Closed:2016-03-26 14:27:23
Priority:MinorRegression?
Status:Closed/CompleteComponents:Resources/res_parking
Versions:13.0.0 13.0.1 13.0.2 Frequency of
Occurrence
Related
Issues:
is related toASTERISK-24596 Unclear how to use Park application with res_parking 'parkeddynamic' enabled. Documentation?
Environment:Attachments:( 0) call_park_app_doc.patch
( 1) call_park.patch
Description:When parking an in-progress call using the builtin parkcall feature using DTMF, the call will be parked in the default parking lot. If the PARKINGLOT variable is defined in the channel, it will attempt to park it in the parking lot only if it exists and explicitly defined in the res_parking.conf.

It would be useful to have the parking lot dynamically created if it doesn't exist using the already available res_parking dynamic features if parkeddynamic is enabled.
Comments:By: Rusty Newton (rnewton) 2014-12-11 18:18:50.594-0600

The documentation isn't really clear for the 'parkeddynamic' option regardless, but this doesn't behave how I would expect either, so I'm going for bug until someone overrides me on that. :) I've changed the title and issue Type.

In Asterisk 13, the only documentation that i can find for dynamic parkinglots is in res_parking.conf

{noformat}
parkeddynamic = yes            ; Enables dynamically created parkinglots. (default is no)
{noformat}

From testing, it appears, as you describe that the feature only works when parking via the dialplan application and not when initiating a park via the features.conf {{parkcall}} option.

Another related documentation thing I noticed is that the documentation for the application {{Park}} included in 11: https://wiki.asterisk.org/wiki/display/AST/Asterisk+11+Application_Park

Is now gone in 12, likely due to the many changes that took place: https://wiki.asterisk.org/wiki/display/AST/Asterisk+12+Application_Park

However it was not replaced with any new documentation on how dynamic parkinglots work in 12+

I looked through the CHANGES file for 13 to find anything helpful. I only found:

{noformat}
* Dynamic parking lots will now fail to be created under the following
  conditions:
  - if the parking lot specified by PARKINGDYNAMIC does not exist
  - if they require exclusive park and parkedcall extensions which overlap
    with existing parking lots.

* Dynamic parking lots will be cleared on reload for dynamic parking lots that
  currently contain no calls. Dynamic parking lots containing parked calls
  will persist through the reloads without alteration.
{noformat}

Nothing mentioned there will resolve your issue. To successfully park a call in a dynamic parking lot, using the variables mentioned in the pre-12 Park documentation works just fine. However, not when initiating the park via built-in feature code.

By: Philip Correia (nampop) 2014-12-15 05:27:49.610-0600

Having a look at the code, it seems at first glance that the attached patch works as expected. I'm not certain about how the internals regarding the channels are affected or even if they need to be worried about, but for my test use case it all seems to be working.

I also attempted to add the documentation in the second patch to clarify the usage.

By: Richard Mudgett (rmudgett) 2014-12-15 11:07:51.538-0600

Patches need to be marked as code contributions with a signed license agreement to be accepted.

By: Philip Correia (nampop) 2014-12-16 11:58:51.032-0600

The content of the documentation patch was taken from Asterisk 11 with some modification to explicitly state the requirement for parking lots to be dynamically created