<div dir="ltr"><div>Hello Everyone,<br></div><div><br></div><div>Currently, we are using Open Sips Load balancer in <a href="https://opensips.org/Documentation/Tutorials-LoadBalancing-1-9">Call Driven load balancing</a>.</div><div><br></div><div>Our scenario is as below:</div><div><br></div><div><b>D</b> - Total Destinations configured at OpenSips</div><div><b>P</b> - No of Ports/Sessions Each Destination can handle concurrently</div><div><b>C</b> - Total Capacity = D*P</div><div><br></div><div>We have a Call Loader which loads calls to OpenSips at C and as when the result comes further calls get loaded.</div><div>For some reason, if any destination is not in the right state and sends error responses without accepting calls, this introduces a drain scenario.</div><div>In the drain scenario where all new calls are given to the faulty destination as it has more availability.</div><div><br></div><div>We are currently handling this by </div><div><ol><li>Running the loader at 80% of C </li><li>Disabling the destination in Opensips if 75% of the calls fail for the particular destination (Attached loadbalancer.cfg file).</li></ol></div><div><br></div><div>But even in this case, it is possible that may call error out as the destination is free and calls are loaded.</div><div><br></div><div>We would like to avoid this scenario to the max possible extent by limiting the number of calls we send to this particular destination.</div><div><br></div><div>Couple of options I see are as below:</div><div><ol><li>Wait for a brief period before sending the response to loader when the error happens</li><li>Make OpenSips aware of the destination capacity and adjust ports accordingly</li><ul><li>Write a custom script to poll destination capacity and use MI functions to adjust accordingly</li><li>Or is there any possibility to integrate similar to <a href="https://blog.opensips.org/2017/03/01/freeswitch-driven-routing-in-opensips-2-3/">FreeSwitch driven routing</a></li></ul></ol></div><div>Are there any other possibilities of adjusting the OpenSips capacity dynamically or make it limit the calls sent to the particular destination?</div><div><br></div><div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><br>
</div><div>Regards,</div><div><a href="https://about.me/chandanpr" target="_blank">Chandan Ravishankar</a></div></div></div></div></div>