David,

Thank you for your reply and help.
I came up with a different way of failing over by using SipPeer..
Basically it checks to see of the peer its available before it sends the
call out.
For this to work the peer has to use qualify.


[voipms-outbound]
exten => _1NXXNXXXXXX,1,Set(TRUNKCHECK=0)
exten => _1NXXNXXXXXX,n,Set(PEERCHECK1=callcentric)
exten => _1NXXNXXXXXX,n,NoOp(-- ${PEERCHECK1} status:
${SIPPEER(${PEERCHECK1}:status)} --)
exten =>
_1NXXNXXXXXX,n,ExecIf($["${SIPPEER(${PEERCHECK1},status):0:2}"="OK"]?Set(TRUNKCHECK=1))
exten => _1NXXNXXXXXX,n,GotoIf($[${TRUNKCHECK}=0]?${EXTEN},failover)
exten => _1NXXNXXXXXX,n,Set(CALLERID(num)=MY CID)
exten => _1NXXNXXXXXX,n,Dial(SIP/voipms/${EXTEN})
exten =>
_1NXXNXXXXXX,n,GotoIf($[${DIALSTATUS}=CHANUNAVAIL]?${EXTEN},failover)
exten => _1NXXNXXXXXX,n(failover),Dial(SIP/gsm/${EXTEN})
exten => _1NXXNXXXXXX,n,Hangup()


Your thoughts?


On Sun, Nov 6, 2011 at 8:43 PM, David Kerr <da...@kerr.net> wrote:

> The AsteriskGUI creates and uses failover in its dialplans.  As that is
> how I started out with Asterisk it turns out that I do use failover.  The
> way it works is to create a macro and then every time you want to dial you
> call the macro and pass in the names of the trunks that you want to use.
>  Here is a cut/paste from my dialplan, which is probably way more complex
> than you need (all the callerid stuff, which I probably don't need either),
> but could be enough for you to figure out how to make your situation work.
>
> [globals]
> vitel-outbound = SIP/vitel-outbound
> voipcheap = SIP/voipcheap
> CID_vitel-outbound = 8005551212
> CID_voipcheap = 8005551212
>
> [CallingRule_DomesticLD]
> exten =
> _1NXXNXXXXXX,1,Macro(trunkdial-failover-dak,${vitel-outbound}/${EXTEN:0},${voipcheap}/00${EXTEN:0},vitel-outbound,voipcheap)
>
>
>
> [macro-trunkdial-failover-dak]
> exten = s,1,GotoIf($[${LEN(${FMCIDNUM})} > 6]?1-fmsetcid,1)
> exten = s,2,GotoIf($[${LEN(${GLOBAL_OUTBOUNDCIDNAME})} >
> 1]?1-setgbobname,1)
> exten = s,3,Set(CALLERID(num)=${IF($[${LEN(${CID_${CALLERID(num)}})} >
> 2]?${CID_${CALLERID(num)}}:${CALLERID(num)})})
> exten = s,n,GotoIf($[${LEN(${CALLERID(num)})} > 6]?1-dial,1)
> exten = s,n,Set(CALLERID(num)=${IF($[${LEN(${CID_${ARG3}})} >
> 6]?${CID_${ARG3}}:${GLOBAL_OUTBOUNDCID})})
> exten = s,n,Goto(1-dial,1)
> exten = 1-setgbobname,1,Set(CALLERID(name)=${GLOBAL_OUTBOUNDCIDNAME})
> exten = 1-setgbobname,n,Goto(s,3)
> exten = 1-fmsetcid,1,Set(CALLERID(num)=${FMCIDNUM})
> exten = 1-fmsetcid,n,Set(CALLERID(name)=${FMCIDNAME})
> exten = 1-fmsetcid,n,Goto(1-dial,1)
> exten = 1-dial,1,Dial(${ARG1})
> exten = 1-dial,n,Gotoif(${LEN(${ARG2})} > 0 ?1-${DIALSTATUS},1:1-out,1)
> exten = 1-CHANUNAVAIL,1,Goto(failover,1)
> exten = 1-CONGESTION,1,Goto(failover,1)
> exten = 1-out,1,Hangup()
> exten = failover,1,GotoIf($[${LEN(${FMCIDNUM})} > 6]?failover-fmsetcid,1)
> exten = failover,2,GotoIf($[${LEN(${GLOBAL_OUTBOUNDCIDNAME})} >
> 1]?failover-setgbobname,1)
> exten =
> failover,3,Set(CALLERID(num)=${IF($[${LEN(${CID_${CALLERID(num)}})} >
> 2]?${CID_${CALLERID(num)}}:)})
> exten = failover,n,GotoIf($[${LEN(${CALLERID(num)})} > 6]?failover-dial,1)
> exten = failover,n,Set(CALLERID(all)=${IF($[${LEN(${CID_${ARG4}})} >
> 6]?${CID_${ARG4}}:${GLOBAL_OUTBOUNDCID})})
> exten = failover,n,Goto(failover-dial,1)
> exten =
> failover-setgbobname,1,Set(CALLERID(name)=${GLOBAL_OUTBOUNDCIDNAME})
> exten = failover-setgbobname,n,Goto(failover,3)
> exten = failover-fmsetcid,1,Set(CALLERID(num)=${FMCIDNUM})
> exten = failover-fmsetcid,n,Set(CALLERID(name)=${FMCIDNAME})
> exten = failover-fmsetcid,n,Goto(failover-dial,1)
> exten = failover-dial,1,Dial(${ARG2})
>
> On Sun, Nov 6, 2011 at 12:41 PM, Fernando Fuentes <digitaldis...@gmail.com
> > wrote:
>
>> Has anybody set some type of faiolover?
>> I am trying to set my system to failover to my GSM Gateway when there is
>> no internet which happens quite often here.
>> I used:
>>
>> exten => _1NXXNXXXXXX,1,Dial(SIP/voipms/${EXTEN})
>> exten =>
>> _1NXXNXXXXXX,n,GotoIf($[${DIALSTATUS}=CHANUNAVAIL]?${EXTEN},failover)
>> exten => _1NXXNXXXXXX,n(failover),Dial(SIP/gsm/${EXTEN})
>> exten => _1NXXNXXXXXX,n,Hangup()
>>
>> But DIALSTATUS needs to contact the carrier... In my case the system is
>> off line and the system is not register so it cant failover.
>>
>> Any ideas?
>>
>> Thank You!
>>
>>
>> ------------------------------------------------------------------------------
>> RSA(R) Conference 2012
>> Save $700 by Nov 18
>> Register now
>> http://p.sf.net/sfu/rsa-sfdev2dev1
>> _______________________________________________
>> Astlinux-users mailing list
>> Astlinux-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/astlinux-users
>>
>> Donations to support AstLinux are graciously accepted via PayPal to
>> pay...@krisk.org.
>>
>
>
>
> ------------------------------------------------------------------------------
> RSA(R) Conference 2012
> Save $700 by Nov 18
> Register now
> http://p.sf.net/sfu/rsa-sfdev2dev1
> _______________________________________________
> Astlinux-users mailing list
> Astlinux-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/astlinux-users
>
> Donations to support AstLinux are graciously accepted via PayPal to
> pay...@krisk.org.
>
------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
Astlinux-users mailing list
Astlinux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/astlinux-users

Donations to support AstLinux are graciously accepted via PayPal to 
pay...@krisk.org.

Reply via email to