[OpenSIPS-Users] dispatcher not doing fail over itself
Satish Patel
satish.txt at gmail.com
Tue Sep 16 17:18:55 CEST 2014
Thanks for point out but still its not working, does my flags looks good?
"F" or do i need something else? If i manually shutdown FS1 then it is
going inside failure route and saying "No more gateways in route set" but i
have FS2 active state and if i call again next call works.. do i need to
set some like ( !ds_select_dst("1", "4", "F")) in failure_route ?
route[to_dispatcher] {
# Dispatch to FS
if ( !ds_select_dst("1", "4", "F")) {
send_reply("500","Unable to dispatch call to Freeswitch");
exit;
...
...
failure_route[dispatcher_rollover] {
xlog("Inside dispatcher failure route\n");
if (t_was_cancelled()) {
exit;
}
ds_mark_dst("p");
if(!ds_next_dst()) {
xlog("L_ERR", "R-DISPATCHER-ROLLOVER:$ci No more gateways
in route set\n");
t_reply("503", "Out of gateways");
exit;
}
xlog("L_INFO", "R-DISPATCHER-ROLLOVER:$ci Attempting relay to new
gateway: $rd:$rp\n");
t_on_failure("dispatcher_rollover");
t_relay();
On Tue, Sep 16, 2014 at 3:16 AM, Bogdan-Andrei Iancu <bogdan at opensips.org>
wrote:
> Hi,
>
> your logic in failure route is broken - do the "ds_mark_dst" before
> selecting a new destination via "ds_next_dst". Firs mark the used one as
> probing and then use the next one.
>
> Regards,
>
> Bogdan-Andrei Iancu
> OpenSIPS Founder and Developerhttp://www.opensips-solutions.com
>
> On 16.09.2014 07:59, Satish Patel wrote:
>
> following is my config, I have two Freeswitch, if i stop one of
> freeswitch and call it won't failover itself. but if again i call if send
> call to other FS and if again i call it send to failed one but not auto
> failover..
>
> But after my prob detect it is dead then it change status from Active to
> Probing but that detection time is (10 to 30 second around), mean time it
> should failover call to other freeswitch right? we have 1000 call per
> second and 10/30 second if big :(
>
> #### Dispatcher
> loadmodule "dispatcher.so"
> modparam("dispatcher", "dst_avp", "$avp(i:271)")
> modparam("dispatcher", "attrs_avp", "$avp(i:272)")
> modparam("dispatcher", "grp_avp", "$avp(i:273)")
> modparam("dispatcher", "cnt_avp", "$avp(i:274)")
> modparam("dispatcher", "ds_ping_interval", 5)
> modparam("dispatcher", "ds_probing_threshhold", 10)
> modparam("dispatcher", "ds_probing_mode", 1)
> modparam("dispatcher", "options_reply_codes", "501, 403, 200")
> modparam("dispatcher", "db_url", "mysql://opensips:opensipsrw@localhost
> /opensips")
>
>
> route[to_dispatcher] {
> # Dispatch to FS
> if ( !ds_select_dst("1", "4", "F")) {
> send_reply("500","Unable to dispatch call to Freeswitch");
> exit;
> } else {
> xlog("L_WARN", "dispatcher: Attempting to dispatch call to $du\n");
> }
> t_on_failure("dispatcher_rollover");
> route(relay);
> }
>
> failure_route[dispatcher_rollover] {
> xlog("Inside dispatcher failure route\n");
> if (t_was_cancelled()) {
> exit;
> }
>
> if(!ds_next_dst()) {
> xlog("L_ERR", "R-DISPATCHER-ROLLOVER:$ci No more gateways
> in route set\n");
> t_reply("503", "Out of gateways");
> exit;
> }
> ds_mark_dst("p");
> xlog("L_INFO", "R-DISPATCHER-ROLLOVER:$ci Attempting relay to new
> gateway: $rd:$rp\n");
> t_on_failure("dispatcher_rollover");
> route(relay);
> }
>
>
>
> _______________________________________________
> Users mailing listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20140916/64819ab6/attachment-0001.htm>
More information about the Users
mailing list