Dear all,
I'm trying with the Dispatcher module to terminate a call to three different
gateways serially. For each gw I use the attribute field to get the
attribute and add it as a prefix to the RU.
The problem is that the $avp(dsattrs) is returning always the first value of
the first gw that is using.
example:
destination sip:100.12.12.12:5060 attrs 111
destination sip:100.12.12.11:5060 attrs 222
destination sip:100.12.12.10:5060 attrs 333
In this example the rU will always be 111+number. I tried also to initiate
the avp in the Failure route by giving null value but still does not change
the result.
In Request route:
if(ds_select_domain("$avp(s:disp_dstgrp)", "4"))
{
$avp(s:term_prefix) = $avp(dsattrs); # avp for CDR
purpose
$rU = $avp(dsattrs) + $rU;
t_on_failure("FAIL_NATIONAL");
t_relay();
exit;
}
In Failure route:
if(!ds_next_domain())
{
t_reply("503", "Service Unavailable");
exit;
} else {
$rU = $avp(dsattrs) + $rU;
t_on_failure("FAIL_THIS");
append_branch();
if(!t_relay()) {
t_reply("503","Service Unavailable");
exit;
}