Gateway/trunk load balance?

Hi to all,
in Trunk settings I can have a mainGW and two failoverGW, so the call always try to got out through the mainGW.
Is there a way to have two Trunks (same provider, same trunk, same everything) load-balanced with round-robing policy?
Let’s say, odd calls through GW1, even calls through GW2 ?

Otherwise, if I have two Trunks … (same provider, same rategroup, same everything), is there a way to have this two Trunks load-balanced with round-robing policy?
Let’s say, odd calls through Trunk1, even calls through Trunk2 ?

And … how can I use mod_distributor with ASTPP ?

Thanks for any suggestion.

Hello @FiberTelecom
Percentage based routing is not available in community/opensource edition.
The work around could be few of the code’s Origination Rates created under different Rate Group which will have 2 trunks selected under it and those two Trunks will have divided code/prefix Termination Rates created under them

Simply put, 1,2,3,4,5 code/prefix Termination Rates from Trunk1 which is having GW1 configured under it and 6,7,8,9,0 code/prefix Termination Rates from Trunk2 which is having GW2 configured under it

Hello @devangn ,
yes I already did just that way, with a difference
Trunk1 has GW1 configured, with GW2 as failover
Trunk2 has GW2 configured, with GW1 as failover

but I’d like to implement a true balanced situation,
what about the (freeswitch) mod_distributor ? is it possible to use it with ASTPP without breaking everything ? :smiley:

You will need to customize code at many places to accommodate mod_distributor module in ASTPP.

Ok, as a quick’n’dirty patch I’ve hacked the astpp.functions.lua script

in function get_carrier_rates() , at lines 569/571 the generated query was ending with
… ORDER BY … ,TR.precedence ASC, TK.precedence

and I’ve chenged it in
… ORDER BY … ,TR.precedence ASC, TK.precedence, RAND()

It’s not a correct round-robin way but now I’m seeing all the trunks (and gateways) used with (almost) the same load.

Is there a place to ask for new feature ? I’d like to propose “possibility of use distributor() as a gateway”, it should not be difficult to implement.

Yes @FiberTelecom ,You may log the feature request or report bug at