Dear all<br><br>I followed tutorial from SER-Getting Start document for Mediaproxy to solve nat problem.<br>I read on the Openser document <br><a href="http://www.openser.org/docs/modules/1.2.x/usrloc.html#AEN83" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://www.openser.org/docs/modules/1.2.x/usrloc.html#AEN83
</a><br>I have to use modparam(&quot;usrloc&quot;, &quot;nat_bflag&quot;, 6) instead of modparam(&quot;registrar&quot;, &quot;nat_flag&quot;, 6)<br><br>And from the documentation, it said<br>&quot;When SIP clients attempt to REGISTER with our SIP proxy we need a way to tell the registrar module to
<br>store NAT information for any particular UA. We do this by using flag 6, which has been arbitrarily chosen<br>(but defined earlier in the loadmodule parameter section). We could have specified another integer here, but
<br>flag 6 seems to be the accepted standard for nat_flag.<br><br>If the nat_flag is set before calling the save() function to store contact information, SER will preserve the<br>NAT contact information as well as set the flags column in the MySQL location table. By doing so, we can
<br>call lookup(location) when processing messages and flag 6 will be set for NATed clients.&quot;<br><br>I have a NAT UA is detected as NAT-ed UA by Openser with below rule and do setflag(6); before it does save(&quot;location&quot;);
<br><br>Why in mysql, location table, i see the flags column still 0 instead of 6 ?<br><br>Did I miss something?<br>Please help :(<br><br><br># $Id: nat-mediaproxy.cfg 51 2006-01-31 13:28:04Z /CN=Paul Hazlett/emailAddress=
<a href="mailto:paul@onsip.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">paul@onsip.org</a> $<br>debug=3<br>fork=no<br>log_stderror=yes<br>#alias=&quot;<a href="http://halodns.powere2e.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
halodns.powere2e.com</a>&quot;<br><br>listen=x.x.x.x &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # INSERT YOUR IP ADDRESS HERE
<br>port=5060<br>children=4<br><br>dns=no<br>rev_dns=no<br><br>loadmodule &quot;/usr/local/lib/openser/modules/mysql.so&quot;<br>loadmodule &quot;/usr/local/lib/openser/modules/sl.so&quot;<br>loadmodule &quot;/usr/local/lib/openser/modules/tm.so&quot;
<br>loadmodule &quot;/usr/local/lib/openser/modules/rr.so&quot;<br>loadmodule &quot;/usr/local/lib/openser/modules/maxfwd.so&quot;<br>loadmodule &quot;/usr/local/lib/openser/modules/usrloc.so&quot;<br>loadmodule &quot;/usr/local/lib/openser/modules/registrar.so&quot;
<br>loadmodule &quot;/usr/local/lib/openser/modules/auth.so&quot;<br>loadmodule &quot;/usr/local/lib/openser/modules/auth_db.so&quot;<br>loadmodule &quot;/usr/local/lib/openser/modules/uri.so&quot;<br>loadmodule &quot;/usr/local/lib/openser/modules/uri_db.so&quot;
<br>loadmodule &quot;/usr/local/lib/openser/modules/domain.so&quot;<br>loadmodule &quot;/usr/local/lib/openser/modules/mediaproxy.so&quot;<br>loadmodule &quot;/usr/local/lib/openser/modules/nathelper.so&quot;<br>loadmodule &quot;/usr/local/lib/openser/modules/textops.so&quot;
<br>loadmodule &quot;/usr/local/lib/openser/modules/xlog.so&quot;<br>loadmodule &quot;/usr/local/lib/openser/modules/mi_fifo.so&quot;<br><br>modparam(&quot;mi_fifo&quot;,&quot;fifo_name&quot;,&quot;/tmp/openser_fifo&quot;)
<br><br>modparam(&quot;auth_db|domain|uri_db|usrloc&quot;, &quot;db_url&quot;, &quot;mysql://openser:openserrw@localhost/openser&quot;)<br>modparam(&quot;auth_db&quot;, &quot;calculate_ha1&quot;, 1)<br>modparam(&quot;auth_db&quot;, &quot;password_column&quot;, &quot;password&quot;)
<br><br>modparam(&quot;nathelper|registrar&quot;, &quot;received_avp&quot;, &quot;$avp(i:42)&quot;)<br>modparam(&quot;nathelper&quot;, &quot;rtpproxy_disable&quot;, 1)<br>modparam(&quot;nathelper&quot;, &quot;natping_interval&quot;, 0)
<br><br>modparam(&quot;mediaproxy&quot;,&quot;natping_interval&quot;, 30)<br>modparam(&quot;mediaproxy&quot;,&quot;mediaproxy_socket&quot;, &quot;/var/run/mediaproxy.sock&quot;)<br>modparam(&quot;mediaproxy&quot;,&quot;sip_asymmetrics&quot;,&quot;/usr/local/etc/openser/sip-clients&quot;)
<br>modparam(&quot;mediaproxy&quot;,&quot;rtp_asymmetrics&quot;,&quot;/usr/local/etc/openser/rtp-clients&quot;)<br><br><br>modparam(&quot;usrloc&quot;, &quot;db_mode&quot;, 2)<br>modparam(&quot;usrloc&quot;, &quot;nat_bflag&quot;, 6) &lt;- set to 6
<br><br>modparam(&quot;rr&quot;, &quot;enable_full_lr&quot;, 1)<br><br>.<br>.<br>.<br>.<br><br>route[2] {<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # REGISTER Message Handler
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # ----------------------------------------------------------------<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog(&quot;L_NOTICE&quot;,&quot;$Cxg Enter Route[2]: REGISTER&nbsp; $Cxx\n&quot;);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sl_send_reply(&quot;100&quot;, &quot;Trying&quot;);
<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!search(&quot;^Contact:[ ]*\*&quot;) &amp;&amp; client_nat_test(&quot;2&quot;)) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setflag(6);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fix_nated_register();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; force_rport();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!www_authorize(&quot;&quot;,&quot;subscriber&quot;)) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; www_challenge(&quot;&quot;,&quot;0&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!check_to()) {
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sl_send_reply(&quot;401&quot;, &quot;Unauthorized&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; consume_credentials();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!save(&quot;location&quot;)) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sl_reply_error();
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<br>}<br><br><br>