Summary:ASTERISK-21938: PickupChan picks up answered call
Reporter:David Cunningham (dcunningham)Labels:
Date Opened:2013-06-21 02:06:27Date Closed:2013-07-15 06:39:22
Versions: Frequency of
Environment:CentOS release 5.6 32 bit.Attachments:( 0) pickup-trace.txt.gz
Description:User experienced active call being "hijacked" and checking trace shows that a pickup by another user picked up their active call.
Trace will be attached.

Here is the pickup happening, starting line 40209:

[Jun 20 14:26:43] VERBOSE[32259] pbx.c:     -- Executing [5310105@product-pickup:1] PickupChan("Local/5310105@product-pickup-f7e1;2", "Local/5310105@product-phone") in new stack
[Jun 20 14:26:43] VERBOSE[32257] app_dial.c:     -- Local/5310105@product-pickup-f7e1;1 connected line has changed. Saving it until answer for SIP/product-local-00005d5d
[Jun 20 14:26:43] VERBOSE[32257] app_dial.c:     -- Local/5310105@product-pickup-f7e1;1 answered SIP/product-local-00005d5d

At the end of the trace you can see the call phone 5310105 was on is hung up. The call ID is 763c3a8d2e3a7063236f16801e94383f. At the start of the trace is the 200 OK showing this call was answered at the time of the pickup.
Any advice welcome, thanks.
Comments:By: Michael L. Young (elguero) 2013-06-21 08:40:11.710-0500

Are you able to test with a newer version of Asterisk?  You are using (current version 1.8.22) and I see in the change logs that there was a race condition with call pickup fixed since then.  There was also another race condition fixed in connection with control frames such as hangup.

Does the attached log show where the call was picked up by the other user?

By: David Cunningham (dcunningham) 2013-06-21 18:08:43.274-0500

Thanks Michael, we will try a newer version of Asterisk.

I'm not sure exactly what you're referring to with "the call was picked up by the other user". Is this explained in my original description?

By: Michael L. Young (elguero) 2013-06-21 20:34:15.210-0500

User experienced active call being "hijacked" and checking trace shows that a pickup by another user picked up their active call.

Do you have a trace that includes this call being picked up by the other user?  Basically I couldn't see where the call was picked up by another user (unless I am missing it) so I wondered if we could get a trace with both the call being answered and then hung up by one user while at the same time being picked up by another user.

By: David Cunningham (dcunningham) 2013-06-23 17:56:35.875-0500

Hi Michael, the lines quoted in my original description are the call being picked up. Or am I misunderstanding you?

By: Michael L. Young (elguero) 2013-06-23 20:13:29.690-0500

I guess maybe I am not understanding the scenario....

We have User A on a call talking to Alice.  User B is able to "hijack" User A's phone call with PickupChan() and is now having a conversation with Alice.  User A is left there saying "Hello?  Alice?" and that call bridge tears down because Alice is no longer connected to User A.  Do I have the scenario correct?

The trace you have attached is for User B from when they "hijacked" the call?  If that is correct, can we have a trace of both the call from the point of either Alice calling in or User A calling Alice to the point where User B makes a call resulting in the use of PickupChan() being used where the active call is then taken away from User A?

Please provide any debug information, dialplan, sip.conf, etc. that can help to clarify the situation and help reproduce it.  But, if the issue is resolved by updating to the latest version of Asterisk, we won't need all that info and we can close this issue :).

If my understanding is not correct, please clarify.


By: David Cunningham (dcunningham) 2013-06-24 17:53:47.598-0500

Hi Michael, we've updated the server to and will give it a week to see if it helps. Thanks.

By: Rusty Newton (rnewton) 2013-07-09 09:31:52.436-0500


Is the issue still occurring?

By: David Cunningham (dcunningham) 2013-07-15 03:17:05.995-0500

We've not had any report of a problem since upgrading to You can close this for now. Thank you!