[Asterisk-Users] How to handle "provider UNREACHABLE" in the dialplan?

Joseph Tanner joseph at thetechguide.com
Sat Feb 4 03:47:57 MST 2006


This is probably a stupid question, but how do you specify multiple
fallovers?  I.e., if provider1 is not reachable/busy, try provider2. 
If provider2 is down, try provider3.  If provider3 is down...etc.  I
understand how to do it the old way, just keep adding 101 to the
extension.  What would you add to a NOANSWER extension though?  I
guess you could send it to a different context, then you could use
another NOANSWER, but I like keeping things short and easy.

Joseph Tanner

On 2/3/06, Florian Overkamp <florian at obsimref.com> wrote:
> Hi Ronald,
>
> Ronald Wiplinger wrote:
> >> You could read out all the entries in the DNS zone and create your own
> >> list of entries in /etc/hosts, and then create multiple asterisk
> >> peers: voipbuster1, voipbuster2, etc... Then you can use regular
> >> dialplan logic to cycle through all of them.
>
> > that is exactly the point what I am looking for. How can I use the next
> > peer in the dial logic? I was trying DIALSTATUS, ... but I could not
> > make it.
>
> Should be easy; we use:
>
> [macro-safedial]
> ;exten = s,1,Dial(${ARG1},${ARG2},g,${ARG4})
> exten = s,1,Dial(${ARG1},${ARG2},${ARG3},${ARG4})
> exten = s,2,Goto(s-${DIALSTATUS},1)
> exten = s-CANCEL,1,Hangup
> exten = s-NOANSWER,1,GotoIf($["${DIALEDTIME}" = "0"]?3)
> exten = s-NOANSWER,2,Hangup
> exten = s-NOANSWER,3,Verbose(1,Need failover for "${ARG1}")
> exten = s-BUSY,1,Busy
> exten = s-CHANUNAVAIL,1,Verbose(1,Need failover for "${ARG1}")
> exten = s-CONGESTION,1,Congestion
> exten = _s-.,1,Congestion
> exten = s-,1,Congestion
>
> Florian
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
>
> Asterisk-Users mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-users
>



More information about the asterisk-users mailing list