[asterisk-dev] Channel Issue with 13.10 and app_queue

Richard Mudgett rmudgett at digium.com
Thu Aug 4 11:31:39 CDT 2016

On Thu, Aug 4, 2016 at 11:12 AM, Ryan Rittgarn <rrittgarn at techpro.com>

> Hi Everyone, long time reader, first time poster in this particular
> thread. I'm one of the holdouts still using chan_sip for day to day uses as
> I have too many applications and implementations that rely on it. That
> being said I think I have found a bug, but am not sure the best way to go
> about isolating it to specific code changes, but I'd love to help any way I
> can.
> We recently (today) just upgraded a test box from 13.4 to 13.10. We
> process inbound calls through app_queue and then use one of our apps that
> issues a redirect via AMI to direct the channel to a parking extension, or
> more specifically an extension in dialplan that calls the Park()
> application. Up until now our behavior was such that when an agent of the
> queue parked the call, the agent's channel would be destroyed upon parking
> (as expected) and the caller's channel would show bridged with app_park in
> core show channels. Now as part of our application also keeps tabs on who
> is on the phone via AMI events, we noticed that when a call comes in
> through the queue, the original agent's channel stays up until caller is
> done with the call and hangs up. We use the queues for our triage people,
> and then pass through to support staff via picking up parked calls, so some
> of these calls can be lengthy. Upon further investigation doing core show
> channels I show that the original agent's channel still shows up, but I
> cannot issue the channel request hangup command without error. It tab
> completes and everything to the full channel, but when I hit enter, I get a
> 'not found' message.

That agent channel hanging around sounds like a channel ref leak or
something still has
a reference to the channel that they won't let go until the call the agent
channel was
involved with hangs up.  (You actually confirm this in your description.)
I expect that the
lingering channel has already been hung up since you got a channel not
found when you
tried to hang it up.  The channel is still visible in the stasis channel
cache because a
reference to the channel still exists but the channel is actually hung up.

I suspect that it is app_queue that has the lingering channel reference for
its queue_log.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20160804/f9be6561/attachment.html>

More information about the asterisk-dev mailing list