hi i m using kamailio 5.3 as register server and using dispatcher i m dendign the calls to freeswitch ..
but the issue is then freeswitch send back call to kamailio after processing media ... it should go back to client but it again send call to freeswitch ,, which create the loop and hangup the call with (Temporarily Unavailable (code: 480))
*what i want *client1------>Kamailio------>FS-----Kamailio----->Client2
*but I am getting this * client1------>Kamailio------>FS-----Kamailio----->FS----->kamailio----->FS
*Routing Logic*------------------------------- if(!ds_is_from_list()) {
route(DISPATCH); }
-------- # Dispatch requests
route[DISPATCH] {
# round robin dispatching on gateways group '1'
if(!ds_select_dst("1", "4")) {
send_reply("404", "No destination");
exit;
}
xdbg("--- SCRIPT: going to <$ru> via <$du> (attrs: $xavp(_dsdst_=>attrs))\n");
t_on_failure("RTF_DISPATCH");
route(RELAY);
exit;
}
# Try next destionations in failure route
failure_route[RTF_DISPATCH] {
xnotice("RTF_DISPATCH: $rm $rU [$ci]");
if (t_is_canceled()) {
exit;
}
# next DST - only for 500 or local timeout
if (t_check_status("(^5)")
or (t_branch_timeout() and !t_branch_replied())) {
xnotice("RTF_DISPATCH: WARNING $du is broken and marked as inactive");
# ds_mark_dst("ip");
if(ds_next_dst()) {
#xdbg("--- SCRIPT: retrying to <$ru> via <$du> (attrs: $xavp(_dsdst_=>attrs))\n");
t_on_failure("RTF_DISPATCH");
route(RELAY);
exit;
}
}
}