[asterisk-users] Multiple IAX2 Trunks Load balancing

Brian LaVallee b.lavallee at globaltank.jp
Sun Dec 15 19:08:12 CST 2013


Are you looking for something like this?

Note: This will continuously go between the two trunks until the caller 
hangs up, can be fixed by adding loop counter.

;
; extensions.conf
;
[LOADBALANCE]
exten => _X.,1,NoOp(Connect to least used trunk)
; - show active count
exten => _X.,n,NoOp(Calls: 
${GROUP_COUNT(TRUNK01CNT)}/${GROUP_COUNT(TRUNK02CNT)} of 
${MATH(${GROUP_COUNT(TRUNK01CNT)}+${GROUP_COUNT(TRUNK02CNT)},int)})
; - goto least used trunk
exten => _X.,n,GotoIf($[${GROUP_COUNT(TRUNK01CNT)} < 
${GROUP_COUNT(TRUNK02CNT)}]?TRUNK02,${EXTEN},1:TRUNK01,${EXTEN},1)
;
;
[TRUNK01]
exten => _X.,1,NoOp(Using Trunk 01)
; - set trunk used counter
exten => _X.,n,Set(GROUP()=TRUNK01CNT)
; - dial trunk
exten => _X.,n,Dial(IAX/T01/${EXTEN})
; - add loop counter to stop infinite loop
exten => _X.,n,NoOp(Use next TRUNK02is congestion or chanunavial)
; - next trunk if CONGESTION
exten => _X.,n,GotoIf($["${DIALSTATUS}"="CONGESTION"]?TRUNK02,${EXTEN},1)
; - next trunk if CHANUNAVAIL
exten => _X.,n,GotoIf($["${DIALSTATUS}"="CHANUNAVAIL"]?TRUNK02,${EXTEN},1)
exten => _X.,n,Hangup()
;
;
[TRUNK02]
; - same as above
exten => _X.,1,NoOp(Using Trunk 02)
exten => _X.,n,Set(GROUP()=TRUNK02CNT)
exten => _X.,n,Dial(IAX/T02/${EXTEN})
exten => _X.,n,NoOp(Use next TRUNK01is congestion or chanunavial)
exten => _X.,n,GotoIf($["${DIALSTATUS}"="CONGESTION"]?TRUNK01,${EXTEN},1)
exten => _X.,n,GotoIf($["${DIALSTATUS}"="CHANUNAVAIL"]?TRUNK01,${EXTEN},1)
exten => _X.,n,Hangup()
;
; - end

On 12/14/13, 4:41 PM, Muhammad Usman wrote:
> Friends let me define the scenario please;
> Scenario:
> 2 asterisk servers (A & B) are connected using 05 IAX2 trunks between 
> them. The machine A is running asterisk & Openvpn server in TUN mode 
> (5 instances with difference IP addresses for clients). The machine B 
> is running asterisk with 05 OpenVPN clients using 05 bandwidths. The 
> IAX trunks are established between each pair of P-2-P ip address of 
> machine A (The OPENVPN Server) & machine B (The Openvpn client).
> Requirement:
> Required dial plan configuration at machine A for incoming calls from 
> VoIP Switch/VOS which can forward the calls to IAX2 trunks in round 
> robin fashion like Load Balancing. If any trunk goes down it starts 
> forwarding the traffic to other available trunks & when it gets UP the 
> dialplan should perform as desired. Like L.B & Fail-over scenarios.
>
>
> On Fri, Dec 13, 2013 at 8:52 PM, Hans Witvliet <asterisk at a-domani.nl 
> <mailto:asterisk at a-domani.nl>> wrote:
>
>     On Fri, 2013-12-13 at 06:20 -0600, Don Kelly wrote:
>     > On Fri, 2013-12-13 at 12:48 +0500, Muhammad Usman wrote:
>     > > Hi - I have 2 Asterisk servers connected using 05 IAX2 trunks.
>     I want
>     > > to load balance incoming calls over IAX2 trunks. If any trunk goes
>     > > down the calls traffic will be shared with other available trunks.
>     > > When it gets Up the script is supposed to perform as desired
>     i.e in
>     > > load balance mode.
>     >
>     > > Thanks in advance.
>     > >
>     >
>     > Hans said:
>
>     >
>     > Perhaps it is possible to do the L.B. at the O.S. or network
>     level, and let
>     > all trunks appear to asterisk to one single trunk.
>     >
>     > Don asks:
>     >
>     > What's the value of load balancing multiple IAX trunks between
>     the same
>     > system pair? What resources are being balanced?
>     >
>     ++++++++++
>
>     Perhaps the O.P. can explain about his intentions...
>
>     In some situations it makes sense though:
>     If you have to connect two servers, and use different kind of
>     infrastructure / multiple providers...
>
>     hw
>
>
>     --
>     _____________________________________________________________________
>     -- Bandwidth and Colocation Provided by http://www.api-digital.com --
>     New to Asterisk? Join us for a live introductory webinar every Thurs:
>     http://www.asterisk.org/hello
>
>     asterisk-users mailing list
>     To UNSUBSCRIBE or update options visit:
>     http://lists.digium.com/mailman/listinfo/asterisk-users
>
>
>
>
> -- 
>                                     Regards:
>                                     (Muhammad ????? )
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20131216/492607d8/attachment.html>


More information about the asterisk-users mailing list