<br>
Hi Users,<br>
<br>
I installed&nbsp; Openser server&nbsp; and Using the Nathelper with RtpProxy .<br>
<br>
The openser server and&nbsp; RtpProxy are located in&nbsp; the Same system with ip add (<a href="http://192.168.2.2" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">192.168.2.2</a>) , <br>
<br>
And Public IP address is xx.xxx.xxx.xxx.,&nbsp; openSER sip_doamin name is xx.xxx.xxx.xxx<br>
<br>
&nbsp;Ours Network connect&nbsp; for openser System is given below <br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
modem------xx.xxx.xxx.xxx.-------------&gt; router(firewall)
---------------------------------&gt; server&nbsp;&nbsp; 1<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp; &nbsp; &nbsp; |________________ &gt; server&nbsp;&nbsp; 2<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp; &nbsp; |<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; |_________________&gt;&nbsp;
server 3&nbsp; ( openser and rtp )<br>
<br>
For Testing i'm X-lite softphones&nbsp; with different network of openser system ( out the NAT )<br>
<br>
When made the call from one softphone to other softphones..<br>
When caller calls to callee ,&nbsp;&nbsp; when the callee is lefted up
the phone after 32 seconds the phone hungups automatically.<br>
And&nbsp;&nbsp; <span style="color: rgb(51, 51, 255);"><font size="2"><span style="font-weight: bold;"><span style="font-weight: bold;"><span style="font-weight: bold;">OpenSER is Not receive the Ack, when the invite is response and Softphones are Ringing after it lefted up .&nbsp;&nbsp;
For callee only hung up<br>
<span style="font-weight: bold;"></span><br>
And Missed Call and&nbsp; Ignore Calls are working Fine ...<br>
I gucess&nbsp; is&nbsp; problem in Firewall setting in Router and System&nbsp; FireWall.setting .<br>
Can Any one tell me How to&nbsp;&nbsp; resolve my problem ...<br>
</span></span></span></font></span>here is My openser.cfg <br>
<br>
route{
<br>
&nbsp;&nbsp;&nbsp; &nbsp;<br>
&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------
<br>
&nbsp;&nbsp;&nbsp; # Sanity Check Section
<br>
&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------
<br>
&nbsp;&nbsp;&nbsp; if (!mf_process_maxfwd_header(&quot;10&quot;)) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply(&quot;483&quot;,&quot;Too Many Hops&quot;);
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;
<br>
&nbsp;&nbsp;&nbsp; };
<br>
&nbsp;&nbsp;&nbsp; if (msg:len &gt;=&nbsp; 2048 ) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply(&quot;513&quot;, &quot;Message too big&quot;);
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;
<br>
&nbsp;&nbsp;&nbsp; };
<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------
<br>
&nbsp;&nbsp;&nbsp; # NAT detection
<br>
&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------
<br>
&nbsp;&nbsp;&nbsp; route(2);
<br>
&nbsp;<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------
<br>
&nbsp;&nbsp;&nbsp; # Record Route Section
<br>
&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------
<br>
&nbsp;&nbsp;&nbsp; if (!method==&quot;REGISTER&quot;)
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; record_route();
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br>
&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------
<br>
&nbsp;&nbsp;&nbsp; # Loose Route Section
<br>
&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------
<br>
&nbsp;&nbsp;&nbsp; if (loose_route()) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; append_hf(&quot;P-hint: rr-enforced\r\n&quot;);&nbsp;
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if ((method==&quot;INVITE&quot; || method==&quot;REFER&quot;) &amp;&amp; !has_totag()) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply(&quot;403&quot;, &quot;Forbidden&quot;);
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; };
<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (method==&quot;INVITE&quot;) {
<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (!proxy_authorize(&quot;xx.xxx.xxx.xxx&quot;,&quot;subscriber&quot;)) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; proxy_challenge(&quot;xx.xxx.xxx.xxx&quot;,&quot;0&quot;);
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } else if (!check_from()) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply(&quot;403&quot;, &quot;Use From=ID&quot;);
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; };
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; consume_credentials();
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; };
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(1);
<br>
&nbsp;&nbsp;&nbsp; };
<br>
&nbsp;<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------
<br>
&nbsp;&nbsp;&nbsp; # Call Type Processing Section
<br>
&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------
<br>
&nbsp;&nbsp;&nbsp; if (!is_uri_host_local()) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (is_from_local() || allow_trusted()) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(4);
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(1);
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } else {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply(&quot;403&quot;, &quot;Forbidden&quot;);
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; };
<br>
&nbsp;&nbsp;&nbsp; };
<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp; if (method==&quot;ACK&quot;) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(1);
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;
<br>
&nbsp;&nbsp;&nbsp; } else if (method==&quot;CANCEL&quot;) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(1);
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;
<br>
&nbsp;&nbsp;&nbsp; } else if (method==&quot;INVITE&quot;) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(5);
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;
<br>
&nbsp;&nbsp;&nbsp; } else&nbsp; if (method==&quot;REGISTER&quot;) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(4);
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;
<br>
&nbsp;&nbsp;&nbsp; };
<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp; lookup(&quot;aliases&quot;);
<br>
&nbsp;&nbsp;&nbsp; if (!is_uri_host_local()) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(4);
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(1);
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;
<br>
&nbsp;&nbsp;&nbsp; };
<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp; if (!lookup(&quot;location&quot;)) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply(&quot;404&quot;, &quot;User Not Found&quot;);
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;
<br>
&nbsp;&nbsp;&nbsp; };
<br>
&nbsp;&nbsp;&nbsp; &nbsp;<br>
&nbsp;&nbsp;&nbsp; append_hf(&quot;P-hint: usrloc applied\r\n&quot;);
<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp; route(1);
<br>
}
<br>
&nbsp;<br>
&nbsp;<br>
route[1] {
<br>
&nbsp;&nbsp;&nbsp; if (subst_uri('/(sip:.*);nat=yes/\1/')){
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; setflag(6);
<br>
&nbsp;&nbsp;&nbsp; };
<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp; if (isflagset(5)||isflagset(6)) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(3);
<br>
&nbsp;&nbsp;&nbsp; }
<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp; if (!t_relay()) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_reply_error();
<br>
&nbsp;&nbsp;&nbsp; };
<br>
&nbsp;&nbsp;&nbsp; exit;
<br>
}
<br>
&nbsp;<br>
route[2]{
<br>
&nbsp;&nbsp;&nbsp; force_rport();
<br>
&nbsp;&nbsp;&nbsp; if (nat_uac_test(&quot;19&quot;)) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (method==&quot;REGISTER&quot;) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; fix_nated_register();
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } else {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; fix_nated_contact();
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; };
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; setflag(5);
<br>
&nbsp;&nbsp;&nbsp; };
<br>
}
<br>
&nbsp;<br>
route[3] {
<br>
&nbsp;&nbsp;&nbsp; if (is_method(&quot;BYE|CANCEL&quot;)) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; unforce_rtp_proxy();
<br>
&nbsp;&nbsp;&nbsp; } else if (is_method(&quot;INVITE&quot;)){
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; force_rtp_proxy();
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; t_on_failure(&quot;1&quot;);
<br>
&nbsp;&nbsp;&nbsp; };
<br>
&nbsp;&nbsp;&nbsp; if (isflagset(5))
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; search_append('Contact:.*sip:[^&gt;[:cntrl:]]*', ';nat=yes');
<br>
&nbsp;&nbsp;&nbsp; t_on_reply(&quot;1&quot;);
<br>
}
<br>
&nbsp;<br>
route[4] {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;<br>
&nbsp;&nbsp;&nbsp; if (!www_authorize(&quot;xx.xxx.xxx.xxx&quot;, &quot;subscriber&quot;)) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; www_challenge(&quot;xx.xxx.xxx.xxx&quot;, &quot;0&quot;);
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;
<br>
&nbsp;&nbsp;&nbsp; };
<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp; if (isflagset(5)) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; setflag(6);
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # if you want OPTIONS natpings uncomment next
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # setflag(7);
<br>
&nbsp;&nbsp;&nbsp; };
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br>
&nbsp;&nbsp;&nbsp; save(&quot;location&quot;);
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br>
&nbsp;&nbsp;&nbsp; if (!lookup(&quot;location&quot;)) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply(&quot;401&quot;, &quot;Unauthorized&quot;);
<br>
&nbsp;&nbsp;&nbsp; };
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br>
&nbsp;&nbsp;&nbsp; append_hf(&quot;P-hint: usrloc applied\r\n&quot;);&nbsp;
<br>
&nbsp;<br>
}
<br>
&nbsp;<br>
route[5] {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;<br>
&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------
<br>
&nbsp;&nbsp;&nbsp; # INVITE Message Handler
<br>
&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------&nbsp;&nbsp;&nbsp; &nbsp;<br>
&nbsp;&nbsp;&nbsp; if (!allow_trusted()) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (!proxy_authorize(&quot;xx.xxx.xxx.xxx&quot;,&quot;subscriber&quot;)) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; proxy_challenge(&quot;xx.xxx.xxx.xxx&quot;,&quot;0&quot;);
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } else if (!check_from()) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply(&quot;403&quot;, &quot;Use From=ID&quot;);
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; };
<br>
&nbsp;&nbsp;&nbsp; };
<br>
&nbsp;&nbsp;&nbsp; &nbsp;<br>
&nbsp;&nbsp;&nbsp; lookup(&quot;aliases&quot;);
<br>
&nbsp;&nbsp;&nbsp; if (!is_uri_host_local()) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(1);
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;
<br>
&nbsp;&nbsp;&nbsp; };
<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp; if (uri=~&quot;^sip:[0-9]@&quot;) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; lookup(&quot;aliases&quot;);
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; lookup(&quot;location&quot;);
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(1);
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;
<br>
&nbsp;&nbsp;&nbsp; };&nbsp;&nbsp;&nbsp; &nbsp;<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp; if(!lookup(&quot;location&quot;)){
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply(&quot;404&quot;, &quot;User Not Found&quot;);
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;
<br>
&nbsp;&nbsp;&nbsp; };
<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp; route(1);
<br>
}
<br>
&nbsp;<br>
&nbsp;<br>
&nbsp;<br>
failure_route[1] {
<br>
&nbsp;&nbsp;&nbsp; if (isflagset(6) || isflagset(5)) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; unforce_rtp_proxy();
<br>
&nbsp;&nbsp;&nbsp; }
<br>
}
<br>
&nbsp;<br>
onreply_route[1] {
<br>
&nbsp;&nbsp;&nbsp; if ((isflagset(5) || isflagset(6)) &amp;&amp; status=~&quot;(183)|(2[0-9][0-9])&quot;) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; force_rtp_proxy();
<br>
&nbsp;&nbsp;&nbsp; }
<br>
&nbsp;&nbsp;&nbsp; search_append('Contact:.*sip:[^&gt;[:cntrl:]]*', ';nat=yes');
<br>
&nbsp;&nbsp;&nbsp; &nbsp;<br>
&nbsp;&nbsp;&nbsp; if (isflagset(6)) {
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; fix_nated_contact();
<br>
&nbsp;&nbsp;&nbsp; }
<br>
&nbsp;&nbsp;&nbsp; &nbsp;<br>
&nbsp;&nbsp;&nbsp; exit;
<br>
}
<br>
<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<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" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
www.hyperion-tech.com
</a><br>+91-9985077535