Set multiple destination in inbound route

is this possible to set multiple destination in inbound route, like we do with outbund routes, so if we redirect an inbound route to a trunk and this trunk is not available we can do something else.



But, you can set-up a Ring Group and have the ring group redirect to multiple destinations. You can also use the Misc. Destinations/Misc. Applications modules to turn any destination into a phone # that you can then add to the Ring Group.

1 Like

what I want to do is redirect an inbound call to a trunk and if that trunk is offline redirect the call elsewhere. Is there any way to do this with freepbx ?


i didn’t understand what would you like to do…
can u make an exmaple or Flowchart of how The call will be routed.

A call come in with DID XXX and go to inbound route, in inbound route I defined an entry for DID XXX and set the destination to a trunk. But right now, if the trunk is not available I get a message from freepbx. What I want is to be able to send the call elsewhere if the trunk is not available and don’t want to have a message. I need a way to but multiple destination in inbound route.

I hope you understand this one.


Trunks aren’t normally used as a destination for an inbound route, and so I’m not sure how that would even work.

However, if you want to do that, I’d try using the Misc. Applications Module to assign each Trunk its own unique extension #. Then create a Ring Group that routes calls to both of those unique extension #s and use the First Available or Hunt ring strategy.

You you can try writing your on dial plan according to this:


For telling if Sip peers are online or not, when you are using qualify, then you may wish to just use the SipPeer(‘name’:status) function, and jump based on that. ChanIsAvail doesn’t seem to tell you the difference between a Sip peer that’s online, and one that’s offline. Example snippet:

exten => s,n,Set(VOIPCHECK=0)
exten => s,n,Set(PEERCHECK1=myprovider-out) ; SIP peer name as defined in sip.conf
; Make sure to have qualify=yes enabled for this SIP peer!
exten => s,n,NoOp(-- ${PEERCHECK1} status: ${SIPPEER(${PEERCHECK1}:status)} --)
exten => s,n,ExecIf($["${SIPPEER(${PEERCHECK1}:status):0:2}" = “OK”]|Set|VOIPCHECK=1)
; Now route and dial any way you like based on the value of VOIPCHECK

and then route it based on the value of VOIPCHECK with the gotoIF command

again, I am kinda new with dial plan syntax but i think this could help.


if your trunk is down, you can’t receive the call to redirect it to another trunk.
You are almost talking at the switch level. Can you please clarify.