<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hi All,<br>
<br>
Just wondering, has anyone else experienced the behaviour described
below, where messages are still routed to a gateway that is in
Active-Probing state? From my understanding of the docs, when a
destination is in probing state, it should not be used in the
destination selection. I can see that Kamailio does set the state
from AX to AP (Active to Active-Probing) when a timeout occurs, and
a "kamctl dispatcher dump" does show that the state has changed to
AP, however, sip trace to the destination still shows messages being
routed to the destination that is in AP mode.<br>
<br>
Just checking if anyone else is seeing this behaviour as well.<br>
<br>
Thanks<br>
<br>
<br>
On 24/10/2011 16:30, Asgaroth wrote:
<blockquote cite="mid:4EA58479.7090609@gmail.com" type="cite">
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
OK, did a few more tests but have come accross something, which I
am not sure is intended behaviour.<br>
<br>
When setting a destingation as probing in failure route (due to
timeout), the destination still gets used in destination
selection.<br>
<br>
# ./kamailio -V<br>
version: kamailio 3.3.0-dev0 (i386/linux) 25bedc<br>
flags: STATS: Off, USE_IPV6, USE_TCP, USE_TLS, TLS_HOOKS,
USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM,
SHM_MMAP, PKG_MALLOC, DBG_QM_MALLOC, USE_FUTEX,
FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER,
USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES<br>
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN
16, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 4MB<br>
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.<br>
id: 25bedc <br>
compiled on 09:18:41 Oct 21 2011 with gcc 4.1.2<br>
<br>
Dispatcher module parameters (in testing) are as follows
(SBC_PING_FROM is #defined previously):<br>
<br>
modparam("dispatcher", "flags", 2)<br>
modparam("dispatcher", "dst_avp", "$avp(AVP_DST)")<br>
modparam("dispatcher", "grp_avp", "$avp(AVP_GRP)")<br>
modparam("dispatcher", "cnt_avp", "$avp(AVP_CNT)")<br>
modparam("dispatcher", "ds_ping_method", "OPTIONS")<br>
modparam("dispatcher", "ds_ping_from", SBC_PING_FROM)<br>
modparam("dispatcher", "ds_ping_interval", 10)<br>
modparam("dispatcher", "ds_probing_threshhold", 1)<br>
modparam("dispatcher", "ds_probing_mode", 0)<br>
<br>
Main routing logic has following snippet to select destination
(hash table selects dispatcher setid based on request domain):<br>
<br>
if(!ds_select_dst("$sht(which_sbc=>$rd)", "0"))
{<br>
sl_send_reply("500", "No destination
available");<br>
xlog("route[MAIN] : $rm : No destinations
available for $rd");<br>
exit;<br>
}<br>
<br>
Failure route has following logic to select next destination based
on timout/failure of destination:<br>
<br>
if (t_branch_timeout() && !t_branch_replied())<br>
{<br>
xlog("route[TO_SBC] : $rm : timeout and no reply
($si:$sp->$Ri:$Rp->$du)\n");<br>
xlog("route[TO_SBC] : $rm : setting $du to probing
state");<br>
ds_mark_dst("p");<br>
if(ds_next_dst())<br>
{<br>
xlog("route[TO_SBC] : $rm : next
destination select ($du)\n");<br>
t_on_failure("TO_SBC");<br>
t_relay();<br>
exit;<br>
} else {<br>
send_reply("500", "No destination
available");<br>
xlog("route[TO_SBC] : $rm : No
destinations available for $rd");<br>
exit;<br>
}<br>
}<br>
<br>
According to 3.2 module docs for dispatcher, when a destination is
set into probing state, it will not be used by ds_select_dst:<br>
----<br>
<h3 class="title">4.6. <code class="function">ds_mark_dst("s")</code>
</h3>
<p> Mark the last used address from destination set as inactive
("i"/"I"/"0"), active ("a"/"A"/"1") or probing ("p"/"P"/"2").
With this function, an automatic detection of failed gateways
can be implemented. When an address is marked as inactive or
probing, it will be ignored by 'ds_select_dst' and
'ds_select_domain'. </p>
<p>possible parameters:</p>
<div class="itemizedlist">
<ul>
<li>
<p><span class="emphasis"><em>"i", "I" or "0"</em></span> -
the last destination should be set to inactive and will be
ignored in future requests.</p>
</li>
<li>
<p><span class="emphasis"><em>"a", "A" or "1"</em></span> -
the last destination should be set to active and the
error-counter should set to "0".</p>
</li>
<li>
<p><span class="emphasis"><em>"p", "P" or "2"</em></span> -
the last destination will be set to probing. Note: You
will need to call this function "threshhold"-times, before
it will be actually set to probing.</p>
</li>
</ul>
</div>
<p> This function can be used from REQUEST_ROUTE, FAILURE_ROUTE. </p>
---<br>
<br>
What happens here, for me, is:<br>
<br>
[1] Gateway is in Active mode (state: AX).<br>
[2] Request comes in and times out, destination is set to
Active/Probing (state: AP)<br>
[3] Another request comes in and it selects gateway that is in AP
mode, times out, and then selects next dst in list.<br>
[4] Another request comes in and it selects gateway that is in AP
mode, times out, and then selects next dst in list.<br>
. <br>
.<br>
<br>
NOTE: The requests selecting the AP mode gateway may not be right
after each other (algorythm used is hash over callid) but I have
stripped those out in above steps. If I'm not mistaked, if 2
destination in a set, and 1 destination is marked as AP, then
remaining destination should always be selected as destination to
send to. The destination marked AP (active-probing) should not be
selected while in probing state.<br>
<br>
When the gateway is set into AP mode at step [2], then, according
to docs, any new request coming in should not have the gateway
selected as it is marked as being in probing state.<br>
<br>
Is this the intended behaviour or am I missing something in the
documentation, or is it a bug?<br>
<br>
Thanks<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
On 22/10/2011 15:55, Daniel-Constantin Mierla wrote:
<blockquote cite="mid:4EA2D969.7040307@gmail.com" type="cite">Hello,
<br>
<br>
yes, I will do it. Just happens to travel these days, but when I
get the time for it, I will do it. <br>
<br>
Btw, did you test also the load balancing functionality? Was it
affected or all is ok when you change the states? I mean when
you disable/make inactive a gateway, is no longer used for
routing, right? Just double checking, to be sure it was not
affected by this change. <br>
<br>
Thanks, <br>
Daniel <br>
<br>
On 10/22/11 3:42 PM, Asgaroth wrote: <br>
<blockquote type="cite">Hi Daniel, <br>
<br>
Just a reminder for this issue, to backport to 3.2.0 :) <br>
<br>
Thanks <br>
<br>
On 21/10/2011 10:53, Asgaroth wrote: <br>
<blockquote type="cite">Hi Daniel, <br>
<br>
It appears the change you made has fixed the issue. Below
are my tests: <br>
<br>
# kamailio -V <br>
version: kamailio 3.3.0-dev0 (i386/linux) 25bedc <br>
flags: STATS: Off, USE_IPV6, USE_TCP, USE_TLS, TLS_HOOKS,
USE_RAW_SOCKS, <br>
DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP,
PKG_MALLOC, <br>
DBG_QM_MALLOC, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT,
USE_DNS_CACHE, <br>
USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST,
HAVE_RESOLV_RES <br>
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144,
MAX_LISTEN 16, <br>
MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 4MB <br>
poll method support: poll, epoll_lt, epoll_et, sigio_rt,
select. <br>
id: 25bedc <br>
compiled on 09:18:41 Oct 21 2011 with gcc 4.1.2 <br>
<br>
Here we have the dispatcher state as loaded from db on
startup in <br>
kamailio memory. <br>
<br>
# kamctl dispatcher dump <br>
SET_NO:: 2 <br>
SET:: 1 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
flags=AX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a>
flags=AX priority=0 attrs= <br>
SET:: 2 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a>
flags=AX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a>
flags=AX priority=0 attrs= <br>
<br>
Now try set state for destination to inactive (Worked) <br>
<br>
# kamctl fifo ds_set_state i 1 <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
<br>
# kamctl dispatcher dump <br>
SET_NO:: 2 <br>
SET:: 1 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
flags=IX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a>
flags=AX priority=0 attrs= <br>
SET:: 2 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a>
flags=AX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a>
flags=AX priority=0 attrs= <br>
<br>
Now try set state for destination to active (Worked) <br>
<br>
# kamctl fifo ds_set_state a 1 <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
<br>
# kamctl dispatcher dump <br>
SET_NO:: 2 <br>
SET:: 1 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
flags=AX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a>
flags=AX priority=0 attrs= <br>
SET:: 2 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a>
flags=AX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a>
flags=AX priority=0 attrs= <br>
<br>
Now try set state for destination to inactive-probing
(Worked) <br>
<br>
# kamctl fifo ds_set_state ip 1 <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
<br>
# kamctl dispatcher dump <br>
SET_NO:: 2 <br>
SET:: 1 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
flags=IP priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a>
flags=AX priority=0 attrs= <br>
SET:: 2 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a>
flags=AX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a>
flags=AX priority=0 attrs= <br>
<br>
I waited for OPTIONS/INFO message and checked state
(Worked), changed <br>
state from IP -> AX <br>
<br>
# kamctl dispatcher dump <br>
SET_NO:: 2 <br>
SET:: 1 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
flags=AX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a>
flags=AX priority=0 attrs= <br>
SET:: 2 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a>
flags=AX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a>
flags=AX priority=0 attrs= <br>
<br>
Now try set state to active-probing (Worked) <br>
<br>
# kamctl fifo ds_set_state ap 1 <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
<br>
# kamctl dispatcher dump <br>
SET_NO:: 2 <br>
SET:: 1 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
flags=AP priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a>
flags=AX priority=0 attrs= <br>
SET:: 2 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a>
flags=AX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a>
flags=AX priority=0 attrs= <br>
<br>
I waited for OPTIONS/INFO message and checked state
(Worked), changed <br>
state from AP -> AX <br>
<br>
# kamctl dispatcher dump <br>
SET_NO:: 2 <br>
SET:: 1 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
flags=AX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a>
flags=AX priority=0 attrs= <br>
SET:: 2 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a>
flags=AX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a>
flags=AX priority=0 attrs= <br>
<br>
Now try set state to disabled (Worked). At this point no
pinging occured <br>
as destination is admin down. <br>
<br>
# kamctl fifo ds_set_state d 1 <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
<br>
# kamctl dispatcher dump <br>
SET_NO:: 2 <br>
SET:: 1 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
flags=DX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a>
flags=AX priority=0 attrs= <br>
SET:: 2 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a>
flags=AX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a>
flags=AX priority=0 attrs= <br>
<br>
Now try set state to inactive-probing again, from disabled
state (Worked) <br>
<br>
# kamctl fifo ds_set_state ip 1 <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
<br>
# kamctl dispatcher dump <br>
SET_NO:: 2 <br>
SET:: 1 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
flags=IP priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a>
flags=AX priority=0 attrs= <br>
SET:: 2 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a>
flags=AX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a>
flags=AX priority=0 attrs= <br>
<br>
I waited for OPTIONS/INFO message and checked state
(Worked), changed <br>
state from IP -> AX <br>
<br>
# kamctl dispatcher dump <br>
SET_NO:: 2 <br>
SET:: 1 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
flags=AX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a>
flags=AX priority=0 attrs= <br>
SET:: 2 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a>
flags=AX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a>
flags=AX priority=0 attrs= <br>
<br>
Thanks. <br>
<br>
On 20/10/2011 22:54, Daniel-Constantin Mierla wrote: <br>
<blockquote type="cite">Hello, <br>
<br>
indeed the setting of active state via MI command was
wrong. Should be <br>
fixed now in master branch. Can you test it and see if
works ok now (I <br>
had no option to test it myself yet). If all goes fine
with your <br>
tests, then I will backport. <br>
<br>
Guidelines to install master branch can be found at: <br>
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="https://www.kamailio.org/wiki/install/devel/git">https://www.kamailio.org/wiki/install/devel/git</a>
<br>
<br>
Cheers, <br>
Daniel <br>
<br>
<br>
On 10/20/11 7:52 PM, Asgaroth wrote: <br>
<blockquote type="cite">Hi All, <br>
<br>
Just been doing some testing with Kamailio 3.2 and the
dispatcher <br>
module, and have some strange behaviour, can we confirm
if it is <br>
expected behaviour or a bug of some sort. <br>
<br>
It appears that I can only set the dspatcher state via
fifo command <br>
once, and not reset it again, here is an example: <br>
<br>
version: kamailio 3.2.0 (i386/linux) 94d3b8 <br>
flags: STATS: Off, USE_IPV6, USE_TCP, USE_TLS,
TLS_HOOKS, USE_RAW_SOCKS, <br>
DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM,
SHM_MMAP, PKG_MALLOC, <br>
DBG_QM_MALLOC, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT,
USE_DNS_CACHE, <br>
USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST,
HAVE_RESOLV_RES <br>
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144,
MAX_LISTEN 16, <br>
MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 4MB
<br>
poll method support: poll, epoll_lt, epoll_et, sigio_rt,
select. <br>
id: 94d3b8 <br>
compiled on 12:34:43 Oct 20 2011 with gcc 4.1.2 <br>
<br>
<br>
Here we start with the dispatcher list as it was pulled
from the <br>
database and currently loaded in memory. <br>
<br>
# kamctl dispatcher dump <br>
SET_NO:: 2 <br>
SET:: 1 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
flags=AX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a>
flags=AX priority=0 attrs= <br>
SET:: 2 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a>
flags=AX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a>
flags=AX priority=0 attrs= <br>
<br>
Now I try to set one gateway inactive: <br>
<br>
# kamctl fifo ds_set_state i 1 <a
moz-do-not-send="true" class="moz-txt-link-freetext"
href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a> <br>
# kamctl dispatcher dump <br>
SET_NO:: 2 <br>
SET:: 1 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
flags=IX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a>
flags=AX priority=0 attrs= <br>
SET:: 2 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a>
flags=AX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a>
flags=AX priority=0 attrs= <br>
<br>
All normal so far, now if I try to set the same gateway
active again, <br>
the state still stays inactive, i dont seem to be able
to change the <br>
state back to active. The same thing happens if I
attempt to set this <br>
state to disabled and then try to set it back to active
afterwards. The <br>
state does not change from what the first attempt was. <br>
<br>
# kamctl fifo ds_set_state a 1 <a
moz-do-not-send="true" class="moz-txt-link-freetext"
href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a> <br>
# kamctl dispatcher dump <br>
SET_NO:: 2 <br>
SET:: 1 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
flags=IX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a>
flags=AX priority=0 attrs= <br>
SET:: 2 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a>
flags=AX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a>
flags=AX priority=0 attrs= <br>
<br>
Now I can try to set the state to inactive probing, that
works. <br>
<br>
# kamctl fifo ds_set_state ip 1 <a
moz-do-not-send="true" class="moz-txt-link-freetext"
href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a> <br>
# kamctl dispatcher dump <br>
SET_NO:: 2 <br>
SET:: 1 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
flags=IP priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a>
flags=AX priority=0 attrs= <br>
SET:: 2 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a>
flags=AX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a>
flags=AX priority=0 attrs= <br>
<br>
Now if I try to disable the same destination: <br>
<br>
# kamctl fifo ds_set_state d 1 <a
moz-do-not-send="true" class="moz-txt-link-freetext"
href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a> <br>
# kamctl dispatcher dump <br>
SET_NO:: 2 <br>
SET:: 1 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
flags=IP priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a>
flags=AX priority=0 attrs= <br>
SET:: 2 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a>
flags=AX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a>
flags=AX priority=0 attrs= <br>
<br>
State still stays in Inactive/Probing mode. <br>
<br>
Now if I try to set the same gateway to active/probing
mode, I cant: <br>
<br>
# kamctl fifo ds_set_state ap 1 <a
moz-do-not-send="true" class="moz-txt-link-freetext"
href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a> <br>
# kamctl dispatcher dump <br>
SET_NO:: 2 <br>
SET:: 1 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
flags=IP priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a>
flags=AX priority=0 attrs= <br>
SET:: 2 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a>
flags=AX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a>
flags=AX priority=0 attrs= <br>
<br>
The only way for me to get the state back to active
after the above is <br>
to do a reload on the dispatch table: <br>
<br>
# kamctl dispatcher reload <br>
# kamctl dispatcher dump <br>
SET_NO:: 2 <br>
SET:: 1 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
flags=AX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a>
flags=AX priority=0 attrs= <br>
SET:: 2 <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a>
flags=AX priority=0 attrs= <br>
URI:: <a moz-do-not-send="true"
class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a>
flags=AX priority=0 attrs= <br>
<br>
Is the dispatcher expected to behave as above? <br>
<br>
I'm still trying to understand the different states
assuming the <br>
following options are set in the configuration file: <br>
<br>
modparam("dispatcher", "ds_ping_interval", 10) <br>
modparam("dispatcher", "ds_probing_threshhold", 1) <br>
modparam("dispatcher", "ds_probing_mode", 0) <br>
<br>
AX = Active/No Probing <br>
(*) Gateway is used in ds_select_*, ds_next_* <br>
(*) No OPTIONS/INFO messages are sent to
destination to check alive <br>
state <br>
<br>
This appears to be the normal operating state with
no issues <br>
detected. <br>
<br>
AP = Active/Probing <br>
(*) Gateway is NOT used in ds_select_*, ds_next_*
<br>
(*) OPTIONS/INFO messages ARE sent to destination
to check alive <br>
state <br>
<br>
This appears to be the state taken when a gateway
times out and <br>
ds_mark_dst("p") is set in failure route, the gateway is
"pinged" while <br>
down and set into AX mode once a response is recieved. <br>
<br>
IX = Inactive/No Probing <br>
(*) Gateway is NOT used in ds_select_*, ds_next_*
<br>
(*) No OPTIONS/INFO messages sent to destination <br>
<br>
This appears to be the state taken when a gateway
times out and if <br>
ds_mark_dst("i") is set in failure route, this gateway
is set inactive <br>
and no "pinging" is performed. <br>
<br>
IP = Inactive/Probing <br>
(*) Gateway is NOT used in ds_select_*, ds_next_*
<br>
(*) OPTIONS/INFO messages ARE sent to destination
<br>
<br>
I'm not sure when this state would be reached
unless it is set by <br>
fifo command. The ds_mark_dst function only allows
"a","i" or "p". So <br>
the probing method would only become active is
ds_probing_mode = 1. In <br>
my case it is 0, so I'm not sure if I would ever reach
this state unless <br>
I forced it. What would happen here is the gateway came
back alive once <br>
in "IP" state, would it go back to "AX" state? <br>
<br>
DX = Disabled/No Probing <br>
(*) Gateway is administratively set to down <br>
<br>
This is where manual intervention has occured and
the destination <br>
has been set to administrativly down, for example, work
being carried <br>
out on the destination gateway. <br>
<br>
All these states make sense, for the most part, I'm a
little unsure of <br>
how IP/IX is meant to work unless you manually set it to
"inactive" in <br>
your failure route. <br>
<br>
The main concern though is the the fifo commands dont
appear to be <br>
working as expected, I can only set the state for a
destination manually <br>
once, and not again after that, unless I perform a
dispatcher reload. <br>
<br>
Has anyone else experienced this behaviour? <br>
<br>
Any comments/suggestions explanations are most welcome.
<br>
<br>
Thanks <br>
<br>
_______________________________________________ <br>
SIP Express Router (SER) and Kamailio (OpenSER) -
sr-users mailing list <br>
<a moz-do-not-send="true"
class="moz-txt-link-abbreviated"
href="mailto:sr-users@lists.sip-router.org">sr-users@lists.sip-router.org</a>
<br>
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a>
<br>
</blockquote>
</blockquote>
_______________________________________________ <br>
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users
mailing list <br>
<a moz-do-not-send="true" class="moz-txt-link-abbreviated"
href="mailto:sr-users@lists.sip-router.org">sr-users@lists.sip-router.org</a>
<br>
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a>
<br>
<br>
<br>
</blockquote>
<br>
_______________________________________________ <br>
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users
mailing list <br>
<a moz-do-not-send="true" class="moz-txt-link-abbreviated"
href="mailto:sr-users@lists.sip-router.org">sr-users@lists.sip-router.org</a>
<br>
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a>
<br>
</blockquote>
<br>
</blockquote>
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:sr-users@lists.sip-router.org">sr-users@lists.sip-router.org</a>
<a class="moz-txt-link-freetext" href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a>
</pre>
</blockquote>
<br>
</body>
</html>