<DIV>At the moment your reply route looks like this:</DIV>
<DIV>&nbsp;</DIV>
<DIV>onreply_route[1] {<BR>&nbsp;&nbsp;&nbsp;&nbsp; if (isflagset(6) &amp;&amp;<BR>status=~"(180)|(183)|2[0-9][0-9]") {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!search("^Content-Length:\ 0")) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; force_rtp_proxy();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<BR>&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if (nat_uac_test("1")) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fix_nated_contact();<BR>&nbsp;&nbsp;&nbsp;&nbsp; };<BR>}<BR></DIV>
<DIV>Try putting an additional fix_nated_contact()in it. Like the following:</DIV>
<DIV>&nbsp;</DIV>
<DIV>onreply_route[1] {<BR>&nbsp;&nbsp;&nbsp;&nbsp; if (isflagset(6) &amp;&amp;<BR>status=~"(180)|(183)|2[0-9][0-9]") {</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <STRONG>fix_nated_contact();</STRONG><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!search("^Content-Length:\ 0")) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; force_rtp_proxy();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<BR>&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if (nat_uac_test("1")) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fix_nated_contact();<BR>&nbsp;&nbsp;&nbsp;&nbsp; };<BR>}<BR></DIV>
<DIV>BR,</DIV>
<DIV>Vivienne<BR><BR><B><I>Kamran Ahmad &lt;p_kami@yahoo.com&gt;</I></B> wrote:</DIV>
<BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">hello<BR><BR>hello can any one tell me what could be the problem<BR>with my config. I am having problem in PublicIP to<BR>PrivateIP call through SER.<BR><BR>this is the case<BR>1:<BR>PublicIP--------&gt;SER(publicIP)--------&gt;PrivateIP<BR>PublicIP------&gt;RTPProxy-----&gt;PrivateIP(Here i am not<BR>getting ack and after 30 seconds my session is closed<BR>an my SJPhone on privateIP is saying ACK timeOUT)<BR><BR>2:<BR>UA(privateIP)---------&gt;SER(publicIP)------&gt;UA(privateIP)(both<BR>UA on behind same NAT)<BR>UA&lt;-----------------RTPProxy--------------&gt;UA(Here UAS<BR>is not getting ack and after 30 seconds session is<BR>closed an my SJPhone on privateIP is saying ACK<BR>timeOUT)<BR><BR><BR>when ever there is Call to PrivateIP there is the<BR>problem. UAS on PrivateIP is waiting for Ack and after<BR>30 sec session is droped. in this 30 seconds both UAC<BR>and UAS can
 listen.<BR><BR>PublicIP(UAC)------------&gt;PrivateIP(UAS)(ACKProblem)<BR>PrivateIP(UAC)-----------&gt;PrivateIP(UAS)(ACKProblem)<BR>PublicIP(UAC)------------&gt;PublicIP(UAS)working<BR>PrivateIP(UAS)-----------&gt;PublicIP(UAS)working<BR><BR>i am using RTPProxy. should i use MediaProxy or stun<BR>server.<BR><BR>ser.cfg<BR>debug=3<BR>fork=yes<BR>log_stderror=no<BR><BR>dns=no<BR>rev_dns=no<BR>fifo="/tmp/ser_fifo"<BR><BR>#fifo_db_url="mysql://ser:heslo@localhost/ser"<BR><BR>#loadmodule "/usr/local/lib/ser/modules/mysql.so"<BR>loadmodule "/usr/local/lib/ser/modules/sl.so"<BR>loadmodule "/usr/local/lib/ser/modules/tm.so"<BR>loadmodule "/usr/local/lib/ser/modules/rr.so"<BR>loadmodule "/usr/local/lib/ser/modules/maxfwd.so"<BR>loadmodule "/usr/local/lib/ser/modules/usrloc.so"<BR>loadmodule "/usr/local/lib/ser/modules/registrar.so"<BR>loadmodule "/usr/local/lib/ser/modules/xlog.so"<BR><BR>#radius configuration<BR>loadmodule
 "/usr/local/lib/ser/modules/auth.so"<BR>#loadmodule<BR>"/usr/local/lib/ser/modules/auth_radius.so"<BR>#loadmodule "/usr/local/lib/ser/modules/acc.so"<BR><BR>#loadmodule "/usr/local/lib/ser/modules/auth_db.so"<BR><BR>loadmodule "/usr/local/lib/ser/modules/uri.so"<BR>#loadmodule "/usr/local/lib/ser/modules/domain.so"<BR>loadmodule "/usr/local/lib/ser/modules/nathelper.so"<BR>loadmodule "/usr/local/lib/ser/modules/textops.so"<BR>#loadmodule "/usr/local/lib/ser/modules/uri_db.so"<BR>#loadmodule "/usr/local/lib/ser/modules/uri_radius.so"<BR><BR>modparam("nathelper", "natping_interval", 30)<BR>modparam("nathelper", "ping_nated_only", 1)<BR>modparam("nathelper", "rtpproxy_sock",<BR>"unix:/var/run/rtpproxy.sock")<BR>modparam("usrloc", "db_mode", 0)<BR>modparam("registrar", "nat_flag", 6)<BR>modparam("rr", "enable_full_lr", 1)<BR><BR>route {<BR><BR>#<BR>-----------------------------------------------------------------<BR># Sanity Check
 Section<BR>#<BR>-----------------------------------------------------------------<BR><BR>if (!mf_process_maxfwd_header("10")) {<BR>sl_send_reply("483", "Too Many Hops");<BR>break;<BR>};<BR><BR>if (msg:len &gt; max_len) {<BR>sl_send_reply("513", "Message Overflow");<BR>break;<BR>};<BR><BR>#<BR>-----------------------------------------------------------------<BR># Record Route Section<BR>#<BR>-----------------------------------------------------------------<BR><BR>if (method!="REGISTER") {<BR>record_route();<BR>};<BR><BR>if (method=="BYE" || method=="CANCEL") {<BR>unforce_rtp_proxy();<BR>}<BR><BR>#<BR>-----------------------------------------------------------------<BR># Loose Route Section<BR>#<BR>-----------------------------------------------------------------<BR><BR>if (loose_route()) {<BR><BR>if (has_totag() &amp;&amp; method=="INVITE") {<BR>if (nat_uac_test("19"))
 {<BR>setflag(6);<BR>force_rport();<BR>fix_nated_contact();<BR>};<BR><BR>force_rtp_proxy("l");<BR>};<BR>route(1);<BR>break;<BR>};<BR>#<BR>-----------------------------------------------------------------<BR># Call Type Processing Section<BR>#<BR>-----------------------------------------------------------------<BR>if (uri==myself) {<BR>if (method=="INVITE") {<BR>route(3);<BR>break;<BR>} else if (method=="REGISTER") {<BR>route(2);<BR>break;<BR>};<BR><BR>if (!lookup("location")) {<BR>sl_send_reply("404", "User Not<BR>Found");<BR>break;<BR>};<BR>route(1);<BR>};<BR>}<BR><BR>route[1] {<BR>#<BR>-----------------------------------------------------------------<BR># Default Message Handler<BR>#<BR>-----------------------------------------------------------------<BR>t_on_reply("1");<BR>if (!t_relay()) {<BR>if (method=="INVITE" &amp;&amp; isflagset(6)) {<BR>unforce_rtp_proxy();<BR>};<BR>sl_reply_error();<BR>};<BR>}<BR><BR>route[2]
 {<BR>#<BR>-----------------------------------------------------------------<BR># REGISTER Message Handler<BR>#<BR>----------------------------------------------------------------<BR>if (!search("^Contact: \*") &amp;&amp;<BR>nat_uac_test("19")) {<BR>setflag(6);<BR>fix_nated_register();<BR># fix_nated_contact();<BR>force_rport();<BR>};<BR>sl_send_reply("100", "Trying");<BR><BR>#radius config<BR><BR><BR>#end of radius config<BR><BR># if (!www_authorize("","subscriber")) {<BR># www_challenge("","0");<BR># break;<BR># };<BR><BR># if (!check_to()) {<BR># sl_send_reply("401", "Unauthorized");<BR># break;<BR># };<BR><BR>consume_credentials();<BR><BR>if (!save("location")) {<BR>sl_reply_error();<BR>};<BR>}<BR><BR>route[3] {<BR>#<BR>-----------------------------------------------------------------<BR># INVITE Message Handler<BR>#<BR>-----------------------------------------------------------------<BR>if (nat_uac_test("19")) {<BR>setflag(6);<BR>}<BR>if (!lookup("location"))
 {<BR>sl_send_reply("404", "User Not Found");<BR>break;<BR>};<BR># if (!proxy_authorize("","subscriber")) {<BR># proxy_challenge("","0");<BR># break;<BR># } else if (!check_from()) {<BR># if(!check_from()) {<BR># sl_send_reply("403", "Use From=ID");<BR># break;<BR># };<BR><BR>consume_credentials();<BR><BR>if (isflagset(6)) {<BR><BR># if (uri=~"^sip:9[0-9]*@.*") {<BR># prefix, strip prefix &amp; shunt our<BR>call to the local access PSTN gateway<BR># strip(1);<BR># xlog("L_DBG","prefix 9<BR>detected... entering route 3");<BR># route(3); #PSTN gateway<BR># break;<BR># }<BR>force_rport();<BR># xlog("L_DBG","going for fixnated and forcertp<BR>%fu");<BR>log("hello");<BR>fix_nated_contact();<BR>force_rtp_proxy();<BR>};<BR><BR>t_on_reply("1");<BR><BR>if (!t_relay()) {<BR><BR>if(isflagset(6)) {<BR>unforce_rtp_proxy();<BR>}<BR><BR>sl_reply_error();<BR>};<BR>}<BR><BR>onreply_route[1] {<BR>if (isflagset(6) &amp;&amp;<BR>status=~"(180)|(183)|2[0-9][0-9]") {<BR>if (!search("^Content-Length:\ 0"))
 {<BR>force_rtp_proxy();<BR>};<BR>}<BR>else if (nat_uac_test("1")) {<BR>fix_nated_contact();<BR>};<BR>}<BR><BR><BR><BR>__________________________________ <BR>Do you Yahoo!? <BR>Yahoo! Small Business - Try our new resources site!<BR>http://smallbusiness.yahoo.com/resources/<BR><BR>_______________________________________________<BR>Serusers mailing list<BR>serusers@lists.iptel.org<BR>http://lists.iptel.org/mailman/listinfo/serusers<BR></BLOCKQUOTE><p>Send instant messages to your online friends http://uk.messenger.yahoo.com