Hi , User,,,<br>
<br>
great issue to me ... please users help into my issue<br>
<br>
1) the softphones are not hung upping ... Disconnecting...<br>
that means Behind the Nat client send Bye
request .. But openser server is responseing the Bye .. and Ack
to server...<br>
<br>
<br>
<br>
<br>
my openser.cfg<br>
<br>
<br>
route{<br>
log("Testing-------> Starting\n");<br>
if (!mf_process_maxfwd_header("10")) {<br>
sl_send_reply("483","Too Many Hops");<br>
exit;<br>
};<br>
if (msg:len >= 2048 ) {<br>
sl_send_reply("513", "Message too big");<br>
exit;<br>
};<br>
<br>
log("Testing-------> NAT detection into route 2 \n");<br>
route(2);<br>
<br>
if (!method=="REGISTER") {<br>
log("Testing-------> method != REG\n");<br>
record_route();<br>
};<br>
if (loose_route()) {<br>
append_hf("P-hint: rr-enforced\r\n"); <br>
route(1);<br>
};<br>
<br>
if (!uri==myself) {<br>
append_hf("P-hint: outbound\r\n"); <br>
route(1);<br>
};<br>
<br>
if (uri==myself) {<br>
log("Testing-------> uri==my\n");<br>
if (method=="REGISTER") {<br>
if (!www_authorize("", "subscriber")) {<br>
www_challenge("", "0");<br>
exit;<br>
};<br>
<br>
if (isflagset(5)) {<br>
setflag(6);<br>
# if you want OPTIONS natpings uncomment next<br>
# setflag(7);<br>
};<br>
save("location");<br>
exit;<br>
};<br>
<br>
if (!lookup("location")) {<br>
sl_send_reply("404", "Not Found...... ! ");<br>
exit;<br>
};<br>
append_hf("P-hint: usrloc applied\r\n"); <br>
};<br>
<br>
route(1);<br>
}<br>
<br>
<br>
route[1] {<br>
log("Testing-------> route[1] \n");<br>
if (subst_uri('/(sip:.*);nat=yes/\1/')){<br>
setflag(6);<br>
};<br>
<br>
if (isflagset(5)||isflagset(6)) {<br>
route(3);<br>
}<br>
<br>
if (!t_relay()) {<br>
sl_reply_error();<br>
};<br>
exit;<br>
}<br>
<br>
route[2]{<br>
log("Testing-------> route[2] \n");<br>
force_rport();<br>
if (nat_uac_test("19")) {<br>
log("Testing-------> nat_uac-test_19\n");<br>
if (method=="REGISTER") {<br>
log("Testing-------> nat _ reg \n");<br>
fix_nated_register();<br>
} else {<br>
log("Testing-------> nat_cantact \n");<br>
fix_nated_contact();<br>
};<br>
setflag(5);<br>
};<br>
}<br>
<br>
route[3] {<br>
log("Testing-------> route 3 \n");<br>
if (is_method("BYE|CANCEL")) {<br>
log("Testing-------> Bye\n");<br>
acc_db_request("Stop","acc");<br>
unforce_rtp_proxy();<br>
} else if (is_method("INVITE")){<br>
log("Testing-------> Invite in route [3\n");<br>
acc_db_request("Start","acc");<br>
force_rtp_proxy();<br>
t_on_failure("1");<br>
};<br>
if (isflagset(5))<br>
search_append('Contact:.*sip:[^>[:cntrl:]]*', ';nat=yes');<br>
t_on_reply("1");<br>
}<br>
<br>
failure_route[1] {<br>
if (isflagset(6) || isflagset(5)) {<br>
acc_db_request("Stop","acc");<br>
unforce_rtp_proxy();<br>
}<br>
}<br>
<br>
onreply_route[1] {<br>
log("Testing-------> t_on_reply\n");<br>
if ((isflagset(5) || isflagset(6)) && status=~"(183)|(2[0-9][0-9])") {<br>
force_rtp_proxy();<br>
}<br>
search_append('Contact:.*sip:[^>[:cntrl:]]*', ';nat=yes');<br>
<br>
if (isflagset(6)) {<br>
fix_nated_contact();<br>
}<br>
exit;<br>
}<br clear="all"><br>-- <br> Thanks and Regards with cheers<br>Sunkara Ravi Prakash (Voip Developer)<br>Hyperion Technology<br><a href="http://www.hyperion-tech.com">www.hyperion-tech.com</a>