...
Code Block |
---|
[trunk-failover] exten => _[+0-9]X.,1,Verbose(Failover group) same => n,Set(PREV_CHAN=${canale}) same => n(__trunk_ffefd2c02f46993e),Verbose(Trying to dial using trunk "Trunk 10" __trunk_ffefd2c02f46993e) same => n,Set(NETWORKSTATUS=${SIPPEER(__trunk_ffefd2c02f46993e,status)}) same => n,Gotoif($["${NETWORKSTATUS}"="UNREACHABLE"]?__trunk_616683993964bc16:) same => n,Set(SHARED(Sip_Trunk,${PREV_CHAN})=__trunk_ffefd2c02f46993e) same => n,Dial(SIP/__trunk_ffefd2c02f46993e/${EXTEN}) same => n,Hangup() same => n(__trunk_616683993964bc16),Verbose(Trying to dial using trunk "Trunk 11" __trunk_616683993964bc16) same => n,Set(NETWORKSTATUS=${SIPPEER(__trunk_616683993964bc16,status)}) same => n,Gotoif($["${NETWORKSTATUS}"="UNREACHABLE"]?__trunk_d346973491bc1df3:) same => n,Set(SHARED(Sip_Trunk,${PREV_CHAN})=__trunk_616683993964bc16) same => n,Dial(SIP/__trunk_616683993964bc16/${EXTEN}) same => n,Hangup() same => n(last),Verbose(No trunk reachable) same => n,Set(SHARED(Sip_Trunk,${PREV_CHAN})=FAILOVER_FAILED) same => n,Hangup() [trunk-failover-2] exten => _[+0-9]X.,1,Verbose(Failover group) same => n,Set(PREV_CHAN=${canale}) same => n(__trunk_d346973491bc1df3),Verbose(Trying to dial using trunk "Trunk 12" __trunk_d346973491bc1df3) same => n,Set(NETWORKSTATUS=${SIPPEER(__trunk_d346973491bc1df3,status)}) same => n,Gotoif($["${NETWORKSTATUS}"="UNREACHABLE"]?__trunk_6fd24f043acea450:) same => n,Set(SHARED(Sip_Trunk,${PREV_CHAN})=__trunk_d346973491bc1df3) same => n,Dial(SIP/__trunk_d346973491bc1df3/${EXTEN}) same => n,Hangup() same => n(__trunk_6fd24f043acea450),Verbose(Trying to dial using trunk "Trunk 13" __trunk_6fd24f043acea450) same => n,Set(NETWORKSTATUS=${SIPPEER(__trunk_6fd24f043acea450,status)}) same => n,Gotoif($["${NETWORKSTATUS}"="UNREACHABLE"]?__trunk_27f415d6fb6346c0:) same => n,Set(SHARED(Sip_Trunk,${PREV_CHAN})=__trunk_6fd24f043acea450) same => n,Dial(SIP/__trunk_6fd24f043acea450/${EXTEN}) same => n,Hangup() same => n(last),Verbose(No trunk reachable) same => n,Set(SHARED(Sip_Trunk,${PREV_CHAN})=FAILOVER_FAILED) same => n,Hangup() [trunk-failover-2] exten => _[+0-9]X.,1,Verbose(Failover group) same => n,Set(PREV_CHAN=${canale}) same => n(last),Verbose(No trunk reachable) same => n,Set(SHARED(Sip_Trunk,${PREV_CHAN})=FAILOVER_FAILED) same => n,Hangup() |
You can notice that we have one block two blocks of code for each configured Trunkfailover group. In this case we are using 4 Trunks named:
- FAILOVER GROUP 1
- Trunk 10
- Trunk 11
- FAILOVER GROUP 2
- Trunk 12
- Trunk 13
You have to copy page content and keep it somewhere handy.
...