<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body text="#42392c" bgcolor="#ffffff">
<font size="+1"><font face="Cantarell">Hello Everyone,<br>
Dispatcher in cluster causing destinations goes down
unexpectedly. <br>
<b>Scenario: </b><br>
Two nodes with last ip octet 61 and 41.<br>
Freeswitch stats to calculate weight.<br>
<b>Issue:</b><br>
61 is set to ping all destinations and report to the 41 the
status via cluster, the issue that 41 bring down all
destinations into Inactive state after cluster update message
until ds_reload issued again.<br>
<b>Attempt to fix: </b><br>
I tried set limit on which groups which node can ping, but seems
like in cluster it should be relevant, because 61 should get
status of all groups and send to 41.<br>
<b>Relevant Config:</b><br>
Node 61:<br>
</font></font><br>
<pre style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace; font-size: 11.9px; margin-top: 0px; margin-bottom: 16px; overflow-wrap: normal; padding: 16px; overflow: auto; line-height: 1.45; background-color: var(--color-bg-tertiary); border-radius: 6px; color: rgb(36, 41, 46); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace; font-size: 11.9px; padding: 0px; margin: 0px; background: transparent; border-radius: 6px; word-break: normal; white-space: pre; border: 0px; display: inline; overflow: visible; line-height: inherit; overflow-wrap: normal;">#### Dispatcher
loadmodule "dispatcher.so"
modparam("dispatcher", "db_url", "postgres://")
modparam("dispatcher", "table_name", "dispatcher")
modparam("dispatcher", "setid_col", "setid")
modparam("dispatcher", "priority_col", "priority")
modparam("dispatcher", "destination_col", "destination")
modparam("dispatcher", "cnt_avp", "$avp(274)")
modparam("dispatcher", "grp_avp", "$avp(275)")
modparam("dispatcher", "hash_pvar", "$avp(273)")
modparam("dispatcher", "dst_avp", "$avp(271)")
modparam("dispatcher", "sock_avp", "$avp(276)")
modparam("dispatcher", "ds_ping_from", <a class="moz-txt-link-rfc2396E" href="sip:proxy@10.30.100.61">"sip:proxy@10.30.100.61"</a>)
modparam("dispatcher", "ds_ping_method", "OPTIONS")
modparam("dispatcher", "ds_ping_interval", 45)
modparam("dispatcher", "ds_probing_mode", 1)
modparam("dispatcher", "ds_probing_threshold", 5)
modparam("dispatcher", "ds_probing_list", "2,3,4")
modparam("dispatcher", "fetch_freeswitch_stats", 1)
modparam("dispatcher", "options_reply_codes", "501,403,404,400,200")
modparam("dispatcher", "cluster_id", 1)
</code><font size="+1"><font face="Cantarell">Node 41:
</font></font><code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace; font-size: 11.9px; padding: 0px; margin: 0px; background: transparent; border-radius: 6px; word-break: normal; white-space: pre; border: 0px; display: inline; overflow: visible; line-height: inherit; overflow-wrap: normal;">#### Dispatcher
loadmodule "dispatcher.so"
modparam("dispatcher", "")
modparam("dispatcher", "table_name", "dispatcher")
modparam("dispatcher", "setid_col", "setid")
modparam("dispatcher", "priority_col", "priority")
modparam("dispatcher", "destination_col", "destination")
modparam("dispatcher", "cnt_avp", "$avp(274)")
modparam("dispatcher", "grp_avp", "$avp(275)")
modparam("dispatcher", "hash_pvar", "$avp(273)")
modparam("dispatcher", "dst_avp", "$avp(271)")
modparam("dispatcher", "sock_avp", "$avp(276)")
modparam("dispatcher", "ds_ping_from", <a class="moz-txt-link-rfc2396E" href="sip:proxy@10.30.100.41">"sip:proxy@10.30.100.41"</a>)
modparam("dispatcher", "ds_ping_method", "OPTIONS")
modparam("dispatcher", "ds_ping_interval", 45)
modparam("dispatcher", "ds_probing_mode", 1)
modparam("dispatcher", "ds_probing_threshold", 5)
modparam("dispatcher", "fetch_freeswitch_stats", 1)
modparam("dispatcher", "options_reply_codes", "501,403,404,400,200")
modparam("dispatcher", "ds_probing_list", "1")
modparam("dispatcher", "cluster_id", 1)
modparam("dispatcher", "cluster_sharing_tag", "vip")</code>
<font size="+1"><font face="Cantarell">
<b>Comments:</b>
I think in cluster 41 should not do any operation or decisions regard node states and it should rely on 61 only
<b>Log: </b>
</font></font>
<font size="+1"><font face="Cantarell"> 41 node
</font></font>[root@vprx00 ~]# grep EVENT /var/log/opensips/opensips.log
Feb 1 12:44:57 vprx00 /usr/sbin/opensips[250547]: [EVENT_ROUTE] [DISPATCHER] received group=0 ~> address=<a class="moz-txt-link-freetext" href="sip:10.30.100.57:5160">sip:10.30.100.57:5160</a> ~> status=inactive
Feb 1 12:50:54 vprx00 /usr/sbin/opensips[250545]: [EVENT_ROUTE] [DISPATCHER] received group=0 ~> address=<a class="moz-txt-link-freetext" href="sip:10.30.100.48:5160">sip:10.30.100.48:5160</a> ~> status=inactive
Feb 1 12:52:15 vprx00 /usr/sbin/opensips[250538]: [EVENT_ROUTE] [DISPATCHER] received group=0 ~> address=<a class="moz-txt-link-freetext" href="sip:10.30.100.49:5160">sip:10.30.100.49:5160</a> ~> status=inactive
</pre>
41 node<br>
Feb 1 14:24:49 vprx00 /usr/sbin/opensips[250540]:
DBG:dispatcher:w_ds_select: ds_select: 1 1 1000 1<br>
Feb 1 14:24:49 vprx00 /usr/sbin/opensips[250540]:
DBG:dispatcher:ds_select_dst: no active destinations in set [1] !<br>
<pre style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace; font-size: 11.9px; margin-top: 0px; margin-bottom: 16px; overflow-wrap: normal; padding: 16px; overflow: auto; line-height: 1.45; background-color: var(--color-bg-tertiary); border-radius: 6px; color: rgb(36, 41, 46); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><font size="+1"><font face="Cantarell">
volga629.
</font></font><code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace; font-size: 11.9px; padding: 0px; margin: 0px; background: transparent; border-radius: 6px; word-break: normal; white-space: pre; border: 0px; display: inline; overflow: visible; line-height: inherit; overflow-wrap: normal;"></code><code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace; font-size: 11.9px; padding: 0px; margin: 0px; background: transparent; border-radius: 6px; word-break: normal; white-space: pre; border: 0px; display: inline; overflow: visible; line-height: inherit; overflow-wrap: normal;"></code></pre>
<font size="+1"><font face="Cantarell"><br>
<br>
</font></font>
</body>
</html>