I am wondering if there is someone who has a answer for me about the transfers because I’m really stuck on it now.
I’m trying to build a C# program that logs calls using the Asterisk.NET and I do receive all the events. But something goes wrong with the transferevent.
Following scenario:
A external phone calls the IVR after making a decision the VoIP server transfers him to a queue.
A agent picks up and after a while finds out that he/she can’t help the caller (external phone) and transfers him to a colleague.
At that time my service picks up the transfer event and gets 2 uniqueIDs one being the uniqueid of the transferring channel and one the targeting channel. The targeting uniqueid seems right and I can find him in my database but not the transferring uniqueid.
i’m using trixbox 2.8.0.4
i’m using SIP.
I have the same problem with blind as with attended.
I follow calls using the uniqueid from start to finish.
Is this SIP (REFERs method) or features (*s, #s, etc.). For SIP, you would need to look at detailed traces to distinguish between a real blind transfer (REFERS) and one being simulated (REFERS/Replaces).
The correct unique-IDs are being sent. They are just not what your model of how it works predicts!
For a SIP attended transfer, you will have an incoming one (probably actually that of the agent channel), an outgoing one to B. An incoming one from B for the enquiry and and outgoing one to C. I think I would expect the first and last to remain when the call is completed. Asterisk has no idea that the outgoing one from B relates to the call until the transfer is completed.