AMI Transfer event unknow uniqueid

Hello everybody,

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
i’m using SIP.
I have the same problem with blind as with attended.
I follow calls using the uniqueid from start to finish.

I hope someone can help me with this,

With kind regards,

SIP or features transfers. If SIP, does the phone do real blind transfers or does it do everything as an attended one, under the hood?

Unique-IDs track channels, not calls.

For a SIP attended transfer, there will be four different unique-IDs involved. I’m not sure which ones survive when the transfer completes.

Hallo David,

Thanks for your reply. when i call the transfertype is says blind I dont really know how to check it any further.

Is it possible to change something to let him send the right unique-id when the event is triggert?

with kind regards,

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.