[OpenSER-Devel] [ openser-Patches-1893021 ] complete dispatcher failover

SourceForge.net noreply at sourceforge.net
Thu Jun 5 09:19:42 CEST 2008


Patches item #1893021, was opened at 2008-02-13 21:24
Message generated for change (Comment added) made by miconda
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=743022&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: ver devel
>Status: Closed
>Resolution: Accepted
Priority: 5
Private: No
Submitted By: Konstantin Bokarius (contract)
Assigned to: Daniel-Constantin Mierla (miconda)
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.




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

>Comment By: Daniel-Constantin Mierla (miconda)
Date: 2008-06-05 10:19

Message:
Logged In: YES 
user_id=1246013
Originator: NO

Re-worked version committed to svn. the part for ds_is_from_list() is
broken. I will see what can be done before the release freeze in this
aspect.

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

Comment By: Olle E. Johansson (oej)
Date: 2008-05-31 22:13

Message:
Logged In: YES 
user_id=7341
Originator: NO

If this is going in, we need an update for the documentation too.

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

Comment By: Henning Westerholt (henningw)
Date: 2008-02-14 10:08

Message:
Logged In: YES 
user_id=337916
Originator: NO

Moved to patches section.

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

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



More information about the Devel mailing list