Hi Bogdan, Goodmorning, Please forgive in My english,..........
I install the openser server ( with public ip as xx.xxx.xxx.xxx. ) and the System ip ( private ip openser) is 192.168.2.2 which is located In some other place for UAs. And SIP_Domain as xx.xxx.xxx.xxx.
I installed the X-lite 3.0 and testing with that only...
Missed calls and Ignore calls are working fine........Here ACK is working,
When the softphone Rings , and lefted up , after 32 seconds the callee is hunging ups and Caller is still in establishing the call ( not hung up) Problem in , After the Invite request send , then it will to send ACk to callee , to maintain the session alive ,
For example :- UA1 ( caller) -------------------> UA2 (callee ) ::::::::::::::-----------> Both are in OutSide the NAT , in other network ) Here Callee is Hungs up the calls automaticall,
IS the Problem in Router logic or in Router (Switches ) where is openser located , or where X-lite is there. Router ( switches) is stoppning the ACK ,
Bogdan, Help in this ,, here is my openser.cfg......
*************************************************************************************
route{
# ----------------------------------------------------------------- # Sanity Check Section # ----------------------------------------------------------------- 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; };
# ----------------------------------------------------------------- # NAT detection # ----------------------------------------------------------------- route(2);
# ----------------------------------------------------------------- # Record Route Section # ----------------------------------------------------------------- if (!method=="REGISTER") record_route();
# ----------------------------------------------------------------- # Loose Route Section # ----------------------------------------------------------------- if (loose_route()) {
append_hf("P-hint: rr-enforced\r\n"); if ((method=="INVITE" || method=="REFER") && !has_totag()) { sl_send_reply("403", "Forbidden"); return; };
if (method=="INVITE") {
if (!proxy_authorize("xx.xxx.xxx.xxx","subscriber")) { proxy_challenge("xx.xxx.xxx.xxx","0"); return; } else if (!check_from()) { sl_send_reply("403", "Use From=ID"); return; }; consume_credentials(); }; route(1); };
# ----------------------------------------------------------------- # Call Type Processing Section # ----------------------------------------------------------------- if (!is_uri_host_local()) { if (is_from_local() || allow_trusted()) { route(4); route(1); } else { sl_send_reply("403", "Forbidden"); }; };
if (method=="ACK") { route(1); return; } else if (method=="CANCEL") { route(1); return; } else if (method=="INVITE") { route(5); return; } else if (method=="REGISTER") { route(4); return; };
lookup("aliases"); if (!is_uri_host_local()) { route(4); route(1); return; };
if (!lookup("location")) { sl_send_reply("404", "User Not Found"); exit; };
append_hf("P-hint: usrloc applied\r\n");
route(1); }
route[1] { 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]{ force_rport(); if (nat_uac_test("19")) { if (method=="REGISTER") { fix_nated_register(); } else { fix_nated_contact(); }; setflag(5); }; }
route[3] { if (is_method("BYE|CANCEL")) { unforce_rtp_proxy(); } else if (is_method("INVITE")){ force_rtp_proxy(); t_on_failure("1"); }; if (isflagset(5)) search_append('Contact:.*sip:[^>[:cntrl:]]*', ';nat=yes'); t_on_reply("1"); }
route[4] {
if (!www_authorize("xx.xxx.xxx.xxx", "subscriber")) { www_challenge("xx.xxx.xxx.xxx", "0"); exit; };
if (isflagset(5)) { setflag(6); # if you want OPTIONS natpings uncomment next # setflag(7); };
save("location");
if (!lookup("location")) { sl_send_reply("401", "Unauthorized"); };
append_hf("P-hint: usrloc applied\r\n");
}
route[5] {
# ----------------------------------------------------------------- # INVITE Message Handler # ----------------------------------------------------------------- if (!allow_trusted()) {
if (!proxy_authorize("xx.xxx.xxx.xxx","subscriber")) { proxy_challenge("xx.xxx.xxx.xxx","0"); return; } else if (!check_from()) { sl_send_reply("403", "Use From=ID"); return; }; };
lookup("aliases"); if (!is_uri_host_local()) { route(1); return; };
if (uri=~"^sip:[0-9]@") { lookup("aliases"); lookup("location"); route(1); return; };
if(!lookup("location")){ sl_send_reply("404", "User Not Found"); return; };
route(1); }
failure_route[1] { if (isflagset(6) || isflagset(5)) { unforce_rtp_proxy(); } }
onreply_route[1] { 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; }
Hi,
please first post a ngrep of the call from the server. Definitely there is something related to ACK - either routing, either some device error, but only the network trace can tell this.
regards, bogdan
raviprakash sunkara wrote:
Hi Bogdan, Goodmorning, Please forgive in My english,..........
I install the openser server ( with public ip as xx.xxx.xxx.xxx. ) and the System ip ( private ip openser) is 192.168.2.2 http://192.168.2.2 which is located In some other place for UAs. And SIP_Domain as xx.xxx.xxx.xxx.
I installed the X-lite 3.0 and testing with that only...
Missed calls and Ignore calls are working fine........Here ACK is working,
When the softphone Rings , and lefted up , after 32 seconds the callee is hunging ups and Caller is still in establishing the call ( not hung up) Problem in , After the Invite request send , then it will to send ACk to callee , to maintain the session alive ,
For example :- UA1 ( caller) -------------------> UA2 (callee ) ::::::::::::::-----------> Both are in OutSide the NAT , in other network ) Here Callee is Hungs up the calls automaticall,
IS the Problem in Router logic or in Router (Switches ) where is openser located , or where X-lite is there. Router ( switches) is stoppning the ACK ,