[OpenSIPS-Users] dispatcher - not getting out of Pending mode
Matt Hamilton
mistral9999 at hotmail.com
Fri Nov 25 04:12:24 CET 2011
I'm testing dispatcher with failover (tesitng both probing_modes: automatic with 1, and 0 with failure_route). Opensips is dispatching calls to 2 Asterisk servers. If I stop one of the Asterisk servers, that node becomes Pending as expected, but when I restart the node, it doesn't turn Active again.
Here is my test:
1. I start Opensips with both Asterisk nodes Active (Asterisk is running on both servers)
ds_list ( opensipsctl fifo ds_list) shows both nodes Active
2. I stop Asterisk in Server B
ds_list shows 2nd node as "P" pretty much right away for mode 1, and after the 1st failed request comes for mode 2
So far, everything is OK
3. I start Asterisk in server B
ds_list still shows Server B as Pending (both for mode 1 and 2); however, it never goes back to Active unless I restart Opensips
If I start Opensips when one of the nodes Pending (Asterisk off), and later start Asterisk on that node, ds_list still doesn't report it Active.
The log (debug=4) shows both nodes sending the <OPTION> reply, but for some reason ds_list doesn't reflect that, and ds_select_dst ignores the new "active" node.
Any suggestions? I'm pretty sure I'm missing something very simple.
Below is my code.
Thanks,
Matt
###############################################################################################
# gateways
1 sip:10.0.1.128:5060
1 sip:10.0.1.129:5060
###############################################################################################
modparam("dispatcher", "list_file","/usr/local/etc/opensips/dispatcher.list")
modparam("dispatcher", "flags", 2)
modparam("dispatcher", "dst_avp", "$avp(271)")
modparam("dispatcher", "grp_avp", "$avp(272)")
modparam("dispatcher", "cnt_avp", "$avp(273)")
modparam("dispatcher", "hash_pvar", "$si")
modparam("dispatcher", "ds_ping_method", "OPTIONS")
modparam("dispatcher", "ds_ping_interval", 1)
modparam("dispatcher", "ds_probing_mode", 0)
modparam("dispatcher", "ds_probing_threshhold", 1)
modparam("tm", "fr_timer", 3)
route{
if (!ds_is_in_list("$si", "$sp")) { /* if it's not asterisk replying back to opensips */
t_on_failure("1");
ds_select_dst("1", "7");
}
route(1);
}
route[1] {
if (!t_relay()) {
sl_reply_error();
};
exit;
}
failure_route[1]{
if (t_was_cancelled()) {
exit;
}
if (t_check_status("408")) {
ds_mark_dst("p");
t_on_failure("1");
ds_next_dst();
route(1);
}
}
###############################################################################################
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20111124/f86cd9f9/attachment-0001.htm>
More information about the Users
mailing list