Dear all,
I'm trying to create a service which when a call
reach Kamailio, this call get's a number of gateways
in round robin mode and from them I create uri and
append_branches.
The all scenario works fine except that I don't get
from Dispatcher the round robin mode. Is is the way
I ask Dispatcher and i don't get the results I need.
In other scenarios Dispatcher works fine. The other
thing is that I tried the random alg of Dispatcher
and that works.
I'm trying to understand what I'm doing wrong and
why random alg works but round robin not.
I'm attaching my code if anyone has an idea of what
I'm doing wrong.
Thank you
Alex
Scenario description:
Call enter
--> Dialplan (Here if has a
match get the attributes which is a list of
dispatcher gw group in the form of 100.101.#)
--> Dispatcher
(For every dispatcher gw group appnd the branch)
-->
Redirect the call
route[TEST]
{
if(dp_translate("$avp(s:lcr_id)", "$rU/$rU"))
{
$var(i) = 0;
while($(var(dpattrs){s.select,$var(i),.})!="#")
#attr
example is gw group of disptcher in order
100.101.# or in my scenario is 200.# which in
Dispatcher is 2 gw 10.0.0.2 and 10.0.0.3
{
$avp(s:disp_dstgrp) =
$(var(dpattrs){s.select,$var(i),.}{
s.int});
if(ds_select_domain("$avp(s:disp_dstgrp)", "4"))
{
append_branch();
revert_uri();
$avp(s:disp_dstgrp) = "null";
}
$var(i) = $var(i) + 1; # for the
while loop
}
#######################
REDIRECTION #####################
sl_send_reply("300",
"Multiple Choice");
#########################################################
exit;
} else {
xlog(" ----- No routing found for
this call -----");
}
}