Attendend transfer on yealink caller ID

I would like to ask you for help with the transfer calls problem. I’ve read a lot of topics and tried a lot of settings but nothing helped.
We have freepbx version
We are using Yealink T54W phones.
If I make blind trasfer without reply the caller ID is showing external number which is correct.
If I pick up the phone and try to transfer call to other internal extension, then the phone where the call is transfered see the caller ID internal extension (from which was transfered the call) and not external number.
What should I check or set for showing external number?
on extension settings are
trustrpid= true
send RPID = send PAI
extension is chan_sip
Thank you

If you are doing a SIP transfer, the number will not update until the call is actually transferred, as SIP phones do not distinguish between the start of transfer and a completely independent second line call.

Sorry but I don’t understand what you mean under SIP transfer.

I hope it should be working but I have wrong setting but I’m not able to find which one.

SIP transfer: You press the transfer button, or soft key, on the phone that is built in to phone.

Features transfer: You dial a DTMF pattern that is recognize by the PBX as requesting a transfer. In Asterisk, these are defined in features. conf.

Native SIP transfers will always behave as you observed. I haven’t used features transfers myself, so I’m not sure how they are handled.

@david55 this is really good point. I will try to change it to Features transfer maybe it will help. Could you tell me if something has to be done or just dial DTMF pattern? Thanks.

In addition to configuring asterisk to send RPID (which you appear to have already done), you must config the phone to accept it. When things are working correctly, during an attended transfer you will see the local CID first and then the display will be updated to the external CID when the transfer is fully completed.

From the latest answer, it would seem that features transfers behave the same, even though they have the advantage of knowing that an attended transfer is intended, and could set suitable variables.

As a very long shot, there is a poorly documented channel variable ${ATTENDEDTRANSFER}, which gets set to the names of some of the channels involved (it is set on the transferor and at least one other channel). The chances are that it is either set too late for you, or with the wrong information, but if you are desperate for this feature, you might want to setup a pre-dial handler to display its value and to see if it is set and useful.

There are probably ways of using variable inheritance to identify the original caller, provided you can establish that you have a transfer, and not a second line call. This may give a clue:

but I haven’t examined it in detail and it is written in terms of a raw Asterisk system, not a FreePBX one.

While you are on the phone, with the person for the warm transfer they should see your extension. After you hang up, if the display does not update, this is a configuration issue of the phones, not the PBX. Well, not the PBX, because you have setup the RPID on the PBX.

Ok but which setup :smiley: I was not able to find it anywhere and I need help from “pro” user :slight_smile:

Ok thanks to all I finally found the solution. The problem was that I tried change settings just only on one phone not both of testing phones.
The correct settings on Yealink is:
account.x.cid_source = 6

This has to be set on both tested phones and then it’s working.

Thanks to all and have a nice day.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.