Blind Transfers on Yealink 38g return completed calls with "Transfer Failed"

I am using FreePBX and having trouble with blind transfers on 38G phones. 48g phones work fine.

You hit transfer, dial the extension, hit transfer again and the call shows (Oh Hold) while it is transferred to the extension. When that call ends it returns a “Transfer Failed” to the original operator.

Transfer Settings on my 48g and 38g are identical.

Tested across several active FreePBX deployments with the same results. Using firmware 38.70.0.185

1 Like

This may be related…

Awesome thanks for the link!

Is it okay to make changes to iptables when using the responsive firewall? Or will it be lost on reboot?

OP suggests using this command to drop 503 packets

iptables -I OUTPUT -m string --string “SIP/2.0 503 Service Unavailable” --algo bm --to 65535 -j DROP

You can use Responsive firewall for this. Enable Custom FIrewall Rules under Firewall Advanced Settings. Create the file /etc/firewall-4.rules and make sure it’s owned and writable by root only.
Add -I OUTPUT -m string --string "SIP/2.0 503 Service Unavailable" --algo bm --to 65535 -j DROP to the /etc/firewall-4.rules and restart firewall. You should be good :slight_smile:

Hi @bigbear. Just curious how you made out with this? It seems to only happen with Pjsip extensions. Still not sure if it’s asterisk, yealink, or a funky network setting on the switch or firewall. I’m still leaning toward Yealink bug.

I have provided pcap and configs to Yealink in a repeatable scenario.

The answer they gave back to me was to set this in my config file.

transfer.hang_up_after_success_trans = 3

This does resolve my problem. There not a setting for this in the GUI. So unless you are using auto provisioning, you have no way to set this.

Tested with Yealink T42G and T46G.

1 Like

Have you submitted a ticket against EPM with a pointer to this thread and a copy of the Solution Yealink provided?

There’s no guarantee the EPM developers will see this if you don’t, and they certainly won’t make it a priority if it’s not in their queue.

Have you tried adding the rule to iptables I mentioned above?

OK That’s good to know! If you are using EPM than you can do this with a basefile edit. If not then you are correct…This option is not available in the GUI

2 Likes

Of course that works, but that is a hack.

I do not use the EPM. But I still use auto provisioning.

No, I don’t use EPM, so I never thought about it.

Issues raised.
https://issues.freepbx.org/browse/FREEPBX-14864

1 Like

So just coming back to this… turns out the new T58V’s have the same issue.

I do not use EPM, just enter sip auth/ip info and go. I am going to look into hard provisioning the phones if there is a setting that works.

What I am reading above is that the issue doesnt occur when you use EPM?

This still occurs with EPM it’s just easier to edit the basefile which you can then push out to all phones. If your hard provisioning you can try adding the line sorvani mentioned to the local config of the phone. There is no Web GUI option for it.

Where would you edit base file to then push out to all phones?

Are you using endpoint manager pro? If so, there.

If not, then I put it the y0000000000XX.cfg file.

Would this be in the TFT boot directory?

The only reason I am not using EPM (and I admit I haven’t tried in a while) is because discovering and configuring the phones took me longer than dropping the SIP info in. Maybe because of all the hosted.

I think I answered you on another forum? But to circle it back here.
Yes, the config files go in the /tftpboot directory.