<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 class="moz-txt-link-abbreviated" href="mailto:sr-users@lists.sip-router.org">sr-users@lists.sip-router.org</a>
<br>
<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>
<br>
</blockquote>
</blockquote>
_______________________________________________
<br>
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users
mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:sr-users@lists.sip-router.org">sr-users@lists.sip-router.org</a>
<br>
<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>
<br>
<br>
<br>
</blockquote>
<br>
_______________________________________________
<br>
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users
mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:sr-users@lists.sip-router.org">sr-users@lists.sip-router.org</a>
<br>
<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>
<br>
</blockquote>
<br>
</blockquote>
<br>
</body>
</html>