<br>
hi User<br>
<br>
May the Problem in Router where the server located...<br>
OR UA client side Router ... Block the ACK session ... hung up automatically after 32 sec.... <br>
Or problem in Softphone setting ( x-lite 3.0 ) <br>
<br>
UAC 1 and 2 are witth <a href="http://192.168.2.20">192.168.2.20</a>. and 21 which are behind
the NAT with public.... yy.y.y..y ( softphone)<br>
UAC 3 is softphne which is located in server network with ip
<a href="http://192.168.2.7">192.168.2.7</a> have public ip as xxx.xxx.x.xx ( SIP DOMAIN NAME)...<br>
<br>
<br>
CALL from UAC 1 to UAC 2 hungup the phone after 32 sec when it lefted
. UAC 2 is hung upping and UAC1 is call establishing the Session....<br>
CALL from UAC 2 to UAC 3 same as above....<br>
<br>
CALL from UAC 3 to UAC 2 not hungup .<br clear="all">
<br>
this is mines openser.cfg from route main <br>
<br>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=====<br>
_________________________________________________________________________<br>
<br>
<br>
route {
<br>
<br>
# -----------------------------------------------------------------
<br>
# Sanity Check Section
<br>
# -----------------------------------------------------------------
<br>
if (!mf_process_maxfwd_header("10")) {
<br>
sl_send_reply("483", "Too Many Hops");
<br>
return;
<br>
};
<br>
<br>
if (msg:len > max_len) {
<br>
sl_send_reply("513", "Message Overflow");
<br>
return;
<br>
};
<br>
<br>
# -----------------------------------------------------------------
<br>
# Record Route Section and Acc Section
<br>
# -----------------------------------------------------------------
<br>
if (method=="INVITE" && client_nat_test("3")) {
<br>
# INSERT YOUR IP ADDRESS HERE
<br>
record_route_preset("<a href="http://192.168.2.75:5060">192.168.2.75:5060</a>;nat=yes");
<br>
} else if (method!="REGISTER") {
<br>
record_route();
<br>
setflag(1);
<br>
};
<br>
<br>
# -----------------------------------------------------------------
<br>
# Call Tear Down Section
<br>
# -----------------------------------------------------------------
<br>
if (method=="BYE" || method=="CANCEL") {
<br>
end_media_session();
<br>
};
<br>
<br>
# -----------------------------------------------------------------
<br>
# Loose Route Section
<br>
# -----------------------------------------------------------------
<br>
if (loose_route()) {
<br>
<br>
if (has_totag() && (method=="INVITE" || method=="ACK")) {
<br>
<br>
if (client_nat_test("3") || search("^Route:.*;nat=yes")) {
<br>
setflag(6);
<br>
use_media_proxy();
<br>
};
<br>
};
<br>
<br>
route(1);
<br>
return;
<br>
};
<br>
<br>
# -----------------------------------------------------------------
<br>
# Call Type Processing Section
<br>
# -----------------------------------------------------------------
<br>
<br>
if (uri!=myself) {
<br>
route(1);
<br>
return;
<br>
};
<br>
<br>
if (uri==myself) {
<br>
<br>
if (method=="CANCEL") {
<br>
route(3);
<br>
return;
<br>
} else if (method=="INVITE") {
<br>
route(4);
<br>
#route(3);
<br>
return;
<br>
} else if (method=="REGISTER") {
<br>
route(2);
<br>
return;
<br>
};
<br>
<br>
lookup("aliases");
<br>
if (uri!=myself) {
<br>
route(1);
<br>
return;
<br>
};
<br>
<br>
if (!lookup("location")) {
<br>
sl_send_reply("404", "User Not Found");
<br>
return;
<br>
};
<br>
};
<br>
<br>
route(1);
<br>
}
<br>
<br>
route[1] {
<br>
<br>
# -----------------------------------------------------------------
<br>
# Default Message Handler
<br>
# -----------------------------------------------------------------
<br>
<br>
t_on_reply("1");
<br>
<br>
if (!t_relay()) {
<br>
<br>
if (method=="INVITE" || method=="ACK") {
<br>
end_media_session();
<br>
};
<br>
<br>
sl_reply_error();
<br>
};
<br>
}
<br>
<br>
route[2] {
<br>
<br>
# -----------------------------------------------------------------<br>
<br>
# REGISTER Message Handler
<br>
# ----------------------------------------------------------------
<br>
<br>
sl_send_reply("100", "Trying");
<br>
<br>
if (!search("^Contact:\ +\*") && client_nat_test("7")) {
<br>
setflag(6);
<br>
fix_nated_register();
<br>
force_rport();
<br>
};
<br>
<br>
if (!www_authorize("","subscriber")) {
<br>
www_challenge("","0");
<br>
return;
<br>
};
<br>
<br>
if (!check_to()) {
<br>
sl_send_reply("401", "Unauthorized");
<br>
return;
<br>
};
<br>
<br>
consume_credentials();
<br>
<br>
if (!save("location")) {
<br>
sl_reply_error();
<br>
};
<br>
}
<br>
<br>
route[3] {
<br>
<br>
# -----------------------------------------------------------------
<br>
# CANCEL and INVITE Message Handler
<br>
# -----------------------------------------------------------------
<br>
<br>
if (client_nat_test("3")) {
<br>
setflag(7);
<br>
force_rport();
<br>
fix_nated_contact();
<br>
};
<br>
<br>
lookup("aliases");
<br>
if (uri!=myself) {
<br>
route(1);
<br>
return;
<br>
};
<br>
<br>
if (!lookup("location")) {
<br>
sl_send_reply("404", "User Not Found");
<br>
return;
<br>
};
<br>
<br>
if (method=="CANCEL") {
<br>
route(1);
<br>
return;
<br>
};
<br>
<br>
if (!proxy_authorize("","subscriber")) {
<br>
proxy_challenge("","0");
<br>
return;
<br>
} else if (!check_from()) {
<br>
sl_send_reply("403", "Use From=ID");
<br>
return;
<br>
};
<br>
<br>
consume_credentials();
<br>
<br>
if (isflagset(6) || isflagset(7)) {
<br>
use_media_proxy();
<br>
};
<br>
<br>
route(1);
<br>
}
<br>
<br>
#--------------------------------------------------------------------------------------------
<br>
# Handling Trusted Sources
<br>
#--------------------------------------------------------------------------------------------
<br>
<br>
route[4] {
<br>
<br>
if(allow_trusted()) {
<br>
rewritehost("192.168.XX.XX"); #Our IP address
<br>
t_relay_to(192.168.XX.XX:5060); #relaying trusted calls to its destination
<br>
return;
<br>
};
<br>
<br>
else { route(3); };
<br>
<br>
}
<br>
<br>
#---------------------------------------------------------------------------------------------
<br>
# Reply Route
<br>
#---------------------------------------------------------------------------------------------
<br>
<br>
<br>
<br>
onreply_route[1] {
<br>
<br>
if ((isflagset(6) || isflagset(7)) && (status=~"(180)|(183)|2[0-9][0-9]")) {
<br>
<br>
if (!search("^Content-Length:\ +0")) {
<br>
use_media_proxy();
<br>
};
<br>
};
<br>
<br>
if (client_nat_test("1")) {
<br>
fix_nated_contact();
<br>
};
<br>
}<br>
<br>
-----------------------------------------------------------------------------------------------------------------------------------------------------<br>
<br clear="all"><br>-- <br>Thanks and Regards with cheers<br>Sunkara Ravi Prakash (Voip Developer)<br>Hyperion Technology<br>Kondapur, Hi-tech city,<br>Hyderabad.<br><a href="http://www.hyperion-tech.com">www.hyperion-tech.com
</a><br>+91-9985077535