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