What about using SNMP as well? Have the OpenSIPS machine poll for load average every so often and set some variable?
1. Poll for load average 2. Send Options to make sure FS is alive 3. Set variable for OpenSIPs to use I wouldnt dare run my network without Cacti and Nagios monitoring it so I already have SNMP built out. You can extend SNMP with scripts of your choice: https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/ 6/html/Deployment_Guide/sect-System_Monitoring_Tools-Net-SNMP-Extending.html I have mine counting pids, asterisk active calls, and G729 licenses. Load average and CPU usage are built into net-snmp. Shanon From: [email protected] [mailto:[email protected]] On Behalf Of Bogdan-Andrei Iancu Sent: Saturday, February 22, 2014 7:37 AM To: OpenSIPS users mailling list; FreeSWITCH Users Help; [email protected] Subject: Re: [OpenSIPS-Users] [Freeswitch-users] Brainstorming load balancing feature - dispatcher & FS Hey Norman, That is possible but not sufficient as: - any party in the call may hangup the call, so BYE may come to FS (versus being generated by FS) - but I guess you can add the header to the 200 OK BYE too - relying on the BYEs (calls) OpenSIPS will not be able to get a continuous information on the load - if there are no calls, no new updates on the load are received by OS - this may be a major problem if one FS instance is used by multiple OS balancers (or handles call from any other parties). Currently we are looking into fetching the load information directly via FS APIs. Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer http://www.opensips-solutions.com On 20.02.2014 22:29, Norman Tomlins wrote: Well, You could have FreeSwitch send it in the bye message when each call hangs up. That will give you a rough idea. ie: <action application="set" data="sip_bye_h_X-CPU=95%"/> And you could set this variable in the hang up hook and opensips could use this number for load balancing and strip the info before sending back to the customer. On Mon, Feb 17, 2014 at 4:10 PM, Bogdan-Andrei Iancu <[email protected]> wrote: Hello, Indeed, we had some discussions with Ken Rice about interconnecting OpenSIPS and FreeSwitch. The main idea is to make use of the Load-Balancer module in OpenSIPS (please note this is not a simple dispatcher or probabilistic/hashing routing, but actually a LOAD based routing engine) and have this LB module connected into FreeSwitch to collect information about real load on FS (currently, LB module in OpenSIPS counts as load the number of ongoing calls). But as here suggested, the load on FS can be evaluated based on CPU/memory usage or any other internal FS parameters which may be relavant. The interconnection between OS and FS can be either via one of the FS APIs (having the two software talking directly) or, as Jay suggested, directly via SIP OPTIONS (when to add the load info in replied can be determined based on the src IP of the OPTIONS request). Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer http://www.opensips-solutions.com On 17.02.2014 17:40, Ali Pey wrote: This would be a pretty cool feature and I know that OpenSIPS guys have discussed such a feature with FreeSWITCH dev. This would be a great addition for load balancing. Adding OpenSIPS user mailing list. Regards, Ali Pey On Mon, Feb 17, 2014 at 8:15 AM, Karsten Horsmann <[email protected]> wrote: Hello List, i read too the nice http://wiki.freeswitch.org/wiki/Enterprise_deployment Enterprise Deployment Setups. Personaly i run FS 1.2.x as Session Border Controller where sip clients could register and internal (3rd party) IVRs could reachs the clients. I plan to use DNS SRV on the to scale up the FS Servers and have fault talerance. For that i have to diffrent uplinks that i could use for the DNS SRV Records and AFAIK i could use track-calls=true in sofia profiles to track the right incoming/outgoing profile. The only thing i missed is that my 3rd party IVRs used FS as outbound proxy and therefore only one IP is spezified on the internal network. With an virtual IP on the FS side i could solve that but then the FS servers is IMHO limited to be a active/passiv duo. Any ideas how to handle that? 2014-02-17 2:45 GMT+01:00 jay binks <[email protected]>: So I want to bash out a feature I was thinking of, please can anyone chime in some ideas on this. So its easy to have OpenSIP / Kamailio ( dispatcher ) send SIP Options to FS to see if its responding .. this is great ... My request would be to have some kind of control over the response FS Sends back. What I would love is to respond with idle CPU , current SPS / Max SPS or channels / Max Channels. This is only a high level "this would be nice" , so I havnt totally thought this through but... we would have to provide an ACL for who to provide this back to, coz I wouldnt really want any old guy on the internet sending me options and me respond going ... oh yea bro, Im at 90% ... dont have to try hard to DDOS Me.. :) but yea... if we could give this back to the load balancers, then we could easily instruct them to back traffic off to this gateway. the next part is , how do you back off the traffic. one option is to have FS respond differently if any of these are close to thresholds. or to provide these values in custom headers, but that would require changes in dispatcher ( which is ok I Guess ) anyways... I wanted some input on peoples thoughts here.. let me know what you think. Jay _______________________________________________ Users mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/users
