Problem with blind transfer

Hi all,
I've got multi tenant FusionPBX4.4 installed with default settings and trying to make a blind transfer/attended transfer on on the client but something goes wrong.
I've enabled "bind_digit_action" option in the dialplan. The server is receiving DTMF (i can see that in the logs). During the conversation if client B press *1 or *4 it hears the moh on its bleg while the caller on the aleg hear the tone so the caller can actually transfer the call.

2018-11-14 21:53:48.565430 [NOTICE] switch_ivr_originate.c:3740 Channel [sofia/external/4444444444@X.X.X.X] has been answered
2018-11-14 21:53:48.565430 [DEBUG] switch_channel.c:3781 (sofia/external/4444444444@X.X.X.X) Callstate Change EARLY -> ACTIVE
2018-11-14 21:53:48.565430 [DEBUG] sofia.c:7291 Channel sofia/external/4444444444@X.X.X.X entering state [completed][200]
2018-11-14 21:53:48.565430 [DEBUG] switch_ivr_originate.c:3798 Originate Resulted in Success: [sofia/internal/18@Z.Z.Z.Z:5060]
2018-11-14 21:53:48.565430 [DEBUG] switch_ivr_bridge.c:1782 (sofia/internal/18@Z.Z.Z.Z:5060) State Change CS_CONSUME_MEDIA -> CS_EXCHANGE_MEDIA
2018-11-14 21:53:48.565430 [DEBUG] switch_core_state_machine.c:584 (sofia/internal/18@Z.Z.Z.Z:5060) Running State Change CS_EXCHANGE_MEDIA (Cur 2 Tot 8601)
2018-11-14 21:53:48.565430 [DEBUG] switch_core_state_machine.c:653 (sofia/internal/18@Z.Z.Z.Z:5060) State EXCHANGE_MEDIA
2018-11-14 21:53:48.565430 [DEBUG] mod_sofia.c:645 SOFIA EXCHANGE_MEDIA
2018-11-14 21:53:48.585408 [DEBUG] sofia.c:7291 Channel sofia/external/4444444444@X.X.X.X entering state [ready][200]
2018-11-14 21:53:48.645427 [DEBUG] switch_rtp.c:7550 Correct audio ip/port confirmed.
2018-11-14 21:53:49.225402 [DEBUG] switch_rtp.c:7550 Correct audio ip/port confirmed.
2018-11-14 21:53:52.345430 [DEBUG] switch_rtp.c:7789 RTP RECV DTMF *:960
2018-11-14 21:53:52.345430 [INFO] switch_channel.c:515 RECV DTMF *:960
2018-11-14 21:53:52.985418 [DEBUG] switch_rtp.c:7789 RTP RECV DTMF 1:1440
2018-11-14 21:53:52.985418 [INFO] switch_channel.c:515 RECV DTMF 1:1440
2018-11-14 21:53:52.985418 [DEBUG] mod_dptools.c:188 sofia/external/4444444444@X.X.X.X Digit match binding [exec:execute_extension][dx XML]
2018-11-14 21:53:53.325430 [DEBUG] switch_ivr.c:625 sofia/internal/18@Z.Z.Z.Z:5060 Command Execute playback(local_stream://default)
EXECUTE sofia/internal/18@Z.Z.Z.Z:5060 playback(local_stream://default)
2018-11-14 21:53:53.325430 [DEBUG] mod_local_stream.c:901 Opening Stream [default/8000] 8000hz
2018-11-14 21:53:53.325430 [DEBUG] switch_ivr_play_say.c:1493 Codec Activated L16@8000hz 1 channels 20ms
2018-11-14 21:53:53.325430 [DEBUG] switch_ivr.c:625 sofia/external/4444444444@X.X.X.X Command Execute execute_extension(dx XML
EXECUTE sofia/external/4444444444@X.X.X.X execute_extension(dx XML

Would it be possible to change that behavior to allow transfers to the client on its bleg?

On the server where blind transfer works i've got following correspondent log:
2018-11-14 22:04:18.965223 [DEBUG] switch_rtp.c:7534 RTP RECV DTMF *:1120
2018-11-14 22:04:18.965223 [INFO] switch_channel.c:515 RECV DTMF *:1120
2018-11-14 22:04:19.545214 [DEBUG] switch_rtp.c:7534 RTP RECV DTMF 1:1120
2018-11-14 22:04:19.545214 [INFO] switch_channel.c:515 RECV DTMF 1:1120
2018-11-14 22:04:19.545214 [DEBUG] mod_dptools.c:188 sofia/internal/10@Z.Z.Z.Z:5060 Digit match binding [exec:execute_extension][dx XML]
2018-11-14 22:04:19.865198 [DEBUG] switch_ivr.c:623 sofia/external/4444444444@X.X.X.X Command Execute playback(local_stream://default)
2018-11-14 22:04:19.865198 [DEBUG] switch_ivr.c:623 sofia/internal/10@Z.Z.Z.Z:5060 Command Execute execute_extension(dx XML
EXECUTE sofia/external/4444444444@X.X.X.X playback(local_stream://default)
EXECUTE sofia/internal/10@Z.Z.Z.Z:5060 execute_extension(dx XML
Hi, ehrny, how are you?

Do you have any updates on this? I have the same problem. After an extension receive an incoming call, they attempt to do a Attended Transfer to a second extension, but after pressing the *4, the extension hear the MOH and the caller receive the BIP to dial the extension and be transferred. It looks like A-Leg and B-Leg are switched. We are using version 4.4.1.
Hi Rafael,
i was able to sort it out by adding ,${bind_target} at the end of data fields .
go to Dialplan->Dialplan Manager->blind_digit_action
then change data fields accordingly:
local,*1,exec:execute_extension,dx XML ${context},${bind_target}
local,*2,exec:execute_extension,dx XML ${context},${bind_target}
local,*3,exec:execute_extension,dx XML ${context},${bind_target}
local,*4,exec:execute_extension,dx XML ${context},${bind_target}

Current installation already has this field. This not works for me.

With your adjustment, seems Attended Transfer it will not work for you, right? You are using *4 with "dx" and we need as "att_xfer".

I'm not sure, but I'm think it's some bug with Freeswitch 1.8.5 that switched the legs. I opened a ticket in Freeswitch.

Does anyone has some tips?
Any updates on this, or a link to the Freeswitch ticket maybe? Having the same issue here.
Also, looks like ehrny just copy-paste the one line 4 times and changed the *# but forgot the rest ;)

I've tried playing around with the different settings for DTMF and Event attributes but didn't really get anywhere useful.
If I add another ,${bind_target} to the end it does work, but both sides get the Dial Tone.
If B-leg enters an extension is works, but if A-leg enters anything it drops the call.
Last edited:

I have found the solution but don't know how to make it work for all the options *1 *2 *3 and *4. At the moment only the one that is configured to the BLEG will work as expected. Maybe some guru will help out more. Here is a screenshot of the modified extension.
Annotation 2019-11-08 001319.png