Summary:ASTERISK-19553: Cannot perform feature attended transfer after pickup when using PickupChan
Reporter:David Cunningham (dcunningham)Labels:
Date Opened:2012-03-16 01:50:05Date Closed:2017-12-19 20:24:34.000-0600
Versions: Frequency of
Environment:Centos 5.7Attachments:( 0) trace-19553.txt
Description:After doing a pickup using PickupChan() the party who picked up the call cannot perform a features.conf transfer. Asterisk does register that DTMF is pressed, but does not offer a transfer prompt.
This problem does not occur if picking up using Pickup().
I can reproduce this problem on Asterisk 1.8 and 1.6.1.
Our features.conf defines the # key as performing an attended transfer.
Please let me know what else you need. Thanks.
Comments:By: Matt Jordan (mjordan) 2012-03-16 08:49:05.241-0500

We require a complete debug log to help triage the issue. This document will provide instructions on how to collect debugging logs from an Asterisk machine for the purpose of helping bug marshals troubleshoot an issue: https://wiki.asterisk.org/wiki/display/AST/Collecting+Debug+Information

By: David Cunningham (dcunningham) 2012-03-16 17:40:04.094-0500

Note the following context is invoked to do the PickupChan:

exten => _[0-9*#]!, 1, PickupChan(Local/${EXTEN}@product-phone)

exten => _[0-9*#]!, 1, GotoIf($[ "${PRODUCT-MUSIC}" = "" ]?3)
exten => _[0-9*#]!, 2, SetMusicOnHold(${PRODUCT-MUSIC})
exten => _[0-9*#]!, 3, Dial(SIP/${EXTEN}@${PRODUCT-PHONE-DOMAIN},3600,${PRODUCT-PHONE-OPTS})

By: Mark Petersen (roadkill) 2012-03-17 04:20:22.910-0500

Hi I believe you have found a bug in Pickup() and not PickupChan()

as Pickup / PickupChan should not inherit the options of the channel you pickup
as you may have 2 different users that are not allowed to have the same options
fx. we only uses the transfer options on call to phones that themselves dont have a transfer button (ATA FXS FXO), as we want the media to flow direct between the phones
and activating features prevent this

to fix you problem you can do this in the dialplan

exten => _[0-9*#]!, 1, Dial(Local/${EXTEN}@product-pickup,3600,${PRODUCT-PHONE-OPTS})

By: Joshua C. Colp (jcolp) 2017-12-19 06:06:20.915-0600

Is this still a problem in recent supported versions of Asterisk?

By: David Cunningham (dcunningham) 2017-12-19 19:52:26.419-0600

We found that using the T option on the Dial to pick up the call fixes it. So we are happy to close this report, thanks.