[asterisk-bugs] [JIRA] (ASTERISK-21410) Park() application never returns in some cases

Richard Mudgett (JIRA) noreply at issues.asterisk.org
Thu Apr 11 13:12:01 CDT 2013


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

Richard Mudgett commented on ASTERISK-21410:
--------------------------------------------

Since the parked call hung up you should expect to see the h exten being executed if you have one.  You will not see extension priorities after Park being executed when this happens.  The behavior you are describing is as expected and *not a bug*.

Trying to manually manage the parking slots is not going to work very well because of the many exception conditions possible.  All you really need to do for parking is to configure it in features.conf and include the parkedcalls context in your dialplan.  Many channel driver configuration files also have a parkinglot option to specify a default parking lot to use for incoming calls.

Look at the features.conf.sample file for parking configuration options documentation.
                
> 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