My problem is that I'm trying to do a flash on an active ZAP channel to transfer a call, but every time the flash is performed the caller that im trying to transfer gets disconnected. Here is a longer explanation of whats going on. I have a situation where I am linking asterisk upto a PABX via FXO modules. Calls will come in via the traditional PABX and be transfered to the asterisk system where a couple of VoIP phones are attached to take the calls. Now I need to set this up so that calls return to reception on the pabx when they are not answered on Asterisk. The problem is we have to do an announcement to the caller on Asterisk to say they are going to be recorded. I wanted to have the announcement perfomed when the call is answered by the destination extension, but I can only get it to play the announcement to the destination extension not the caller. So the problem is I have to answer the call when it first hits Asterisk in order to play the announcement, so I cannot have the pabx return the call after x amount of rings etc so the return will have to happen on Asterisk. I tried having the following in the dialplan for when the dial command times out: exten => s,1,Answer exten => s,2,Dial(${ALL}) exten => s,3,Flash exten => s,4,SendDTMF(22) exten => s,5,Flash ---- tried leaving out this stage but makes no difference. exten => s,6,Hangup Problem is every time the flash is performed the original caller gets disconnected, and an empty call gets transferred... then Hangup terminates all the calls. This is just one of many ways I have been trying to achieve my goal, but every one has had some kind of block I could not get round! Any help would be appreciated as I'm all out of ideas and have to get this working in the next day or two :( TIA! Nick