Feature Requests item #1893021, was opened at 2008-02-13 11:24
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=743023&aid=1893021&group_id=139143

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Konstantin Bokarius (contract)
Assigned to: Nobody/Anonymous (nobody)
Summary: complete dispatcher failover

Initial Comment:
Version 1.3

I have modified dispatch.c to probe all current gateways in the dispatcher 
list. If a probe fails or times out the gateway is put into "probing" mode 
where it is no longer active and won't be chosen from the destination list. On 
the other hand if a probe succeeds the gateway is put into "active" mode and 
will be available in the list.

By setting the ds_ping_interval you are essentially forcing openSER to probe 
each gateway at that interval. The code modification was minimal and goes a 
long way past probing only the failed gateways. 

ds_is_from_list() has been modified to return true only if that gateway is in 
the list AND not "probing".  This function was modified to allow me to use 
database driven intelligent load balancing for call distribution and to double 
check the database chosen destination against the internal dispatcher list to 
be certain the gateway is available.  So:

avp_pushto("$duri", "$var(dStr)");
if (ds_is_from_list())
 ... the gatey is up
else
 ... the gateway is down check DB again

ds_options_callback() has been modified to set a gateway to probing in case a 
probe fails or times out.

ds_check_timer() has been modified to probe all gateways, not just the ones in 
"probing" state.

If implemented in a future release I would suggest adding some options that 
allow the user to probe only failed gateways, as in the current release, or all 
gateways as in my modification.




----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=743023&aid=1893021&group_id=139143

_______________________________________________
Devel mailing list
Devel@lists.openser.org
http://lists.openser.org/cgi-bin/mailman/listinfo/devel

Reply via email to