Blind transfer from dialplan

how do i enable unattended transfer from dial plan

We do this, but we’re not using DID. Our inbound calls arrive on analog trunks on which the LEC has provisioned their call-transfer feature. The Asterisk dialplan uses the Flash() and SendDTMF() and Hangup() applications to invoke the LEC call-transfer feature to transfer the inbound call to an external number.

LEC-provided DID trunks generally do not support this feature. VoIP trunks generally don’t either, though we do have a couple of analog trunks provided by Vonage (these are VoIP trunks, but delivered to analog ports on our Asterisk server from Vonage-supplied ATA devices). These trunks (actually, these ATA’s) support blind transfers, and we use this feature, as well.

If you are answering inbound SIP or IAX calls, you’ll probably want to connect them to outgoing trunks and handle the call within Asterisk, rather than using blind transfers.

ookay i got that, but how would you enable Tt without using dial, so transfer can be used in that call?

How was the call set up in the first place if you didn’t use Dial?

When asterisk processes an incoming call, you have to Dial a phone to indicate ringing. Just put the Tt on that Dial Command.

For example:

exten => s,1,answer ; Asterisk picks up the line
exten => s,n,Dial(SIP/100&SIP/101,20,KkTt); Dial 100 and 101 for 20 seconds
exten => s,n,playback(vm-goodbye) ; say goodbye because no one got it
exten => s,n,hangup ; end the call

I’m actually asking my question incorrectly, i wanted to unattend transfer to external number and freeup any zap/sip channels. So call completly gets redirected (maybe before even picking up)

To transfer an incoming call on a POTS line, you need to have the LEC provision the line to allow blind transfers. They usually don’t, unless the line is part of a centrex group. If your LEC has provisioned the line to allow transfers, you perform the transfer by generating a hook-flash (an on-hook interval of about 500 msec) then dialing the destination number, than going on-hook. To do this in Asterisk. lets assume that when an inbound call arrives for extension … you want to transfer it to 1-212-234-5678:

exten = …,n,Flash()
exten = …,n,SendDTMF(w12122345678w)
exten = …,n,Hangup()

You are sending a hookflash, pausing while the CO sends you a stutter-tone, then dialing the destination number, pausing again, and then hanging up. This will free your inbound zap channel. The caller will hear silence while you are dialing, and will then hear ringing from the destination C.O.

Remember: you are requesting a call-transfer, but it is the C.O., not your Asterisk box, that is performing the transfer. Your C.O. line must be provisioned to provide this service.

i’ll speak to the C.O now, im curious if this will free up both outbound and inbound zap channels?

You should also look at the Transfer dialplan application. If it is not supported for your technology it probably means the problem is difficult.

Also note that the hook flash protocol described is that for the US. If you use a 500ms flash in Europe, you may even disconnect the caller. UK time break recall is more like a nominal 100ms. Timed break recall would normally only be provided on indivual lines, not on PABX lines.

the problem is certainly difficult hence why i need your help, im in australia and will test flash and transfer and post back soon… any further suggestions are great

Have you tried Transfer application? … if you transfer before call is setup, a 302 redirect SIP message will be returned to the caller. and your sip/zap channel will be freed up.

He’s not using SIP. dahdi doesn’t implement Transfer, so presumably zaptel didn’t. In any case, the network won’t, if it has analogue presentation.

I’m sorry, I didn’t realize that you’re in Australia. Please disregard everything I wrote above regarding blind transfers. My comments apply to analog trunks provided by USA former Bell Operating Company central offices. I have no knowledge of the Australian telephone system.

But regardless of the telephone utility involved, transferring a call and freeing up the CO trunk on which it arrived requires that the CO perform the transfer function. If your CO can transfer a call away from your line, you may then release the line and, presumably, accept another call on it. You cannot free up a trunk if you expect a call on that trunk to remain connected to anything through your switch.

sorry this post is getting as much attention to the other, from different crowds although i was reluctant to double post, i thought it can’t hurt:

"thank you for the reply, (on both threads) it’s an ISDN line, i was looking into ss7 but wanted to know other alternatives.

just as ive noticed asterisk responds with a hangup reason , i was hoping it cuold respond with a function that requests call to be transfered… then how do companies do that collect call stuff?""