I am having issue while transferring the call, when i dial a number, it rings, while it is ringing i want to transfer it to other extension, without waiting for call to get answered. but when i press # feature key for blind transfer, it does not work untill the first call get answered.
I’m just curious why you want to transfer a call before it is answered, why not simply dial again? (perhaps I didn’t understand the question). At http://www.voip-info.org/wiki/view/Asterisk+cmd+Transfer you can read that SIP will generate a 302 message if you try to transfer a call that isn’t answered yet.
An option that might actually be able to do a transfer before it is answered is to use confbridge() for the call and transfer and some smart asterisk scripting of which one part generates two callfiles to route both legs of the call into the conference and one part that actually kicks the original called leg of a call out of the conference. I haven’t a working example available but my guess is that it is feasible (although use of confbridge as not intended). If you read the Confbridge part in the Infinitive Guide you will find some pointers on how to do this. In this part it is explained how to add someone to a conference after pressing “0” and enter a number so just the kicking out the original leg is the missing part. ChannelRedirect() might be half of the answer but I haven’t used that command yet.
Actually my client’s operator does not want to wait for the calls to get answered, he want to transfer the call after dialing.
It was happening in FXO, because in dahdi fxo channel get answered while it making progress and due the channel get answered the operator was able to transfer the call while it is actually ringing, he did not had to wait for the call to get actaully answered.
now thy have moved to SIP trunk, they are used to of it, but this is not happening in SIP.
My English is not so good, I hope I defined the situation correctly.
Why is the operator setting up both sides of the call? For a traditional unattended transfer you start with a call that is up (e.g the caller calls into the operator, who answers and then transfer them to their destination.
I don’t think you will find that SIP phone support transfers of unanswered calls, either, except by forward on busy/unavailable conditions.
The beg problem is how is the operator supposed to know what number the caller wants to call if they haven’t spoken to the caller. Alternatively, if the number is known, why are you going through an operator at all?
This is because, the user does not have direct access to make calls, they ask operators to make outbound calls and then operator transfer the call to the user.
This is only for outbound calls. in the above mentioned condition, operator knows that who asked to make call and then he transfers the call to that user before it get answered.
I also tried to make sip channel answered by adding Answer() before Dial(SIP/trunk/${EXTEN})
but that also not working, it is not answering the channel.
How does the operator discover the number they want to call?
Also, please provide actual dialplan and logs (at least verbosity 5) as it is difficult to be certain what you are really doing and how you have changed things.
the internal pbx user call operator and him to dial a number, then operator dial that number and transfer it to user.
that’s how operator discover that the number he dialed is for whom to transfer.
Are you saying the caller puts the phone down and only picks it up again once the called party has been answered. That is generally a very unusual way of working and would normally only be done for a senior manager, for whom the operator would be expected to stay on the line.
If you are really doing that with Asterisk, you should have the operator dial a number which calls the Originate action.
For normal unattended transfers, the operator answers the caller, then transfers the caller to the unanswered called number.
I guess the Confbridge suggestion wasn’t that bad. If the operator needs to operate and dial numbers for more persons then every person needs his/her own conference room and the operator an operating pannel so entrance to a conference room is easy to arrange when the operating panel shows that “the owner” of the conference room has entered his or her room. When using a dial tone as music on hold the person will hear a dial tone until the operator joins the conference room to enter the number and will hear a dial tone again when the operator is finished dealing the number and hangs up and the called number hasn’t answered yet. This way you will gimmick what they are asking for
A trick could be generating a call file when and employee picks up his phone and is routed into his/her conference room. Move the callfile into the asterisk outgoing directory to connect the operator with the conference room so he/she can dial the number asked for. There are some hurdles to take but I think it can be done. If it does it still is a solution for a weird request. There are other and easier ways to avoid misuse of the telephone system.
I understand that this is really a weird request, but thanks guys for making it easier for me to let my management know that this is not a usual thing. The operator must wait for the call to get answered before transfer it.
As Lesouvage said conference can do this thing, I have already suggest this solution, and thy are not agree with this, but somehow, i made them understand that this is not part of PABX system and I also can show reply from you guys to my management as a proof
thank you guys , you all are awesome. thank you very much