Transfer call off site

Anyone know how I can transfer a call to a say mobile phone, concept is caller rings in, hears an IVR, dialing 1 transfer the call to a cell phone number. Once the call is transferred no further action is required from asterisk and asterisk is free to answer new calls while the transferred parties are talking.

Thanks in advance

Make sure that the call is arriving over a technology that supports the Transfer application (e.g. SIP), and is leaving over the same technology. Invoke Transfer when they dial 1.

Caution, SIP Transfer support doesn’t handle failures well. This may be slightly better in 1.8 series versions, but it is still not good.

For analogue lines, you may be able to generate register recall signals and dial the network operator’s call transfer code.

For SIP, you may be able to use canreinvite=yes, to remove the speech path from Asterisk, whilst maintaining the signalling path. This depends on not using any features that require Asterisk to monitor the call, and can be difficult in NAT cases.

Note, network operators tend to charge transfers as though they were an outbound call from the transferror, with the inbound call charged as though it had been relayed, rather than transferred.

It should not be too difficult to divert to an off site phone such as a cell phone or landline, all pbx’s can do this easily and it is common for customers to ask for such. Anyone know how? not after theory what would I need in extensions.conf?

thanks in advance

That’s not what you asked for. You asked to be able to do it such that Asterisk was removed from the circuit.

Simply change the first parameter of the Dial application call for that extension to point to the required destination, or replace the Dial application with a Goto to the context that deals with outgoing calls, and the “extension” that corresponds to the desired destination.

so something like

    exten => _0.,1,DIAL(IAX2/user@voipprovider/thecellphonenumber)

it probably takes 2 lines to do, because if the call is occupying the line, another line is required.

I’ve only got one line but I can do an internal test where the extension activates the call out to see the results

Lines on IAX2 are marketing concepts, not engineering ones. If you are restricted to a maximum occupancy of one, that is because of the business policies of the service provider, not because of any limitation in the way you are connected to them. Are you sure you really have a maximum occupancy limit of one on an IAX2 connection?

OK thanks dave I got it working in house, I will test with an out of my asterisk server inbound call later to see if the trunks are occupied. here goes, probably a better way to do this but it works…

I had to create a dummy sip extension for example

exten => 105,1,Goto(mob,thenumbertodial,1)

in the mob context
exten => thenumbertodial,1,DIAL(IAX2/user@voipisp/${EXTEN},60)
exten => thenumbertodial,n,Congestion

in this case I dial an extension and then use the transfer option on the phone and dial the 105 sip extension which dials the cellphone number, what I’ll test next is if the call comes ion from of my asterisk server such as a cell phone incoming call and then do the same transfer.