Adding a function to allow either an MI command to update the weighting or having the probing pull the data from the sources was my first thought, however I’m
hoping to avoid having to run customized modules just to prevent the need to deal with forward compatibility problems down the road. I’d almost rather build my own load distribution mechanism than deal with that.
Brooks Bridges |
Sr. Voice Services Engineer
O1 Communications
5190 Golden Foothill Pkwy
El Dorado Hills, CA 95762
office:
916.235.2097 |
main: 888.444.1111, Option 2
email:
bbridges@o1.com | web:
www.o1.com
From: sr-users [mailto:sr-users-bounces@lists.sip-router.org]
On Behalf Of SamyGo
Sent: Thursday, March 24, 2016 11:38 AM
To: Kamailio (SER) - Users Mailing List
Subject: Re: [SR-Users] dynamic weighting for dispatcher
Hi Brooks,
While I was trying to figure issue out with my dispatcher issue here is something that I think might work for you. It do requires modifying little bit C code to pull some weight from a redis/memcache of remote destination
and use that value instead. Somewhere in this function of dispatcher module possibly:
Ref: https://github.com/kamailio/kamailio/blob/master/modules/dispatcher/dispatch.c
/*! \brief
* Timer for checking probing destinations
*
* This timer is regularly fired.
*/
void ds_check_timer(unsigned int ticks, void* param)
Since this is probing at regular intervals, code is already there all it needs is to get a number and set it as the destination's weight.
Just my crazy idea, but Daniel or Kamailio team might suggest something much better than this.
Regards,
Sammy
On Thu, Mar 24, 2016 at 12:30 PM, Brooks Bridges <bbridges@o1.com> wrote:
So I’m building a load balancer solution that needs to monitor remote devices at a specific interval via snmp for certain data (channels and cps) and use that data to create a dynamically updated weight for each of the destinations. I can’t find any reasonable
mechanism for updating the weight attribute in the dispatcher module itself without having to do some hacky “update the database column then trigger dispatcher.reload” script, which I very much want to avoid.
Is this something I should just be thinking of ditching the dispatcher module and rolling my own design or am I missing something obvious?
Brooks Bridges |
Sr. Voice Services Engineer
O1 Communications
5190 Golden Foothill Pkwy
El Dorado Hills, CA 95762
office:
916.235.2097 |
main: 888.444.1111, Option 2
email:
bbridges@o1.com | web:
www.o1.com
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users