[asterisk-bugs] [JIRA] (ASTERISK-21410) Park() application never returns in some cases
Red (JIRA)
noreply at issues.asterisk.org
Thu Apr 11 13:26:02 CDT 2013
[ https://issues.asterisk.org/jira/browse/ASTERISK-21410?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=205226#comment-205226 ]
Red edited comment on ASTERISK-21410 at 4/11/13 1:25 PM:
---------------------------------------------------------
It is mentioned to handle the h extensions, but I seem to recall that during dev for Park() h was captured within the application because exposing it causes crash/stability issues. So I cannot handle h in the case the the parkee hangs up.
Also there are a couple issues with just using features.conf to setup parking. First is that with the below configs under [general], call parking never worked. Secondly, supposing I could somehow configure parking this way, there is nothing to prevent cross-account unparking (company A user parks a call in 701, company B user accidentally unparks it). And yes I understand I can _manually_ specify different lots, but that would require carving up extensions 701-799 between my ever growing list of accounts.
features.conf:
{noformat}
[general]
; Setting these values has no impact, and in no way
; enables parking in my setup. If it did it would
; still not cover cross-account unparking security
; issues.
parkext => 700
parkpos => 701-799
context => parkedcalls
comebacktoorigin => yes
{noformat}
was (Author: redwolf890):
It is mentioned to handle the h extensions, but I seem to recall that during dev for Park() h was captured within the application because exposing it causes crash/stability issues. So I cannot handle h in the case the the parkee hangs up.
Also there are a couple issues with just using features.conf to setup parking. First is that with the below configs under [general], call parking never worked. Secondly, supposing I could somehow configure parking this way, there is nothing to prevent cross-account unparking (company A user parks a call in 701, company B user accidentally unparks it). And yes I understand I can _manually_ specify different lots, but that would require carving up extensions 701-799 between my ever growing list of accounts.
features.conf:
{noformat}
[general]
; Setting these values has no impact, and in no way
; enables parking in my setup.
parkext => 700
parkpos => 701-799
context => parkedcalls
comebacktoorigin => yes
{noformat}
> Park() application never returns in some cases
> ----------------------------------------------
>
> Key: ASTERISK-21410
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-21410
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Affects Versions: 1.8.15.0
> Environment: CentOS 5.5 2.6.18-308.13.1.e15 x86_64
> Reporter: Red
>
> In my setup, I manually manage call parking and unparking. This requires bookkeeping to be done in the priorities that immediately _follow_ the actual call to the Park() application. However, under no circumstances are those priorities ever executed.
> If the parking spot times out, Park correctly routes to the timeout context. However, if a timeout is neither reached nor is the call unparked the Park NEVER returns. An example of this is A calls B, B parks A, A hangs up before timeout.
> The following dialplan code is an example:
> {noformat}
> [call-park]
> ;***
> ; NOTES
> ; This context manages parking of calls and
> ; access to the parking lot.
> ;***
> include => parkedcalls ;none of the features.conf stuff seems to work so this isn't really necessary
> exten => _700, 1, NoOp(=-=-=- ${EXTEN}@${CONTEXT} -=-=-=)
> ;Check out a free parking spot and associate it
> ; with a given account, then park it:
> exten => _700, n, Set(PARKINGEXTEN=${VOIP_GetAvailableParkingSpot()})
> exten => _700, n, Set(VOIP_DeleteAvailableParkingSpot(${PARKINGEXTEN})=)
> exten => _700, n, Set(VOIP_AddParkedCall(${PARKINGEXTEN},${HASH(account,id)})=)
> ; Here is where the problem is:
> exten => _700, n, Park(45000,call-park-timeout,${PARKINGEXTEN},1,,)
> exten => _700, n, NoOp(Nothing after the above park ever gets run.)
> exten => _700, n, NoOp(Either the timeout context is routed to)
> exten => _700, n, NoOp(or Park() flakes out and never returns. Bug?!)
> exten => _700, n, Hangup()
> {noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.asterisk.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the asterisk-bugs
mailing list