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 <aster...@a-domani.nl <mailto:aster...@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 ????? )



-- 
_____________________________________________________________________
-- 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

Reply via email to