Hello,
ehm... I would like to have the following scenario working:
1. dispatcher load-balance between SIP GWs (based on call-id)
2. one GW fails -> dispatcher detects it and remove from list
3. dispatcher starts to ping (with OPTIONS) failed GW until
failed GW is back online.
4. when GW is online, despatcher "reloads" back previously
failed GW to balancing list...
I was not able to get working steps 3. and 4.
Recently I found solution:
I replaced ds_mark_dst(); with ds_mark_dst("p");
and it works :)
Thank you :-)
Daniel-Constantin Mierla wrote:
Hello,
On 04/15/08 16:23, Miroslav HOSTINSKY wrote:
Hello all,
I have problem with dispatcher module in openser 1.3.1
I am not able to correctly setup scenario when failed GWs
will be automatically reloaded back by openser, when they will
be available.
what means reloading? To take them from database?
At first sight all seems ok, I have to dig in a bit to give more details.
Cheers,
Daniel
My openser.cfg:
--
mpath = "/usr/lib/openser/modules"
debug = 3
fork = no
log_stderror = yes
children = 2
check_via = no
dns = off
rev_dns = off
port = 5060
loadmodule "maxfwd.so"
loadmodule "sl.so"
loadmodule "tm.so"
modparam("tm", "fr_timer", 5)
loadmodule "xlog.so"
loadmodule "avpops.so"
loadmodule "textops.so"
loadmodule "dispatcher.so"
modparam("dispatcher", "list_file",
"/etc/openser/dispatcher.list")
modparam("dispatcher", "flags", 2)
modparam("dispatcher", "force_dst", 1)
modparam("dispatcher", "dst_avp", "$avp(i:271)")
modparam("dispatcher", "grp_avp", "$avp(i:272)")
modparam("dispatcher", "cnt_avp", "$avp(i:273)")
modparam("dispatcher", "ds_ping_method", "OPTIONS")
modparam("dispatcher", "ds_ping_interval", 5)
modparam("dispatcher", "ds_ping_from",
"sip:proxy@192.168.245.201")
modparam("dispatcher", "ds_probing_threshhold", 3)
########################################################################
# Request route 'main'
########################################################################
route {
if ( method=="INVITE" || method=="ACK" ||
method=="BYE" ||
method=="OPTIONS" ) {
ds_select_dst("1","0");
t_on_failure("1");
t_relay();
exit;
}
}
failure_route[1] {
if (t_check_status("408")) {
xlog("L_INFO","Marking GW as failed...\n");
ds_mark_dst();
ds_next_dst();
t_on_failure("1");
t_relay();
} else{
t_reply("501","Not Implemented");
}
}
--
According to dispatcher readme file, this config should be sufficient
(I think :)), but there is no OPTIONS generated by openser to the
failed gateways.
Removing of failed GWs works perfectly for me...
Could someone help what is wrong with my config?
Thanks.
_______________________________________________
Users mailing list
Users(a)lists.openser.org
http://lists.openser.org/cgi-bin/mailman/listinfo/users