I did the following changed by adding the get_redirects function (see bellow) but now im getting a 500 server error:
SIP/2.0 500 Internal Server Error FROM: "1102"sip:1102@10.98.6.5;tag=as60aba076 TO: sip:1989@10.98.6.5:5061;tag=f5f4ad2a5d CSEQ: 102 INVITE CALL-ID: 206fed5108bdcd2d2bb5255217713ca7@10.98.6.5 VIA: SIP/2.0/TCP 10.98.6.5;branch=z9hG4bKd9ef.ed1ee9d5.0;i=3,SIP/2.0/TCP 10.98.6.5;branch=z9hG4bKd9ef.dd1ee9d5.1,SIP/2.0/UDP 10.98.6.5:5060;branch=z9hG4bK3557f87f;rport=5060 CONTENT-LENGTH: 0 SERVER: RTCC/3.0.0.0
# main request routing logic
route{ if (!mf_process_maxfwd_header("10")) { sl_send_reply("483","Too Many Hops"); break; }; if (msg:len >= 2048 ) { sl_send_reply("513", "Message too big"); break; };
if (!method=="REGISTER") record_route(); if (loose_route()) { append_hf("P-hint: rr-enforced\r\n"); route(1); break; };
if (uri==myself) {
if (method=="REGISTER") {
save("location"); break; };
# do redirect with accounting t_on_failure("2"); } else { # just do redirect t_on_failure("1"); }
append_hf("P-hint: usrloc applied\r\n"); route(3); }
failure_route[1] { get_redirects("3:1"); t_relay(); }
failure_route[2] { get_redirects("6:2","redirect"); t_relay(); }
route[3] { if (src_ip==10.98.6.5) { if (dst_port==5065) { t_relay_to_tcp("10.98.118.20", "5065"); } else if (dst_port==5066) { t_relay_to_tcp("10.98.118.20", "5066"); } else if (dst_port==5067) { t_relay_to_tcp("10.98.118.20", "5067"); } else { t_relay_to_tcp("10.98.118.20", "5060"); } } else { t_relay_to_udp("10.98.6.5", "5060"); }; }
Nelson Pereira