Busy Notification and Call Return for Blind Transfer


(Россия) #1

Hello everyone. In Frepbx, I made a notification that the line was busy, in extensions_custom.conf I wrote:
[from-internal-custom]
include => macro-dialout-one-predial-hook
[macro-dialout-one-predial-hook]
exten => s,1,Noop(HINT STATUS - ${EXTENSION_STATE(${DEXTEN})})
exten => s,n,ExecIf($["${EXTENSION_STATE(${DEXTEN})}" = “INUSE”]?Playback(/var/lib/asterisk/sounds/ru/custom/busytest))
exten => s,n,ExecIf($["${EXTENSION_STATE(${DEXTEN})}" = “INUSE”]?Set(D_OPTIONS=Ttm))
exten => s,n,ExecIf($["${EXTENSION_STATE(${DEXTEN})}" = “RINGINUSE”]?Playback(/var/lib/asterisk/sounds/ru/custom/busytest))
exten => s,n,ExecIf($["${EXTENSION_STATE(${DEXTEN})}" = “RINGINUSE”]?Set(D_OPTIONS=Ttm))
Also, I implemented a call return for blind transfer: In globals_custom.conf - I wrote:
TRANSFER_CONTEXT = custom-test_transfer
extensions_custom.conf:
[custom-test_transfer]
exten => _X.,1,NoOp(Entering custom-test_transfer)
exten => _X.,n,Set(timeoutd=10) ; 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()

The fact is that if the busy notification is turned on, at that moment, if the subscriber is talking, then the call does not return to the translator. If you turn off the notification of employment, then it returns.
Has anyone implemented such a scheme?
Thanks to all.