SOLVED: FreePBX Parking Lot options not applying to parked calls

I have a customer that has assigned a parking alert-info to change the ring on an aastra phone for the parked call callback that won’t properly apply to callbacks. He’s also setup a callerID Prepend that isn’t working. Lastly, he’s defined a destination for orphaned parked calls that doesn’t apply. Orphaned parked calls just gets disconnected.

I would love some insight into this module, if not a specific fix.

Let me know what settings, screenshots, or config files ‘you’ might need to help me out. I’m really at a loss.

My thanks in advanced,
Andy

We setup an experiment.

I called in while I was watching the CLI (verbose 6, debug 6) and was parked. Then, let the call timeout (30 seconds set in FreePBX - worked properly). The call rang and rang indefinitely, so the user hit ignore. I (as the parked call) was dropped to a fast busy. Look at the console sections below.

  • Call parked
  • <SIP/232-083546c8> Playing ‘pbx-transfer’ (language ‘en’)
    == Parked SIP/311-b5f32ae0 on 71@parkedcalls. Will timeout back to extension [from-internal] 232, 1 in 30 seconds
    – Added extension ‘71’ priority 1 to parkedcalls
    Extension Changed 232[ext-local] new state Idle for Notify User 270 (queued)
    == Spawn extension (from-internal, 232, 1) exited KEEPALIVE on ‘SIP/311-b5f32ae0’
  • Call timed out
    – Stopped music on hold on SIP/311-b5f32ae0
    – Added extension ‘SIP/232’ priority 1 to park-dial
    == Timeout for SIP/311-b5f32ae0 parked on 71. Returning to park-dial,SIP/232,1
    – Executing [SIP/232@park-dial:1] Dial(“SIP/311-b5f32ae0”, “SIP/232||t”) in new stack
    Extension Changed 232[ext-local] new state Ringing for Notify User 270 (queued)
    – Called 232
    – SIP/232-0838da10 is ringing

  • Parker (232) hits ‘ignore’
    – Got SIP response 486 “Busy Here” back from 192.168.2.32
    – SIP/232-0838da10 is busy
    == Everyone is busy/congested at this time (1:1/0/0)
    == Auto fallthrough, channel ‘SIP/311-b5f32ae0’ status is ‘BUSY’

any help available?

I have installed a new system without any customer modifications, and still the FreePBX Parking Lot options are not applying to parked calls (with the exception of the timeout setting - which is working properly.)

Has anyone made this module work with Asterisk 1.4 before?

Andy

can anyone help me understand how [park-dial] is supposed to be associated with parked calls at least? I see the changes from the GUI go into extensions_additional.conf in that context, but I don’t see how they are supposed to effect the processing of the call that returns to the original parker when the call times out…

I see this

SIP/232@park-dial:1 in – Executing [SIP/232@park-dial:1] Dial(“SIP/311-b5f32ae0”, “SIP/232||t”) in new stack

but I don’t understand the relationship. There are some notes in extensions.conf that show timed out parked calls dropping into [default] but that doesn’t jive with FreePBX’s changes in [park-dial] etc.

Well, you’re going to love this.

[park-dial-custom]
exten => _.,2,Goto(t,1)

That’s it, the fix.

res_features dynamically creates an extension in park-dial that looks like this

park-dial,,1,Dial(||t)

so for example,
park-dial,SIP/232,1,Dial(SIP/232||t)

When the call rings until timeout, it is routed as an orphaned call properly BUT, if the person pushed ignore, or if the channel isn’t available, the call has no-where to go. park-dial,,2 doesn’t exist.

My fix assumes that you would want asterisk to behave the same way in the case of an ignore, or a channel failure, as you would in the case of a timeout. FreePBX already creates the timeout extensions from the ‘Destination for Orphaned Parked Calls:’ section of the Parking Lot module, so this fix just redirects the call to that, maintaining compatibility with the GUI.

So thanks everyone for their help… The guys at VoipCoOp were a big help.

It would not be difficult to incorporate this fix into the Parking Lot module. I’d love to chat with the maintainer of that module to get it fixed up - please contact me at [email protected].

Andy Lauppe
Anteil, Inc.
+1 717 671 1141 x23

Andy,

It looks like you found a case not thought of. So post it as a bug with a possible solution in the bug tracker. You can get there by clicking on development on the left hand side then select report bug.

It’s great to post it here as this generates talk about the issue but to get it fixed i nthe code the only way to go is post it as a bug and it will get tracked and addressed. They can possibly get it into 2.5 as it appears as a simple fix if it is done quickly…

I was actually just fumbling with trac right now to do just that. I’ll continue fumbling.

Does this also fix the “CallerID Prepend” for the parking lot? Orphaned calls are not getting the perpend on my system. Good catch on the ignore though.

A.J.

this is already addressed with a similar solution in 2.5. It may not be back-ported to 2.4, I can’t recall. Here is a sample code of what is now generated by the module, based on the specific group 3 configured.

[park-dial]
include => park-dial-custom
exten => t,1,Noop(Parked Call Timed Out and Got Orphaned)
exten => t,n,Goto(ext-group,3,1)
exten => _.,1,Noop(Parked Call Timed Out and Got Orphaned)
exten => _.,n,Goto(ext-group,3,1)

Is this fixed yet?

Could you be a bit more specific please. Exactly what fixed where? As Phillipe stated it has been addressed in FreePBX 2.5 and “It may not be back-ported to 2.4”.