Problems with Dial application

I have some problems with Dial command. Could someone please help me.

It is known that Dial application will place calls to one or more specified channels. As soon as one of the requested channels answers all the other channels will be hung up and the original channel with the answered channel will be active in a bridge.

Is it possible to configure something like this:
I need to hung up all channels when one of them STARTED RINGING, and then put the original channel with the ringing channel in the bridge (even when there is no answer).

Why I need this functionality? Let’s imagine there is few providers VoIP, and I would like to call the same number by all the provider parallel. All this time the caller should listen nothing, but when one of the channel ringing I need to bridge that channel with the original channel, and hung up all other channels.

Is it possible to configure something like this? Even I am agree to change the source code :smile:

Thanks in advance,

You cannot bridge until the called party has returned SDP. SDP is not normally returned with 180 Ringing, only with 183 Progress or 200 OK.

You could tweak Dial’s source code, to do hangup tree on the others when it gets ringing on one, although your service providers may not like this, and your callee may not like it, as the call may actually complete, and become chargeable, or at least start ringing, before your cancel takes effect.

Although it may have similar problems, this is possibly something better done at the SIP Proxy level, as the recipient should then see the same call-ID for all the branches.

I think the & mechanism on Dial is really intended for manager/secretary situations in the local network.