Return blind tranfers when not answered

FreePBX 13.0.190.19
Asterisk Version: 13.14.0

Trying to make blind transfers return to the person who performed the transfer when there’s no answer, and followed some instructions which told me to do the following:

Add to globals_custom.conf:

TRANSFER_CONTEXT = custom-test_transfer

Add following to extensions_custom.conf:

[custom-test_transfer]
    exten => _X.,1,NoOp(Entering custom-test_transfer)
    exten => _X.,n,Set(timeoutd=25) ; set timeout in seconds
    exten => _X.,n,Set(extLeng=${LEN(${EXTEN})})
    exten => _X.,n,NoOp(The extenlength is ${extLeng})
    exten => _X.,n,Dial(Local/${EXTEN}@from-internal,${timeoutd})
    exten => _X.,n,Set(CALLERID(name)=RB:${CALLERID(name)})
    exten => _X.,n,Dial(Local/${BLINDTRANSFER:4:${extLeng}}@from-internal)
    exten => _X.,n,Hangup()`

I then performed a core restart and tested a blind transfer but had no success.

Can anyone see anything obviously wrong? Do I need to do anything else?

Hello @tlarrea,

  1. Did you reload the dial plan after your changes? dialplan reload

  2. Did you verified that your global setting is configured properly? dialplan show globals

  3. Did you verified your blind transfer feature code? features show

  4. How do you perform a blind transfer? with the Asterisk feature code or through your phone?

  5. What about sharing some logs from the asterisk console? core set verbose 4

Thank you,

Daniel Friedman
Trixton LTD.

Yes reloaded dialplan

PBX-Server*CLI> dialplan show globals
TRANSFER_CONTEXT=custom-test_transfer

PBX-Server*CLI> features show
Builtin Feature Default Current


Pickup *8 *8
Blind Transfer # ##
Attended Transfer *2
One Touch Monitor *1
Disconnect Call * **
Park Call
One Touch MixMonitor

Through the phone.

I will capture some logs and upload tomorrow.

Hello @tlarrea,

You will need to configure your transfer button of your phone to send ## or dial it manually (##) before the transfer. Retest it and send the logs if it is not working for you.

Thank you,

Daniel Friedman
Trixton LTD.

1 Like

Perfect, thankyou. Return works when using ##num

Just need to figure out how to adjust handset transfer button now.

I tried using this but it would always dial 2 for some reason instead of the full extension number (202) that initiated the transfer. It would then say Comedian mail and ask for the mailbox.

Any ideas?

Check what this feature code is set to in Feature Code Admin

I’m using ##

I believe it has something to do with this number:
_X.,n,Dial(Local/${BLINDTRANSFER:4:${extLeng}}@from-internal) exten =>
If I change it to 6 it works with an extension but there are cellphones that I also transfer calls from and would like it to work with them too.

I know this was a while back, but this code ALMOST works for me.

The call gets transferred without a problem, but at the time of transferring back to the original extension, it hangs up the call. The caller no longer hears our system and the call keeps ringing at the original extension that transferred.

Maybe the code is wrong?

In my case the call gets transferred to the original extension ,but it hangs up the call before the original extension can talk to the user. Any ideas?

Very late reply but this is working

[custom-test_transfer]
exten => _X.,1,NoOp(Entering custom-test_transfer)
exten => _X.,n,Set(timeoutd=25) ; set timeout in seconds
exten => _X.,n,NoOp(>>>>>>>>>>>>>>>>>>>>${DEXTEN}) ; auto detect from which exten call transfered
exten => _X.,n,NoOp(>>>>>>>>>>>>>>>>>>>>${DSTRING}) ; Dial string, form call transfered
exten => _X.,n,Dial(Local/${EXTEN}@from-internal,${timeoutd})
exten => _X.,n,NooP(call Dialstatus : ${DIALSTATUS})
exten => _X.,n,Set(CALLERID(name)=RB:${CALLERID(name)})
exten => _X.,n,Dial(Local/${DEXTEN}@from-internal)
;exten => _X.,n,Dial(${DSTRING}) ;-- Both dial will work you can use any one in freepbx.
exten => _X.,n,Hangup()`

This only works if you are dialling an extension and all your extensions are the same length. If the first is not necessarily true, but the second is, you should replace the right hand side of the = with the literal value of the length of your extension numbers.

This assumes that the channel technology name is 3 characters, which should not be the case for current SIP implementations, or if you are doing this from a, directly connected analogue line. I don’t know whether FreePBX would allow you to get into a position where it was an unoptimised local channel. I think FreePBX lets you allow trunk users to do transfers, in which case this also wouldn’t work.

(Also Asterisk 13 is no longer supported.)

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