[asterisk-bugs] [JIRA] (ASTERISK-24630) When defining 'parkext' for a custom lot, 'parkext_exclusive' is required to have the parking extension park at the custom lot

Andrew Nagy (JIRA) noreply at issues.asterisk.org
Fri Mar 11 12:35:57 CST 2016


    [ https://issues.asterisk.org/jira/browse/ASTERISK-24630?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=229870#comment-229870 ] 

Andrew Nagy commented on ASTERISK-24630:
----------------------------------------

Wanted to come back here and state that I got this to work and it seems to be correct.

Basically you have to set the parkinglot in said "extension".

So in sip.conf
parkinglot=<parking lot context>

Here's where it gets fun though

pjsip.conf (Under the endpoint)
set_var=CHANNEL(parkinglot)=<parking lot context>

Once that is set at that level you can park to "non" exclusive lots

> When defining 'parkext' for a custom lot, 'parkext_exclusive' is required to have the parking extension park at the custom lot
> ------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-24630
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-24630
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Documentation, Features/Parking, Resources/res_parking
>    Affects Versions: SVN, 11.15.0, 13.1.0
>         Environment: Affects both 11 (pre 12 parking changes) and Asterisk 13 (post changes)
>            Reporter: Rusty Newton
>            Severity: Minor
>
> For custom parking lots, the option {{parkext}} when populated results in the creation of a Park extension, but with no arguments, such that it only parks calls at the default lot.
> The behavior is the same in Asterisk 11 and 13. Below I have two examples of the parking extensions created when you define {{parkext}} for a custom parking lot.
> Asterisk 11
> {noformat}
> centosclean*CLI> dialplan show
> [ Context 'parkedcalls' created by 'features' ]
>   '700' =>          1. Park()                                     [features]
> [ Context 'mycustomlot' created by 'features' ]
>   '800' =>          1. Park()                                     [features]
> {noformat}
> Asterisk 13
> {noformat}
> [ Context 'mycustomlot' created by 'res_parking/mycustomlot' ]
>   '800' =>          1. Park()                                     [res_parking]
> <snip>
> [ Context 'parkedcalls' created by 'res_parking/default' ]
>   '700' =>          1. Park()                                     [res_parking]
> {noformat}
> h1. Reproduction
> * Configure a custom parking lot in features.conf or res_parking.conf
> An example Asterisk 13 configuration of res_parking.conf
> {noformat}
> [general]
> [mycustomlot]
> context => mycustomlot
> parkext => 800
> parkpos => 801-850
> {noformat}
> If you set this up in 11,remember that you need the {{parkinglot}} prefix for the custom lot name.
> * Load Asterisk with that configuration.
> * Dialing the created extension results in parking to the default lot. Begging the question, why did I need or want to configure parkext in the custom lot in the first place?
> h1. Workaround
> The workaround is of course dialing your own Park extension via other means and setting channel variables or application arguments to target the custom lot.
> h1. Edit
> I found out later that for {{parkext}} to create a parking extension that targets the custom lot you configured it within, you also need to define {{parkext_exclusive=yes}} within that same custom lot.  I feel like this behavior was different in this past... nevertheless we need to document this better. 
> The current documentation for parkext says:
> {noformat}
> parkext => 700                  ; What extension to dial to park. (optional; if
>                                 ; specified, extensions will be created for parkext and
>                                 ; the whole range of parkpos)
> ;parkext_exclusive=yes          ; Specify that the parkext created for this parking lot
>                                 ; will only access this parking lot. (default is no)
> {noformat}
> Then where we show a custom lot:
> {noformat}
> ;*** Define another parking lot
> ;
> ; The parkinglot used can be set with the CHANNEL(parkinglot) dialplan function or by
> ; setting the 'parkinglot' configuration for a channel in its configuration file.
> ;
> ; Parking lots can now be any named configuration category aside from
> ; 'general' which is reserved for general options. They no longer need to be
> ; prefixed with 'parkinglot_'
> ;
> ;[edvina]
> ;context => edvina_park
> ;parkpos => 800-850
> ;findslot => next
> ;comebacktoorigin = no
> ;comebackdialtime = 90
> ;comebackcontext = edvinapark-timeout
> ;parkedmusicclass = edvina
> ;
> ; Since edvina doesn't define parkext, extensions won't automatically be
> ; created for parking to it or for retrieving calls from it. These can be
> ; created manually in the dial plan by using the Park and ParkedCall
> ; applications.
> {noformat}
> We only mention that parkext is not used in the custom lot example , but not that if it were used we would also need parkext_exclusive to make parkext relevant to the custom lot it was configured within.
> You can get that from reading the documentation for parkext_exclusive, but even that is worded oddly.
> Basically, {{parkext_exclusive}} is required to be enabled for any custom lot where you want to define a {{parkext}} that parks the caller at the custom lot.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list