Thanks for the response Jon. Let me have a look at it. On Fri, Jul 24, 2020 at 7:42 PM Jon Abrams <ffs...@gmail.com> wrote:
> Hi Chandan, > > There may be something else purpose built for this, but you can use > the dialog profiles to track and limit the port usage: > > set_dlg_profile("outcarrier","$avp(out_carrier_id)"); > > if ($avp(out_max_call_limit) > 0) > { > set_dlg_profile("profile","$avp(out_qos_profile_id)"); > if > (get_profile_size("profile","$avp(out_qos_profile_id)","$var(out_gw_count)")) > { > if ($var(out_gw_count)>$avp(out_max_call_limit)) > { > xlog("LIMIT: Call $ci - Max call limit hit by > $avp(src_addr) on QosProfile $avp(out_qos_profile_id) to gw > $avp(out_gw_id)\n"); > return(-1); > } > } > } > > On Fri, Jul 24, 2020 at 8:55 AM Chandan PR <chandan...@webshar.org> wrote: > > > > Hello Everyone, > > > > Currently, we are using Open Sips Load balancer in Call Driven load > balancing. > > > > Our scenario is as below: > > > > D - Total Destinations configured at OpenSips > > P - No of Ports/Sessions Each Destination can handle concurrently > > C - Total Capacity = D*P > > > > We have a Call Loader which loads calls to OpenSips at C and as when the > result comes further calls get loaded. > > For some reason, if any destination is not in the right state and sends > error responses without accepting calls, this introduces a drain scenario. > > In the drain scenario where all new calls are given to the faulty > destination as it has more availability. > > > > We are currently handling this by > > > > Running the loader at 80% of C > > Disabling the destination in Opensips if 75% of the calls fail for the > particular destination (Attached loadbalancer.cfg file). > > > > > > But even in this case, it is possible that may call error out as the > destination is free and calls are loaded. > > > > We would like to avoid this scenario to the max possible extent by > limiting the number of calls we send to this particular destination. > > > > Couple of options I see are as below: > > > > Wait for a brief period before sending the response to loader when the > error happens > > Make OpenSips aware of the destination capacity and adjust ports > accordingly > > > > Write a custom script to poll destination capacity and use MI functions > to adjust accordingly > > Or is there any possibility to integrate similar to FreeSwitch driven > routing > > > > Are there any other possibilities of adjusting the OpenSips capacity > dynamically or make it limit the calls sent to the particular destination? > > > > -- > > > > Regards, > > Chandan Ravishankar > > _______________________________________________ > > Users mailing list > > Users@lists.opensips.org > > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > _______________________________________________ > Users mailing list > Users@lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > -- Regards, Chandan Ravishankar <https://about.me/chandanpr>
_______________________________________________ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users