Problem with blind transfer

Status
Not open for further replies.

ehrny

New Member
Nov 2, 2018
3
0
1
64
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 client1.sip.company.eu]
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 client1.sip.company.eu)
EXECUTE sofia/external/4444444444@X.X.X.X execute_extension(dx XML client1.sip.company.eu)

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 client2.sip.company.eu]
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 client2.sip.company.eu)
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 client2.sip.company.eu)
 

rafael.neco

New Member
Jan 24, 2019
2
0
1
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.
 

ehrny

New Member
Nov 2, 2018
3
0
1
64
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}

BR
 

rafael.neco

New Member
Jan 24, 2019
2
0
1
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?
 

BasementCloud

New Member
Jul 25, 2019
1
0
1
41
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:

kokir

New Member
Sep 26, 2019
2
0
1
52
Hello,

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
 

leandrodes87

New Member
Mar 24, 2020
21
2
3
37
Hy Kokir, thanks for post this solution.



I make this, but for press *1 is necessary primary press *4 # that i return to call, and now i press *1 that OK.

But even so i have other problem, because anytime I press *4 and dial external numbers # not OK, the call return, so possible transfer using *4 and extensions in FusionPBX, do you have testing for external numbers? and so functionality its OK, you change more anything?
 

kokir

New Member
Sep 26, 2019
2
0
1
52
Hello,

I gave up on FusionPBX. There are lots of things not working correctly and need tweaking, obsolete modules and so on. It is a bit of a mess to be honest. I never could make the transfers to work as expected so I ditch it.

Cheers
 

yois

New Member
Jul 14, 2020
12
1
3
41
I know this is an old thread but I think I solved this with this PR:

@kokir solution was correct, but you can only set one action on the B-Leg, so I did this via LUA.

@leandrodes87 - The code in the dialplan for att_xfer doesn't allow for external attended transfers, since the call is passed to user/${extension}@${domain_name}, so it enters the diaplan as an internal call. This can be modified for your needs if you're still interested 2.5 years later :)
 
Status
Not open for further replies.