Failover to second trunk after n seconds


One of our SIP providers just had a very big delay in the connection of the call; after dialling the phone would stay silent for 45 seconds, after which it the call would begin ringing. The provider explained that after 45 seconds of the call not being connected, they connect through a second server.

The problem is that because asterisk doesn’t receive a ‘call failed’ or ‘route busy’ signal, the call doesn’t jump to the second trunk in our outbound route. This menas that our users just get 45 minutes of silence.

Is there a way to define a certain delay time (for example 7 seconds) after which the call gets passed to the next trunk in the outbound route?

I didn’t find any information on this, hopefully someone can help me here.



centos 6.2 / 32bit

Been there myself on this. What helped for me was qualify=yes on the trunk settings. Not sure it’ll help you if the provider is proxying to another server itself without telling you. I used it to get asterisk to switch to another trunk provider if my preferred one was dead.


Thanks, but that didn’t help. from the documentation it seems that this should switch trunks after 2 (default) secones, but that doesn’t happen; it could be 10 seconds before it connects

in CLI i see this

Called XQout/0044**********
– SIP/XQout-00000436 is making progress passing it to SIP/205-00000435

then it pauses for up to 10-12 seconds before it says
"SIP/XQout answered"

I have the same provider on another PBX, and on that other one, I don’t have the problem. Can it be the Internet connection which is not as good? I thought internet speed would be irrelevant in this case, where I want to switch trunks after n seconds.

Should I change qualify=yes to qualify=2000? (time in milliseconds)